From nobody Sun Feb 8 12:39:07 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) client-ip=66.175.222.12; envelope-from=bounce+27952+40090+1787277+3901457@groups.io; helo=web01.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40090+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1557216100; cv=none; d=zoho.com; s=zohoarc; b=R/K1JCCqExDKW9PHAv4L0I99i2EW8z9HEgDQD4RJj+kbbPyd94G15RwiajvdPANdn7ulv4yg1jDgdVVxYokHOyfgBrhUiPWAGG0TS2/j3r4Iq725bW4NjBHZjIkKflTs3IHyjX+8zm4x7bOXh/Cly1V/M5bB6bIlDYlo7Yi6pNE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1557216100; h=Content-Transfer-Encoding:Date:From:In-Reply-To:List-Id:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To:ARC-Authentication-Results; bh=6BElNAZqxygXTpThMfmx+tvgCLuayz4vXKGD8E2tCX8=; b=MsdyXxbAT1mdIWncmHYRPfUxv0W9PbKaQpQ36/zHDXiUOFGpLOMtCt+5I5LIXMdq/Vsz/f1emwby/wOz/l0WhBfhI2Er1A+zj6719xHyRxFYA688PD142SnBVlCjc2bYvrsFL+09PpRhQGQItVuYMfjwbBsFot8gmDTHjyegnJw= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of groups.io designates 66.175.222.12 as permitted sender) smtp.mailfrom=bounce+27952+40090+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) header.from= Received: from web01.groups.io (web01.groups.io [66.175.222.12]) by mx.zohomail.com with SMTPS id 1557216100462857.9190531985904; Tue, 7 May 2019 01:01:40 -0700 (PDT) Return-Path: X-Received: from mga01.intel.com (mga01.intel.com []) by groups.io with SMTP; Tue, 07 May 2019 01:01:39 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 May 2019 01:01:39 -0700 X-ExtLoop1: 1 X-Received: from ydong10-win10.ccr.corp.intel.com ([10.239.158.133]) by fmsmga006.fm.intel.com with ESMTP; 07 May 2019 01:01:38 -0700 From: "Dong, Eric" To: devel@edk2.groups.io Subject: [edk2-devel] [Patch 2/3] SecurityPkg/OpalPassword: Change send BlockSID policy. Date: Tue, 7 May 2019 16:00:52 +0800 Message-Id: <20190507080053.15056-3-eric.dong@intel.com> In-Reply-To: <20190507080053.15056-1-eric.dong@intel.com> References: <20190507080053.15056-1-eric.dong@intel.com> MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,eric.dong@intel.com Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1557216100; bh=EP5jqPKT9fDeTPh3jAn6MSH2+JL0U3zAwnoVvD+bHxo=; h=Date:From:Reply-To:Subject:To; b=jj3K3mkVT9xLcnNLZCE0Unq7vI5bobR5aZXb47oJikfGh26oO6tp6A86NIzNm0okBvZ 0sbRXLgOjssi3K0a9q9LDG8l7Nuw5xHbWTixqCmKO87r+EnvKnujC2BDUzN2VjLEwmHVK gou89GuxDt9eTEUxv3tuenDggpC/mSKGJ5Q= X-ZohoMail-DKIM: pass (identity @groups.io) Content-Type: text/plain; charset="utf-8" Change SendBlockSID command time from ReadyToBoot to EndOfDxe. Signed-off-by: Eric Dong --- SecurityPkg/Tcg/Opal/OpalPassword/OpalDriver.c | 104 +++++++++++----------= ---- 1 file changed, 46 insertions(+), 58 deletions(-) diff --git a/SecurityPkg/Tcg/Opal/OpalPassword/OpalDriver.c b/SecurityPkg/T= cg/Opal/OpalPassword/OpalDriver.c index e3f5056953..a3d4350c67 100644 --- a/SecurityPkg/Tcg/Opal/OpalPassword/OpalDriver.c +++ b/SecurityPkg/Tcg/Opal/OpalPassword/OpalDriver.c @@ -574,6 +574,47 @@ BuildOpalDeviceInfoNvme ( FreePool (DevInfoNvme); } =20 +/** + + Send BlockSid command if needed. + +**/ +VOID +SendBlockSidCommand ( + VOID + ) +{ + OPAL_DRIVER_DEVICE *Itr; + TCG_RESULT Result; + OPAL_SESSION Session; + UINT32 PpStorageFlag; + + PpStorageFlag =3D Tcg2PhysicalPresenceLibGetManagementFlags (); + if ((PpStorageFlag & TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID)= !=3D 0) { + // + // Send BlockSID command to each Opal disk + // + Itr =3D mOpalDriver.DeviceList; + while (Itr !=3D NULL) { + if (Itr->OpalDisk.SupportedAttributes.BlockSid) { + ZeroMem(&Session, sizeof(Session)); + Session.Sscp =3D Itr->OpalDisk.Sscp; + Session.MediaId =3D Itr->OpalDisk.MediaId; + Session.OpalBaseComId =3D Itr->OpalDisk.OpalBaseComId; + + DEBUG ((DEBUG_INFO, "OpalPassword: EndOfDxe point, send BlockSid c= ommand to device!\n")); + Result =3D OpalBlockSid (&Session, TRUE); // HardwareReset must a= lways be TRUE + if (Result !=3D TcgResultSuccess) { + DEBUG ((DEBUG_ERROR, "OpalBlockSid fail\n")); + break; + } + } + + Itr =3D Itr->Next; + } + } +} + /** Notification function of EFI_END_OF_DXE_EVENT_GROUP_GUID event group. =20 @@ -645,6 +686,11 @@ OpalEndOfDxeEventNotify ( TmpDev =3D TmpDev->Next; } =20 + // + // Send BlockSid command if needed. + // + SendBlockSidCommand (); + DEBUG ((DEBUG_INFO, "%a() - exit\n", __FUNCTION__)); =20 gBS->CloseEvent (Event); @@ -2368,53 +2414,6 @@ OpalDriverGetDeviceList( return mOpalDriver.DeviceList; } =20 -/** - ReadyToBoot callback to send BlockSid command. - - @param Event Pointer to this event - @param Context Event handler private Data - -**/ -VOID -EFIAPI -ReadyToBootCallback ( - IN EFI_EVENT Event, - IN VOID *Context - ) -{ - OPAL_DRIVER_DEVICE *Itr; - TCG_RESULT Result; - OPAL_SESSION Session; - UINT32 PpStorageFlag; - - gBS->CloseEvent (Event); - - PpStorageFlag =3D Tcg2PhysicalPresenceLibGetManagementFlags (); - if ((PpStorageFlag & TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID)= !=3D 0) { - // - // Send BlockSID command to each Opal disk - // - Itr =3D mOpalDriver.DeviceList; - while (Itr !=3D NULL) { - if (Itr->OpalDisk.SupportedAttributes.BlockSid) { - ZeroMem(&Session, sizeof(Session)); - Session.Sscp =3D Itr->OpalDisk.Sscp; - Session.MediaId =3D Itr->OpalDisk.MediaId; - Session.OpalBaseComId =3D Itr->OpalDisk.OpalBaseComId; - - DEBUG ((DEBUG_INFO, "OpalPassword: ReadyToBoot point, send BlockSi= d command to device!\n")); - Result =3D OpalBlockSid (&Session, TRUE); // HardwareReset must a= lways be TRUE - if (Result !=3D TcgResultSuccess) { - DEBUG ((DEBUG_ERROR, "OpalBlockSid fail\n")); - break; - } - } - - Itr =3D Itr->Next; - } - } -} - /** Stop this Controller. =20 @@ -2677,7 +2676,6 @@ EfiDriverEntryPoint( ) { EFI_STATUS Status; - EFI_EVENT ReadyToBootEvent; EFI_EVENT EndOfDxeEvent; =20 Status =3D EfiLibInstallDriverBindingComponentName2 ( @@ -2710,16 +2708,6 @@ EfiDriverEntryPoint( ); ASSERT_EFI_ERROR (Status); =20 - // - // register a ReadyToBoot event callback for sending BlockSid command - // - Status =3D EfiCreateEventReadyToBootEx ( - TPL_CALLBACK, - ReadyToBootCallback, - (VOID *) &ImageHandle, - &ReadyToBootEvent - ); - // // Install Hii packages. // --=20 2.15.0.windows.1 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#40090): https://edk2.groups.io/g/devel/message/40090 Mute This Topic: https://groups.io/mt/31529815/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-