Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Hao Wu e8959f8100 SecurityPkg/HddPassword: Add Security feature set support for ATA dev
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1529

This commit will add the 'Security feature set' support for ATA devices.

According to the AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS)
specification, the Security feature set is an optional feature. In
summary, the feature is a password system that restricts access to user
data stored on an ATA device. A more detailed introduction of this feature
can be referred from the ATA8-ACS spec.

The HddPassword driver is composed of 2 parts:
* A DXE driver and
* A PEI driver

The DXE driver consumes EFI_ATA_PASS_THRU_PROTOCOL instances and installs
an HII GUI to manage the devices. If the managing device supports Security
feature set, the HII page will provide the user with the ability to
set/update/disable the password for this device. Also, if a password is
being set via the Security feature set, a popup window will show during
boot requesting the user to input password.

Another feature supported by this driver is that for those managing
devices with password set, they will be automatically unlocked during the
S3 resume. This is done by the co-work of the DXE driver and the PEI
driver:

The DXE driver will save the password and the identification information
for these devices into a LockBox, which is only allowed to restore during
S3 resume.

The PEI driver, during S3 resume, will restore the content in the LockBox
and will consume EDKII_PEI_ATA_PASS_THRU_PPI instances to unlock devices.

Cc: Chao Zhang <chao.b.zhang@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
2019-02-22 08:20:08 +08:00
AppPkg AppPkg: fix webserver build for !Ia32/X64 2019-02-04 17:07:47 +00:00
ArmPkg ArmPkg/ArmMmuLib AARCH64: get rid of needless TLB invalidation 2019-01-29 11:24:02 +01:00
ArmPlatformPkg ArmPlatformPkg/PL011SerialPortLib: use untyped PCD for register base 2018-12-20 18:34:08 +01:00
ArmVirtPkg ArmVirtPkg/ArmVirtXen: don't set Pcd*ImageVerificationPolicy 2019-02-13 07:10:26 +01:00
BaseTools BaseTools:PCD value error in structure pcd sku case. 2019-02-20 13:16:58 +08:00
BeagleBoardPkg BeagleBoardPkg: Use merged variable driver for emulated NV mode 2019-01-24 10:52:40 +08:00
Conf
CorebootModulePkg CorebootModulePkg: Fix various typos 2019-02-12 10:48:39 +08:00
CorebootPayloadPkg CorebootPayloadPkg: Fix various typos 2019-02-12 10:28:46 +08:00
CryptoPkg CryptoPkg: Fix various typos 2019-02-11 11:09:44 +08:00
DynamicTablesPkg DynamicTablesPkg: Arm IORT Table Generator 2019-02-19 10:37:31 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Removing ipf from edk2. 2018-09-25 23:43:46 +08:00
EmbeddedPkg EmbeddedPkg/Library: Add VirtualRealTimeClockLib 2019-02-15 11:07:08 +01:00
EmulatorPkg EmulatorPkg: require GCC48 or later 2019-01-08 02:34:05 +01:00
FatPkg FatPkg/FatPei/Gpt.c: Fix uninitialized variable issue 2019-02-02 21:41:15 +08:00
FmpDevicePkg FmpDevicePkg DSC: Add NOOPT target to verify NOOPT target 2018-10-31 22:08:10 +08:00
IntelFrameworkModulePkg IntelFrameworkModulePkg: fix build for AARCH64/ARM 2019-02-04 17:08:30 +00:00
IntelFrameworkPkg IntelFrameworkPkg: fix build for AARCH64/ARM 2019-02-04 17:09:11 +00:00
IntelFsp2Pkg IntelFsp2Pkg: FSP can utilize bootloader stack 2019-01-28 15:49:13 +08:00
IntelFsp2WrapperPkg IntelFsp2WrapperPkg: Fix constant if statements issue 2018-11-26 11:40:38 +08:00
IntelFspPkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
IntelFspWrapperPkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
IntelSiliconPkg IntelSiliconPkg/MicrocodeUpdateDxe: Error message enhancement 2019-02-20 11:21:37 +08:00
MdeModulePkg MdeModulePkg/SmmLockBoxLib: Support LockBox enlarge in UpdateLockBox() 2019-02-22 08:20:08 +08:00
MdePkg MdePkg/UefiDevicePathLibDevicePathProtocol: Add sanity check for FilePath device path 2019-02-21 20:54:31 +08:00
NetworkPkg NetworkPkg/Ip6Dxe: Clean the invalid IPv6 configuration during driver start. 2019-02-19 08:31:15 +08:00
Nt32Pkg Nt32Pkg: Remove EdkShellBinPkg in FDF and DEC 2018-11-19 10:50:15 +08:00
Omap35xxPkg Omap35xxPkg: Removing ipf which is no longer supported from edk2. 2018-06-29 16:19:46 +08:00
OptionRomPkg OptionRomPkg/ReadMe.txt: Remove VS2005 2019-02-14 15:40:26 +08:00
OvmfPkg OvmfPkg/LockBoxLib: Update the comments for API UpdateLockBox() 2019-02-22 08:20:08 +08:00
PcAtChipsetPkg PcAtChipsetPkg PcRtc: Use new EfiLocateFirstAcpiTable() 2018-09-27 14:25:35 +08:00
QuarkPlatformPkg QuarkMin: Use merged variable driver for emulated NV mode 2019-01-24 10:52:40 +08:00
QuarkSocPkg QuarkSocPkg: Removing ipf which is no longer supported from edk2. 2018-08-14 08:58:32 +08:00
SecurityPkg SecurityPkg/HddPassword: Add Security feature set support for ATA dev 2019-02-22 08:20:08 +08:00
ShellBinPkg ShellBinPkg: Clean up source files 2018-06-28 11:19:51 +08:00
ShellPkg ShellPkg/UefiShellLib: Use BaseLib api CharToUpper 2019-01-31 20:19:20 +08:00
SignedCapsulePkg SignedCapsulePkg: enable package build for AARCH64/ARM 2019-02-04 17:09:17 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg/Readme.txt: Update UDK Debugger Tool & manual URL 2018-11-08 12:00:34 +08:00
StandaloneMmPkg StandaloneMmPkg/StandaloneMmCoreEntryPoint: permit the use of TE images 2019-01-21 14:43:12 +01:00
StdLib StdLib/Environs: Avoid infinite recursion in _Exit 2019-01-02 11:26:21 -08:00
StdLibPrivateInternalFiles StdLibPrivateInternalFiles: Removing ipf from edk2. 2018-06-29 16:19:51 +08:00
UefiCpuPkg UefiCpuPkg/Microcode: Fix incorrect checksum issue for extended table 2019-02-21 16:16:56 +08:00
Vlv2DeviceRefCodePkg edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: add MmServicesTableLib resolution 2019-01-16 20:10:51 +01:00
.gitignore
.gitmodules CryptoPkg: Adding OpenSSL as one submodule of EDKII repo 2018-01-18 14:06:15 +08:00
BuildNotes2.txt BaseTools: Various typo 2019-02-14 10:02:28 +08:00
Contributions.txt BaseTools: Various typo 2019-02-14 10:02:28 +08:00
License.txt edk2: Move License.txt file to root 2017-08-03 11:02:17 -07:00
Maintainers.txt Maintainers: specify the scope for OvmfPkg/ArmVirtPkg Xen module reviewers 2019-02-21 20:40:27 +01:00
Readme.md Readme.md: Add edk2 release tag and edk2 release plan 2018-12-20 23:31:47 +08:00
edksetup.bat BaseTools: Various typo 2019-02-14 10:02:28 +08:00
edksetup.sh BaseTools: Update PYTHON env to PYTHON_COMMAND 2019-02-01 11:09:23 +08:00

Readme.md

EDK II Project

A modern, feature-rich, cross-platform firmware development environment for the UEFI and PI specifications from www.uefi.org.

Contributions to the EDK II open source project are covered by the TianoCore Contribution Agreement 1.1

The majority of the content in the EDK II open source project uses a BSD 2-Clause License. The EDK II open source project contains the following components that are covered by additional licenses:

The EDK II Project is composed of packages. The maintainers for each package are listed in Maintainers.txt.

Resources