Jiaxin Wu
23ed7f209c
UefiPayloadPkg/UefiPayloadPkg.dsc: Include SmmRelocationLib
...
This patch just includes SmmRelocationLib in 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: Ray Ni <ray.ni@intel.com >
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2024-05-08 01:53:58 +00:00
Tom Lendacky
d2b18e6bc2
UefiPayloadPkg: Prepare UefiPayloadPkg to use the AmdSvsmLib library
...
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
The MpInitLib library will be updated to use the new AmdSvsmLib library.
To prevent any build breakage, update the UefiPayloadPkg DSC file to
include the AmdSvsmLib NULL library.
Cc: Gua Guo <gua.guo@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Cc: James Lu <james.lu@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Acked-by: Gerd Hoffmann <kraxel@redhat.com >
Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2024-04-17 18:30:03 +00:00
Dhaval
e60529df58
UefiPayloadPkg: Make Dsc accomodative of other archs
...
Current DSC files contains a lot of files which are
specific to X86 arch. Need to move around files under
arch specific sections.
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 >
Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
2024-03-06 03:15:21 +00:00
Dhaval
11ad164bce
UefiPayloadPkg: Make UPL build script arch agnostic
...
Current implementation makes assumptions about arch it will be built
for. Need to make it more generic to add follow up support for RISCV.
Right now it does not build for RV until relevant dsc file is available.
Cc: Guo Dong <guo.dong@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: Dhaval Sharma <dhaval@rivosinc.com >
2024-02-23 12:44:58 +00:00
MarsX Lin
3656352675
UefiPayloadPkg/Crypto: Support external Crypto drivers.
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4661
There is potential build problem when CRYPTO_PROTOCOL_SUPPORT
is set to TRUE and CRYPTO_DRIVER_EXTERNAL_SUPPORT is set to TRUE
Cc: Chasel Chiu <chasel.chiu@intel.com >
Cc: Guo Dong <guo.dong@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 >
2024-02-01 22:23:54 +00:00
Gua Guo
7d7decfa3d
UefiPayloadPkg/Crypto: Support external Crypto drivers.
...
Crypto in serveral case will use old version or latest version,
Platform may choose to only update Crypto drivers without updating
whole UPL, in this case the Crypto driver will provide by platform
payload outside the common UPL binary.
Reviewed-by: Chasel Chiu <chasel.chiu@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: James Lu <james.lu@intel.com >
Cc: Gua Guo <gua.guo@intel.com >
Signed-off-by: Gua Guo <gua.guo@intel.com >
2024-01-26 04:59:33 +00:00
Hua Ma
c3d865a4c2
UefiPayloadPkg: Add macro to enable selection of timer
...
Add macro to enable selection of timer
- HPET: UEFI Payload will use HPET timer
- LAPIC: UEFI Payload will use local APIC timer
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 >
Signed-off-by: Hua Ma <hua.ma@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
2024-01-08 07:48:46 +00:00
Jiaxin Wu
0a248f169d
UefiPayloadPkg: Specifies SmmCpuSyncLib instance
...
This patch is to specify SmmCpuSyncLib instance for UefiPayloadPkg.
Cc: Laszlo Ersek <lersek@redhat.com >
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: Ray Ni <ray.ni@intel.com >
Cc: Zeng Star <star.zeng@intel.com >
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2023-12-20 02:30:56 +00:00
Taylor Beebe
26460342d0
UefiPayloadPkg: Add ImagePropertiesRecordLib Instance
...
Add an instance of ImagePropertiesRecordLib which will be used by the
DXE Core.
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 >
Signed-off-by: Taylor Beebe <taylor.d.beebe@gmail.com >
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
2023-11-27 18:55:18 +00:00
Brucex.Wang
39f3c26e8c
UefiPayloadPkg: Add FIT support
...
Provide Fit format for UniversalPayload, developer can use argument
"--Fit" to build UniversalPayload.fit
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 >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: BruceX Wang <brucex.wang@intel.com >
2023-09-26 07:26:21 +00:00
MarsX Lin
8dab4eebe4
UefiPayloadPkg: Integrate UiApp and BootManagerMenuApp into MultiFv
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4347
To put UiApp.inf and BootManagerMenuApp.inf to proper FV(BDSFV)
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 >
2023-07-11 06:36:11 +00:00
MarsX Lin
51bb8eb76c
UefiPayloadPkg: Add CAPSULE_SUPPORT in UPL and set it as FALSE in default
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4479
Add CAPSULE_SUPPORT to optionally select CapsuleLib instance,
default value is FALSE.
Cc: Ray Ni <ray.ni@intel.com >
Cc: Sean Rhodes <sean@starlabs.systems >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Cc: Guo Dong <guo.dong@intel.com >
Signed-off-by: MarsX Lin <marsx.lin@intel.com >
2023-06-13 06:36:16 +00:00
Jiaxin Wu
d8e5d35ede
UefiPayloadPkg: Add CpuPageTableLib required by SecCore & CpuMpPei
...
Add CpuPageTableLib required by SecCore & CpuMpPei in 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: Ray Ni <ray.ni@intel.com >
Cc: Zeng Star <star.zeng@intel.com >
Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Gua Guo <gua.guo@intel.com >
2023-05-31 04:48:36 +00:00
PaytonX Hsieh
23c71536ef
UefiPayloadPkg: Fix issues when MULTIPLE_DEBUG_PORT_SUPPORT is true
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4427
1. Since UART speed is slower than CPU, BIOS need to check the write
buffer is empty, to avoid overwrite the buffer content.
2. LPSS UART might disable MMIO space for Windows debug usage during
ExitBootServices event. BIOS need to avoid access the MMIO space
after ExitBootServices.
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 >
Reviewed-by: Gua Guo <gua.guo@intel.com >
Signed-off-by: PaytonX Hsieh <paytonx.hsieh@intel.com >
2023-05-02 07:11:21 +00:00
Benjamin Doron
dc5f2905eb
UefiPayloadPkg: Always build MemoryTypeInformation HOB for DXE GCD
...
MemoryType information assists GCD with defragmenting the memory map.
When the DXE core starts, GCD adds memory descriptors for the resource
descriptors HOBs. This allocates heap space which can be reused later
as the bins by memory type. It seems memory allocation prefers low
ranges.
It seems "below 4G" is an artifact of this heap reuse. However, the
memory type information determines the DXE core's
`MinimalMemorySizeNeeded`, determining which system memory descriptor
HOB may be used by DXE. Furthermore, it's important that the memory
type information be correct, for an S4 memory map.
Therefore, follow other bootloaders, such as [MinPlatform][1], and do
this unconditionally. As of [edk2-stable202011][2], it was.
[1]: b6f9674389/Platform/Intel/MinPlatformPkg/PlatformInit/PlatformInitPei/PlatformInitPreMem.c (L164-L201)
[2]: https://github.com/tianocore/edk2/blob/edk2-stable202011/UefiPayloadPkg/BlSupportPei/BlSupportPei.c#L462-L466
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: Sean Rhodes <sean@starlabs.systems >
Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com >
2023-04-12 11:50:30 +00:00
MarsX Lin
961792c9d6
UefiPayloadPkg: Correct MAX_LOGICAL_PROCESSORS value
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4372
Correct MAX_LOGICAL_PROCESSORS value to 1024
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 >
2023-03-14 09:51:58 +00:00
Yu Pu
a4c9c2b0f0
UefiPayloadPkg: Remove UefiCpuLib from module INFs.
...
Because UefiCpuPkg/UefiCpuLib is merged to MdePkg/CpuLib, remove the
dependency of UefiCpuLib.
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: James Lu <james.lu@intel.com >
Reviewed-by: Gua Guo <gua.guo@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 >
2023-03-10 08:23:56 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Xie, Yuanhao
3e130e40fc
UefiPayloadPkg: Consume the new added DebugPrintErrorLevelLib instance
...
Change the DebugPrintErrorLevelLib instance in UefiPayloadPkg.dsc to
allow bootloader to config DebugPrintErrorLevel.
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 >
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
2022-04-03 08:33:56 +00:00
Xie, Yuanhao
0023e35cf4
UefiPayloadPkg: Change some configuration of the payload
...
1. Use PeiDxeDebugLibReportStatusCode library for DebugLib, and add
ReportStatusCodeLib.
2. Remove gEfiMdeModulePkgTokenSpaceGuid.PcdSerialExtendedTxFifoSize
overrided in UefiPayloadPkg.dsc.
3. Change PcdHardwareErrorRecordLevel to 1
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 >
Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com >
2022-04-03 08:33:56 +00:00
Guo Dong
55637a2894
UefiPayloadPkg: Make Boot Timeout configurable
...
Signed-off-by: Sean Rhodes sean@starlabs.systems
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-03-29 18:08:15 +00:00
Guo Dong
76191052fd
UefiPayloadPkg: Fix build error
...
On windows build, need add "-DPLATFORMX64_ENABLE=TRUE" in the build
command line beside -DNETWORK_DRIVER_ENABLE=TRUE in order build
network features. So update DSC to set PLATFORMX64_ENABLE to TRUE
when building network feature.
On Linux build, DSC file should not have PcdAllowHttpConnections
without building network feature, else it would cause build error.
Signed-off-by: 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 >
Reviewed-by Sean Rhodes <sean@starlabs.systems >
2022-03-29 04:51:26 +00:00
Sean Rhodes
79a705fbaf
UefiPayloadPkg: Hookup SD/MMC timeout
...
Hook SD_MMC_TIMEOUT build option to SdMmcGenericTimeoutValue PCD.
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: Maurice Ma <maurice.ma@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-03-17 17:05:43 +00:00
Sean Rhodes
af74efe494
UefiPayloadPkg: Make Boot Manager Key configurable
...
Provide a build option to use [Esc] instead of [F2] for devices
such as Chromebooks that don't have F-keys.
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: Ray Ni <ray.ni@Intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
2022-03-07 20:43:58 +00:00
Sean Rhodes
091b6a1197
UefiPayloadPkg: Add build option for Above 4G Memory
...
When build option ABOVE_4G_MEMORY is set to true, nothing will change
and EDKII will use all available memory.
Setting it to false will create memory type information HOB in
payload entry, so that EDKII will reserve enough memory below 4G
for EDKII modules. This option is useful for bootloaders that are not
fully 64-bit aware such as Qubes R4.0.4 bootloader, Zorin and Proxmox.
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 >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2022-03-04 22:17:49 +00:00
Liu, Zhiguang
a867f3a704
UefiPayloadPkg: Use BaseCpuTimerLib for Universal Payload by default
...
Current, a macro CPU_TIMER_LIB_ENABLE is added to determine which timerlib
is used. BaseCpuTimerLib.inf is a better way and only fit for recent CPU.
Meanwhile, Universal Payload are only aimed to work with recent CPU.
Therefore, for Universal Payload, use the BaseCpuTimerLib by default
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 >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2022-01-28 02:12:25 +00:00
Liu, Zhiguang
5801910013
UefiPayloadPkg: Not use BaseCpuTimerLib by default.
...
For recent X86 CPU, 0x15 CPUID instruction will return Time Stamp
Counter. This is recommended way to get the time, and also how
BaseCpuTimerLib works However, some CPU doesn't support this feature,
so disable it by default.
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: Zhiguang Liu <zhiguang.liu@intel.com >
Reviewed-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Maurice Ma <maurice.ma@intel.com >
2022-01-17 19:17:09 +00:00
Feng, Ning
965292135b
UefiPayloadPkg/UefiPayloadPkg.dsc:Add BootManagerLib for BootManagerMenuApp
...
Add PlatformBootManagerLibconstructor for BootManagerMenuApp,
to get the value PcdBootManagefile overrided by platform side.
Signed-off-by: Ning Feng <ning.feng@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 >
Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com >
2021-12-08 04:08:21 +00:00
Liu, Zhiguang
2527723de9
UefiPayloadPkg: Add performance measurement feature
...
Add a Macro to enable performance measurement feature.
For any platform that uses UniversalPayload, we assume it supports
BaseCpuTimerLib and use it to align timerlib to get more accurate
performance result.
Reviewed-by: 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: Zhiguang Liu <zhiguang.liu@intel.com >
2021-12-08 04:08:21 +00:00
Guo Dong
b80c17b62d
UefiPayloadPkg: Add SMM support and SMM variable support
...
Add SMM variable support for universal UEFI payload.
By default they are disabled.
Signed-off-by: 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 >
Reviewed-by: Ray Ni <ray.ni@intel.com >
Reviewed-by: Benjamin You <benjamin.you@intel.com >
2021-10-25 17:28:21 +00:00
Liu, Zhiguang
19ee56c4b3
UefiPayloadPkg: Add a macro to select the SecurityStubDxe driver.
...
The SecurityStubDxe driver may be provided by platform payload.
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 >
Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com >
2021-10-11 05:54:11 +00:00
Guo Dong
422e5d2f7f
UefiPayloadPkg: Remove asm code and sharing libraries
...
Remove asm code used for payload entry.
Use patchable PCD instead a fixed PCD PcdPayloadStackTop to avoid
potential conflict.
Based on the removal, use same HobLib regardless UNIVERSAL_PAYLOAD.
Use same PlatformHookLib regardless UNIVERSAL_PAYLOAD. The original
PlatformHookLib was removed and UniversalPayloadPlatformHookLib was
rename to new PlatformHookLib.
Cc: Ray Ni <ray.ni@intel.com >
Cc: Maurice Ma <maurice.ma@intel.com >
Cc: Benjamin You <benjamin.you@intel.com >
Signed-off-by: Guo Dong <guo.dong@intel.com >
Reviewed-by: Ray Ni <ray.ni@intel.com >
2021-09-30 16:26:14 +00:00