Min Xu
7012cb73c4
MdePkg: Probe Cc guest in BaseIoLibIntrinsicSev
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902
Bad IO performance in SEC phase is observed after TDX features was
introduced. (after commit b6b2de8848
- "MdePkg: Support mmio for
Tdx guest in BaseIoLibIntrinsic").
This is because IsTdxGuest() will be called in each MMIO operation.
It is trying to cache the result of the probe in the efi data segment.
However, that doesn't work in SEC, because the data segment is read only
(so the write seems to succeed but a read will always return the
original value), leading to us calling TdIsEnabled() check for every
mmio we do, which is causing the slowdown because it's very expensive.
This patch is to call CcProbe instead of TdIsEnabled in IsTdxGuest.
Null instance of CcProbe always returns CCGuestTypeNonEncrypted. Its
OvmfPkg version returns the guest type in Ovmf work area.
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: James Bottomley <James.Bottomley@HansenPartnership.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
Min Xu
2a7e1e890d
OvmfPkg: Add CcProbeLib in *.dsc
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902
CcProbeLib is imported in BaseIoLibIntrinsicSev.
OvmfPkg/Library/CcProbeLib is the OvmfPkg version which checks
OvmfWorkArea to return the Cc guest type. It is included
in OvmfPkgX64.dsc and IntelTdx/IntelTdxX64.dsc.
Other .dsc include the MdePkg/Library/CcProbeLibNull because Cc guest
is not supported in those projects.
Cc: James Bottomley <jejb@linux.ibm.com >
Cc: James Bottomley <James.Bottomley@HansenPartnership.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: 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
Min Xu
2f44d77c68
OvmfPkg: Add CcProbeLib
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902
This is the OvmfPkg specific CcProbeLib. It checks the Ovmf WorkArea
(PcdOvmfWorkAreaBase) to return the guest type.
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: James Bottomley <James.Bottomley@HansenPartnership.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: 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
Min Xu
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
Min Xu
d020ac55b6
OvmfPkg: Replace GUEST_TYPE with CC_GUEST_TYPE
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3902
Replace GUEST_TYPE with CC_GUEST_TYPE which is defined in
MdePkg/Include/ConfidentialComputingGuestAttr.h.
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: 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
Min Xu
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
Ted Kuo
91a03f78ba
IntelFsp2WrapperPkg: SecFspWrapperPlatformSecLibSample support for X64
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added SecFspWrapperPlatformSecLibSample support for X64.
2.Adopted FSPT_ARCH2_UPD in SecFspWrapperPlatformSecLibSample.
3.Moved Fsp.h up one level to be shared across IA32 and X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
86a2f3c439
IntelFsp2WrapperPkg: BaseFspWrapperApiLib support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
Add Execute64BitCode to execute 64bit code from long mode directly
in PEI 64bit.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
4a6ed7e46a
IntelFsp2WrapperPkg: Adopt FSPM_UPD_COMMON_FSP24 for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
Adopt FSPM_UPD_COMMON_FSP24 in FspmWrapperPeim to support X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
6bec5a66ea
IntelFsp2Pkg: SecFspSecPlatformLibNull support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added SecFspSecPlatformLibNull support for X64.
2.Added X64 support to IntelFsp2Pkg.dsc.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
00aa71ce20
IntelFsp2Pkg: FspSecCore support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added FspSecCore support for X64.
2.Bumped FSP header revision to 7 to indicate FSP 64bit is supported.
3.Corrected few typos.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
d40965b987
IntelFsp2Pkg: Update FSP_GLOBAL_DATA and FSP_PLAT_DATA for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
Updated FSP_GLOBAL_DATA and FSP_PLAT_DATA structures to support
both IA32 and X64.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
6f219bef55
IntelFsp2Pkg: Add FSPx_ARCH2_UPD support for X64
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added FSPx_ARCH2_UPD structures which support both IA32 and X64.
2.Added FSPx_UPD_COMMON_FSP24 structures.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ted Kuo
630df8c86e
IntelFsp2Pkg: X64 compatible changes to support PEI in 64bit
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3893
1.Added EFIAPI to FspNotifyPhasePeimEntryPoint, SwapStack and
PEI_CORE_ENTRY.
2.Treat both MAX_ADDRESS and MAX_UINT32 as invalid address for
FSP global data in FspApiCallingCheck().
3.Changed AsmReadEsp to AsmReadStackPointer.
4.Changed the type of the return value of AsmReadStackPointer
from UINT32 to UINTN.
5.Changed the type of TemporaryMemoryBase, PermenentMemoryBase
and BootLoaderStack from UINT32 to UINTN.
6.Some type casting to pointers are UINT32. Changed them to
UINTN to accommodate both IA32 and X64.
7.Corrected some typos.
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Cc: Star Zeng <star.zeng@intel.com >
Cc: Ashraf Ali S <ashraf.ali.s@intel.com >
Signed-off-by: Ted Kuo <ted.kuo@intel.com >
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com >
2022-04-16 00:18:14 +00:00
Ke, Bo-ChangX
9bf7291d63
ShellPkg: Update smbiosview type 41 with SMBIOS 3.5 fields
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3900
update smbiosview type 41 related fileds.
Signed-off-by: Bo Chang Ke <bo-changx.ke@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-04-15 03:06:02 +00:00
Guo Dong
4cfb28f12a
UefiPayloadPkg: Fix the build failure
...
When Quite parameter is not provided, its default value would
be "None" instead of "". So update its default value not to
impact the build.
Cc: Ray Ni <ray.ni@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Signed-off-by: Guo Dong <guo.dong@intel.com >
Acked-by: Dun Tan <dun.tan@intel.com >
2022-04-14 19:34:05 +00:00
Michael Kubacki
f3da13461c
CryptoPkg/TlsLibNull: Remove MU_CHANGE comment markers
...
MU_CHANGE tags are used in a different project (Project Mu) to
highlight deviations from Tianocore. Therefore, the comments are
not needed when the changes are present in a Tianocore repository.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com >
Cc: Guomin Jiang <guomin.jiang@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2022-04-14 14:50:20 +00:00
yi1 li
0c901fcc20
CryptoPkg: Make EC source file config-able
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3679
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3828
Use PCD gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled to config-able
source files list in OpensslLib.inf and OpensslLibCrypto.inf.
If PcdEcEnabled equals to FALSE, this file will not be compiled.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: yi1 li <yi1.li@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2022-04-14 03:16:59 +00:00
yi1 li
efc39e65e5
CryptoPkg: Reconfigure OpensslLib to add EC algorithms
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3679
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3828
Reconfigure OpensslLib to add elliptic curve cipher algorithms.
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: yi1 li <yi1.li@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2022-04-14 03:16:59 +00:00
yi1 li
1a49e2aa3c
CryptoPkg: Add instrinsics to support building ECC on IA32 windows
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3679
This dependency is needed to build openssl lib with ECC ciphers
under IA32 Windows and adds implementation for _allmul and _allshr
instrinsics.
It is taken from Project Mu:
microsoft/mu_basecore@b55b341
Cc: Jiewen Yao <jiewen.yao@intel.com >
Cc: Jian J Wang <jian.j.wang@intel.com >
Signed-off-by: yi1 li <yi1.li@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
2022-04-14 03:16:59 +00:00
Michael D Kinney
8a5727c7a8
Maintainers.txt: Add Michael Kubacki as UnitTestFrameworkPkg maintainer
...
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael Kubacki <mikuback@linux.microsoft.com >
2022-04-13 23:49:08 +00:00
Bob Feng
c411566fad
pip-requirements.txt: Update basetools version to 0.1.17
...
Synced the basetools patch from edk2 repo to
edk2-basetools repo. Update the basetools pip module version
to the latest.
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
2022-04-13 00:02:47 +00:00
Gerd Hoffmann
f5508a91e3
CryptoPkg/UnitTest: fix DH testcase
...
openssl 3.0 wants at least 512 bytes, otherwise it throws an error:
error:0280007E:Diffie-Hellman routines::modulus too small
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
fab6285a73
CryptoPkg/CrtLibSupport: fix strcpy
...
strcpy() returns a pointer to the destination string, AsciiStrCpyS()
does not. So a simple #define does not work. Create a function
instead.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
03951e5645
CryptoPkg/CrtLibSupport: add off_t
...
Add typedef for off_t.
Will be needed by openssl 3.0.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
fd5f347c84
CryptoPkg/CrtLibSupport: add MODULESDIR
...
Add dummy MODULESDIR #define
Will be needed by openssl 3.0.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
2759e42fbc
CryptoPkg/CrtLibSupport: add UINT_MAX
...
Add define for UINT_MAX.
Will be needed by openssl 3.0.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
58771f4b2d
CryptoPkg/CrtLibSupport: add INT_MIN
...
Add #define for INT_MIN.
Will be needed by openssl 3.0.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
3b4b49cf00
CryptoPkg/CrtLibSupport: add strstr()
...
Add #define for strstr().
Will be needed by openssl 3.0.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Gerd Hoffmann
4352d115c4
CryptoPkg/CrtLibSupport: add fcntl.h
...
Add fcntl.h header file.
Will be needed by openssl 3.0.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com >
2022-04-12 14:39:01 +00:00
Feng, Bob C
5576b17363
BaseTools: Fix DevicePath tool build failure issue
...
Fix the DevicePath tool build failure that was introduced by
the fixes: 22130dcd98
("Basetools: turn off gcc12 warning").
Failure cases are:
1. clang 13.1.6 on macOS
2. gcc5.4
Reported-by: Rebecca Cran <rebecca@bsdio.com >
Reported-by: Yuwei Chen <yuwei.chen@intel.com >
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Cc: Rebecca Cran <rebecca@bsdio.com >
Reviewed-by: Yuwei Chen <yuwei.chen@intel.com >
2022-04-12 07:01:26 +00:00
Oliver Steffen
12a50c9ce1
NetworkPkg/HttpDxe: Detect HTTP/1.0 servers
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2720
Force connection close before the next request if
the server identifies as version 1.0.
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
2022-04-11 15:12:46 +00:00
Oliver Steffen
753fd319e2
NetworkPkg/HttpDxe: Detect 'Connection: close' header
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2720
Force connection close before the next request if
the server sends the 'Connection: close' header.
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
2022-04-11 15:12:46 +00:00
Oliver Steffen
c43ff5188d
NetworkPkg/HttpDxe: Add ConnectionClose flag fo HTTP_PROTOCOL
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2720
Add ConnectionClose flag to HTTP_PROTOCOL.
This boolean is FALSE by default. If set to TRUE, a reconfigure
of the Http instance is forced on the next request. The flag
is then reset.
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
2022-04-11 15:12:46 +00:00
Oliver Steffen
3974aa539e
NetworkPkg/HttpDxe: Decofigure Tcp6 before reconfiguring
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2720
Check if the state of the HTTP instance is HTTP_STATE_TCP_CONNECTED, or
HTTP_STATE_TCP_CLOSED and de-configure the Tcp6 instance before
configuring it again.
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
2022-04-11 15:12:46 +00:00
Oliver Steffen
38a9afd0fb
NetworkPkg/HttpDxe: Decofigure Tcp4 before reconfiguring
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2720
Check if the state of the HTTP instance is HTTP_STATE_TCP_CONNECTED, or
HTTP_STATE_TCP_CLOSED and de-configure the Tcp4 instance before
configuring it again.
Signed-off-by: Oliver Steffen <osteffen@redhat.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com >
2022-04-11 15:12:46 +00:00
Heng Luo
35a4b63247
NetworkPkg: Add PCDs for HTTP DNS RetryCount and RetryInterval
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3889
Currently the HTTP DNS Retry Interval is 2 second and no retry attempt.
If DNS response can't arrive in 2 second, the DNS request is failed,
and then HTTP boot is failed.
In order to resolve this issue, Add PCDs to support RetryCount
and RetryInterval configured in Platform.
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com >
Cc: Fu Siyuan <siyuan.fu@intel.com >
Cc: Wu Jiaxin <jiaxin.wu@intel.com >
Signed-off-by: Heng Luo <heng.luo@intel.com >
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com >
2022-04-11 15:12:46 +00:00
Guo Dong
dab96cf02e
UefiPayloadPkg: Add --quiet argument to Universal Payload build script
...
Signed-off-by: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-04-10 21:00:54 +00:00
Li, Zhihao
63e155f24d
UefiPayloadPkg: Add dependency of VariableSmm driver.
...
REF? https://bugzilla.tianocore.org/show_bug.cgi?id=3882
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 driver need use SmmCpuRendezvousLib, So add
SmmCpuRendezvousLib dependency in UefiPayloadPkg which use
VariableSmm driver.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: Siyuan Fu <siyuan.fu@intel.com >
Signed-off-by: Zhihao Li <zhihao.li@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-04-10 20:33:27 +00:00
Guo Dong
676084303d
UefiPayloadPkg: Support IA32 Build
...
The payload entry module should support to build as IA32 image
beside X64 image so that it could work with 32bit bootloaders.
This patch adds a option build parameter for arch selection.
Cc: Ray Ni <ray.ni@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Signed-off-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Sean Rhodes <sean@starlabs.systems >
2022-04-10 19:36:44 +00:00
Lean Sheng Tan
bfefdc2c49
UefiPayloadPkg: Fix PciHostBridgeLib
...
Don't assume a 64bit register always holds an address greater than 4GB.
Check the value in the register and decide which Aperature it should be
assigned to.
Fixes assertion
"ASSERT [PciHostBridgeDxe] Bridge->MemAbove4G.Base >= 0x0000000100000000ULL".
Tested with coreboot as bootloader on platforms that have PCI resource
above 4GiB and on platforms that don't have resource above 4GiB.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com >
Reviewed-by Sean Rhodes <sean@starlabs.systems >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-04-10 17:46:10 +00:00
Rebecca Cran
4f4afcd288
BaseTools: Scripts/efi_lldb.py: Add lldb EFI commands and pretty Print
...
https://bugzilla.tianocore.org/show_bug.cgi?id=3500
Use efi_debugging.py Python Classes to implement EFI gdb commands:
efi_symbols, guid, table, hob, and devicepath
You can attach to any standard gdb or kdp remote server and get EFI
symbols. No modifications of EFI are required.
Example usage:
OvmfPkg/build.sh qemu -gdb tcp::9000
lldb -o "gdb-remote localhost:9000" -o "command script import efi_lldb.py"
Note you may also have to teach lldb about QEMU:
-o "settings set plugin.process.gdb-remote.target-definition-file
x86_64_target_definition.py"
Cc: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-04-09 05:13:56 +00:00
Rebecca Cran
0d7fec9f79
BaseTools: Scripts/efi_gdb.py: Add gdb EFI commands and pretty Print
...
https://bugzilla.tianocore.org/show_bug.cgi?id=3500
Use efi_debugging.py Python Classes to implement EFI gdb commands:
(gdb) help efi
Commands for debugging EFI. efi <cmd>
List of efi subcommands:
efi devicepath -- Display an EFI device path.
efi guid -- Display info about EFI GUID's.
efi hob -- Dump EFI HOBs. Type 'hob -h' for more info.
efi symbols -- Load Symbols for EFI. Type 'efi_symbols -h' for more info.
efi table -- Dump EFI System Tables. Type 'table -h' for more info.
This module is coded against a generic gdb remote serial stub. It should
work with QEMU, JTAG debugger, or a generic EFI gdb remote serial stub.
No modifications of EFI is required to load symbols.
Example usage:
OvmfPkg/build.sh qemu -gdb tcp::9000
gdb -ex "target remote localhost:9000" -ex "source efi_gdb.py"
Cc: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-04-09 05:13:56 +00:00
Rebecca Cran
b8c5ba2337
BaseTools: efi_debugging.py: Add debugger agnostic dbg Python Classes
...
Add Scripts/efi_debugging.py to provide debugger agnostic debugging
utility Python classes.
Cc: Leif Lindholm <quic_llindhol@quicinc.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Hao A Wu <hao.a.wu@intel.com >
Cc: Bob Feng <bob.c.feng@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Cc: Yuwei Chen <yuwei.chen@intel.com >
Signed-off-by: Rebecca Cran <quic_rcran@quicinc.com >
Reviewed-by: Bob Feng <bob.c.feng@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-04-09 05:13:56 +00:00
Chen, Lin Z
94f905b3bf
MdeModulePkg/HiiDatabase: Fix Setup numeric default value incorrect issue
...
When default/manufacturing flag get removed from numeric varid, it can't
get default value from StructurePcd in 'UpdateDefaultSettingInFormPackage'
function since there is no EFI_IFR_DEFAULT_OP opcode in IFR file. Add a
chance to get numeric default value from StructurePcd in the case that
numeric minimum value will be used as default value.
Signed-off-by: Chen Lin Z <lin.z.chen@intel.com >
Signed-off-by: Dandan Bi <dandan.bi@intel.com >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
2022-04-08 02:08:35 +00:00
Michael Kubacki
a298a84478
PrmPkg: Apply uncrustify changes
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3737
Apply uncrustify changes to .c/.h files in PrmPkg.
Cc: Andrew Fish <afish@apple.com >
Cc: Kang Gao <kang.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Liu Yun <yun.y.liu@intel.com >
Cc: Ankit Sinha <ankit.sinha@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Michael D Kinney <michael.d.kinney@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com >
2022-04-05 00:42:38 +00:00
Michael Kubacki
f3c11224b5
PrmPkg: Changes for edk2 repo transition
...
Updates the Readme.md files to remove information that was specific
to the package in edk2-staging and adds key definitions being added
for PRM support in the ACPI Specification.
Adds PrmPkg/PrmPkg.ci.yaml to support CI.
Adds PrmPkg to .pytool/CISettings.py.
Adds PrmPkg maintainers to Maintainers.txt.
Cc: Andrew Fish <afish@apple.com >
Cc: Kang Gao <kang.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Liu Yun <yun.y.liu@intel.com >
Cc: Ankit Sinha <ankit.sinha@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Michael D Kinney <michael.d.kinney@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com >
2022-04-05 00:42:38 +00:00
Michael Kubacki
deea4e58b0
Readme.md: Add a link to PRM Specification
...
Adds a link to the PRM Specification now that it is available on uefi.org.
Cc: Andrew Fish <afish@apple.com >
Cc: Kang Gao <kang.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Liu Yun <yun.y.liu@intel.com >
Cc: Ankit Sinha <ankit.sinha@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Michael D Kinney <michael.d.kinney@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com >
2022-04-05 00:42:38 +00:00
Michael Kubacki
88f3d734f5
PrmPkg: Remove the concept of OS services
...
OS services are no longer supported as of the current PRM design.
1. Removes OS services from PrmSampleHardwareAccessModule
2. Removes the PrmOsServices.h file
Cc: Andrew Fish <afish@apple.com >
Cc: Kang Gao <kang.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Liu Yun <yun.y.liu@intel.com >
Cc: Ankit Sinha <ankit.sinha@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Michael D Kinney <michael.d.kinney@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com >
2022-04-05 00:42:38 +00:00
Michael Kubacki
050b2ba27d
PrmPkg/Samples: Remove PrmSamplePrintModule
...
This sample module is removed since it directly depends on OS
services which are no longer supported as of the current PRM
design.
Cc: Andrew Fish <afish@apple.com >
Cc: Kang Gao <kang.gao@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Michael Kubacki <michael.kubacki@microsoft.com >
Cc: Leif Lindholm <leif@nuviainc.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Liu Yun <yun.y.liu@intel.com >
Cc: Ankit Sinha <ankit.sinha@intel.com >
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com >
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Michael D Kinney <michael.d.kinney@intel.com >
Acked-by: Liming Gao <gaoliming@byosoft.com.cn >
Acked-by: Leif Lindholm <quic_llindhol@quicinc.com >
Reviewed-by: Ankit Sinha <ankit.sinha@intel.com >
2022-04-05 00:42:38 +00:00