From: Star Zeng <star.zeng@intel.com>
To: edk2-devel@lists.01.org
Cc: Star Zeng <star.zeng@intel.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Eric Dong <eric.dong@intel.com>,
Chao Zhang <chao.b.zhang@intel.com>
Subject: [PATCH 0/7] OpalPassword: New solution without SMM device code
Date: Tue, 6 Mar 2018 22:27:53 +0800 [thread overview]
Message-ID: <1520346480-65348-1-git-send-email-star.zeng@intel.com> (raw)
The patch series is also at
https://github.com/lzeng14/edk2 OpalPasswordNew branch.
After IOMMU is enabled in S3, original solution with SMM device
code (OpalPasswordSmm) to unlock OPAL device for S3 will not work
as the DMA operation will be aborted without granted DMA buffer.
Instead, this solution is to add OpalPasswordPei to eliminate
SMM device code, and OPAL setup UI produced by OpalPasswordDxe
will be updated to send requests (set password, update password,
and etc), and then the requests will be processed in next boot
before SmmReadyToLock, password and device info will be saved to
lock box used by OpalPasswordPei to unlock OPAL device for S3.
The old solution related codes are also removed.
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Chao Zhang <chao.b.zhang@intel.com>
Star Zeng (7):
MdeModulePkg LockBoxLib: Support LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY
SecurityPkg TcgStorageOpalLib: Make it be base type really
SecurityPkg TcgStorageCoreLib: Make it be base type really
SecurityPkg OpalPassword: Add solution without SMM device code
SecurityPkg OpalPassword: Remove old solution
SecurityPkg OpalPasswordSupportLib: Remove it
SecurityPkg OpalPasswordExtraInfoVariable.h: Remove it
MdeModulePkg/Include/Library/LockBoxLib.h | 14 +-
.../Library/SmmLockBoxLib/SmmLockBoxDxeLib.c | 4 +-
.../Library/SmmLockBoxLib/SmmLockBoxSmmLib.c | 227 +-
.../Library/SmmLockBoxLib/SmmLockBoxSmmLib.inf | 10 +-
.../Include/Guid/OpalPasswordExtraInfoVariable.h | 27 -
.../Include/Library/OpalPasswordSupportLib.h | 289 --
.../OpalPasswordSupportLib.c | 781 -----
.../OpalPasswordSupportLib.inf | 55 -
.../OpalPasswordSupportNotify.h | 55 -
.../TcgStorageCoreLib/TcgStorageCoreLib.inf | 4 +-
.../TcgStorageOpalLib/TcgStorageOpalLib.inf | 8 +-
SecurityPkg/SecurityPkg.dec | 4 -
SecurityPkg/SecurityPkg.dsc | 6 +-
.../ComponentName.c | 0
.../OpalAhciMode.c | 492 ++--
.../OpalAhciMode.h | 93 +-
SecurityPkg/Tcg/Opal/OpalPassword/OpalDriver.c | 2988 ++++++++++++++++++++
.../{OpalPasswordDxe => OpalPassword}/OpalDriver.h | 202 +-
.../{OpalPasswordDxe => OpalPassword}/OpalHii.c | 825 ++----
.../OpalHiiPrivate.h => OpalPassword/OpalHii.h} | 150 +-
.../OpalHiiCallbacks.c | 6 +-
.../OpalHiiFormStrings.uni | 49 +-
.../OpalHiiFormValues.h | 74 +-
.../OpalNvmeMode.c | 95 +-
.../OpalNvmeMode.h | 19 +-
.../OpalNvmeReg.h | 5 +-
.../Tcg/Opal/OpalPassword/OpalPasswordCommon.h | 65 +
.../OpalPasswordDxe.inf | 25 +-
.../OpalPasswordForm.vfr | 250 +-
.../Tcg/Opal/OpalPassword/OpalPasswordPei.c | 940 ++++++
.../Tcg/Opal/OpalPassword/OpalPasswordPei.h | 133 +
.../Tcg/Opal/OpalPassword/OpalPasswordPei.inf | 63 +
SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalDriver.c | 1091 -------
.../Tcg/Opal/OpalPasswordDxe/OpalDriverPrivate.h | 102 -
SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.h | 146 -
SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalIdeMode.c | 767 -----
SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalIdeMode.h | 173 --
.../Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c | 1088 -------
.../Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.h | 299 --
.../Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.inf | 77 -
40 files changed, 5536 insertions(+), 6165 deletions(-)
delete mode 100644 SecurityPkg/Include/Guid/OpalPasswordExtraInfoVariable.h
delete mode 100644 SecurityPkg/Include/Library/OpalPasswordSupportLib.h
delete mode 100644 SecurityPkg/Library/OpalPasswordSupportLib/OpalPasswordSupportLib.c
delete mode 100644 SecurityPkg/Library/OpalPasswordSupportLib/OpalPasswordSupportLib.inf
delete mode 100644 SecurityPkg/Library/OpalPasswordSupportLib/OpalPasswordSupportNotify.h
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/ComponentName.c (100%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordSmm => OpalPassword}/OpalAhciMode.c (68%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordSmm => OpalPassword}/OpalAhciMode.h (85%)
create mode 100644 SecurityPkg/Tcg/Opal/OpalPassword/OpalDriver.c
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalDriver.h (72%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalHii.c (57%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe/OpalHiiPrivate.h => OpalPassword/OpalHii.h} (72%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalHiiCallbacks.c (91%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalHiiFormStrings.uni (66%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalHiiFormValues.h (64%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordSmm => OpalPassword}/OpalNvmeMode.c (93%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordSmm => OpalPassword}/OpalNvmeMode.h (93%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordSmm => OpalPassword}/OpalNvmeReg.h (96%)
create mode 100644 SecurityPkg/Tcg/Opal/OpalPassword/OpalPasswordCommon.h
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalPasswordDxe.inf (80%)
rename SecurityPkg/Tcg/Opal/{OpalPasswordDxe => OpalPassword}/OpalPasswordForm.vfr (59%)
create mode 100644 SecurityPkg/Tcg/Opal/OpalPassword/OpalPasswordPei.c
create mode 100644 SecurityPkg/Tcg/Opal/OpalPassword/OpalPasswordPei.h
create mode 100644 SecurityPkg/Tcg/Opal/OpalPassword/OpalPasswordPei.inf
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalDriver.c
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalDriverPrivate.h
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.h
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalIdeMode.c
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalIdeMode.h
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.c
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.h
delete mode 100644 SecurityPkg/Tcg/Opal/OpalPasswordSmm/OpalPasswordSmm.inf
--
2.7.0.windows.1
next reply other threads:[~2018-03-06 14:21 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-06 14:27 Star Zeng [this message]
2018-03-06 14:27 ` [PATCH 1/7] MdeModulePkg LockBoxLib: Support LOCK_BOX_ATTRIBUTE_RESTORE_IN_S3_ONLY Star Zeng
2018-03-07 6:44 ` Yao, Jiewen
2018-03-06 14:27 ` [PATCH 2/7] SecurityPkg TcgStorageOpalLib: Make it be base type really Star Zeng
2018-03-07 6:45 ` Yao, Jiewen
2018-03-06 14:27 ` [PATCH 3/7] SecurityPkg TcgStorageCoreLib: " Star Zeng
2018-03-07 6:46 ` Yao, Jiewen
2018-03-06 14:27 ` [PATCH 4/7] SecurityPkg OpalPassword: Add solution without SMM device code Star Zeng
2018-03-07 7:06 ` Yao, Jiewen
2018-03-07 13:21 ` Zeng, Star
2018-03-06 14:27 ` [PATCH 5/7] SecurityPkg OpalPassword: Remove old solution Star Zeng
2018-03-07 6:55 ` Yao, Jiewen
2018-03-06 14:27 ` [PATCH 6/7] SecurityPkg OpalPasswordSupportLib: Remove it Star Zeng
2018-03-07 6:55 ` Yao, Jiewen
2018-03-06 14:28 ` [PATCH 7/7] SecurityPkg OpalPasswordExtraInfoVariable.h: " Star Zeng
2018-03-07 6:55 ` Yao, Jiewen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1520346480-65348-1-git-send-email-star.zeng@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox