Commit Graph

33922 Commits

Author SHA1 Message Date
Gerd Hoffmann fbe19844e0 Revert "ArmVirtPkg/ArmVirtQemu: Reduce MMIO region mapped by default"
This reverts commit 43233ff9f8.

The TPM code (and possibly others too) must be fixed to also
map their MMIO ranges before we can do this cleanup.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-31 12:22:21 +00:00
Gerd Hoffmann 4dd8b9e0f7 ArmVirtPkg: turn off debug logging for VirtioSerialDxe
When running the verbose builds on arm for development and testing
it is quite convenient to use virtio serial to interact with the
system because console and logging are separated then.  Except that
the virtio serial driver spams the debug log in that case.  Set the
debug level for the driver to zero to avoid that.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-31 10:38:57 +00:00
Andrei Warkentin c1ab2d6397 Maintainers: update my email address
I'm no longer at Intel.

Signed-off-by: Andrei Warkentin <andyw@imsa.edu>
2025-01-31 07:46:07 +00:00
Gerd Hoffmann e063f8b8a5 BaseTools/Pccts: set C standard
The prehistoric code base doesn't build with ISO C23.  Set the C
standard to C11 (for both clang and gcc) so it continues to build with
gcc 15 (which uses C23 by default).

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-31 05:23:39 +00:00
Gerd Hoffmann c0796335d3 MdePkg/BaseFdtLib: fix build with gcc 15
gcc 15 switched to use the new ISO C23 standard by default.
'bool', 'true' and 'false' are keywords in C23, so do not
try to define them.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-31 05:23:39 +00:00
Liming Gao 7742247d1c MdePkg: Add SM3 crypto algorithm GUID definition
UEFI 2.11 has been published on https://uefi.org/specifications
It defines SM3 crypto algorithm GUID and structure.

Signed-off-by: Liming Gao <gaoliming@byosoft.com.cn>
2025-01-31 03:50:59 +00:00
Oliver Steffen d949ed05d4 Devcontainer: Use latest Fedora 40 image
Since the CI is now running on Fedora 40, let's also switch over
VSCode Devcontainer to use the same.

Signed-off-by: Oliver Steffen <osteffen@redhat.com>
2025-01-31 00:36:39 +00:00
Michael Kubacki 31abbed237 .github/codeql.yml: Drop ArmPkg IA32 and X64 from build matrix
These archs are not supported by ArmPkg so we can save agent
resources by not attempting to schedule their CodeQL build.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-01-30 21:05:41 +00:00
Ard Biesheuvel 87f14322da ArmVirtPkg: Drop reference to ArmDisassemblerLib
ArmDisassemblerLib is going away ...

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 16:01:56 +00:00
Ard Biesheuvel ef80dd8fad ArmPkg: Stop using ArmDisassemblerLib
ArmDisassemblerLib is used to pretty print the instruction that
triggered an unhandled exception, but it was never implemented for
AARCH64, and according to the existing file comment, Thumb2 support
(which is used predominantly when building EDK2 for 32-bit ARM due to
its smaller size) is incomplete.

The DEBUG diagnostics that are produced on an unhandled exception are
generally sufficient to dump the entire executable that triggered it,
and so this disassembly is of limited value, especially because it
doesn't work on AARCH64.

So let's start getting rid of it, by dropping references to it in code
and in the various .INF and .DSC files. Once out-of-tree platforms have
been allowed to catch up, we can remove the library implementation and
its class definition entirely.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 16:01:56 +00:00
Leif Lindholm 74376f0b72 ArmPkg,ArmPkg/ArmExceptionLib: drop vector relocation variant/support
There were several bugs in the vector table relocation code which means
it can't really have been used by anyone on AArch64 in the last decade or
so. So delete the support code from the library, as well as the
ArmRelocateExceptionLib.inf file.

This gets rid of PcdDebuggerExceptionSupport (including a duff reference
in CpuDxe), PcdCpuVectorBaseAddress and PcdRelocateVectorTable.

Signed-off-by: Leif Lindholm <leif.lindholm@oss.qualcomm.com>
2025-01-30 15:09:09 +00:00
Ard Biesheuvel 43233ff9f8 ArmVirtPkg/ArmVirtQemu: Reduce MMIO region mapped by default
Currently, the ArmVirtQemu startup code maps a 128 MiB of MMIO space, as
it knows that the UART, GIC and RTC live there. Now that the GIC driver
maps its MMIO registers itself, there is no need for this region to
cover its MMIO space. And there are other regions here that don't need
to be mapped by default: the only ones that need to be mapped are the
UARTS, the RTC, the fw_cfg MMIO interface and the virtio-mmio regions,
all of which live in a 32 MiB window starting at address 0x900_0000.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel c558a3b18b ArmPkg/ArmGicDxe: Map GIC MMIO regions before use
The GIC driver itself has intimate knowledge of the hardware, and so it
is the best suited to create the mappings of the MMIO control regions,
in case they have not been mapped yet by the platform code.

So call in the the CPU arch protocol to map the CPU interface,
distributor and redistributor regions as they are discovered by the GIC
driver startup code.

Note that creating these mappings has no effect if the regions in
question have already been mapped with the correct attributes.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel 3c4c7a0fc9 ArmPkg/ArmGicDxe: Remove pointless passing around of MMIO addresses
The GIC distributor and redistributor addresses that are passed into the
interrupt enable and disable routines are always the same, so just use
the global variables directly.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel e68e784649 ArmPkg/ArmGicDxe: Avoid pointless repeated iteration over GIC frames
The GIC DXE driver only runs on the boot CPU, and so there is really no
point in iterating over all the redistributor frames every time an
interrupt is enabled, disabled or its state tested. Instead, do this
only at load time.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel 387fcf4fa1 ArmPkg/ArmGicDxe: Replace CpuArch registration event with DEPEX
Instead of relying on a protocol notification event to register the core IRQ
interrupt handler with CPU arch protocol once it becomes available, use
a DEPEX to ensure that the GIC driver is not dispatched at all until the
CPU arch protocol has turned up.

This will allow the GIC driver to use other CPU arch protocol methods,
such as the ones needed to map the GIC MMIO regions at driver startup.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel fb7497cbf9 ArmPkg/CpuDxe: Replace DEPEX on h/w protocol with event notification
Currently, ArmPkg's CpuDxe DEPEXes on the hardware interrupt protocol,
to ensure that it is not dispatched before the GIC driver. This way, the
CpuDxe driver is guaranteed not to enable interrupts on the CPU side
before the GIC driver has had the opportunity to configure the
interrupts on the distribution side.

However, this prevents the GIC driver from using any of the CPU arch
protocol interfaces, such as mapping memory, which it may need to do on
platforms where the GIC MMIO regions are not mapped yet when the driver
is started.

So instead, use a protocol notification on the hardware interrupt
protocol, which is installed by the GIC driver (as well as other
existing interrupt controller drivers for platforms that do not
implement a GIC) after it starts up and deasserts and disables all
incoming interrupts. Manipulate the interrupt state as usual only after
this notification has been received. Before that, keep track of the
caller's intent regarding the interrupt enabled state in a shadow
variable, but do not actually enable interrupt delivery to the CPU just
yet.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel 0422dd0669 ArmPkg/CpuDxe: Remove rudimentary vector handoff logic
There is some fossilized code in the CpuDxe driver startup code that
permits a vector table to be inherited from the PEI stage, but this code
is essentially dead on ARM platforms, given that the VectorInfo argument
passed to InitializeCpuExceptionHandlers() is ignored, and no code
appears to exist that would result in the gEfiVectorHandoffTableGuid
configuration table ever being populated.

Also, due to prior refactoring, the code that disables and re-enables
IRQs and FIQs is completely pointless, and can simply be removed. That,
in turn, allows the CPU arch protocol parameter to be dropped from the
prototype of InitializeExceptions().

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel e5b56d6ef9 ArmPkg/CpuDxe: Use STATIC linkage where possible
Use static linkage for variables and routines that are not referenced
from other objects. This is generally preferred, because it gives the
compiler more freedom for optimization.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Ard Biesheuvel afdae789cd ArmPkg/CpuDxe: Fix error handling in driver initialization
Failure to install the CPU arch protocol is a fatal error, so treat it
as such, rather than ignore it, even though we won't get very far if
this driver fails to dispatch - at least, we will get an error in a
DEBUG build rather than a mysterious failure due to unsatisfied DEPEXes.

Failure to install the idle loop event handler is not a fatal error, and
it should not cause the driver to exit with an error, as this will
unload the driver and keep the installed CPU arch protocol pointer
dangling. So keep the ASSERT() on the return value, but return
EFI_SUCCESS once we're past the point where the CPU arch protocol has
been installed.

Since the protocol is never uninstalled, make the CPU handle function
local, as there is no point in keeping its value around.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-30 13:07:05 +00:00
Michael Kubacki b64f735867 Maintainers.txt: Update EmulatorPkg maintainers
Add Oliver Smith-Denny and Michael Kubacki as maintainers.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-01-29 22:04:49 +00:00
Michael D Kinney 2cb8bf6c69 UnitTestFrameworkPkg: Fix false positives from address sanitizer
PR #6408 introduced a host specific NORETURN function to resolve
false positives from the address sanitizer when LongJump() is
called and the stack is reset to a previous stack frame.

This approach was discussed here:
https://github.com/tianocore/edk2/pull/6408/files#r1918810499

False positives are still being observed with this initial
solution.

The address sanitizer provides __asan_handle_no_return()
to clean up shadow memory before a NORETURN function is
called and provides a simpler implementation for this
issue without having to introduce a host specific
NORETURN function.

https://github.com/llvm/llvm-project/blob/main/compiler-rt/include/sanitizer/asan_interface.h

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2025-01-29 19:35:30 +00:00
Ard Biesheuvel 3600675368 MdePkg/BasePeCoffLib: Remove DEBUG() statements from runtime code
PeCoffLoaderRelocateImageForRuntime() executes after boot services, and
so it should not use DEBUG() prints at all, given that these may rely on
MMIO mappings or other boot time facilities that are no longer
available.

So revert the changes in aedcaa3df8 ("MdePkg: Fix overflow issue in
PeCoffLoaderRelocateImageForRuntime") that replaced code comments with
DBEUG() statements.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2025-01-29 18:42:13 +00:00
Mike Maslenkin 254937f0bc ShellPkg: fix warnings about uninitialized variable
Dmem.c: In function 'GetImageExecutionInfo':
Dmem.c:241:10: error: 'Status' may be used uninitialized
  in this function [-Werror=maybe-uninitialized]
   return Status;
          ^~~~~~
Dmem.c:284:35: note: 'Status' was declared here
   EFI_STATUS                      Status;
                                   ^~~~~~
Dmem.c: In function 'ShellCommandRunDmem':
Dmem.c:586:27: error: 'ConformanceProfileTableAddress' may be used
  uninitialized in this function [-Werror=maybe-uninitialized]

ShellStatus = DisplayConformanceProfiles (ConformanceProfileTableAddress);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dmem.c:582:27: error: 'ImageExecutionTableAddress' may be used
  uninitialized in this function [-Werror=maybe-uninitialized]

ShellStatus = DisplayImageExecutionEntries (ImageExecutionTableAddress);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Dmem.c:578:27: error: 'RtPropertiesTableAddress' may be used
  uninitialized in this function [-Werror=maybe-uninitialized]

ShellStatus = DisplayRtProperties (RtPropertiesTableAddress);
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

cc1: all warnings being treated as errors

Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2025-01-29 17:20:57 +01:00
Mike Maslenkin 755d4b9397 OvmfPkg: fix warning about uninitialized variable
GenericQemuLoadImageLib.c: In function 'QemuLoadKernelImage':
GenericQemuLoadImageLib.c:323:5: error: 'CommandLine' may be used
  uninitialized in this function [-Werror=maybe-uninitialized]
     UnicodeSPrintAsciiFormat (
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
       KernelLoadedImage->LoadOptions,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       KernelLoadedImage->LoadOptionsSize,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       "%a%a",
       ~~~~~~~
       (CommandLineSize == 0) ?  "" : CommandLine,
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       (InitrdSize == 0)      ?  "" : " initrd=initrd"
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
       );
       ~
cc1: all warnings being treated as errors

Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2025-01-29 17:20:57 +01:00
Mike Maslenkin ceb87029c5 SecurityPkg/RngDxe: fix warning about uninitialized variable
ArmTrng.c: In function 'GenerateEntropy':
ArmTrng.c:40:15: error: 'Status' may be used uninitialized
  in this function [-Werror=maybe-uninitialized]

   EFI_STATUS  Status;
               ^~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2025-01-29 17:20:57 +01:00
Mike Maslenkin c58501aa1a MdeModulePkg: NvmExpressDxe: fix warning about uninitialized variable
NvmExpressMediaSanitize.c: In function 'NvmExpressMediaClear':
NvmExpressMediaSanitize.c:337:29: error: 'Status' may be used uninitialized
  in this function [-Werror=maybe-uninitialized]

   EFI_STATUS                Status;
                             ^~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2025-01-29 17:20:57 +01:00
Mike Maslenkin 0f12a5f722 MdeModulePkg: fix warning about uninitialized variable
Handle.c:1302:24: error: 'Prot' may be used uninitialized
  in this function [-Werror=maybe-uninitialized]

       *Interface = Prot->Interface;
                    ~~~~^~~~~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2025-01-29 17:20:57 +01:00
Mike Maslenkin a5cb67fb8d MdeModulePkg: PeiMain: fix warning about uninitialized variable
Dispatcher.c:1639:34: error: 'FvMigrationFlags' may be used uninitialized
  in this function [-Werror=maybe-uninitialized]
(((FvMigrationFlags & FLAGS_FV_MIGRATE_BEFORE_PEI_CORE_REENTRY) == 0) ||
                ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2025-01-29 17:20:57 +01:00
Gerd Hoffmann bba72ffbe1 OvmfPkg/QemuKernelLoaderFsDxe: use SIZE_OF_EFI_FILE_INFO
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-28 23:28:45 +00:00
Santhosh Kumar V df84bb5eda Resolved Coverity Issues in Http Dxe
1.HttpResponseWorker(DEADCODE)
The result of pointer arithmetic "HttpHeaders+AsciiStrLen("HTTP/1.1") + 1"
is never null.
2.HttpsSupport.c (NULL_RETURNS)
NetbufAlloc might return null pointer ,so assigning "NULL" to
"PacketOut" and "DataOut" pointer.

Solution:
1.Removed the NULL Check for "StatusCodeStr"
2.Added Null Check for PacketOut and returned EFI_OUT_OF_RESOURCES
on NULL case.

Signed-off-by: santhosh kumar V <santhoshkumarv@ami.com>
2025-01-28 20:38:38 +00:00
INDIA\sachinganesh 428cd8a46f MdePkg: Fix Clang Build Error
Fixed Clang build error introduced by unintialized variables in
6278bbb898

Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2025-01-28 15:04:30 +00:00
Gerd Hoffmann 18984b68fe OvmfPkg: make legacy direct kernel loader code nx clean
kernel pages are code not data.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-27 22:59:55 +00:00
Ashraf Ali S 6d2143f685 BaseTools: Fix NoneType parent reference in FMMT operations
This patch addresses an issue in the FMMT operations where the parent
reference is not checked for NoneType. This oversight can lead to an
AttributeError: 'NoneType' object has no attribute 'Name' when
attempting to access the parent reference. The fix involves adding a
check for NoneType before accessing the parent reference to ensure that
the operations handle such cases gracefully.

The affected functions include:
- AddNewFfs
- ReplaceFfs
- ExtractFfs

These functions now include proper checks to prevent the AttributeError.

Signed-off-by: Ashraf Ali S <ashraf.ali.s@intel.com>
2025-01-27 16:26:18 +00:00
Anthony PERARD 8c1e786e50 OvmfPkg/XenPvBlkDxe: Update disk size calculation
The specification wasn't clear and even contradict itself regarding
the calculation of the disk size. This have been clarified by Xen
commit 221f2748e8da ("blkif: reconcile protocol specification with
in-use implementations").

https://xenbits.xenproject.org/gitweb/?p=xen.git;a=commit;h=221f2748e8dabe8361b8cdfcffbeab9102c4c899

The value from the xenstore node "sectors" must be multiplied by 512
to have the size of the disk.

Calculation of LastBlock is now the same for both CD-ROM case and
generic case.

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
2025-01-27 14:37:53 +00:00
Anthony PERARD 3cf7a644eb OvmfPkg/IndustryStandard/Xen: Update io/blkif.h
Import the latest version of blkif.h header from Xen.

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
2025-01-27 14:37:53 +00:00
Star Zeng 7c5ec51175 MdeModulePkg PeiMain: Remove return for PeiCoreBuildHobHandoffInfoTable()
PeiCoreBuildHobHandoffInfoTable() always returns EFI_SUCCESS, and also
its return is not consumed at all, so this patch removes return for
PeiCoreBuildHobHandoffInfoTable().

Signed-off-by: Star Zeng <star.zeng@intel.com>
2025-01-26 18:35:08 +00:00
INDIA\sachinganesh d35899b6d2 UnitTestFrameworkPkg: Add SafeIntLib to Common Includes
SafeIntLib has been added to UnitTestFrameworkPkg Common Includes DSC
for usage in host and target based tests.

Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2025-01-26 17:15:56 +00:00
INDIA\sachinganesh 6278bbb898 MdePkg: Use SafeIntLib to handle overflow
Used SafeIntLib to handle the overflow check in
PeCoffLoaderRelocateImage

Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2025-01-26 17:15:56 +00:00
INDIA\sachinganesh aedcaa3df8 MdePkg: Fix overflow issue in PeCoffLoaderRelocateImageForRuntime
RelocDir->Size is a UINT32 value, and RelocDir->VirtualAddress is
also a UINT32 value. The current code in
PeCoffLoaderRelocateImageForRuntime does not check for overflow when
adding RelocDir->Size to RelocDir->VirtualAddress. This patch uses
SafeIntLib to ensure that the addition does not overflow.

Signed-off-by: Sachin Ganesh <sachinganesh@ami.com>
2025-01-26 17:15:56 +00:00
Chasel Chiu b3bfb8f22d UefiPayloadPkg: Add 4KB align to CLANGDWARF build.
After commit aca75d3 the PayloadEntry ELF header will miss dynamic
section which caused PEI_ASSERT in PayloadLoader rebasing code.

This commit adding common-page-size=0x1000 to CLANGDWARF_DLINK_FLAGS
to overcome the ELF header generation issue.

Signed-off-by: Chasel Chiu <chasel.chiu@intel.com>
2025-01-25 19:52:25 +00:00
Yang Gang e356b0f6fd EmulatorPkg PlatformBm: Fix duplicate BootManagerMenuApp boot option issue
Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
2025-01-24 20:41:08 +00:00
Yang Gang 0df3729ad6 ShellPkg Http.c: Remove extra `\n` when using `-m` param
There is already `PRINT_HII (STRING_TOKEN (STR_GEN_CRLF), NULL);`
after `DownloadFile()`, remove this extra `\n` to avoid
printing extra blank lines.

Signed-off-by: Yang Gang <yanggang@byosoft.com.cn>
2025-01-24 19:44:08 +00:00
Gerd Hoffmann 1f19c3d6ee OvmfPkg/GenericQemuLoadImageLib: fix cmdline + initrd handling
Commit 459f5ffa24 ("OvmfPkg/QemuKernelLoaderFsDxe: rework direct
kernel boot filesystem") has a small change in behavior:  In case
there is no data the file is not created and attempts to open file
return EFI_NOT_FOUND.  Old behavior was to add a zero-length file
to the filesystem.

Fix GenericQemuLoadImageLib to handle EFI_NOT_FOUND correctly for
'initrd' and 'cmdline'.

Reported-by: Srikanth Aithal <sraithal@amd.com>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-24 18:26:37 +00:00
Gerd Hoffmann b873e8b8e3 OvmfPkg/QemuKernelLoaderFsDxe: root directory name should be ""
UEFI spec says so, fix it.

https://uefi.org/specs/UEFI/2.11/13_Protocols_Media_Access.html#efi-file-info

Reported-by: Laszlo Ersek <laszlo.ersek@posteo.net>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2025-01-24 17:12:07 +00:00
Star Zeng 9f28d48d2f Maintainers.txt: Add Star as UefiCpuPkg reviewer
Jiaxin has been maintainer, replace his reviewer line with Star.

Signed-off-by: Star Zeng <star.zeng@intel.com>
2025-01-24 15:52:56 +00:00
Star Zeng 38c17825ad UefiCpuPkg LocalApicLib: Correct typo LINT0 to LINT1
In ProgramVirtualWireMode(), correct typo LINT0 to LINT1.

Signed-off-by: Star Zeng <star.zeng@intel.com>
2025-01-24 14:09:37 +00:00
Anthony PERARD 99cbb63652 OvmfPkg/OvmfXen: use PeiPcdLib for PEI_CORE
Commit d64d1e195c ("MdeModulePkg: PeiMain: Introduce implementation
of delayed dispatch") introduced a new usage of the TimerLib which
uses a dynamic PCD in OvmfXen platform. But PeiMain has only access to
a NULL version of PcdLib, so OvmfXen can't start.

Introduce PeiPcdLib for PEI_CORE so PeiMain can read dynamic PCDs.

Signed-off-by: Anthony PERARD <anthony.perard@vates.tech>
2025-01-24 12:57:59 +00:00
zhu rui 33309733e4 command drvcfg ASSERT
REF: https://github.com/tianocore/edk2/issues/10626

Issue command drvcfg directly, system halt

Signed-off-by: "Zhu, Cliff" <Cliff.zhu@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2025-01-24 10:02:23 +00:00
Abdul Lateef Attar eda58c143c DynamicTablesPkg: Adds X64 FACS generator library
Adds a library to generate the ACPI FACS table for X64 architecture.
It gathers the necessary FACS information from the configuration manager.
Additionally, it includes an event to update the hardware signature
in the FACS table, where the hardware signature is the
CRC of all ACPI table's CRC

Cc: Sami Mujawar <Sami.Mujawar@arm.com>
Cc: Pierre Gondois <pierre.gondois@arm.com>
Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2025-01-24 09:38:40 +01:00