> -----Original Message----- > From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of > Zurcher, Christopher J > Sent: Friday, August 23, 2019 6:02 AM > To: devel@edk2.groups.io > Cc: Kinney, Michael D; Yao, Jiewen; Wang, Jian J; Gao, Liming > Subject: [edk2-devel] [PATCH v5 2/4] MdeModulePkg/UfsPassThruDxe: > Check for RPMB W-LUN (SecurityLun)
With the BZ information added, Reviewed-by: Hao A Wu <hao.a...@intel.com> Best Regards, Hao Wu > > Currently UfsPassThru only checks for 8 common LUNs. This adds a check > for the RPMB Well-known LUN and sets the corresponding bit-mask. Further > handling of the WLUN is already present in the driver. > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > Cc: Jiewen Yao <jiewen....@intel.com> > Cc: Jian J Wang <jian.j.w...@intel.com> > Cc: Liming Gao <liming....@intel.com> > Signed-off-by: Christopher J Zurcher <christopher.j.zurc...@intel.com> > --- > MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c | 17 > ++++++++++++++++- > 1 file changed, 16 insertions(+), 1 deletion(-) > > diff --git a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c > b/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c > index b12404aacb..26c5a8b855 100644 > --- a/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c > +++ b/MdeModulePkg/Bus/Ufs/UfsPassThruDxe/UfsPassThru.c > @@ -822,7 +822,9 @@ UfsPassThruDriverBindingStart ( > UINTN UfsHcBase; > UINT32 Index; > UFS_UNIT_DESC UnitDescriptor; > + UFS_DEV_DESC DeviceDescriptor; > UINT32 UnitDescriptorSize; > + UINT32 DeviceDescriptorSize; > > Status = EFI_SUCCESS; > UfsHc = NULL; > @@ -916,7 +918,6 @@ UfsPassThruDriverBindingStart ( > > // > // Check if 8 common luns are active and set corresponding bit mask. > - // TODO: Parse device descriptor to decide if exposing RPMB LUN to upper > layer for authentication access. > // > UnitDescriptorSize = sizeof (UFS_UNIT_DESC); > for (Index = 0; Index < 8; Index++) { > @@ -931,6 +932,20 @@ UfsPassThruDriverBindingStart ( > } > } > > + // > + // Check if RPMB WLUN is supported and set corresponding bit mask. > + // > + DeviceDescriptorSize = sizeof (UFS_DEV_DESC); > + Status = UfsRwDeviceDesc (Private, TRUE, UfsDeviceDesc, 0, 0, > &DeviceDescriptor, &DeviceDescriptorSize); > + if (EFI_ERROR (Status)) { > + DEBUG ((DEBUG_ERROR, "Failed to read device descriptor, status = %r\n", > Status)); > + } else { > + if (DeviceDescriptor.SecurityLun == 0x1) { > + DEBUG ((DEBUG_INFO, "UFS WLUN RPMB is supported\n")); > + Private->Luns.BitMask |= BIT11; > + } > + } > + > // > // Start the asynchronous interrupt monitor > // > -- > 2.16.2.windows.1 > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46406): https://edk2.groups.io/g/devel/message/46406 Mute This Topic: https://groups.io/mt/32994943/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-