Xie, Yuanhao
6bc74286e7
UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib.
...
Add CpuPageTableLib required by MpInitLib in UefiPayloadPkg.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Tested-by: Gerd Hoffmann <kraxel@redhat.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2023-03-07 08:14:59 +00:00
MarsX Lin
1eeca0750a
UefiPayloadPkg: remove the change that get platform specific logic
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4241
Since UefiPayloadPkg had supported multiple firmware volume,
remove the platform specific logic via protocol
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: Gua Guo <gua.guo@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Signed-off-by: MarsX Lin <marsx.lin@intel.com >
2023-02-23 07:47:12 +00:00
KasimX Liu
2f2fd79fc4
UefiPayloadPkg: Set RTC dynamic PCD to PeiPCDdatabase
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4193
In order to remove RTC_INDEX/RTC_TARGET from
the UplBuild macro list,change the RTC_INDEX
/RTC_TARGET type from PcdsFixedAtBuild to PcdsDynamicEx
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: KasimX Liu <kasimx.liu@intel.com >
2023-01-31 15:04:26 +00:00
Ning Feng
2cc6d4c8ed
UefiPayloadPkg: Fix debug print error level hob not save correct
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4264
Fix debug print error level hob not save correct DebugPrintErrorlevel
Should cover the case:
Header.Length == UNIVERSAL_PAYLOAD_SIZEOF_THROUGH_FIELD ()
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: Ning Feng <ning.feng@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
2023-01-10 03:44:38 +00:00
Yuanhao Xie
5ef3990735
Revert "UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib."
...
This reverts commit 3f378450df
, since the
commit 73ccde8
introduced CpuPageTableLib dependency which resolved
for UefiPayloadPkg need to be reverted.
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4234
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: Laszlo Ersek <lersek@redhat.com >
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
2023-01-09 17:53:41 +00:00
KasimX Liu
d8d829b89d
UefiPayloadPkg: Move RTC PCD to dynamic PCD
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4193
In order to remove RTC_INDEX/RTC_TARGET from
the UplBuild macro list,change the RTC_INDEX
/RTC_TARGET type from PcdsFixedAtBuild to PcdsDynamicEx
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: KasimX Liu <kasimx.liu@intel.com >
2023-01-06 16:10:13 +00:00
Guo Dong
d8d4abdff9
UefiPayloadPkg: Fix boot issue for non-universal payload
...
BDS module was moved from DXEFV to newly created BDSFV recently.
Non-universal UEFI payload doesn't support multiple FV, so it failed
to boot since BDS module could not be found.
This patch add BDS back to DXEFV when UNIVERSAL_PAYLOAD is not set.
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
2022-12-22 17:16:54 +00:00
MarsX Lin
3c16e6fb97
UefiPayloadPkg: Fixed that The UPL info section is not aligned at 4-byte
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4196
Align .upld_info with 4-byte boundary by spec
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: MarsX Lin <marsx.lin@intel.com >
2022-12-21 04:44:29 +00:00
Yuanhao Xie
3f378450df
UefiPayloadPkg: Add CpuPageTableLib required by MpInitLib.
...
Add CpuPageTableLib required by MpInitLib in UefiPayloadPkg.
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-12-20 08:38:28 +00:00
Kavya
6937fc8338
UefiPayloadPkg/SerialPortLib: Enhance multi port behaviour
...
Add condition to return success if mUartCount is greater
than zero in SerialPortInitialize() to avoid filling mUartInfo
with the same hob data when SerialPortInitialize() is called
multiple times. Also add proper conditions in SerialPortRead
function to read the data properly from multiple UART's.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: Kavya <k.kavyax.sravanthi@intel.com >
2022-12-20 07:53:41 +00:00
jdzhang
560f9bb063
UefiPayloadPkg: Define default values for the DynamicEX PCDs
...
The following PCDs have no value in UefiPayloadPkg.dsc
and they can not pass the Ecc tool check, so assign
the default values the same as they are in *.dec file.
1. gEfiMdeModulePkgTokenSpaceGuid.PcdAriSupport
2. gEfiMdeModulePkgTokenSpaceGuid.PcdMrIovSupport
3. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSuppor
4. gEfiMdeModulePkgTokenSpaceGuid.PcdSrIovSystemPageSize
5. gUefiCpuPkgTokenSpaceGuid.PcdCpuApInitTimeOutInMicroSeconds
6. gUefiCpuPkgTokenSpaceGuid.PcdCpuApLoopMode
7. gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchAddress
8. gUefiCpuPkgTokenSpaceGuid.PcdCpuMicrocodePatchRegionSize
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: jdzhang <jdzhang@kunluntech.com.cn >
2022-12-20 03:53:47 +00:00
MarsX Lin
05da2d24b0
UefiPayloadPkg: Move bdsdxe.inf from DXEFV to BDSFV
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4196
Since UefiPayload had supported multiple fv,
move bdsdxe.inf to new firmware volume and
modify the script of UniversalPayloadPkgBuild.py to
support bdsdxe fv in elf file
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: MarsX Lin <marsx.lin@intel.com >
2022-12-19 07:28:55 +00:00
MarsX Lin
a639248bd0
UefiPayloadPkg: Support multiple firmware volume
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4164
To support multiple FVs provided by UPL
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: MarsX Lin <marsx.lin@intel.com >
2022-12-06 10:13:54 +00:00
VictorX Hsu
85d805ed32
UefiPayloadPkg: The UPL info section is not aligned at 4-byte boundary
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4153
1.Upgrade spec revision to 0.9
2.Align .upld_info with 4-byte boundary by spec
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: VictorX Hsu <victorx.hsu@intel.com >
2022-11-28 06:59:08 +00:00
Min M Xu
a89f558d3c
OvmfPkg/UefiCpuPkg/UefiPayloadPkg: Rename VmgExitLib to CcExitLib
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4123
VmgExitLib once was designed to provide interfaces to support #VC handler
and issue VMGEXIT instruction. After TDVF (enable TDX feature in OVMF) is
introduced, this library is updated to support #VE as well. Now the name
of VmgExitLib cannot reflect what the lib does.
This patch renames VmgExitLib to CcExitLib (Cc means Confidential
Computing). This is a simple renaming and there is no logic changes.
After renaming all the VmgExitLib related codes are updated with
CcExitLib. These changes are in OvmfPkg/UefiCpuPkg/UefiPayloadPkg.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Cc: Eric Dong <eric.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Brijesh Singh <brijesh.singh@amd.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: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Signed-off-by: Min Xu <min.m.xu@intel.com >
2022-11-14 04:55:34 +00:00
VictorX Hsu
2695e49219
UefiPayloadPkg: Boot mode in PHIT HOB will not be updated
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4136
System will depend on Boot Mode value to do different behavior
Update during Capsule Update process. So UPL need to support
update boot mode.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: VictorX Hsu <victorx.hsu@intel.com >
2022-11-04 12:38:29 +08:00
Gua Guo
5bd2dbc698
UefiPayloadPkg: Remove deprecate Crypto Service
...
REF : https://bugzilla.tianocore.org/show_bug.cgi?id=4096
TDES and ARC4 services are deprecated so set it as disable.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Signed-off-by: Gua Guo <gua.guo@intel.com >
2022-10-13 10:43:52 +08:00
VictorX Hsu
3c0d567c37
UefiPayloadPkg: Provide a wrapper for UniversalPayloadBuild.py
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4071
Provide a wrapper to wrap UniversalPayloadBuild.py
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Signed-off-by: VictorX Hsu <victorx.hsu@intel.com >
2022-09-28 17:52:34 +08:00
James Lu
415fc406d6
UefiPayloadPkg/PayloadLoaderPeim: remove GCC build warning
...
Fix the gcc build warning:
variable PldInfo set but not used [-Wunused-but-set-variable]
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Michael D Kinney <michael.d.kinney@intel.com >
Cc: Liming Gao <gaoliming@byosoft.com.cn >
Signed-off-by: Gang Chen <gang.c.chen@intel.com >
2022-09-16 15:46:22 +08:00
Kavya
54c8d5e432
UefiPayloadPkg: Allow DxeMain.inf to consume the new SerialPortLib
...
Let DxeMain.inf consume new SerialPortLib to support multiple
channel debug message on early DXE if the macro
MULTIPLE_DEBUG_PORT_SUPPORT is TRUE.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: Kavya <k.kavyax.sravanthi@intel.com >
2022-09-07 15:30:24 +00:00
Kavya
11a04bb4a6
UefiPayloadPkg: Implement a new SerialPortLib instance
...
Add new Serial port library instance that consumes the HOB defined
in MdeModulePkg/Include/UniversalPayload/SerialPortInfo.h to support
multiple UART's.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: Kavya <k.kavyax.sravanthi@intel.com >
2022-09-07 15:30:24 +00:00
KasimX Liu
08522341c4
UefiPayloadPkg: To replace the libraries for the capsule driver.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4030
For the system support the Capsule function in UPL,
we replace the libraries for the Capsule driver.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: KasimX Liu <kasimx.liu@intel.com >
2022-09-05 02:56:07 +00:00
James Lu
dfdba857a6
UefiPayloadPkg: Fix Coverity report defect
...
https://bugzilla.tianocore.org/show_bug.cgi?id=4018
Coverity report FORWARD_NULL and OVERFLOW_BEFORE_WIDEN potential defect
in UefiPayloadPkg.
Signed-off-by: Gregx Yeh <gregx.yeh@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
2022-08-23 04:03:01 +00:00
Kavya
c15c9fa420
UefiPayloadPkg: Add macro to control NvmExpressDxe
...
Add NVME_ENABLE macro to control NvmExpressDxe driver.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: Kavya <k.kavyax.sravanthi@intel.com >
2022-08-23 01:31:35 +00:00
Kavya
2bb0020675
UefiPayloadPkg: Return PciRootBridges instead of NULL
...
Return PciRootBridges instead of NULL and set
PcdPciDisableBusEnumeration to FALSE when
root bridge count is zero.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: Kavya <k.kavyax.sravanthi@intel.com >
2022-08-23 01:04:17 +00:00
Dun Tan
803ed060ee
UefiPayloadPkg: Remove clearing CR0.WP when protecting pagetable
...
Remove clearing CR0.WP when marking the memory used for page table
as read-only in the page table itself created by UefiPayloadEntry.
This page table address is written to Cr3 after these protection
steps. Till this, the memory used for page table is always RW.
Signed-off-by: Dun Tan <dun.tan@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-08-15 05:15:43 +00:00
Sean Rhodes
444260d45e
UefiPayloadPkg: Load Boot Logo into ACPI table
...
If the boot logo is enabled, this will allow edk2 to pass the logo
to the OS via ACPI.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Sean Rhodes <sean@starlabs.systems >
2022-08-03 22:15:00 +00:00
Sean Rhodes
79aab22fca
UefiPayloadPkg: Add a Macro to enable Boot Logo
...
Add a macro called BOOTSPLASH_IMAGE, which when enabled, will
display a logo at boot time.
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Signed-off-by: Sean Rhodes <sean@starlabs.systems >
2022-08-03 22:15:00 +00:00
Sean Rhodes
d219119721
UefiPayloadPkg/PlatformBootManagerLib: Correct spacing in boot prompt
...
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 >
Signed-off-by: Sean Rhodes <sean@starlabs.systems >
2022-08-03 21:47:22 +00:00
Benjamin Doron
f26b70cb9f
UefiPayloadPkg: Add support for logging to CBMEM console
...
Writes TianoCore debug logs into the CBMEM console ringbuffer, from
where the user can retrieve them with the `cbmem` userspace utility.
The intention is to aid in debugging non-fatal issues even in release
builds, or simply make TianoCore's logs available to those interested.
Consequently, MDEPKG_NDEBUG must be masked. As an in-memory debug
logging library, ASSERTs must be non-fatal to be seen, so they neither
dead-loop nor create a breakpoint. It is assumed that ASSERT() neither
enforces fatal conditions nor security integrity, as release builds do
not call DebugAssert() from the ASSERT macro.
More detailed debug logs are produced with the DEBUG_CODE macro, but
this guards other debug-related code throughout the codebase. To avoid
changing behaviour on release builds, this is only set for debug builds.
Tested on QEMU, dumping the appropriate memory region in the UEFI shell
shows the TianoCore log. An improved revision of the debug library used
in several coreboot-related EDK2 forks, including MrChromebox's.
Previous revisions also tested on an Acer Aspire VN7-572G laptop.
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: Benjamin Doron <benjamin.doron00@gmail.com >
2022-07-27 20:54:35 +00:00
James Lu
2677286307
UefiPayloadPkg: Fix RelaAddress type always mismatch in if condition
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3984
Under function RolocateElfDynamic() in Elf32Lib.c
if (RelaAddress == MAX_UINT64) is always FALSE while RelaAddress is UINT32
Fix is to modify if condition check to "if (RelaAddress == MAX_UINT32)"
Cc: Ray Ni <ray.ni@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: James Lu <james.lu@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-07-27 17:00:40 +00:00
PaytonX Hsieh
a47241f133
UefiPayloadPkg: Add macro to support selection of CryptoDxe driver
...
REF : https://bugzilla.tianocore.org/show_bug.cgi?id=4006
Add CRYPTO_PROTOCOL_SUPPORT to decide CryptoDxe built into UPL.efi
If CRYPTO_PROTOCOL_SUPPORT is true, BIOS will use crypto protocol
instead of building OpensslLib into drivers.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: PaytonX Hsieh <paytonx.hsieh@intel.com >
2022-07-25 16:32:42 +00:00
James Lu
e21b203911
UefiPayloadPkg: Add macro to support selective driver in UPL
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3967
Add macros to decide modules built into UPL.elf.
Macro list:
- GENERIC_MEMORY_TEST_ENABLE: GenericMemoryTestDxe
- MEMORY_TEST: NullMemoryTestDxe or GenericMemoryDxe
- ATA_ENABLE: SataControllerDxe, AtaBusDxe
- SD_ENABLE: SdMmcPciDxe, EmmcDxe, SdDxe
- PS2_MOUSE_ENABLE: Ps2MouseDxe
Cc: Guo Dong <guo.dong@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: James Lu <james.lu@intel.com >
Reviewed-by: Ray Ni <Ray.ni@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-07-18 22:18:16 +00:00
Sean Rhodes
07c8e5e59b
UefiPayloadPkg/PlatformBootManagerLib: Evenly space boot prompt
...
Add 4 spaces before the boot prompt "F2 or Down..." so that the
spacing is equadistant from the top, which is spaced with a `\n`,
and the left.
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 >
Signed-off-by: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-07-16 02:57:38 +00:00
PaytonX Hsieh
f6f3cc7ead
UefiPayloadPkg: Add CryptoDxe driver to UefiPayload
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3979
Add CryptoDxe into UPL.
Drviers can locate protocol instead of building openssl lib into drivers.
This can reduce the binary size that UPL required.
Cc: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: PaytonX Hsieh <paytonx.hsieh@intel.com >
2022-07-11 04:16:37 +00:00
Gua Guo
21e6ef7522
UefiPayloadPkg: Align Attribute value with UPL spec
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3963
Based on UPL spec 2.12.2. Universal Payload Information Section,
it defines item "Attribute" on UPLD_INFO_HEADER for Debug build
should be "1", and Release build should be "0".
Currently, The value of item "Attribute" is always "0"
Cc: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Signed-off-by: Gua Guo <gua.guo@intel.com >
2022-06-30 03:45:38 +00:00
KasimX Liu
2aee08c0b6
UefiPayloadPkg: Backward support with python 3.6
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3960
Currently, UniversalPayloadBuild.py don't have support
python3.6, we use python3.6 will encounter f"" failure
use the change to fix it to support python3.6/3.7/3.8.
Cc: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Cc: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: KasimX Liu <kasimx.liu@intel.com >
2022-06-24 12:59:41 +00:00
Gua Guo
cfe165140a
UefiPayloadPkg: UniversalPayloadBuild.py to support --pcd feature
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3955
Currently, UPL freezed all PCD and only known UPL hob can hook DXE
Drivers behavior, add optional feature on UniversalPayloadBuild.py to
have another way to hook PCD value.
Cc: Guo Dong <guo.dong@intel.com >
Reviewed-by: : Ray Ni <ray.ni@intel.com >
Signed-off-by: Gua Guo <gua.guo@intel.com >
2022-06-21 04:11:13 +00:00
Liu, Zhiguang
e8034b534a
UefiPayloadPkg: Always split page table entry to 4K if it covers stack.
...
We observed page fault in the following situation:
1.PayloadEntry uses 2M entry in page table to cover DXE stack range.
2.In DXE phase, image protection code needs to mark some sub-range in
this 2M entry as readonly. So the the 2M page table entry is split to
512 4K entries, and some of the entries are marked as readonly.
(the entries covering stack still remain R/W)
3.Page fault exception happens when trying to access stack.
Always split the page table entry to 4K if it covers stack to avoid this
issue.
More discussion about this issue can be seen at below link
https://edk2.groups.io/g/devel/topic/91446026
Cc: Guo Dong <guo.dong@intel.com >
Reviewed-by: 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 >
Cc: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2022-06-20 04:53:17 +00:00
Xie, Yuanhao
cc2db6ebfb
UefiPayloadPkg: Increase the PcdMaximumUnicodeStringLength
...
The maximum Unicode string could be as large as 1800000 in certain
platforms when HII code builds the configuration strings.
This causes assertion in PrintLib.
The patch increases the PcdMaximumUnicodeStringLength to 1800000 to
avoid the assertion.
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
2022-06-17 09:15:31 +00:00
Gua Guo
dac2fc8146
UefiPayloadPkg: Align SpecRevision value with UPL spec
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3933
URL: https://universalpayload.github.io/documentation/
1. Currently, SpecRevision on USF spec is 0.7. Change to align it.
2. SpecRevision is not be patched into UniversalPayloadInfo.bin due to
different structure item name. Change item name from "HeaderRevision"
to "SpecRevision" to check the correct value can be patched.
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Signed-off-by: Gua Guo <gua.guo@intel.com >
2022-05-27 16:15:26 +00:00
Gua Guo
b4be5f05dd
UefiPayloadPkg: Align Identifier value with UPL spec
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3933
URL: https://universalpayload.github.io/documentation/
Currently, Identifier value is "UPLD", it needs to have correct value
"PLDH" based on Universal Payload Specification spec section 2.12.2
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Signed-off-by: Gua Guo <gua.guo@intel.com >
2022-05-27 16:15:26 +00:00
Michael Kubacki
1f026ababf
UefiPayloadPkg: Add VariableFlashInfoLib
...
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3479
Adds an instance of VariableFlashInfoLib to the platform build as
it is a new library class introduced in MdeModulePkg.
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: Michael Kubacki <michael.kubacki@microsoft.com >
Acked-by: Ard Biesheuvel <ardb@kernel.org >
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-05-19 06:11:20 +00:00
Liu, Zhiguang
ef01d63ef3
UefiPayloadPkg: Connect all root bridge in PlatformBootManagerBeforeConsole
...
Some ConIn or ConOut device may not in the first root bridge, so connect all
root bridge before detect ConIn and ConOut device.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: 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: Zhiguang Liu <zhiguang.liu@intel.com >
2022-05-13 01:47:11 +00:00
Liu, Zhiguang
57ebb2994d
UefiPayloadPkg: Add Serial IO device path according to related protocol
...
Current code follow some rules to check if the PCI device connected to a
serial port device, but some platform or hardware doesn't follow such rule.
By locating gEfiSerialIoProtocolGuid protocol, we can find the related
device path.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: 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: Zhiguang Liu <zhiguang.liu@intel.com >
2022-05-13 01:47:11 +00:00
Liu, Zhiguang
d0efa681b6
UefiPayloadPkg: Simplify code logic
...
A little overdesign about VisitAllPciInstances function, since there are
two call back functions. Simplify the code logic by combining the two call
back functions, and unused parameters.
Change the PROTOCOL_INSTANCE_CALLBACK to SIMPLE_PROTOCOL_INSTANCE_CALLBACK
because the former is also defined in OvmfPkg. Rename it to avoid confusion.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: 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: Zhiguang Liu <zhiguang.liu@intel.com >
2022-05-13 01:47:11 +00:00
Tan, Dun
1a6c837638
UefiPayloadPkg: Fix the UPL build failure
...
Add double quotes to LlvmObjcopyPath.
Blank space in LlvmObjcopyPath will cause build failure.
This build failure is introduced by 2306555bf9
(
"UefiPayloadPkg: Fix IA32 entry build failure").
Signed-off-by: Dun Tan <dun.tan@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
2022-05-09 02:45:01 +00:00
Yu Pu
2434f6f206
UefiPayloadPkg: Add CpuLib to module INFs that depend on UefiCpuLib.
...
There are two libraries: MdePkg/CpuLib and UefiCpuPkg/UefiCpuLib and
UefiCpuPkg/UefiCpuLib will be merged to MdePkg/CpuLib. To avoid build
failure, add CpuLib dependency to all modules that depend on UefiCpuLib.
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: Yu Pu <yu.pu@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-05-06 07:48:15 +00:00
duntan
826527c9db
UefiPayloadPkg: Add definition for PayloadCommandLine HOB
...
Add definition for UNIVERSAL_PAYLOAD_COMMAND_LINE Hob.
This Hob is used to pass command Line to Payload.
Signed-off-by: Dun Tan <dun.tan@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
2022-05-06 04:49:22 +00:00
Tan, Dun
2306555bf9
UefiPayloadPkg: Fix IA32 entry build failure
...
The ObjCopyFlag and EntryOutputDir need to be modified when
building IA32 UniversalPayload Entry
Signed-off-by: Dun Tan <dun.tan@intel.com >
Cc: Ray Ni <ray.ni@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Cc: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-04-22 02:13:36 +00:00