Message ID | 20200717040903.1192849-1-oohall@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | hdata: Ensure the prd-label hbrt-code-image is prefixed | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | success | Successfully applied on branch master (abe4c4799ffee4be12674ad59fc0bc521b0724f3) |
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot | success | Test snowpatch/job/snowpatch-skiboot on branch master |
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot-dco | success | Signed-off-by present |
On 7/17/20 9:39 AM, Oliver O'Halloran wrote: > Older versions of opal-prd (i.e. most of them shipped by distros) > expect the HBRT image to have the PRD label of "ibm,hbrt-code-image". > Commit c3bfa3209559 ("hdata: Fix reserved node label search") made > opal-prd check for both strings, but since opal-prd itself is the only > component interested in locating the hbrt-code-image we might as well > just add the prefix in firmware. > > Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> > Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Patch looks good to me. May be we should make below change as well.. so that `opal-prd` search for `ibm,hbrt-code-image` first. diff --git a/external/opal-prd/opal-prd.c b/external/opal-prd/opal-prd.c index 40e5a9841..665005434 100644 --- a/external/opal-prd/opal-prd.c +++ b/external/opal-prd/opal-prd.c @@ -2192,10 +2192,9 @@ static int run_prd_daemon(struct opal_prd_ctx *ctx) goto out_close; } } else { - rc = map_hbrt_physmem(ctx, hbrt_code_region_name); + rc = map_hbrt_physmem(ctx, hbrt_code_region_name_ibm); if (rc) { - /* Fallback to old style ibm,prd-label */ - rc = map_hbrt_physmem(ctx, hbrt_code_region_name_ibm); + rc = map_hbrt_physmem(ctx, hbrt_code_region_name); if (rc) { pr_log(LOG_ERR, "IMAGE: Can't access hbrt " "physical memory"); -Vasant
On Mon, Jul 20, 2020 at 3:46 PM Vasant Hegde <hegdevasant@linux.vnet.ibm.com> wrote: > > On 7/17/20 9:39 AM, Oliver O'Halloran wrote: > > Older versions of opal-prd (i.e. most of them shipped by distros) > > expect the HBRT image to have the PRD label of "ibm,hbrt-code-image". > > Commit c3bfa3209559 ("hdata: Fix reserved node label search") made > > opal-prd check for both strings, but since opal-prd itself is the only > > component interested in locating the hbrt-code-image we might as well > > just add the prefix in firmware. > > > > Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> > > Signed-off-by: Oliver O'Halloran <oohall@gmail.com> > > Patch looks good to me. May be we should make below change as well.. so that > `opal-prd` > search for `ibm,hbrt-code-image` first. Can't hurt. Send a patch :)
diff --git a/hdata/memory.c b/hdata/memory.c index 5b1a05d23371..0d9486b92ac2 100755 --- a/hdata/memory.c +++ b/hdata/memory.c @@ -827,6 +827,15 @@ static void get_hb_reserved_mem(struct HDIF_common_hdr *ms_vpd) dt_add_property_cells(node, "ibm,prd-instance", (be32_to_cpu(hb_resv_mem->type_instance) & 0xffffff)); + /* + * Most reservations are used by HBRT itself so we should leave + * the label as-is. The exception is hbrt-code-image which is + * used by opal-prd to locate the HBRT image. Older versions + * of opal-prd expect this to be "ibm,hbrt-code-image" so make + * sure the prefix is there. + */ + if (!strcmp(label, "hbrt-code-image")) + strcpy(label, "ibm,hbrt-code-image"); dt_add_property_string(node, "ibm,prd-label", label); } }
Older versions of opal-prd (i.e. most of them shipped by distros) expect the HBRT image to have the PRD label of "ibm,hbrt-code-image". Commit c3bfa3209559 ("hdata: Fix reserved node label search") made opal-prd check for both strings, but since opal-prd itself is the only component interested in locating the hbrt-code-image we might as well just add the prefix in firmware. Cc: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Oliver O'Halloran <oohall@gmail.com> --- hdata/memory.c | 9 +++++++++ 1 file changed, 9 insertions(+)