cbce5a1a93
MdePkg/ArmTrngLib: Definition for Arm TRNG library class interface
...
Bugzilla: 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668 )
The NIST Special Publications 800-90A, 800-90B and 800-90C
provide recommendations for random number generation. The
NIST 800-90C, Recommendation for Random Bit Generator (RBG)
Constructions, defines the GetEntropy() interface that is
used to access the entropy source. The GetEntropy() interface
is further used by Deterministic Random Bit Generators (DRBG)
to generate random numbers.
The Arm True Random Number Generator (TRNG) library defines an
interface to access the entropy source on a platform, following
the 'Arm True Random Number Generator Firmware Interface'
specification.
Signed-off-by: Pierre Gondois <pierre.gondois@arm.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-11-06 16:32:28 +00:00
2af33db365
MdePkg: The prototype definition of EdkiiMemoryAcceptProtocol
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3937
EdkiiMemoryAcceptProtocol is defined in MdePkg, the method AcceptMemory()
can be called when memory needs to be accepted.
EdkiiMemoryAcceptProtocol can be installed by architecture-specific
drivers such as TdxDxe. This allows different isolation architectures
to realize their own low-level methods to accept memory.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Jiaqi Gao <jiaqi.gao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-11-01 10:08:10 +00:00
502c01c502
MdePkg: Add UEFI Unaccepted memory definition
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3937
Plase refer to:
UEFI Spec v2.9 Table 7-5 Memory Type Usage before ExitBootServices()
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-11-01 10:08:10 +00:00
32c5a470ad
MdePkg: Increase EFI_RESOURCE_MAX_MEMORY_TYPE
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3937
BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is defined for unaccepted memory.
But this defitinion has not been officially in the PI spec. Base
on the code-first we define EFI_RESOURCE_MEMORY_UNACCEPTED at
MdeModulePkg/Include/Pi/PrePiHob.h and update EFI_RESOURCE_MAX_MEMORY_TYPE
to 8. After BZ3937_EFI_RESOURCE_MEMORY_UNACCEPTED is officially published
in PI spec, we will re-visit here.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-11-01 10:08:10 +00:00
cd24eb578b
MdePkg/BaseLib: BaseLib for LOONGARCH64 architecture.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053
Add LoongArch LOONGARCH64 BaseLib functions.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Chao Li <lichao@loongson.cn >
Co-authored-by: Baoqi Zhang <zhangbaoqi@loongson.cn >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2022-10-14 02:16:33 +00:00
f0a704f9b5
MdePkg/Include: LoongArch definitions.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053
Add LoongArch processor related definitions.
For the Http boot and PXE boot types seeing this URL section "Processor
Architecture Type" for the LOONGARCH values:
https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml
For definitions of PE/COFF and LOONGARCH relocation types, see the
"Machine Types" and "Basic Relocation Types" sections of this URL for
LOONGARCH values:
https://docs.microsoft.com/en-us/windows/win32/debug/pe-format
For the register definitions of exceptions context, see the UEFI V2.10
18.2.2, 18.2.4 and 18.2.5 sections of this URL for LOONGARCH
definitions:
https://uefi.org/specs/UEFI/2.10/18_Protocols_Debugger_Support.html
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Chao Li <lichao@loongson.cn >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-10-14 02:16:33 +00:00
76bf716a7a
MdePkg: Add LoongArch LOONGARCH64 binding
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053
Add LOONGARCH64 sections in MdePkg.dec and LOONGARCH64 ProcessorBind.h
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Chao Li <lichao@loongson.cn >
Co-authored-by: Baoqi Zhang <zhangbaoqi@loongson.cn >
Co-authored-by: Dongyan Qian <qiandongyan@loongson.cn >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2022-10-14 02:16:33 +00:00
d2c0d52ed6
MdePkg/Include: Add LOONGARCH related definitions EDK2 CI.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053
HTTP/PXE boot LOONGARCH64 related definitions for EDK2 CI.
For the LOONGARCH values, please seeing following URL section
"Processor Architecture Types":
https://www.iana.org/assignments/dhcpv6-parameters/dhcpv6-parameters.xhtml
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Chao Li <lichao@loongson.cn >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2022-10-14 02:16:33 +00:00
cafc573ac0
MdePkg: Add Tls configuration related define
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3892
Consumed by TlsSetEcCurve and TlsSetSignatureAlgoList.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Yi Li <yi1.li@intel.com >
Acked-by: Michael D Kinney <michael.d.kinney@intel.com >
2022-10-10 06:29:51 +00:00
68bf712d4f
MdePkg: Added support for SMBIOS spec v3.6.0 to Smbios.h
...
Updated SmBios.h with new fields added as part of SMBIOS 3.6.0 spec update.
Signed-off-by: Sainadh Nagolu <sainadhn@ami.com >
Cc: Vasudevan Sambandan <vasudevans@ami.com >
Cc: Sundaresan S <sundaresans@ami.com >
Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-08-18 08:41:22 +00:00
9102518d29
MdePkg: Improved Smbios Type9 table and Smbios spec v3.5.0 Changes
...
In Type9 structure since PeerGroups has a variable
number of entries, must not define new fields in the structure.So added an
extended structure and defined new fields added after PeerGroups. Also done
some improvements to Smbios 3.5.0 spec changes.
Signed-off-by: Sainadh Nagolu <sainadhn@ami.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-08-18 08:41:22 +00:00
4c55f6394f
MdePkg: IORT header update for IORT Rev E.d spec
...
Bugzilla: 3458 - Add support IORT Rev E.d specification updates
(https://bugzilla.tianocore.org/show_bug.cgi?id=3458 )
The IO Remapping Table, Platform Design Document, Revision E.d,
Feb 2022 (https://developer.arm.com/documentation/den0049/ )
introduces the following updates, collectively including the
updates and errata fixes to Rev E, Rev E.a, Rev E.b, Rev E.c:
- increments the IORT table revision to 5.
- updates the node definition to add an 'Identifier' field.
- adds definition of node type 6 - Reserved Memory Range node.
- adds definition for Memory Range Descriptors.
- adds flag to indicate PRI support for root complexes.
- adds flag to indicate if the root complex supports forwarding
of PASID information on translated transactions to the SMMU.
- adds flag to indicate if the root complex supports PASID.
- adds flags to define access privilege and attributes for the
memory ranges.
Therefore, update the IORT header file to reflect these changes,
and also rename the EFI_ACPI_IO_REMAPPING_TABLE_REVISION macro to
EFI_ACPI_IO_REMAPPING_TABLE_REVISION_00.
Also update the IORT generator in DynamicTablesPkg to fix the
compilation errors so that Git Bisect can work.
Signed-off-by: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Pierre Gondois <pierre.gondois@arm.com >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
2022-07-29 19:22:15 +00:00
671b0cea51
NetworkPkg/HttpBootDxe: Add Support for HTTP Boot Basic Authentication
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2504
Add support for TLS Client Authentication using Basic Authentication
for HTTP Boot
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Cc: Wu Jiaxin <jiaxin.wu@intel.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
2022-07-19 17:43:07 +00:00
12dd064a18
MdePkg/include: Update DMAR definitions to Intel VT-d spec ver4.0
...
Updated DMAR definitions accordingly to changes in Intel(R) Virtualization
Technology for Directed I/O (VT-D) Architecture Specification ver4.0.
Added new definition of remapping structure - SIDP. The SoC Integrated
Device Property (SIDP) reporting structure identifies devices that have
special properties and that may put restrictions on how system software
must configure remapping structures that govern such devices in a platform
where remapping hardware is enabled.
Updated DRHD definition - field 'reserved' is replaced with 'Size'.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3978
Signed-off-by: Robert Kowalewski <robert.kowalewski@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Jenny Huang <jenny.huang@intel.com >
Cc: Sheng Wei <w.sheng@intel.com >
Reviewed-by: Sheng Wei <w.sheng@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-07-11 07:46:10 +00:00
70586d4e3a
MdePkg/Acpi62: Add bit definitions to NFIT Platform Capabilities Structure
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3915
This commit adds each capability bit definition
for NFIT Platform Capabilities Structure.
The type has been added since ACPI Specification Version 6.2A.
Signed-off-by: Miki Shindo <miki.shindo@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-07-01 15:00:06 +00:00
c13377153f
MdePkg/Acpi62: Add type 7 NFIT Platform Capabilities Structure support
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3915
This commit adds a definition type 7 Platform Capabilities Structure
and the struct definition for NFIT Table Structure Types.
The type has been added since ACPI Specification Version 6.2A.
Signed-off-by: Miki Shindo <miki.shindo@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-06-29 02:53:49 +00:00
92288f4334
MdePkg/BaseLib: Add CRC16-ANSI and CRC32c implementations
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3871
Add the CRC16-ANSI and CRC32C implementations previously found at
Features/Ext4Pkg/Ext4Dxe/Crc{16,32c}.c to BaseLib.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-06-13 02:41:35 +00:00
f8264e1303
MdePkg: Define CC Measure EventLog ACPI Table
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3853
TDVF set up an ACPI table (EFI_CC_EVENTLOG_ACPI_TABLE) to pass the
event-log information. The event log created by the TD owner contains
the hashes to reconstruct the MRTD and RTMR registers.
Please refer to Sec 4.3.3 in blow link:
https://www.intel.com/content/dam/develop/external/us/en/documents/
intel-tdx-guest-hypervisor-communication-interface-1.0-344426-002.pdf
Please be noted, the definition of EFI_CC_EVENTLOG_ACPI_TABLE is a
little different from the above document. This difference is based on
below discussion:
- https://edk2.groups.io/g/devel/message/87396
- https://edk2.groups.io/g/devel/message/87402
This change will be reflected in the next version of the above document.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Ken Lu <ken.lu@intel.com >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-06-03 11:41:36 +00:00
48b919cb14
MdePkg: Remove RVCT support
...
RVCT is obsolete and no longer used.
Remove support for it.
Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com >
Reviewed-by: Ard Biesheuvel <ardb@kernel.org >
2022-05-13 14:58:54 +00:00
8079d4dc4f
MdePkg: add SmmCpuRendezvousLib.h and SmmCpuRendezvousLibNull implement.
...
REF? https://bugzilla.tianocore.org/show_bug.cgi?id=3912
UefiCpuPkg define a new Protocol with the new services
SmmWaitForAllProcessor(), which can be used by SMI handler
to optionally wait for other APs to complete SMM rendezvous in
relaxed AP mode.
VariableSmm and VariableStandaloneMM driver in MdeModulePkg need
to use this services but MdeModulePkg can't depend on UefiCpuPkg.
Thus, the solution is moving SmmCpuRendezvouslib.h from UefiCpuPkg
to MdePkg and creating SmmCpuRendezvousLib NullLib version
implementation in MdePkg as dependency for the pkg that can't
depend on UefiCpuPkg.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Signed-off-by: Zhihao Li <zhihao.li@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-05-09 02:04:11 +00:00
fdfbf1fdab
MdePkg: Update smbiosview type 9 with SMBIOS 3.5 fields
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3896
update smbiosview type 9 related fileds.
Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Cc: Dandan Bi <dandan.bi@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-04-22 01:48:09 +00:00
74a3eb975d
MdePkg: Add CcProbeLibNull
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902
CcProbeLib is used to probe the Confidential Computing guest type.
This library is designed to run on SEC / PEI / DXE phases. A null
instance of the library always returns CCGuestTypeNonEncrypted.
A platform specific CcProbeLib will be implemented, for example,
in OvmfPkg.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-19 01:26:08 +00:00
3d97733f44
MdePkg: Add CC_GUEST_TYPE in ConfidentialComputingGuestAttr.h
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902
The confidential computing guest type (GUEST_TYPE) was defined in
OvmfPkg/Include/WorkArea.h. Now it is to be moved to
MdePkg/Include/ConfidentialComputingGuestAttr.h and renamed as
CC_GUEST_TYPE.
There are 2 reasons for this change.
1. CC_GUEST_TYPE is a generic definition and will be used in CcProbeLib
which is defined in MdePkg.
2. Based on the latest edk2 coding style:
- First character should be upper case
- Must contain lower case characters
- No white space characters
- Global variable name must start with a 'g'
As the first step CC_GUEST_TYPE is defined in this patch. In the
next patch GUEST_TYPE will be deleted. This is to make sure the
bisect work correctly.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Brijesh Singh <brijesh.singh@amd.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-19 01:26:08 +00:00
d983b102b3
MdePkg: Add macro to check SEV / TDX guest
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429
Add macros CC_GUEST_IS_SEV / CC_GUEST_IS_TDX to check SEV / TDX guest.
Cc: Michael Roth <michael.roth@amd.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-02 08:15:12 +00:00
c3001cb744
MdePkg: Add TdxLib to wrap Tdx operations
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429
TdxLib is created with functions to perform the related Tdx operation.
This includes functions for:
- TdAcceptPages : Accept pending private pages and initialize the pages
to all-0 using the TD ephemeral private key.
- TdExtendRtmr : Extend measurement to one of the RTMR registers.
- TdSharedPageMask: Get the Td guest shared page mask which indicates it
is a Shared or Private page.
- TdMaxVCpuNum : Get the maximum number of virtual CPUs.
- TdVCpuNum : Get the number of virtual CPUs.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Brijesh Singh <brijesh.singh@amd.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-02 08:15:12 +00:00
818bc9596d
MdePkg: Introduce basic Tdx functions in BaseLib
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429
Introduce basic Tdx functions in BaseLib:
- TdCall ()
- TdVmCall ()
- TdIsEnabled ()
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Brijesh Singh <brijesh.singh@amd.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-02 08:15:12 +00:00
77228269e7
MdePkg: Update Cpuid.h for Tdx
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429
Guest software can be designed to run either as a TD, as a legacy virtual
machine, or directly on the CPU, based on enumeration of its run-time
environment. [TDX-Module] Chap 10.2 defines the flow and the new CPUID
leaf 0x21.
[TDX-Module] Architecture Specification: Intel(R) Trust Domain Extensions
Module, Chap 10.2, 344425-003US, August 2021
https://www.intel.com/content/dam/develop/external/us/en/documents/
tdx-module-1.0-public-spec-v0.931.pdf
Cc: Ray Ni <ray.ni@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Brijesh Singh <brijesh.singh@amd.com >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-02 08:15:12 +00:00
3f0c788a5f
MdePkg: Add Tdx.h
...
RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429
Tdx.h includes the Intel Trust Domain Extension definitions.
Detailed information can be found in below document:
https://software.intel.com/content/dam/develop/external/us/en/
documents/tdx-module-1eas-v0.85.039.pdf
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-04-02 08:15:12 +00:00
267a92fef3
MdePkg/AcpiXX.h: Update Error Severity type for Generic Error Status Block
...
Starting from ACPI Specification Version 5.1 Errata B, the term
'Correctable' is no longer being used as an error severity of the
reported error in Chapter 18 APEI.
This commit will
a) For Acpi40.h & Acpi50.h
Add new macro EFI_ACPI_X_X_ERROR_SEVERITY_RECOVERABLE, since both the
terms 'Correctable' and 'Recoverable' are used to denote the same error
severity.
b) Header files starting from Acpi51.h to Acpi64.h
Add new macro EFI_ACPI_X_X_ERROR_SEVERITY_RECOVERABLE.
Keeps the origin EFI_ACPI_X_X_ERROR_SEVERITY_CORRECTABLE for compatibility
consideration, but add comments to mark it as deprecated and should no
longer be used.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Hao A Wu <hao.a.wu@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-03-21 01:26:21 +00:00
28eeb08d86
MdePkg/Include: Smbios Specification 3.5.0 changes
...
Adds following changes
1) Added support for manufacturing mode in
BIOS Characteristics Extension Byte 2.
2) Added support for slot height in
System Slot Table (type 9).
3) Updated Built-in pointing device interface with
USB, I2C and SPI.
4) Updates Onboard Devices Extended Information with
wireless LAN, bluetooth, WWAN, eMMC, NVMe and UFC.
5) Added new table Firmware Inventory Information (Type 45)
and its corresponding enum values.
6) Added new table String Property Table (Type 46)
and its corresponding enum values.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Abdul Lateef Attar <abdattar@amd.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-03-18 02:38:54 +00:00
bbaa00dd01
MdePkg: Remove the macro definitions regarding Opcode.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3790
Remove the macro definitions regarding Opcode because new version of
NASM tool(e.g. v2.15.05) supports the corresponding instructions.
Note: This patch need to be merged after other NASM code change to avoid
compilation errors.
Signed-off-by: Jason Lou <yun.lou@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
2022-03-01 01:45:47 +00:00
5b39832e18
MdePkg: MmCommunication2: Update MM communicate2 function description
...
Current MM communicate2 function definition described input arguments
`CommBufferPhysical`, `CommBufferVirtual` and `CommSize` as input only,
which mismatches with the "input and output type" as in PI specification.
This change updated function descriptions of MM communite2 definition to
match input argument types.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Kun Qin <kuqin12@gmail.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-01-27 02:16:17 +00:00
9dd14fc91c
MdePkg: Add registers of boot partition feature
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3757
Add registers of boot partition feature which defined in NVM Express 1.4 Spec
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: Maggie Chu <maggie.chu@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-01-07 06:37:18 +00:00
d5efc875ef
MdePkg: Introduce CcMeasurementProtocol for CC Guest firmware
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3625
CC guest is a Confidential Computing guest. If CC Guest firmware
supports measurement and an event is created, CC Guest firmware
is designed to report the event log with the same data structure
in TCG-Platform-Firmware-Profile specification with
EFI_TCG2_EVENT_LOG_FORMAT_TCG_2 format.
The CC Guest firmware supports measurement. It is designed to
produce EFI_CC_MEASUREMENT_PROTOCOL with new GUID
EFI_CC_MEASUREMENT_PROTOCOL_GUID to report event log and provides
hash capability.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Ken Lu <ken.lu@intel.com >
Cc: Sami Mujawar <sami.mujawar@arm.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2021-12-11 17:00:53 +00:00
0077c22f6d
MdePkg: Remove PPTT ID type structure
...
Bugzilla: 3697 (https://bugzilla.tianocore.org/show_bug.cgi?id=3697 )
The ACPI 6.3A specification deprecated the PPTT ID type structure (type
2) therefore remove it from Acpi64.h.
Mantis ID: 2072 (https://mantis.uefi.org/mantis/view.php?id=2072 )
Signed-off-by: Chris Jones <christopher.jones@arm.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2021-12-10 20:06:52 +00:00
30631f0a26
MdePkg: Add missing Cache ID (in)valid define
...
Bugzilla: 3697 (https://bugzilla.tianocore.org/show_bug.cgi?id=3697 )
Add Cache ID valid/invalid defines to Acpi64.h which were not initially
added when the CacheIdValid field was added to
EFI_ACPI_6_4_PPTT_STRUCTURE_CACHE_FLAGS.
Signed-off-by: Chris Jones <christopher.jones@arm.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Sami Mujawar <sami.mujawar@arm.com >
2021-12-10 20:06:52 +00:00
2c354252be
MdePkg/GHCB: increase the GHCB protocol max version
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3275
Now that OvmfPkg supports version 2 of the GHCB specification, bump the
protocol version.
Cc: Michael Roth <michael.roth@amd.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Ray Ni <ray.ni@intel.com >
Acked-by: Jiewen Yao <Jiewen.yao@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com >
2021-12-09 06:28:10 +00:00
26210f9436
MdePkg: Define ConfidentialComputingGuestAttr
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3275
While initializing APs, the MpInitLib may need to know whether the
guest is running with active AMD SEV or Intel TDX memory encryption.
Add a new ConfidentialComputingGuestAttr PCD that can be used to query
the memory encryption attribute.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael Roth <michael.roth@amd.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Rahul Kumar <rahul1.kumar@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: Min Xu <min.m.xu@intel.com >
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Tom Lendacky <thomas.lendacky@amd.com >
Cc: Jordan Justen <jordan.l.justen@intel.com >
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org >
Cc: Erdem Aktas <erdemaktas@google.com >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Acked-by: Ray Ni <ray.ni@intel.com >
Suggested-by: Jiewen Yao <jiewen.yao@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com >
2021-12-09 06:28:10 +00:00
2f88bd3a12
MdePkg: Apply uncrustify changes
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737
Apply uncrustify changes to .c/.h files in the MdePkg package
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-12-07 17:24:28 +00:00
d0e2f8232a
MdePkg: Change OPTIONAL keyword usage style
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3760
Update all use of ', OPTIONAL' to ' OPTIONAL,' for function params.
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-12-07 17:24:28 +00:00
5f289f3ae3
MdePkg: Change use of EFI_D_* to DEBUG_*
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3739
Update all use of EFI_D_* defines in DEBUG() macros to DEBUG_* defines.
Cc: Andrew Fish <afish@apple.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-12-07 17:24:28 +00:00
d6e6337cd6
MdePkg: Fix ACPI memory aggregator/device type mismatch
...
Bugzilla: 3578 (https://bugzilla.tianocore.org/show_bug.cgi?id=3579 )
Since the Common Memory Device (formerly Memory Aggregator Device) was
introduced in ACPI 5.0, the edk2 type values have not matched the
values defined in the ACPI specification.
Fix this discrepancy by aligning the code to match the specification.
Signed-off-by: Chris Jones <christopher.jones@arm.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-11-09 05:30:11 +00:00
5948ec3647
MdePkg: Reproduce builds across source format changes
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3688
* Use DEBUG_LINE_NUMBER instead of __LINE__.
* Use DEBUG_EXPRESSION_STRING instead of #Expression.
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Tested-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-11-08 18:01:35 +00:00
48452993ad
MdePkg/Include: Enhance DebugLib to support reproduce builds
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3688
* Add DEBUG_LINE_NUMBER define to DebugLib.h that is
by default mapped to __LINE__. A build can define
DEBUG_LINE_NUMBER to use a fixed value.
* Add DEBUG_EXPRESSION_STRING(Expression) macros to
DebugLib.h that is by default mapped to #Expression.
A build can define DEBUG_EXPRESSION_STRING_VALUE to
set all expression strings to a fixed string value.
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Tested-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-11-08 18:01:35 +00:00
bb146ce32d
MdePkg Cpuid.h: Define CPUID.(EAX=7,ECX=0):EDX[30]
...
This patch follows new Intel SDM to define CPUID.(EAX=7,ECX=0):EDX[30].
Signed-off-by: Star Zeng <star.zeng@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2021-10-28 02:30:46 +00:00
4225a464c6
MdePkg/BaseLib: Add QuickSort function on BaseLib
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3675
Add QuickSort function into BaseLib
Reviewed-by: Ray Ni <ray.ni@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Signed-off-by: IanX Kuo <ianx.kuo@intel.com >
2021-10-13 02:37:37 +00:00
782d018703
MdePkg: Add ProcessorUpgradeSocketLGA4677 from SMBIOS 3.5.0
...
This patch adds ProcessorUpgradeSocketLGA4677 definition into Smbios.h
from SMBIOS 3.5.0.
It also adds ProcessorUpgradeSocketLGA4189 and ProcessorUpgradeSocketLGA1200
definitions into from SMBIOS 3.4.0.
Signed-off-by: Star Zeng <star.zeng@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-10-12 05:41:25 +00:00
f86de75862
MdePkg: MmCommunication: Added definition of MM Communication PPI
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3629
MM Communication PPI was defined in PI Specification since v1.5. This
change added definition of such PPI and related GUIDs into MdePkg.
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Kun Qin <kuqin12@gmail.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-09-30 01:47:50 +00:00
b0f1b1c5fd
MdePkg: Fix DEVICE_SECURITY_EVENT_DATA_HEADER version definition
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3646
According to latest TCG PFP spec 1.05 revision 23,
(https://trustedcomputinggroup.org/resource/pc-client-specific
-platform-firmware-profile-specification/),
10.2.7 DEVICE_SECURITY_EVENT_DATA Structure,
the version should be 1.
Signed-off-by: yi1 li <yi1.li@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2021-09-29 02:36:31 +00:00
443300be46
MdePkg:Update IndustryStandard/Nvme.h with Nvme amdin controller data
...
Update Nvme data structure
Signed-off-by: Cheng Zhou <zhoucheng@phytium.com.cn >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Hao A Wu <hao.a.wu@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
2021-08-30 03:44:08 +00:00