Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to svsm-preview-v4 + vTPM driver #2

Open
wants to merge 1,179 commits into
base: master
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Dec 5, 2023

  1. RedfishPkg/RedfishHostInterfaceDxe: Add Redfish HI readiness notifica…

    …tion
    
    Introduce gEdkIIRedfishHostInterfaceReadyProtocolGuid
    and produce it when Redfish Host Interface is installed
    on system.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    843ed20 View commit details
    Browse the repository at this point in the history
  2. RedfishPkg/RedfishConfigHandler: Use Redfish HI readiness notification

    Wait until Redfish Host Interface is installed on
    the system then acquire Redfish service.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    8325fd6 View commit details
    Browse the repository at this point in the history
  3. RedfishPkg/RedfishConfigHandler: Correct the prototype of callback fu…

    …nction
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    dbaf9d3 View commit details
    Browse the repository at this point in the history
  4. RedfishPkg/RedfishDiscovery: Add more debug message

    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    4b5e2b3 View commit details
    Browse the repository at this point in the history
  5. RedfishPkg/RedfishDiscovery: Refine SMBIOS 42h code

    Refine SMBIOS 42h code add mode debug message
    for the error conditions.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    cfafa45 View commit details
    Browse the repository at this point in the history
  6. RedfishPkg/HostInterfaceBmcUsbNic: Correct MAC address reference

    MAC address reference is incorrect when it is
    copied to Host Interface DeviceDescriptor.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    cf31257 View commit details
    Browse the repository at this point in the history
  7. RedfishPkg/HostInterfaceBmcUsbNic: Fix incorrect HI protocol record size

    The size of structure must be minus with byte that is
    occupied by the initial array.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    5cdeff1 View commit details
    Browse the repository at this point in the history
  8. RedfishPkg/HostInterfaceBmcUsbNic: Fix potential memory corruption issue

    Wrong memory allocation issue may result in memory
    corruption.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    120aa60 View commit details
    Browse the repository at this point in the history
  9. MdePkg:Add NVME Sanitize command support to Nvme.h

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4591
    
    1. Refer NVME spec 2.0c chapter 5.24, add Sanitize Command
       related definition.
    2. Refer NVME spec 2.0c chapter 5.16, add Get Log Page
       Command related definition for Sanitize status support.
    
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Xiao X Chen <xiao.x.chen@intel.com>
    Cc: Arthur Chen <arthur.g.chen@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Sean Brogan <sean.brogan@microsoft.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Signed-off-by: Tina Chen <tina.chen@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    chentina59 authored and mergify[bot] committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ef3fde6 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. UefiCpuPkg/CpuPageTableLib: Init local variable before using it.

    The local variable OneOfPagingEntry is used before initialized, this
    may cause reserved bit in page table entry is set especially in PAE
    paging mode. The bug is random because it depends on the value in
    stack.
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
    LiuZhiguang001 authored and mergify[bot] committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    c83ffd2 View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg/CpuPageTableLib/TestCase: Refine test case for PAE paging.

    Refine test case:
    1. Check PAE paging reserved bits is zero.
    2. Set stack as random value.
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
    LiuZhiguang001 authored and mergify[bot] committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    02d6f39 View commit details
    Browse the repository at this point in the history
  3. UefiCpuPkg/CpuMpPei: Use CpuPageTableLib to set memory attribute.

    Currently, there are code to set memory attribute in CpuMpPei module.
    However, the code doesn't handle the case of 5 level paging.
    Use the CpuPageTableLib to set memory attribute for two purpose:
    1. Add 5 level paging support
    2. Clean up code
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
    LiuZhiguang001 authored and mergify[bot] committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    7e18c9a View commit details
    Browse the repository at this point in the history
  4. BaseStackCheckLib: Fix STACK FAULT message

    __builtin_return_address returns a pointer, not a string. Fix
    the STACK FAULT message in BaseStackCheckLib appropriately.
    
    Signed-off-by: Jake Garver <jake@nvidia.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    jgarver authored and mergify[bot] committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    b59ab98 View commit details
    Browse the repository at this point in the history
  5. PcAtChipsetPkg: Fix AcpiTimerLib incompatibility with XhciDxe

    The DXE & MM standalone variant of AcpiTimerLib defines a global
    named mPerformanceCounterFrequency. A global with an identical
    name is also present in MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
    
    Since XhciDxe has a dependency on TimerLib, this can cause link
    errors due to the same symbol being defined twice if the platform
    DSC chooses to use AcpiTimerLib as the TimerLib implementation for
    any given platform.
    
    To resolve this, I have changed made the definition of
    mPerformanceCounterFrequency to static and renamed it to
    mAcpiTimerLibTscFrequency. Since this variable is not used outside
    of the DxeStandaloneMmAcpiTimerLib.c compilation unit, there is no
    reason to have it exported as a global.
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
    nate-desimone authored and mergify[bot] committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    df2ec2a View commit details
    Browse the repository at this point in the history
  6. MdeModulePkg/Bus: Fix XhciDxe Linker Issues

    The DXE & MM standalone variant of AcpiTimerLib defines a global
    named mPerformanceCounterFrequency. A global with an identical
    name is also present in MdeModulePkg/Bus/Pci/XhciDxe/Xhci.c
    
    Since XhciDxe has a dependency on TimerLib, this can cause link
    errors due to the same symbol being defined twice if the platform
    DSC chooses to use AcpiTimerLib as the TimerLib implementation for
    any given platform.
    
    To resolve this, I noted that some of the globals in Xhci.c are not
    used outside of the Xhci.c compilation unit:
    
    - mPerformanceCounterStartValue
    - mPerformanceCounterEndValue
    - mPerformanceCounterFrequency
    - mPerformanceCounterValuesCached
    
    I have changed the definition for all of these to static and added
    an Xhci prefix. Since they are not used outside of the Xhci.c
    compilation unit, there is no reason to have them exported as
    globals.
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
    nate-desimone authored and mergify[bot] committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    ff4c49a View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. UefiCpuPkg: Add macro definitions for CET feature for NASM files.

    Signed-off-by: Sheng Wei <w.sheng@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Wu Jiaxin <jiaxin.wu@intel.com>
    Cc: Tan Dun <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    swei22 authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    b5f20ec View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg: Use macro CR4_CET_BIT to replace hard code value in Cet.n…

    …asm.
    
    Signed-off-by: Sheng Wei <w.sheng@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Wu Jiaxin <jiaxin.wu@intel.com>
    Cc: Tan Dun <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    swei22 authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    04d47a9 View commit details
    Browse the repository at this point in the history
  3. UefiCpuPkg: Use CET macro definitions in Cet.inc for SmiEntry.nasm fi…

    …les.
    
    Signed-off-by: Sheng Wei <w.sheng@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Wu Jiaxin <jiaxin.wu@intel.com>
    Cc: Tan Dun <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    swei22 authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    3018685 View commit details
    Browse the repository at this point in the history
  4. UefiCpuPkg: Only change CR4.CET bit for enable and disable CET.

    Signed-off-by: Sheng Wei <w.sheng@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Wu Jiaxin <jiaxin.wu@intel.com>
    Cc: Tan Dun <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    swei22 authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    fd1dd85 View commit details
    Browse the repository at this point in the history
  5. UefiCpuPkg: Backup and Restore MSR IA32_U_CET in SMI handler.

    OS may enable CET-IBT feature by set MSR IA32_U_CET.bit2.
    If IA32_U_CET.bit2 is set, CPU is in WAIT_FOR_ENDBRANCH state and
     the next assemble code is not ENDBR, it will trigger #CP exception
     when set CR4.CET bit.
    SMI handler needs to backup MSR IA32_U_CET and clear MSR IA32_U_CET
     before set CR4.CET bit,
    And SMI handler needs to restore MSR IA32_U_CET when exit SMI handler.
    
    Signed-off-by: Sheng Wei <w.sheng@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Wu Jiaxin <jiaxin.wu@intel.com>
    Cc: Tan Dun <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    swei22 authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    553dfb0 View commit details
    Browse the repository at this point in the history
  6. OvmfPkg/Bhyve: use a proper PCI IO range

    Bhyve uses an io port range of [ 0x2000, 0x10000 ] [1]. At the moment,
    EDKII is using a subset of this range [ 0xC000, 0x10000 ] [2]. Even
    though the EDKII range doesn't exceed the bhyve range, it's causing
    issues on some guests like OpenBSD [3]. We don't know why it's causing
    issues yet. However, using the same IO port range in EDKII fixes the
    issue and is a good idea anyway.
    
    [1] https://github.com/freebsd/freebsd-src/blob/82ea0132c8b17a7a6067c8a36c6434e587ede6de/usr.sbin/bhyve/pci_emul.c#L133-L134
    [2] https://github.com/tianocore/edk2/blob/fb044b7fe893a4545995bfe2701fd38e593355d9/OvmfPkg/Bhyve/PlatformPei/Platform.c#L156-L157
    [3] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274389
    
    Signed-off-by: Corvin Köhne <corvink@FreeBSD.org>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    ckoehne authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    238690a View commit details
    Browse the repository at this point in the history
  7. OvmfPkg: cripple CSM_ENABLE macro

    We're going to gradually tear down and remove the Compatibility Support
    Module (CSM) in OvmfPkg (due to it having no maintainer). Start by making
    all platforms that have thus far accepted "-D CSM_ENABLE" reject that
    macro, so that mid-series, the partially removed infrastructure cannot be
    built or booted.
    
    Insert an !error directive in each DSC file's first "!ifdef $(CSM_ENABLE)"
    conditional.
    
    At the end of the series, the !error directive introduced in this patch
    will be removed.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-2-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    506cc67 View commit details
    Browse the repository at this point in the history
  8. OvmfPkg: remove PcdCsmEnable

    PcdCsmEnable was introduced in commits 50f911d ("OvmfPkg: introduce
    PcdCsmEnable feature flag", 2020-02-05) and 75839f9
    ("OvmfPkg/PlatformPei: detect SMRAM at default SMBASE (for real)",
    2020-02-05). Remove it, and substitute constant FALSE wherever it has been
    evaluated thus far.
    
    Regression test: after building OVMF IA32X64 with -D SMM_REQUIRE, and
    booting it on Q35, the log still contains
    
    > Q35SmramAtDefaultSmbaseInitialization: SMRAM at default SMBASE found
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-3-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    3099db5 View commit details
    Browse the repository at this point in the history
  9. OvmfPkg: unplug LegacyBootManagerLib from BdsDxe and UiApp

    Don't register the LegacyBmRefreshAllBootOption() and LegacyBmBoot()
    functions in BdsDxe and UiApp.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-4-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    0600bea View commit details
    Browse the repository at this point in the history
  10. OvmfPkg: remove LegacyBootManagerLib

    LegacyBootManagerLib is not used by any platform at this point, remove it.
    
    This patch removes mentions of the following CSM resources from the source
    code:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyDevOrderVariableGuid
    
    - headers:
      - Guid/LegacyDevOrder.h
      - Protocol/LegacyBios.h
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyDevOrderVariableGuid
    
    - headers:
      - Guid/LegacyDevOrder.h
      - Protocol/LegacyBios.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-5-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    3f3e90d View commit details
    Browse the repository at this point in the history
  11. OvmfPkg: unplug LegacyBootMaintUiLib from UiApp

    LegacyBootMaintUiLib registers a form (HII Config Access Protocol
    instance) with UiApp, for configuring legacy boot options; stop plugging
    it into UiApp.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-6-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    237a056 View commit details
    Browse the repository at this point in the history
  12. OvmfPkg: remove LegacyBootMaintUiLib

    LegacyBootMaintUiLib is not used by any platform at this point, remove it.
    
    This patch removes mentions of the following CSM resources from the source
    code:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyDevOrderVariableGuid
    
    - headers:
      - Guid/LegacyDevOrder.h
      - Protocol/LegacyBios.h
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyDevOrderVariableGuid
    
    - headers:
      - Guid/LegacyDevOrder.h
      - Protocol/LegacyBios.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-7-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    545a5f6 View commit details
    Browse the repository at this point in the history
  13. OvmfPkg: remove gEfiLegacyDevOrderVariableGuid

    At this point, gEfiLegacyDevOrderVariableGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosProtocolGuid
    
    - headers:
      - Protocol/LegacyBios.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-8-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    e948cee View commit details
    Browse the repository at this point in the history
  14. OvmfPkg: exclude the CSM-based VideoDxe driver

    The CSM-based VideoDxe driver is a special UEFI_DRIVER module that both
    follows and doesn't follow the UEFI driver model.
    
    Namely, in the Supported and Start members of its Driver Binding Protocol
    instance, it consumes the Legacy Bios Protocol directly from the UEFI
    protocol database, as opposed to (only) opening protocols on the handle
    that it is supposed to bind.
    
    Furthermore, the driver "marks" its own image handle with the
    NULL-interface "Legacy Bios" (pseudo-protocol) GUID, in order to "inform
    back" the provider of the Legacy Bios Protocol, i.e., LegacyBiosDxe, that
    VideoDxe is a "BIOS Thunk Driver" in the system.
    
    Quoting "OvmfPkg/Csm/Include/Guid/LegacyBios.h", such a driver follows the
    UEFI Driver Model, but still uses the Int86() or FarCall() services of the
    Legacy Bios Protocol as the basis for the UEFI protocol it produces.
    
    In a sense, there is a circular dependency between VideoDxe and
    LegacyBiosDxe; each knows about the other. However, VideoDxe is a
    UEFI_DRIVER, while LegacyBiosDxe is a platform DXE_DRIVER with a very long
    DEPEX. Therefore, for keeping dependencies conceptually intact, first
    exclude VideoDxe from the OVMF platforms. Always include the
    hypervisor-specific real UEFI video driver.
    
    --*--
    
    Note that the pathname
    "IntelFrameworkModulePkg/Csm/BiosThunk/VideoDxe/VideoDxe.inf" in the bhyve
    platform DSC and FDF files is bogus anyway.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-9-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    ac79397 View commit details
    Browse the repository at this point in the history
  15. OvmfPkg: remove Csm/BiosThunk/VideoDxe

    Csm/BiosThunk/VideoDxe is not used by any platform at this point, remove
    it.
    
    This patch removes mentions of the following CSM resources from the source
    code:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiVgaMiniPortProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/LegacyBios.h
      - Protocol/VgaMiniPort.h
    
    - PCDs:
      - PcdBiosVideoCheckVbeEnable
      - PcdBiosVideoCheckVgaEnable
      - PcdBiosVideoSetTextVgaModeEnable
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiVgaMiniPortProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/LegacyBios.h
      - Protocol/VgaMiniPort.h
    
    - PCDs:
      - PcdBiosVideoCheckVbeEnable
      - PcdBiosVideoCheckVgaEnable
      - PcdBiosVideoSetTextVgaModeEnable
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-10-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    59dc874 View commit details
    Browse the repository at this point in the history
  16. OvmfPkg: remove gEfiVgaMiniPortProtocolGuid

    At this point, gEfiVgaMiniPortProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/LegacyBios.h
    
    - PCDs:
      - PcdBiosVideoCheckVbeEnable
      - PcdBiosVideoCheckVgaEnable
      - PcdBiosVideoSetTextVgaModeEnable
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-11-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    4493d74 View commit details
    Browse the repository at this point in the history
  17. OvmfPkg: remove Bios Video PCDs

    PcdBiosVideoSetTextVgaModeEnable, PcdBiosVideoCheckVbeEnable and
    PcdBiosVideoCheckVgaEnable are unused at this point, remove them.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/LegacyBios.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-12-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    ec60da4 View commit details
    Browse the repository at this point in the history
  18. OvmfPkg: exclude LegacyBiosDxe

    LegacyBiosDxe is the core CSM driver. It procudes
    gEfiLegacyBiosProtocolGuid, on top of several smaller, more foundational
    legacy BIOS protocols, whose drivers we've not excluded yet. In the course
    of tearing down CSM support in (reverse) dependency order, exclude
    LegacyBiosDxe at this point.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-13-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    934b7f5 View commit details
    Browse the repository at this point in the history
  19. OvmfPkg/IncompatiblePciDeviceSupportDxe: ignore CSM presence

    The UEFI protocol database cannot contain gEfiLegacyBiosProtocolGuid any
    longer, after excluding LegacyBiosDxe from the OVMF platforms. Therefore,
    instruct PciBusDxe from IncompatiblePciDeviceSupportDxe to allocate 64-bit
    BARs above 4 GB regardless of a CSM.
    
    Regression test: in commit 855743f ("OvmfPkg: prevent 64-bit MMIO BAR
    degradation if there is no CSM", 2016-05-25), where we introduced
    IncompatiblePciDeviceSupportDxe, we said, "By default, the PCI Bus driver
    considers an option ROM reason enough for allocating the 64-bit MMIO BARs
    in 32-bit address space". Therefore it suffices to verify the 64-bit BARs
    of a device for which QEMU provides an option ROM. The simplest case is
    the virtio-net-pci device. And indeed, with this patch applied, the log
    contains:
    
    > PciBus: Discovered PCI @ [04|00|00]  [VID = 0x1AF4, DID = 0x1041]
    >    BAR[1]: Type =  Mem32; Alignment = 0xFFF;    Length = 0x1000;        Offset = 0x14
    >    BAR[4]: Type = PMem64; Alignment = 0x3FFF;   Length = 0x4000;        Offset = 0x20
    
    This portion shows that Bus|Device|Function 04|00|00 is a (modern)
    virito-net-pci device [VID = 0x1AF4, DID = 0x1041].
    
    > PciBus: Resource Map for Bridge [00|01|03]
    > Type =  Mem32; Base = 0x81200000;       Length = 0x200000;      Alignment = 0x1FFFFF
    >    Base = Padding;      Length = 0x200000;      Alignment = 0x1FFFFF
    >    Base = 0x81200000;   Length = 0x1000;        Alignment = 0xFFF;      Owner = PCI [04|00|00:14]
    > Type =  Mem32; Base = 0x81A43000;       Length = 0x1000;        Alignment = 0xFFF
    > Type = PMem64; Base = 0x800200000;      Length = 0x100000;      Alignment = 0xFFFFF
    >    Base = 0x800200000;  Length = 0x4000;        Alignment = 0x3FFF;     Owner = PCI [04|00|00:20]
    
    This quote shows that 04|00|00 has a BAR at 0x8_0020_0000.
    
    (It also shows that the device is behind a bridge (PCIe root port) whose
    own BDF is 00|01|03.)
    
    > [Security] 3rd party image[7CEEB418] can be loaded after EndOfDxe: PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/Offset(0x10E00,0x273FF).
    > None of Tcg2Protocol/CcMeasurementProtocol is installed.
    > InstallProtocolInterface: [EfiLoadedImageProtocol] 7D2E5140
    > Loading driver at 0x0007CA9F000 EntryPoint=0x0007CAA5447 1af41000.efi
    > InstallProtocolInterface: [EfiLoadedImageDevicePathProtocol] 7D5B2198
    
    And this part finally shows that the iPXE option ROM for the device
    (1af41000.efi) was detected and is loaded. (Same PCIe root port, and PCIe
    root ports can only host a single device.)
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-14-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    87d0e57 View commit details
    Browse the repository at this point in the history
  20. Revert "OvmfPkg: don't assign PCI BARs above 4GiB when CSM enabled"

    This reverts commit c734187.
    
    That commit was a later (2019-06-26), heavier weight exclusion of 64-bit
    BARs when a CSM was included, and is similarly superfluous now, so revert
    it.
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-15-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    209480b View commit details
    Browse the repository at this point in the history
  21. OvmfPkg: remove LegacyBiosDxe

    LegacyBiosDxe is not used by any platform at this point, remove it.
    
    This patch removes mentions of the following CSM resources from the source
    code [*] [**]:
    
    - GUIDs (protocols or otherwise):
      - gEfiIsaIoProtocolGuid
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/IsaIo.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    - PCDs:
      - PcdEbdaReservedMemorySize
      - PcdEndOpromShadowAddress
      - PcdHighPmmMemorySize
      - PcdLegacyBiosCacheLegacyRegion
      - PcdLowPmmMemorySize
      - PcdOpromReservedMemoryBase
      - PcdOpromReservedMemorySize
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiIsaIoProtocolGuid
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/IsaIo.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    - PCDs:
      - PcdEbdaReservedMemorySize
      - PcdEndOpromShadowAddress
      - PcdHighPmmMemorySize
      - PcdLegacyBiosCacheLegacyRegion
      - PcdLowPmmMemorySize
      - PcdOpromReservedMemoryBase
      - PcdOpromReservedMemorySize
    
    [*] Note that gEfiGenericMemTestProtocolGuid, while not a CSM-related
    protocol, also becomes useless in the OVMF platforms, so we'll deal with
    that later in the series as well.
    
    [**] Note that gEfiLegacyRegion2ProtocolGuid, while a CSM-related
    protocol, cannot be scheduled for removal, because the protocol GUID is
    defined in "MdePkg.dec", and it's not only "OvmfPkg/Csm/CsmSupportLib"
    that produces it in all of edk2, but also
    "MdeModulePkg/Universal/LegacyRegion2Dxe" (not used by OVMF). For the same
    reason, the "Protocol/LegacyRegion2.h" header (from MdePkg) cannot be
    scheduled for removal.
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-16-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    f0c5d65 View commit details
    Browse the repository at this point in the history
  22. OvmfPkg: exclude NullMemoryTestDxe driver

    NullMemoryTestDxe was included in the OVMF platforms in historical commit
    999a815 ("OvmfPkg: Add NullMemoryTestDxe driver", 2011-01-21). It
    produces gEfiGenericMemTestProtocolGuid. With LegacyBiosDxe gone, the only
    consumer of this protocol in all of edk2 is
    "EmulatorPkg/Library/PlatformBmLib/PlatformBmMemoryTest.c". Thus, exclude
    NullMemoryTestDxe from all OVMF platforms.
    
    (Notably, ArmVirtPkg platforms don't include NullMemoryTestDxe either.)
    
    Cc: Anatol Belski <anbelski@linux.microsoft.com>
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Erdem Aktas <erdemaktas@google.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jianyong Wu <jianyong.wu@arm.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Michael Roth <michael.roth@amd.com>
    Cc: Min Xu <min.m.xu@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Sunil V L <sunilvl@ventanamicro.com>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-17-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    d7e41ce View commit details
    Browse the repository at this point in the history
  23. OvmfPkg: remove gEfiIsaIoProtocolGuid

    At this point, gEfiIsaIoProtocolGuid is unused; remove it.
    
    Recursively, this patch removes mentions of the following further CSM
    resources from the source code:
    
    - GUIDs (protocols or otherwise):
      - gEfiIsaAcpiProtocolGuid (by cutting the <Protocol/IsaAcpi.h> link)
    
    - headers:
      - Protocol/IsaAcpi.h
    
    This changes the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiIsaAcpiProtocolGuid
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/IsaAcpi.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    - PCDs:
      - PcdEbdaReservedMemorySize
      - PcdEndOpromShadowAddress
      - PcdHighPmmMemorySize
      - PcdLegacyBiosCacheLegacyRegion
      - PcdLowPmmMemorySize
      - PcdOpromReservedMemoryBase
      - PcdOpromReservedMemorySize
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-18-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    0730f56 View commit details
    Browse the repository at this point in the history
  24. OvmfPkg: remove gEfiIsaAcpiProtocolGuid

    At this point, gEfiIsaAcpiProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Guid/LegacyBios.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    - PCDs:
      - PcdEbdaReservedMemorySize
      - PcdEndOpromShadowAddress
      - PcdHighPmmMemorySize
      - PcdLegacyBiosCacheLegacyRegion
      - PcdLowPmmMemorySize
      - PcdOpromReservedMemoryBase
      - PcdOpromReservedMemorySize
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-19-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    5161ba8 View commit details
    Browse the repository at this point in the history
  25. OvmfPkg: remove gEfiLegacyBiosGuid

    At this point, gEfiLegacyBiosGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    - PCDs:
      - PcdEbdaReservedMemorySize
      - PcdEndOpromShadowAddress
      - PcdHighPmmMemorySize
      - PcdLegacyBiosCacheLegacyRegion
      - PcdLowPmmMemorySize
      - PcdOpromReservedMemoryBase
      - PcdOpromReservedMemorySize
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-20-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    9d4becd View commit details
    Browse the repository at this point in the history
  26. OvmfPkg: remove LegacyBiosDxe PCDs

    The following PCDs are unused at this point; remove them:
    
    - PcdEbdaReservedMemorySize
    - PcdEndOpromShadowAddress
    - PcdHighPmmMemorySize
    - PcdLegacyBiosCacheLegacyRegion
    - PcdLowPmmMemorySize
    - PcdOpromReservedMemoryBase
    - PcdOpromReservedMemorySize
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-21-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    8bd14e6 View commit details
    Browse the repository at this point in the history
  27. OvmfPkg: unplug CsmSupportLib from BdsDxe

    CsmSupportLib is effectively a hack. It produces the following protocols:
    
    - Legacy Bios Platform,
    - Legacy Interrupt,
    - Legacy Region2.
    
    (Note that the "OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf" file contains
    an error where it claims that "Legacy Bios Platform" is "consumed" -- it
    is not; the lib instance produces that protocol).
    
    At the same time, the library instance consumes
    gEfiLegacyBiosProtocolGuid.
    
    This *seemingly* creates a circular dependency with LegacyBiosDxe, because
    that driver has the exact opposite protocol usage patterns. The solution
    is that LegacyBiosDxe has a DEPEX on the protocols produced by
    CsmSupportLib, while CsmSupportLib consumes the Legacy Bios Protocol from
    LegacyBiosDxe only in the member functions of the protocols it produces.
    Therefore, once BdsDxe is dispatched, and the CsmSupportLib constructor
    exposes those three protocols, LegacyBiosDxe can also be started by the
    DXE dispatcher, and then the protocols from CsmSupportLib become
    functional.
    
    But the main reason why CsmSupportLib is a hack is that it should be a
    normal platform DXE driver (called e.g. "CsmSupportDxe"), and not a NULL
    class library that's randomly hooked into BdsDxe.
    
    Given that we have removed LegacyBiosDxe earlier (so there is no DEPEX we
    need to satisfy now, conceptually), unhook CsmSupportLib from BdsDxe.
    
    --*--
    
    Note that in the BhyveX64 platform, the pathname
    "OvmfPkg/Bhyve/Csm/CsmSupportLib/CsmSupportLib.inf" is bogus, and has
    always been, since commit 656419f ("Add BhyvePkg, to support the
    bhyve hypervisor", 2020-07-31).
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-22-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    86cc0f1 View commit details
    Browse the repository at this point in the history
  28. OvmfPkg: remove CsmSupportLib

    CsmSupportLib is not used by any platform at this point, remove it.
    
    This patch removes mentions of the following CSM resources from the source
    code [*]:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiFirmwareVolumeProtocolGuid (by cutting the
        <Protocol/FirmwareVolume.h> link)
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/FirmwareVolume.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiFirmwareVolumeProtocolGuid
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/FirmwareVolume.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    [*] Note that gEfiLegacyRegion2ProtocolGuid, while a CSM-related protocol,
    cannot be scheduled for removal, because the protocol GUID is defined in
    "MdePkg.dec", and it's not only "OvmfPkg/Csm/CsmSupportLib" that produces
    it in all of edk2, but also "MdeModulePkg/Universal/LegacyRegion2Dxe" (not
    used by OVMF). For the same reason, the "Protocol/LegacyRegion2.h" header
    (from MdePkg) cannot be scheduled for removal.
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-23-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    bc495d8 View commit details
    Browse the repository at this point in the history
  29. OvmfPkg: remove gEfiFirmwareVolumeProtocolGuid

    At this point, gEfiFirmwareVolumeProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosPlatformProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyBiosPlatform.h
      - Protocol/LegacyInterrupt.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-24-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    f19b3d0 View commit details
    Browse the repository at this point in the history
  30. OvmfPkg: remove gEfiLegacyBiosPlatformProtocolGuid

    At this point, gEfiLegacyBiosPlatformProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyBiosProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyBios.h
      - Protocol/LegacyInterrupt.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-25-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    dd63cb9 View commit details
    Browse the repository at this point in the history
  31. OvmfPkg: remove gEfiLegacyBiosProtocolGuid

    At this point, gEfiLegacyBiosProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiLegacy8259ProtocolGuid
      - gEfiLegacyInterruptProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/Legacy8259.h
      - Protocol/LegacyInterrupt.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-26-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    504a0fe View commit details
    Browse the repository at this point in the history
  32. OvmfPkg: remove gEfiLegacyInterruptProtocolGuid

    At this point, gEfiLegacyInterruptProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - FrameworkDxe.h
      - Protocol/Legacy8259.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-27-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    f14317e View commit details
    Browse the repository at this point in the history
  33. OvmfPkg: remove <FrameworkDxe.h>

    The <FrameworkDxe.h> header is not used by any source file at this point,
    remove it.
    
    <FrameworkDxe.h> is a thin wrapper for including all header files under
    the "OvmfPkg/Csm/Include/Framework" directory. Remove that directory at
    the same time (nothing else references contents in that directory
    directly).
    
    Consequently, the "OvmfPkg/Csm/Include" directory becomes empty, and git
    automatically deletes it; remove that include path from
    "OvmfPkg/OvmfPkg.dec".
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - SYSTEM_ROM_FILE_GUID (1547B4F3-3E8A-4FEF-81C8-328ED647AB1A)
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - Protocol/Legacy8259.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-28-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    769c46a View commit details
    Browse the repository at this point in the history
  34. OvmfPkg: exclude Csm16.inf / Csm16.bin

    The Csm16 module wraps the CONFIG_CSM build of SeaBIOS. "Csm16.inf" has
    FILE_GUID 1547B4F3-3E8A-4FEF-81C8-328ED647AB1A, which was previously
    referenced by the (now removed) CsmSupportLib, under the name
    SYSTEM_ROM_FILE_GUID.
    
    Nothing relies on the SeaBIOS binary any longer, so exclude the Csm16
    module from all OVMF platforms.
    
    (Note that the "OvmfPkg/Bhyve/Csm/BhyveCsm16/BhyveCsm16.inf" pathname that
    the BhyveX64 platform refers to is bogus anyway.)
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-29-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    e8f860d View commit details
    Browse the repository at this point in the history
  35. OvmfPkg: remove Rule.Common.USER_DEFINED.CSM from all FDF files

    We no longer have
    
      INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
    
    lines in any of the OVMF platform FDF files; remove the CSM rules
    themselves.
    
    (Note that some of the more recent platforms had cargo-culted this rule
    from the original ones, without ever referencing the rule with
    RuleOverride=CSM. Remove those rules as well.)
    
    Cc: Anatol Belski <anbelski@linux.microsoft.com>
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jianyong Wu <jianyong.wu@arm.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-30-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    528ae02 View commit details
    Browse the repository at this point in the history
  36. OvmfPkg: remove Csm16

    Csm16 is not used by any platform at this point, remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - Protocol/Legacy8259.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-31-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    0e0a0a5 View commit details
    Browse the repository at this point in the history
  37. OvmfPkg: exclude 8254TimerDxe

    In the original three OVMF platforms, CSM_ENABLE selects the legacy timer
    driver; exclude it. Instead, include LocalApicTimerDxe unconditionally
    (which in turn consumes PcdFSBClock).
    
    Background: commits c37cbc0 ("OvmfPkg: Switch timer in build time for
    OvmfPkg", 2022-04-02) and 07c0c2e ("OvmfPkg: fix PcdFSBClock",
    2022-05-25).
    
    Regression test: verified that the BDS progress bar still advanced at
    normal speed in each platform.
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-32-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    89bd992 View commit details
    Browse the repository at this point in the history
  38. OvmfPkg: remove 8254TimerDxe

    8254TimerDxe is not used by any platforms at this point, remove it.
    
    This patch removes mentions of the following CSM resources from the source
    code:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - Protocol/Legacy8259.h
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - Protocol/Legacy8259.h
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-33-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    05cffb6 View commit details
    Browse the repository at this point in the history
  39. OvmfPkg: exclude 8259InterruptControllerDxe

    With 8254TimerDxe gone, no module in OVMF consumes
    gEfiLegacy8259ProtocolGuid; exclude 8259InterruptControllerDxe therefore.
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-34-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    fb5c153 View commit details
    Browse the repository at this point in the history
  40. OvmfPkg: remove 8259InterruptControllerDxe

    8259InterruptControllerDxe is not used by any platforms at this point,
    remove it.
    
    This patch removes mentions of the following CSM resources from the source
    code:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - Protocol/Legacy8259.h
    
    - PCDs:
      - Pcd8259LegacyModeEdgeLevel
      - Pcd8259LegacyModeMask
    
    which extends the list of resources scheduled for removal to:
    
    - GUIDs (protocols or otherwise):
      - gEfiLegacy8259ProtocolGuid
    
    - headers:
      - Protocol/Legacy8259.h
    
    - PCDs:
      - Pcd8259LegacyModeEdgeLevel
      - Pcd8259LegacyModeMask
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-35-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    67864ff View commit details
    Browse the repository at this point in the history
  41. OvmfPkg: remove gEfiLegacy8259ProtocolGuid

    At this point, gEfiLegacy8259ProtocolGuid is unused; remove it.
    
    This shrinks the list of resources scheduled for removal to:
    
    - PCDs:
      - Pcd8259LegacyModeEdgeLevel
      - Pcd8259LegacyModeMask
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-36-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    cf9030f View commit details
    Browse the repository at this point in the history
  42. OvmfPkg: remove Pcd8259LegacyModeEdgeLevel and Pcd8259LegacyModeMask

    The following PCDs are unused at this point; remove them:
    
    - Pcd8259LegacyModeEdgeLevel
    - Pcd8259LegacyModeMask
    
    This shrinks the list of resources scheduled for removal to nil.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Erdem Aktas <erdemaktas@google.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Michael Roth <michael.roth@amd.com>
    Cc: Min Xu <min.m.xu@intel.com>
    Cc: Tom Lendacky <thomas.lendacky@amd.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-37-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    605248f View commit details
    Browse the repository at this point in the history
  43. OvmfPkg: remove CSM_ENABLE build macro

    At this point, the CSM_ENABLE conditionals only bracket the !error
    directives that we added at the front of this series; it's time to remove
    CSM_ENABLE.
    
    Cc: Anthony Perard <anthony.perard@citrix.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Corvin Köhne <corvink@freebsd.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=4588
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231110235820.644381-38-lersek@redhat.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Acked-by: Corvin Köhne <corvink@FreeBSD.org>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    eccdab6 View commit details
    Browse the repository at this point in the history

Commits on Dec 8, 2023

  1. ShellPkg: Fix typos

    begining->beginning
    dirve->drive
    duplicat->duplicate
    fuly->fully
    Funciton->Function
    Functino->Function
    optioanl->optional
    poitners->pointers
    rountine->routine
    sucessful->successful
    sucessfully->successfully
    
    Signed-off-by: Page Chen <paiching_chen@apple.com>
    Cc: Zhichao Gao <zhichao.gao@intel.com>
    Cc: Andrew Fish <afish@apple.com>
    Message-Id: <829d2bed2a848229d719d7ae7b64ef1a47782720.1699557986.git.paiching_chen@apple.com>
    Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
    Page Chen authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    fe2abc9 View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg/BaseXApicLib: Fix CPUID_V2_EXTENDED_TOPOLOGY detection

    This patch is to complete 170d4ce, sync the change to BaseXApicLib.
    
    Checking the max cpuid leaf is not enough to figure whenever
    CPUID_V2_EXTENDED_TOPOLOGY is supported.  Intel SDM says:
    
    Software must detect the presence of CPUID leaf 1FH by verifying
    (a) the highest leaf index supported by CPUID is >= 1FH, and
    (b) CPUID.1FH:EBX[15:0] reports a non-zero value.
    
    The same is true for CPUID leaf 0BH.
    
    This patch adds the EBX check to GetProcessorLocation2ByApicId().  The
    patch also fixes the existing check in GetProcessorLocationByApicId() to
    be in line with the spec by looking at bits 15:0.  The comments are
    updated with a quote from the Intel SDM.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Star Zeng <star.zeng@intel.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Message-Id: <20231115111553.6592-2-jiaxin.wu@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    ad0b1cc View commit details
    Browse the repository at this point in the history
  3. UefiCpuPkg/PiSmmCpuDxeSmm: Get processor extended information

    This patch is to extend SmmAddProcessor function to get processor
    extended information. It's to complete commit 1fadd18.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Star Zeng <star.zeng@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Regression-tested-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231115111553.6592-3-jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    7eb5040 View commit details
    Browse the repository at this point in the history
  4. OvmfPkg/MemEncryptSevLib: Fix address overflow during PVALIDATE

    The struct used for GHCB-based page-state change requests uses a 40-bit
    bit-field for the GFN, which is shifted by PAGE_SHIFT to generate a
    64-bit address. However, anything beyond 40-bits simply gets shifted off
    when doing this, which will cause issues when dealing with 1TB+
    addresses. Fix this by casting the 40-bit GFN values to 64-bit ones
    prior to shifting it by PAGE_SHIFT.
    
    Fixes: ade62c1 ("OvmfPkg/MemEncryptSevLib: add support to validate system RAM")
    Signed-off-by: Michael Roth <michael.roth@amd.com>
    Message-Id: <20231115175153.813213-1-michael.roth@amd.com>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    mdroth authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    e8c23d1 View commit details
    Browse the repository at this point in the history
  5. Maintainers.txt: add Laszlo Ersek as an ArmVirtPkg maintainer

    I intend to assist with the maintenance of the following files and
    directories:
    
      ArmVirtPkg/ArmVirt.dsc.inc
      ArmVirtPkg/ArmVirtPkg.dec
      ArmVirtPkg/ArmVirtQemu.dsc
      ArmVirtPkg/ArmVirtQemu.fdf
      ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
      ArmVirtPkg/ArmVirtRules.fdf.inc
      ArmVirtPkg/Include/Guid/EarlyPL011BaseAddress.h
      ArmVirtPkg/Include/Library/ArmVirtMemInfoLib.h
      ArmVirtPkg/Include/Library/FdtSerialPortAddressLib.h
      ArmVirtPkg/Library/ArmVirtDxeHobLib/
      ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/
      ArmVirtPkg/Library/ArmVirtPL031FdtClientLib/
      ArmVirtPkg/Library/ArmVirtPsciResetSystemLib/
      ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/
      ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/
      ArmVirtPkg/Library/DebugLibFdtPL011Uart/
      ArmVirtPkg/Library/FdtPL011SerialPortLib/
      ArmVirtPkg/Library/FdtSerialPortAddressLib/
      ArmVirtPkg/Library/NorFlashQemuLib/
      ArmVirtPkg/Library/PlatformBootManagerLib/
      ArmVirtPkg/Library/PlatformPeiLib/
      ArmVirtPkg/Library/QemuVirtMemInfoLib/
      ArmVirtPkg/MemoryInitPei/
      ArmVirtPkg/PlatformCI/
      ArmVirtPkg/PrePi/
      ArmVirtPkg/VarStore.fdf.inc
    
    Cc: Andrew Fish <afish@apple.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231116215058.8113-2-lersek@redhat.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    b59574a View commit details
    Browse the repository at this point in the history
  6. Maintainers.txt: add Laszlo Ersek as an OvmfPkg maintainer

    I intend to assist with the maintenance of the following files and
    directories:
    
      OvmfPkg/AcpiPlatformDxe/AcpiPlatform.c
      OvmfPkg/AcpiPlatformDxe/AcpiPlatform.h
      OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
      OvmfPkg/AcpiPlatformDxe/EntryPoint.c
      OvmfPkg/CpuHotplugSmm/
      OvmfPkg/CpuS3DataDxe/
      OvmfPkg/EnrollDefaultKeys/
      OvmfPkg/Fdt/FdtPciHostBridgeLib/
      OvmfPkg/Fdt/FdtPciPcdProducerLib/
      OvmfPkg/Fdt/HighMemDxe/
      OvmfPkg/Fdt/VirtioFdtDxe/
      OvmfPkg/Include/Dsc/NetworkComponents.dsc.inc
      OvmfPkg/Include/Dsc/OvmfPkg.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmComponentsDxe.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmComponentsPei.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmDefines.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmLibs.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmPcds.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmPcdsHii.dsc.inc
      OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc
      OvmfPkg/Include/Fdf/FvmainCompactScratchEnd.fdf.inc
      OvmfPkg/Include/Fdf/OvmfPkgDefines.fdf.inc
      OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
      OvmfPkg/Include/Fdf/OvmfTpmPei.fdf.inc
      OvmfPkg/Include/Fdf/VarStore.fdf.inc
      OvmfPkg/Include/Guid/MicrosoftVendor.h
      OvmfPkg/Include/Guid/OvmfPkKek1AppPrefix.h
      OvmfPkg/Include/Guid/OvmfPlatformConfig.h
      OvmfPkg/Include/Guid/QemuKernelLoaderFsMedia.h
      OvmfPkg/Include/Guid/QemuRamfb.h
      OvmfPkg/Include/Guid/RootBridgesConnectedEventGroup.h
      OvmfPkg/Include/Guid/VirtioMmioTransport.h
      OvmfPkg/Include/IndustryStandard/E820.h
      OvmfPkg/Include/IndustryStandard/I440FxPiix4.h
      OvmfPkg/Include/IndustryStandard/LegacyVgaBios.h
      OvmfPkg/Include/IndustryStandard/LinuxBzimage.h
      OvmfPkg/Include/IndustryStandard/Q35MchIch9.h
      OvmfPkg/Include/IndustryStandard/QemuCpuHotplug.h
      OvmfPkg/Include/IndustryStandard/QemuFwCfg.h
      OvmfPkg/Include/IndustryStandard/QemuLoader.h
      OvmfPkg/Include/IndustryStandard/QemuPciBridgeCapabilities.h
      OvmfPkg/Include/IndustryStandard/QemuTpm.h
      OvmfPkg/Include/IndustryStandard/Virtio.h
      OvmfPkg/Include/IndustryStandard/Virtio095.h
      OvmfPkg/Include/IndustryStandard/Virtio095Net.h
      OvmfPkg/Include/IndustryStandard/Virtio10.h
      OvmfPkg/Include/IndustryStandard/Virtio10Net.h
      OvmfPkg/Include/IndustryStandard/VirtioBlk.h
      OvmfPkg/Include/IndustryStandard/VirtioFs.h
      OvmfPkg/Include/IndustryStandard/VirtioGpu.h
      OvmfPkg/Include/IndustryStandard/VirtioNet.h
      OvmfPkg/Include/IndustryStandard/VirtioScsi.h
      OvmfPkg/Include/IndustryStandard/VirtioSerial.h
      OvmfPkg/Include/Library/AcpiPlatformLib.h
      OvmfPkg/Include/Library/NestedInterruptTplLib.h
      OvmfPkg/Include/Library/PciCapLib.h
      OvmfPkg/Include/Library/PciCapPciIoLib.h
      OvmfPkg/Include/Library/PciCapPciSegmentLib.h
      OvmfPkg/Include/Library/PciHostBridgeUtilityLib.h
      OvmfPkg/Include/Library/PlatformBmPrintScLib.h
      OvmfPkg/Include/Library/PlatformInitLib.h
      OvmfPkg/Include/Library/QemuBootOrderLib.h
      OvmfPkg/Include/Library/QemuFwCfgLib.h
      OvmfPkg/Include/Library/QemuFwCfgS3Lib.h
      OvmfPkg/Include/Library/QemuFwCfgSimpleParserLib.h
      OvmfPkg/Include/Library/QemuLoadImageLib.h
      OvmfPkg/Include/Library/VirtNorFlashPlatformLib.h
      OvmfPkg/Include/Library/VirtioLib.h
      OvmfPkg/Include/Library/VirtioMmioDeviceLib.h
      OvmfPkg/Include/OvmfPlatforms.h
      OvmfPkg/Include/Pcd/CpuHotEjectData.h
      OvmfPkg/Include/Protocol/OvmfLoadedX86LinuxKernel.h
      OvmfPkg/Include/Protocol/VirtioDevice.h
      OvmfPkg/IncompatiblePciDeviceSupportDxe/
      OvmfPkg/Library/AcpiPlatformLib/
      OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.c
      OvmfPkg/Library/AcpiTimerLib/AcpiTimerLib.h
      OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.c
      OvmfPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf
      OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.c
      OvmfPkg/Library/AcpiTimerLib/BaseRomAcpiTimerLib.inf
      OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.c
      OvmfPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf
      OvmfPkg/Library/BaseCachingPciExpressLib/
      OvmfPkg/Library/BasePciCapLib/
      OvmfPkg/Library/BasePciCapPciSegmentLib/
      OvmfPkg/Library/DxePciLibI440FxQ35/
      OvmfPkg/Library/GenericQemuLoadImageLib/
      OvmfPkg/Library/LockBoxLib/
      OvmfPkg/Library/NestedInterruptTplLib/
      OvmfPkg/Library/PciHostBridgeLib/
      OvmfPkg/Library/PciHostBridgeUtilityLib/
      OvmfPkg/Library/PlatformBmPrintScLib/
      OvmfPkg/Library/PlatformBootManagerLib/
      OvmfPkg/Library/PlatformDebugLibIoPort/DebugIoPortQemu.c
      OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
      OvmfPkg/Library/PlatformDebugLibIoPort/DebugLibDetect.c
      OvmfPkg/Library/PlatformDebugLibIoPort/DebugLibDetect.h
      OvmfPkg/Library/PlatformDebugLibIoPort/DebugLibDetectRom.c
      OvmfPkg/Library/PlatformDebugLibIoPort/PlatformDebugLibIoPort.inf
      OvmfPkg/Library/PlatformDebugLibIoPort/PlatformRomDebugLibIoPort.inf
      OvmfPkg/Library/PlatformInitLib/Cmos.c
      OvmfPkg/Library/PlatformInitLib/MemDetect.c
      OvmfPkg/Library/PlatformInitLib/Platform.c
      OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
      OvmfPkg/Library/PlatformSecureLib/
      OvmfPkg/Library/PxeBcPcdProducerLib/
      OvmfPkg/Library/QemuBootOrderLib/
      OvmfPkg/Library/QemuFwCfgLib/
      OvmfPkg/Library/QemuFwCfgS3Lib/
      OvmfPkg/Library/QemuFwCfgSimpleParserLib/
      OvmfPkg/Library/ResetSystemLib/BaseResetShutdown.c
      OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf
      OvmfPkg/Library/ResetSystemLib/DxeResetShutdown.c
      OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf
      OvmfPkg/Library/ResetSystemLib/ResetSystemLib.c
      OvmfPkg/Library/SmbiosVersionLib/
      OvmfPkg/Library/SmmCpuFeaturesLib/
      OvmfPkg/Library/SmmCpuPlatformHookLibQemu/
      OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/
      OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/
      OvmfPkg/Library/TlsAuthConfigLib/
      OvmfPkg/Library/UefiDriverEntryPointFwCfgOverrideLib/
      OvmfPkg/Library/UefiPciCapPciIoLib/
      OvmfPkg/Library/VirtioLib/
      OvmfPkg/Library/VirtioMmioDeviceLib/
      OvmfPkg/Library/X86QemuLoadImageLib/
      OvmfPkg/License.txt
      OvmfPkg/LinuxInitrdDynamicShellCommand/
      OvmfPkg/LocalApicTimerDxe/
      OvmfPkg/OvmfPkg.ci.yaml
      OvmfPkg/OvmfPkg.dec
      OvmfPkg/OvmfPkgIa32.dsc
      OvmfPkg/OvmfPkgIa32.fdf
      OvmfPkg/OvmfPkgIa32X64.dsc
      OvmfPkg/OvmfPkgIa32X64.fdf
      OvmfPkg/OvmfPkgX64.dsc
      OvmfPkg/OvmfPkgX64.fdf
      OvmfPkg/PciHotPlugInitDxe/
      OvmfPkg/PlatformCI/
      OvmfPkg/PlatformDxe/
      OvmfPkg/PlatformHasAcpiDtDxe/
      OvmfPkg/PlatformPei/ClearCache.c
      OvmfPkg/PlatformPei/FeatureControl.c
      OvmfPkg/PlatformPei/Fv.c
      OvmfPkg/PlatformPei/MemDetect.c
      OvmfPkg/PlatformPei/MemTypeInfo.c
      OvmfPkg/PlatformPei/Platform.c
      OvmfPkg/PlatformPei/Platform.h
      OvmfPkg/PlatformPei/PlatformPei.inf
      OvmfPkg/QemuFlashFvbServicesRuntimeDxe/
      OvmfPkg/QemuKernelLoaderFsDxe/
      OvmfPkg/QemuRamfbDxe/
      OvmfPkg/QemuVideoDxe/
      OvmfPkg/README
      OvmfPkg/Sec/Ia32/SecEntry.nasm
      OvmfPkg/Sec/SecMain.c
      OvmfPkg/Sec/SecMain.inf
      OvmfPkg/Sec/X64/SecEntry.nasm
      OvmfPkg/SioBusDxe/
      OvmfPkg/SmbiosPlatformDxe/EntryPoint.c
      OvmfPkg/SmbiosPlatformDxe/Qemu.c
      OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c
      OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.h
      OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
      OvmfPkg/SmmAccess/
      OvmfPkg/SmmControl2Dxe/
      OvmfPkg/Tcg/Tcg2Config/
      OvmfPkg/VirtNorFlashDxe/
      OvmfPkg/Virtio10Dxe/
      OvmfPkg/VirtioBlkDxe/
      OvmfPkg/VirtioFsDxe/
      OvmfPkg/VirtioGpuDxe/
      OvmfPkg/VirtioNetDxe/
      OvmfPkg/VirtioPciDeviceDxe/
      OvmfPkg/VirtioRngDxe/
      OvmfPkg/VirtioScsiDxe/
    
    Cc: Andrew Fish <afish@apple.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231116215058.8113-3-lersek@redhat.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    408ca20 View commit details
    Browse the repository at this point in the history
  7. Maintainers.txt: add Laszlo Ersek as a UefiCpuPkg maintainer

    I intend to assist with the maintenance of the following files and
    directories:
    
      UefiCpuPkg/CpuDxe/
      UefiCpuPkg/CpuIo2Dxe/
      UefiCpuPkg/CpuIo2Smm/CpuIo2Mm.c
      UefiCpuPkg/CpuIo2Smm/CpuIo2Mm.h
      UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.c
      UefiCpuPkg/CpuIo2Smm/CpuIo2Smm.inf
      UefiCpuPkg/CpuMpPei/
      UefiCpuPkg/CpuS3DataDxe/
      UefiCpuPkg/Include/AcpiCpuData.h
      UefiCpuPkg/Include/CpuHotPlugData.h
      UefiCpuPkg/Include/Library/CpuPageTableLib.h
      UefiCpuPkg/Include/Library/LocalApicLib.h
      UefiCpuPkg/Include/Library/MmSaveStateLib.h
      UefiCpuPkg/Include/Library/MpInitLib.h
      UefiCpuPkg/Include/Library/SmmCpuFeaturesLib.h
      UefiCpuPkg/Include/Library/SmmCpuPlatformHookLib.h
      UefiCpuPkg/Include/Protocol/SmmCpuService.h
      UefiCpuPkg/Include/Register/
      UefiCpuPkg/Include/StuffRsbNasm.inc
      UefiCpuPkg/Library/BaseXApicX2ApicLib/
      UefiCpuPkg/Library/CpuExceptionHandlerLib/
      UefiCpuPkg/Library/CpuPageTableLib/CpuPageTable.h
      UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableLib.inf
      UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableMap.c
      UefiCpuPkg/Library/CpuPageTableLib/CpuPageTableParse.c
      UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveState.c
      UefiCpuPkg/Library/MmSaveStateLib/AmdMmSaveStateLib.inf
      UefiCpuPkg/Library/MmSaveStateLib/MmSaveState.h
      UefiCpuPkg/Library/MmSaveStateLib/MmSaveStateCommon.c
      UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
      UefiCpuPkg/Library/MpInitLib/DxeMpLib.c
      UefiCpuPkg/Library/MpInitLib/Ia32/CreatePageTable.c
      UefiCpuPkg/Library/MpInitLib/Ia32/MpFuncs.nasm
      UefiCpuPkg/Library/MpInitLib/MpEqu.inc
      UefiCpuPkg/Library/MpInitLib/MpHandOff.h
      UefiCpuPkg/Library/MpInitLib/MpLib.c
      UefiCpuPkg/Library/MpInitLib/MpLib.h
      UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
      UefiCpuPkg/Library/MpInitLib/PeiMpLib.c
      UefiCpuPkg/Library/MpInitLib/X64/CreatePageTable.c
      UefiCpuPkg/Library/MpInitLib/X64/MpFuncs.nasm
      UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.c
      UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
      UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/
      UefiCpuPkg/Library/SmmCpuRendezvousLib/
      UefiCpuPkg/PiSmmCpuDxeSmm/
      UefiCpuPkg/UefiCpuPkg.dec
      UefiCpuPkg/UefiCpuPkg.dsc
      UefiCpuPkg/Universal/Acpi/S3Resume2Pei/
    
    Cc: Andrew Fish <afish@apple.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231116215058.8113-4-lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    lersek authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    ff22700 View commit details
    Browse the repository at this point in the history
  8. Maintainers.txt: add Aaron Young as MptScsi and PvScsi reviewer

    I asked Aaron if he'd be willing to take the "R" role for the MptScsi and
    PvScsi drivers in OvmfPkg, given their low maintenance needs and previous
    commit 1774a44 ("Maintainers.txt: Remove MptScsi and PvScsi
    reviewers", 2022-07-28). Designate Aaron as reviewer for those drivers,
    with many thanks.
    
    Cc: Aaron Young <aaron.young@oracle.com>
    Cc: Andrew Fish <afish@apple.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Signed-off-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20231121140145.11151-1-lersek@redhat.com>
    Reviewed-by: Aaron Young <aaron.young@oracle.com>
    lersek authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    2cd9d5f View commit details
    Browse the repository at this point in the history
  9. MdePkg: Define the DevicePath argument from LoadImage as optional

    Update the EFI LoadImage API in accordance with the
    UEFI v2.10 specification.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: T V Krishnamoorthy <krishnamoorthy.t.v@intel.com>
    Signed-off-by: ManickamX Srinivasan <manickamx.srinivasan@intel.com>
    Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    sriniv2x authored and mergify[bot] committed Dec 8, 2023
    Configuration menu
    Copy the full SHA
    3c40ee8 View commit details
    Browse the repository at this point in the history

Commits on Dec 9, 2023

  1. MdePkg: Add UEFI v2.10 ISA memory type definition

    New memory type as defined in UEFI standard v2.10
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: T V Krishnamoorthy <krishnamoorthy.t.v@intel.com>
    Signed-off-by: ManickamX Srinivasan <manickamx.srinivasan@intel.com>
    Reviewed-by: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    sriniv2x authored and mergify[bot] committed Dec 9, 2023
    Configuration menu
    Copy the full SHA
    85a5141 View commit details
    Browse the repository at this point in the history

Commits on Dec 11, 2023

  1. StandaloneMmPkg/StandaloneMmHobLib: Remove HOB creation

    According to the discussion in "StandaloneMmPkg: Fix HOB space and
    heap space conflicted issue" [1], Standalone MM modules should be HOB
    consumers where HOB is read-only. Therefore, this patch removes the
    supported functions for HOB creation in the StandaloneMmHobLib.
    
    [1] https://edk2.groups.io/g/devel/message/108333
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Cc: Oliver Smith-Denny <osde@linux.microsoft.com>
    Signed-off-by: Nhi Pham <nhiphambka@gmail.com>
    nhivp authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    bb13a4a View commit details
    Browse the repository at this point in the history
  2. BaseTools: FMMT replace new free space fixing in replace

    In FMMT replace function, when newffs size <= targetffs size,
    the new free space is calculated wrong as loss the pad data delta size.
    That will cause invalid binary generated.
    This patch fixes this issue.
    
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Bob Feng <bob.c.feng@intel.com>
    Signed-off-by: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>
    YuweiChen1110 authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    b5f5106 View commit details
    Browse the repository at this point in the history
  3. BaseTools: FMMT replace output file is not generated successfully

    For replace function, when target Ffs and new ffs are with
    same size, the output file can not be generated successfully.
    This patch fixes this issue.
    
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Bob Feng <bob.c.feng@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>
    YuweiChen1110 authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    9627447 View commit details
    Browse the repository at this point in the history
  4. BaseTools: FMMT support ELF UPLD parser

    FMMT add new function to support the .elf file parsing.
    Using '-v' option, the UPLD info will be printed out.
    
    '''
    - UNIVERSAL_PAYLOAD_INFO
      - 4 bytes align (BOOLEAN)
        - Identifier
        - SpecRevision
        - Attribute
        - Revision
        - Capability
        - ProducerId
        - ImageId
    UPLD Buffer
    '''
    
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Bob Feng <bob.c.feng@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>
    YuweiChen1110 authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    59f0d35 View commit details
    Browse the repository at this point in the history
  5. BaseTools: fixing FMMT ShrinkFv issue

    1. FvLength not change issue;
    2. FileSystemGuid align with File Size;
    
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Bob Feng <bob.c.feng@intel.com>
    Signed-off-by: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Bob Feng <bob.c.feng@intel.com>
    YuweiChen1110 authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    5b54815 View commit details
    Browse the repository at this point in the history
  6. MdePkg: Improve wording of manageability debug level comment

    Improve the wording of the comment explaining the DEBUG_MANAGEABILITY
    debug level.
    
    Signed-off-by: Rebecca Cran <rebecca@os.amperecomputing.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Rebecca Cran authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    03be51e View commit details
    Browse the repository at this point in the history
  7. MdePkg: Add manageability debug level to PcdFixedDebugPrintErrorLevel

    Update MdePkg.dec to add the manageability debug level to
    PcdFixedDebugPrintErrorLevel.
    
    Signed-off-by: Rebecca Cran <rebecca@os.amperecomputing.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Rebecca Cran authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    20ca600 View commit details
    Browse the repository at this point in the history
  8. MdePkg: Update MdePkg.uni with manageability debug level

    Update MdePkg.uni with the manageability debug level.
    
    Signed-off-by: Rebecca Cran <rebecca@os.amperecomputing.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Rebecca Cran authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    9e9c359 View commit details
    Browse the repository at this point in the history
  9. ArmVirtPkg: Sync debug level comments in ArmVirt.dsc.inc

    Update the debug level comments in ArmVirt.dsc.inc to sync with
    MdePkg/Include/Library/DebugLib.h.
    
    Signed-off-by: Rebecca Cran <rebecca@os.amperecomputing.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Rebecca Cran authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    aa2f32c View commit details
    Browse the repository at this point in the history
  10. MdePkg: Change IoLibFifo.c to IoLibFifoCc.c

    Change IoLibFifo.c to IoLibFifoCc.c since the
    file is for Tdx and SEV in BaseIoLibIntrinsicSev.
    It's also to distinguish with a new incoming
    IoLibFifo.c for BaseIoLibIntrinsic.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
    Acked-by: Laszlo Ersek <lersek@redhat.com>
    td36 authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    3c73532 View commit details
    Browse the repository at this point in the history
  11. MdePkg:simplify Fifo API in BaseIoLibIntrinsic

    Simplify IoRead/WriteFifo implement by repeatedly
    calling IoRead/Write in the C code.
    This can avoid calling assembly code to use string
    I/O instructions. With this change Ia32/IoFifo.nasm
    and X64/IoFifo.nasm can be removed. Then the source
    files for IA32 and X64 are the same.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
    Acked-by: Laszlo Ersek <lersek@redhat.com>
    td36 authored and mergify[bot] committed Dec 11, 2023
    Configuration menu
    Copy the full SHA
    1d50544 View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. UefiCpuPkg: Create gMpInformationHobGuid2 in UefiCpuPkg

    Create gMpInformationHobGuid2 in UefiCpuPkg.
    
    Currently, there is a gMpInformationHobGuid defined,
    created and consumed only in StandaloneMmPkg. The HOB
    contains the EFI_PROCESSOR_INFORMATION structure for
    each CPU and the number of processors. This is the same
    as the information that PiSmmCpuDxeSmm uses MpService
    Protocol to get.
    
    This new gMpInformationHobGuid2 also contains the
    NumberOfProcessors and the EFI_PROCESSOR_INFORMATION
    for each CPU. Also the HOB is extended to support the
    case that the maximum HOB length is not enough for all
    CPU. So there might be more than one HOB instance in the
    HOB list. Each HOB describes the corresponding CPU index
    range.
    
    The plan is to create gMpInformationHob2Guid in CpuMpPei
    module(implemented in next commit). Then PiSmmCpuDxeSmm
    and other MM_STANDALONE modules can consume the hob. This
    can avoid calling MpService Protocol in PiSmmCpuDxeSmm.
    Also the issue that one gMpInformationHobGuid might be not
    enough when CPU number is 1~2000 or bigger can be solved.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    c02eed8 View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg: Build MpInfo2HOB in CpuMpPei

    Build MpInfo2HOB in CpuMpPei module so that later
    PiSmmCpuDxe or other StandaloneMm module can consume
    the HOB.
    Since there might be more one gMpInformationHobGuid2
    in HOB list, CpuMpPei create a gMpInformationHobGuid2
    with 0 value NumberOfProcessors field in the end of the
    process to indicate it's the last MP_INFORMATION2_HOB.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    e10f1f5 View commit details
    Browse the repository at this point in the history
  3. UefiCpuPkg: Consume MpInfo2Hob in PiSmmCpuDxe

    Consume MpInfo2Hob in PiSmmCpuDxe driver to get
    NumberOfProcessors, MaxNumberOfCpus and
    EFI_PROCESSOR_INFORMATION for all CPU from the
    MpInformation2 HOB.
    This can avoid calling MP service.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    be44fff View commit details
    Browse the repository at this point in the history
  4. UefiCpuPkg: Add a new field in MpInfo2 HOB

    Add new field CoreType in gMpInformationHobGuid2
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    fc4f662 View commit details
    Browse the repository at this point in the history
  5. UefiCpuPkg: Cache core type in MpInfo2 HOB

    Cache core type in MpInfo2 HOB by CpuMpPei module.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    e51965d View commit details
    Browse the repository at this point in the history
  6. UefiCpuPkg: Avoid assuming only one smmbasehob

    Modify the gSmmBaseHobGuid consumption code to
    remove the asuumption that there is only one
    gSmmBaseHobGuid. If the CPU number is big enough,
    there will be more than one SmmBaseHob in the
    HOB list.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    725acd0 View commit details
    Browse the repository at this point in the history
  7. ArmVirtQemu: Allow EFI memory attributes protocol to be disabled

    Shim's PE loader uses the EFI memory attributes protocol in a way that
    results in an immediate crash when invoking the loaded image, unless the
    base and size of its executable segment are both aligned to 4k.
    
    If this is not the case, it will strip the memory allocation of its
    executable permissions, but fail to add them back for the executable
    region, resulting in non-executable code. Unfortunately, the PE loader
    does not even bother invoking the protocol in this case (as it notices
    the misalignment), making it very hard for system firmware to work
    around this by attempting to infer the intent of the caller.
    
    So let's introduce a QEMU command line option to indicate that the
    protocol should not be exposed at all, and a PCD to set the default for
    this option when it is omitted.
    
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Tested-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Link: https://gitlab.com/qemu-project/qemu/-/issues/1990
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    ardbiesheuvel authored and mergify[bot] committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    cee7ba3 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2023

  1. RedfishPkg/RedfishDicovery: Remedy Redfish service discovery flow

    Remedy Redfish service discovery flow changes made
    in commit 8736b8f.
    
    The above fix creates the dependency with SMBIOS 42h record,
    which has a problem as SMBIOS 42h may not be created when
    RedfishDiscovery.Supported() is invoked even all of the
    required protocols are ready on the ControllerHandle. We can’t
    guarantee SMBIOS 42 structure will be always created before
    ConnectController(). USB NIC maybe detected late and it means
    PlatformHostInterfaceBmcUsbNicLib can populate SMBIOS 42h
    information late as well. Calling to
    RedfishServiceGetNetworkInterface with the previous fix may
    result in no network interface for BMC-exposed NIC as SMBIOS
    42h is not ready yet.This is the first issue.
    
    Second, to skip the network interface when
    NetworkInterfaceGetSubnetInfo() returns a failure also has
    problem, as the NIC may be configured via RestEx->Configure().
    This happens after the Host interface is discovered, as at this
    moment we have the sufficient network information to configure
    BMC-exposed NIC.
    
    Base on Redfish spec in 31.1.5.2, “EFI Redfish Client may provide
    selection UI of network interfaces for Redfish service discovery.",
    This means edk2 Redfish client gets all network interfaces
    through RedfishServiceGetNetworkInterface and choose the desired
    network interface at its discretion for Redfish service.
    
    So the fix here is:
    1. In BuildNetworkInterface(), we don’t skip any network
       interface. In RedfishServiceGetNetworkInterface, we don’t
       skip any network interface even the subnet information is not
       retrieved. We will still return all of network interfaces to
       client.
    2. In RedfishServiceAcquireService for
       EFI_REDFISH_RISCOVER_HOST_INTERFACE case, we don’t skip any
       network interface even the subnet information is not
       retrieved.
    
    3. Added some more debug information.
    
    Note: The subnet information is used for the scenario the system
    is managed by a centralized Redfish service (not on BMC), says
    the multiple Redfish computer system instances. As it mentions
    in 31.1.5.2, Redfish client they may have to know the subnet
    information so they can know the network domain the NIC is
    connected. There may have multiple subnets in the corporation
    network environment. So the subnet information provides client
    an idea when they choose the network interface, so does VLAN ID.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Igor Kulchytskyy <igork@ami.com>
    Acked-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    changab authored and mergify[bot] committed Dec 13, 2023
    Configuration menu
    Copy the full SHA
    b8a3eec View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. CloudHv: Add CI for CloudHv on AArch64

    Add the long lost CI for CloudHv on AArch64.
    As CloudHv CI works nearly the same way with other VMMs like KvmTool,
    thus we can easily create its CI configuration based on KvmTool.
    
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: Jianyong Wu <jianyong.wu@arm.com>
    Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
    jongwu authored and mergify[bot] committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    59a952d View commit details
    Browse the repository at this point in the history
  2. ArmPkg/DebugPeCoffExtraActionLib: Drop RVCT and Cygwin support

    The DebugPeCoffExtraActionLib implemention in ArmPkg contains some cruft
    that dates back to the original RVCT based ARM port, and support for
    RVCT was dropped a while ago.
    
    Also drop the handling of Cygwin specific paths, which is highly
    unlikely to be still depended upon by anyone.
    
    Tweak the logic so that only two versions of the DEBUG() invocations
    remain: one for __GNUC__ when PdbPointer is set, and the fallback that
    just prints the image address and the address of the entrypoint.
    
    Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
    Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    ardbiesheuvel authored and mergify[bot] committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    7f5e758 View commit details
    Browse the repository at this point in the history
  3. FatPkg/FatPei: Check array offset before use

    Move the range check before array access to enforce the bounds
    as expected.
    
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    makubacki authored and mergify[bot] committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    3ce5f2d View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. ShellPkg: Tidy for code readability

    Use error handling instead of success handling.
    Less indented logic is easier to read.
    
    Cc: Zhichao Gao <zhichao.gao@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    
    Signed-off-by: Daniel Nguyen <daniel.nguyen@arm.com>
    Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
    danielnguyen-arm authored and mergify[bot] committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    74daede View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. StandaloneMmPkg/Core: Limit FwVol encapsulation section recursion

    MmCoreFfsFindMmDriver() is called recursively for encapsulation sections.
    Currently this recursion is not limited. Introduce a new PCD
    (fixed-at-build, or patchable-in-module), and make MmCoreFfsFindMmDriver()
    track the section nesting depth against that PCD.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    xuweiintel authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    c012284 View commit details
    Browse the repository at this point in the history
  2. StandaloneMmPkg/Core: Fix potential memory leak issue

    In MmCoreFfsFindMmDriver(),
    - ScratchBuffer is not freed in the error return path that DstBuffer page
    allocation fails. Free ScratchBuffer before return with error.
    - If the decoded buffer is identical to the data in InputSection,
    ExtractGuidedSectionDecode() will change the value of DstBuffer rather
    than changing the contents of the buffer that DstBuffer points at, in
    which case freeing DstBuffer is wrong. Introduce a local variable
    AllocatedDstBuffer for buffer free, free AllocatedDstBuffer immediately
    if it is not used.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    xuweiintel authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    0904161 View commit details
    Browse the repository at this point in the history
  3. StandaloneMmPkg/Core: Fix issue that offset calculation might be wrong

    MmCoreFfsFindMmDriver() assumes FileHeader is EFI_FFS_FILE_HEADER.
    If FileHeader is an EFI_FFS_FILE_HEADER2, 'FileHeader + 1' will get a
    wrong section address. Use FfsFindSection to get the section directly,
    instead of 'FileHeader + 1' to avoid this issue.
    MmCoreFfsFindMmDriver() also assumes section is EFI_COMMON_SECTION_HEADER.
    If Section is EFI_COMMON_SECTION_HEADER2, 'Section + 1' will get a wrong
    wrong InnerFvHeader adress. Add section head detection and calculate the
    address accordingly.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    xuweiintel authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    4a9fcab View commit details
    Browse the repository at this point in the history
  4. StandaloneMmPkg/Core: Fix the failure to find uncompressed inner FV

    The MmCoreFfsFindMmDriver only checks for encapsulated compressed FVs.
    When an inner FV is uncompressed, StandaloneMmCore will miss the FV and
    all the MM drivers in the FV will not be dispatched.
    Add checks for uncompressed inner FV to fix this issue.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    xuweiintel authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    3c66390 View commit details
    Browse the repository at this point in the history
  5. MdePkg: Move RISC-V Cache Management Declarations Into BaseLib

    The declarations for cache Management functions belong to BaseLib
    instead of instance source file. This helps with further restructuring
    of cache management code for RISC-V.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    
    Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    dhaval-rivos authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    286b30f View commit details
    Browse the repository at this point in the history
  6. MdePkg: Rename Cache Management Function To Clarify Fence Based Op

    There are different ways to manage cache on RISC-V Processors.
    One way is to use fence instruction. Another way is to use CPU
    specific cache management operation instructions ratified as
    per RISC-V ISA specifications to be introduced in future
    patches. Current method is fence instruction based, rename the
    function accordingly to add that clarity.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Sunil V L <sunilvl@ventanamicro.com>
    Cc: Daniel Schaefer <git@danielschaefer.me>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    
    Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    dhaval-rivos authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    30faafd View commit details
    Browse the repository at this point in the history
  7. MdePkg: Implement RISC-V Cache Management Operations

    Implement Cache Management Operations (CMO) defined by
    RISC-V spec https://github.com/riscv/riscv-CMOs.
    
    Notes:
    1. CMO only supports block based Operations. Meaning cache
       flush/invd/clean Operations are not available for the entire
       range. In that case we fallback on fence.i instructions.
    2. Operations are implemented using Opcodes to make them compiler
       independent. binutils 2.39+ compilers support CMO instructions.
    
    Test:
    1. Ensured correct instructions are refelecting in asm
    2. Qemu implements basic support for CMO operations in that it allwos
       instructions without exceptions. Verified it works properly in
       that sense.
    3. SG2042Pkg implements CMO-like instructions. It was verified that
       CpuFlushCpuDataCache works fine. This more of less
       confirms that framework is alright.
    4. TODO: Once Silicon is available with exact instructions, we will
       further verify this.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Sunil V L <sunilvl@ventanamicro.com>
    Cc: Daniel Schaefer <git@danielschaefer.me>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    
    Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Sunil V L <sunilvl@...>
    Reviewed-by: Jingyu Li <jingyu.li01@...>
    dhaval-rivos authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    26727c2 View commit details
    Browse the repository at this point in the history
  8. MdePkg: Utilize Cache Management Operations Implementation For RISC-V

    Use newly defined cache management operations for RISC-V where possible
    It builds up on the support added for RISC-V cache management
    instructions in BaseLib.
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    
    Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
    Acked-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Pedro Falcato <pedro.falcato@gmail.com>
    Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
    dhaval-rivos authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    904b002 View commit details
    Browse the repository at this point in the history
  9. OvmfPkg/RiscVVirt: Override for RISC-V CPU Features

    This PCD provides a way for platform to override any
    HW features that are default enabled by previous stages
    of FW (like OpenSBI). For the case where previous/prev
    stage has disabled the feature, this override is not
    useful and its usage should be avoided.
    
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Jordan Justen <jordan.l.justen@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Sunil V L <sunilvl@ventanamicro.com>
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    
    Signed-off-by: Dhaval Sharma <dhaval@rivosinc.com>
    Acked-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Andrei Warkentin <andrei.warkentin@...>
    Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
    dhaval-rivos authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    b1f33cb View commit details
    Browse the repository at this point in the history
  10. MdeModulePkg/UefiBootManagerLib: Signal ReadyToBoot on platform recovery

    Currently, the ReadyToBoot event is only signaled when a formal Boot
    Manager option is executed (in BmBoot.c -> EfiBootManagerBoot ()).
    
    However, the introduction of Platform Recovery in UEFI 2.5 makes it
    necessary to signal ReadyToBoot when a Platform Recovery boot loader
    runs because otherwise it may lead to the execution of a boot loader
    that has similar requirements to a regular one that is not launched
    as a Boot Manager option.
    
    This is especially critical to ensuring that the graphical console is
    actually usable during platform recovery, as some platforms do rely on
    the ConsolePrefDxe driver, which only performs console initialization
    after ReadyToBoot is triggered.
    
    This patch fixes that behavior by calling EfiSignalEventReadyToBoot ()
    in EfiBootManagerProcessLoadOption () when invoking platform recovery,
    which is the function that sets up the platform recovery boot process.
    
    The expected behavior has been clarified in the UEFI 2.10 specification
    to explicitly indicate this behavior is required for correct operation.
    
    This is a rebased version of the patch originally written by Pete Batard.
    
    Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2831
    
    Co-authored-by: Pete Batard <pete@akeo.ie>
    Signed-off-by: Neal Gompa <ngompa@fedoraproject.org>
    Reviewed-by: Jeremy Linton <jeremy.linton@arm.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    2 people authored and mergify[bot] committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    8c1e9f9 View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. UefiCpuPkg/PiSmmCpuDxeSmm: Optimize Semaphore Sync between BSP and AP

    This patch is to define 3 new functions (WaitForBsp & ReleaseBsp &
    ReleaseOneAp) used for the semaphore sync between BSP & AP. With the
    change, BSP and AP Sync flow will be easy understand as below:
    BSP: ReleaseAllAPs or ReleaseOneAp --> AP: WaitForBsp
    BSP: WaitForAllAPs                 <-- AP: ReleaseBsp
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    e14a022 View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg: Adds SmmCpuSyncLib library class

    Intel is planning to provide different SMM CPU Sync implementation
    along with some specific registers to improve the SMI performance,
    hence need SmmCpuSyncLib Library for Intel.
    
    This patch is to:
    1.Adds SmmCpuSyncLib Library class in UefiCpuPkg.dec.
    2.Adds SmmCpuSyncLib.h function declaration header file.
    
    For the new SmmCpuSyncLib, it provides 3 sets of APIs:
    
    1. ContextInit/ContextDeinit/ContextReset:
    ContextInit() is called in driver's entrypoint to allocate and
    initialize the SMM CPU Sync context. ContextDeinit() is called in
    driver's unload function to deinitialize SMM CPU Sync context.
    ContextReset() is called before CPU exist SMI, which allows CPU to
    check into the next SMI from this point.
    
    2. GetArrivedCpuCount/CheckInCpu/CheckOutCpu/LockDoor:
    When SMI happens, all processors including BSP enter to SMM mode by
    calling CheckInCpu(). The elected BSP calls LockDoor() so that
    CheckInCpu() will return the error code after that. CheckOutCpu() can
    be called in error handling flow for the CPU who calls CheckInCpu()
    earlier. GetArrivedCpuCount() returns the number of checked-in CPUs.
    
    3. WaitForAPs/ReleaseOneAp/WaitForBsp/ReleaseBsp
    WaitForAPs() & ReleaseOneAp() are called from BSP to wait the number
    of APs and release one specific AP. WaitForBsp() & ReleaseBsp() are
    called from APs to wait and release BSP. The 4 APIs are used to
    synchronize the running flow among BSP and APs. BSP and AP Sync flow
    can be easy understand as below:
    BSP: ReleaseOneAp  -->  AP: WaitForBsp
    BSP: WaitForAPs    <--  AP: ReleaseBsp
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    ba822d2 View commit details
    Browse the repository at this point in the history
  3. MdePkg/MdeLibs.dsc.inc: Add SafeIntLib instance

    This patch is to add SafeIntLib in MdeLibs.dsc.inc
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.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: Michael D Kinney <michael.d.kinney@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    6f6a43c View commit details
    Browse the repository at this point in the history
  4. UefiCpuPkg: Implements SmmCpuSyncLib library instance

    Implements SmmCpuSyncLib Library instance. The instance refers the
    existing SMM CPU driver (PiSmmCpuDxeSmm) sync implementation
    and behavior:
    1.Abstract Counter and Run semaphores into SmmCpuSyncCtx.
    2.Abstract CPU arrival count operation to
    SmmCpuSyncGetArrivedCpuCount(), SmmCpuSyncCheckInCpu(),
    SmmCpuSyncCheckOutCpu(), SmmCpuSyncLockDoor().
    Implementation is aligned with existing SMM CPU driver.
    3. Abstract SMM CPU Sync flow to:
    BSP: SmmCpuSyncReleaseOneAp  -->  AP: SmmCpuSyncWaitForBsp
    BSP: SmmCpuSyncWaitForAPs    <--  AP: SmmCpuSyncReleaseBsp
    Semaphores release & wait during sync flow is same as existing SMM
    CPU driver.
    4.Same operation to Counter and Run semaphores by leverage the atomic
    compare exchange.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    69eb9ad View commit details
    Browse the repository at this point in the history
  5. OvmfPkg: Specifies SmmCpuSyncLib instance

    This patch is to specify SmmCpuSyncLib instance for OvmfPkg.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Jordan Justen <jordan.l.justen@intel.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    32f84bd View commit details
    Browse the repository at this point in the history
  6. 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>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    0a248f1 View commit details
    Browse the repository at this point in the history
  7. UefiCpuPkg/PiSmmCpuDxeSmm: Simplify RunningApCount decrement

    To decrease the count of RunningApCount, InterlockedDecrement is
    enough to achieve that.
    
    This patch is to simplify RunningApCount decrement.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    cc698d0 View commit details
    Browse the repository at this point in the history
  8. UefiCpuPkg/PiSmmCpuDxeSmm: Consume SmmCpuSyncLib

    There is the SmmCpuSyncLib Library class define the SMM CPU sync
    flow, which is aligned with existing SMM CPU driver sync behavior.
    This patch is to consume SmmCpuSyncLib instance directly.
    
    With this change, SMM CPU Sync flow/logic can be customized
    with different implementation no matter for any purpose, e.g.
    performance tuning, handle specific register, etc.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    a83d953 View commit details
    Browse the repository at this point in the history
  9. BaseTools: FMMT GuidTool Auto Select Config file Enabling

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4624
    
    Currently, Python FMMT tool does not support automatically
    select FMMTConf.ini file which saves GuidTool settings.
    This patch supports this features.
    
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Bob Feng <bob.c.feng@intel.com>
    
    Signed-off-by: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
    Rebecca Cran authored and mergify[bot] committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    89705ad View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2023

  1. BaseTools: Resolve regex syntax warnings

    Switches regex patterns to raw text to resolve python 3.12 syntax
    warnings in regards to invalid escape sequences, as is suggested by the
    re (regex) module in python.
    
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Bob Feng <bob.c.feng@intel.com>
    Cc: Yuwei Chen <yuwei.chen@intel.com>
    Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
    Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
    Joey Vagedes via groups.io authored and mergify[bot] committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    9f0061a View commit details
    Browse the repository at this point in the history
  2. BaseTools/GenFw: Correct offset when relocating an ADR

    When converting ELF to PE/COFF for the AArch64 target, we may encounter
    an R_AARCH64_ADR_GOT_PAGE relocation that refers to an ADR instruction
    instead of an ADRP instruction. This can happen when the toolchain is
    working around Cortex-A53 erratum #843419.  If that's the case, be sure
    to calculate the offset appropriately.
    
    This resolves an issue experienced when building a StandaloneMm image
    (which is built with -fpie) with stack protection enabled on GCC
    compiled with "--enable-fix-cortex-a53-843419". In this case, the linker
    may convert an ADRP instruction appearing at an offset of 0xff8 or 0xffc
    modulo 4KiB into an ADR instruction, but will leave the original
    R_AARCH64_ADR_GOT_PAGE relocation in place. (This is not a bug in the
    linker, given that there is no other relocation type that it could
    reasonably convert it into)
    
    In this scenario, the following code is being generated by the
    toolchain:
    
        # Load to set the stack canary
        2ffc:	10028020 	adr	x0, 8000 <mErrorString+0x1bc>
        3008:	f940d400 	ldr	x0, [x0, tianocore#424]
    
        # Load to check the stack canary
        30cc:	b0000020 	adrp	x0, 8000 <mErrorString+0x1bc>
        30d0:	f940d400 	ldr	x0, [x0, tianocore#424]
    
    GenFw rewrote that to:
    
        # Load to set the stack canary
        2ffc:	10000480 	adr	x0, 0x308c
        3008:	912ec000 	add	x0, x0, #0xbb0
    
        # Load to check the stack canary
        30cc:	f0000460 	adrp	x0, 0x92000
        30d0:	912ec000 	add	x0, x0, #0xbb0
    
    Note that we're now setting the stack canary from the wrong address,
    resulting in an erroneous stack fault.
    
    After this fix, the offset will be calculated correctly for an ADR and
    the stack canary is set correctly. Note that there is a corner case
    where this may cause the conversion to fail: if the original GOT entry
    is just within -/+ 1 MiB of the reference, but the actual variable it
    refers to is not, the resulting offset cannot be represented by the
    immediate offset field in a ADR instruction. Given that this issue only
    affects PIE executables, which are rare and usually tiny, this is
    unlikely to cause problems in practice.
    
    Ref: https://edk2.groups.io/g/devel/topic/102202314
    
    [ardb: expand commit log, add reference]
    
    Signed-off-by: Jake Garver <jake@nvidia.com>
    Reviewed-by: Rebecca Cran <rebecca@bsdio.com>
    jgarver authored and mergify[bot] committed Dec 21, 2023
    Configuration menu
    Copy the full SHA
    5d533bb View commit details
    Browse the repository at this point in the history

Commits on Dec 22, 2023

  1. DynamicTablesPkg: AML Code generation for word I/O ranges

    Add helper functions to generate AML resource data
    for word I/O.
    
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Abdul Lateef Attar authored and mergify[bot] committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    ea65643 View commit details
    Browse the repository at this point in the history
  2. DynamicTablesPkg: Corrects AmlCodeGenRdWordBusNumber parameters

    Corrects the parameters of AmlCodeGenRdWordBusNumber() to
    UINT16 to generate word bus number.
    
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Abdul Lateef Attar authored and mergify[bot] committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    f8c918c View commit details
    Browse the repository at this point in the history
  3. DynamicTablesPkg: Corrects function pointer typedef of AML_PARSE_FUNC…

    …TION
    
    Corrects the function pointer typedef AML_PARSE_FUNCTION,
    otherwise some compiler like VS2019 gives error.
    
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Abdul Lateef Attar authored and mergify[bot] committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    29ce755 View commit details
    Browse the repository at this point in the history
  4. DynamicTablesPkg: AML Code generation to invoke a method

    Adds API to generate AML code to invoke/call another
    method. Also provides ability to pass arguments of
    type integer, string, ArgObj or LocalObj.
    
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Abdul Lateef Attar authored and mergify[bot] committed Dec 22, 2023
    Configuration menu
    Copy the full SHA
    d01defe View commit details
    Browse the repository at this point in the history

Commits on Dec 25, 2023

  1. MdeModulePkg: Support customized FV Migration Information

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4533
    
    There are use cases which not all FVs need be migrated from TempRam to
    permanent memory before TempRam tears down. This new guid is introduced
    to avoid unnecessary FV migration to improve boot performance. Platform
    can publish MigrationInfo hob with this guid to customize FV migration
    info, and PeiCore will only migrate FVs indicated by this Hob info.
    
    This is a backwards compatible change, PeiCore will check MigrationInfo
    hob before migration. If MigrationInfo hobs exists, only migrate FVs
    recorded by hobs. If MigrationInfo hobs not exists, migrate all FVs to
    permanent memory.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Guomin Jiang <guomin.jiang@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Cheng Sun <chengx.sun@intel.com>
    chengsux authored and lgao4 committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    1065536 View commit details
    Browse the repository at this point in the history
  2. StandaloneMmPkg/Core: Remove dead code

    Load-module-at-fixed-address feature does not work in standalone MM core.
    
    The patch removes the 2 dead functions and related global variables
    that are related to the feature.
    
    Signed-off-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    niruiyu authored and mergify[bot] committed Dec 25, 2023
    Configuration menu
    Copy the full SHA
    54c6628 View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2023

  1. SourceLevelDebugPkg/Library: Indicate SMM Debug Agent support or not

    This patch is to use the Context to indicate SMM Debug Agent support
    or not if InitFlag is DEBUG_AGENT_INIT_SMM. Context must point to a
    BOOLEAN if it's not NULL.
    
    Cc: Ray Ni <ray.ni@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@Intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    7b3b39a View commit details
    Browse the repository at this point in the history
  2. MdeModulePkg/DebugAgentLibNull: Indicate SMM Debug Agent support or not

    This patch is to use the Context to indicate SMM Debug Agent support or
    not if InitFlag is DEBUG_AGENT_INIT_SMM. Context must point to a
    BOOLEAN if it's not NULL.
    
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@Intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    c7c2de7 View commit details
    Browse the repository at this point in the history
  3. UefiCpuPkg/PiSmmCpuDxeSmm: Check SMM Debug Agent support or not

    This patch is to check SMM Debug Agent support or not before
    InitializeDebugAgent.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@Intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    e1b62f3 View commit details
    Browse the repository at this point in the history
  4. UefiCpuPkg/PiSmmCpuDxeSmm: Align BSP and AP sync logic for SMI exit

    Below piece of code is the BSP and AP sync logic for SMI exit.
    1. AP after finish the scheduled procedure:
      if (SmmCpuFeaturesNeedConfigureMtrrs ()) {
        SmmCpuSyncReleaseBsp ();
        SmmCpuSyncWaitForBsp ();
        ...
      }
      SmmCpuSyncReleaseBsp ();
      SmmCpuSyncWaitForBsp ();
      SmmCpuSyncReleaseBsp ();
    
    2. BSP after return from SmmCoreEntry:
      SmmCpuSyncWaitForAPs ();
      if (SmmCpuFeaturesNeedConfigureMtrrs ()) {
        ReleaseAllAPs ();
        ...
        SmmCpuSyncWaitForAPs ();
      }
      ReleaseAllAPs ();
      SmmCpuSyncWaitForAPs();
    
    This patch is to make BSP same as AP sync logic:
      if (SmmCpuFeaturesNeedConfigureMtrrs ()) {
        SmmCpuSyncWaitForAPs ();
        ReleaseAllAPs ();
        ...
      }
      SmmCpuSyncWaitForAPs ();
      ReleaseAllAPs ();
      SmmCpuSyncWaitForAPs();
    
    With the change, it will be easy to understand the sync flow as
    below:
    BSP: SmmCpuSyncWaitForAPs  <--  AP: SmmCpuSyncReleaseBsp
    BSP: ReleaseAllAPs         -->  AP: SmmCpuSyncWaitForBsp
    
    This patch doesn't have function impact.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@Intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    3a4ec6d View commit details
    Browse the repository at this point in the history
  5. UefiCpuPkg/PiSmmCpuDxeSmm: Invert ReleaseAllAPs & InitializeDebugAgent

    Existing BSP handler stops source level debug, then call ReleaseAllAPs
    to tell all APs can reset the Present flag to FALSE:
      InitializeDebugAgent (); /// Stop source level debug
      ReleaseAllAPs ();        /// Tell APs can reset "Present" flag.
    
    This patch is to invert ReleaseAllAPs & InitializeDebugAgent:
      ReleaseAllAPs ();        /// Tell APs can reset "Present" flag.
      InitializeDebugAgent (); /// Stop source level debug
    
    After this change, there is no negative impact since SMM source level
    debug feature doesn't depend on AP's "Present" flag, no impact to the
    SMM source level debug capability.
    
    Instead, the change will benefit the AP source level debug capability
    to trace its "Present" flag change for SMI exit since the source
    level debug feature will be stopped after each AP has the chance to
    reset the state.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@Intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    41d1c44 View commit details
    Browse the repository at this point in the history
  6. UefiCpuPkg/PiSmmCpuDxeSmm: Reduce one round BSP & AP sync

    After BSP returned from SmmCoreEntry, there are several rounds BSP
    and AP sync in BSP handler:
    
    1 .ReleaseAllAPs();  /// Notify all APs to exit.
    if (SmmCpuFeaturesNeedConfigureMtrrs()) {
      2. SmmCpuSyncWaitForAPs(); /// Wait for all APs to program MTRRs.
      3. ReleaseAllAPs(); /// Signal APs to restore MTRRs.
    }
    
    4. SmmCpuSyncWaitForAPs(); /// Wait for all APs to complete pending
                                   tasks including MTRR.
    5. ReleaseAllAPs(); /// Signal APs to Reset states.
    
    6. SmmCpuSyncWaitForAPs(); /// Gather APs to exit SMM synchronously.
    
    Before step 6 and after step 5, BSP performs below items:
    A. InitializeDebugAgent() /// Stop source level debug.
    B. SmmCpuUpdate() /// Perform pending operations for hot-plug.
    C. Present = FALSE; /// Clear the Present flag of BSP.
    
    For InitializeDebugAgent(), BSP needs to wait all APs complete
    pending tasks and then notify all APs to stop source level debug.
    So, above step 4 & step 5 are required for InitializeDebugAgent().
    
    For SmmCpuUpdate(), it's to perform pending operations for
    hot-plug CPUs take effect in next SMI. Existing APs in SMI do not
    reply on the CPU switch & hot-add & hot-remove operations. So, no
    need step 4 and step 5 for additional one round BSP & AP sync.
    Step 6 can make sure all APs are ready to exit SMM, then hot-plug
    operation can take effect in next SMI.
    
    For BSP "Present" flag, AP does not reply on it. No need step 4
    and step 5 for additional one round BSP & AP sync.
    
    Based on above analysis, step 4 and step 5 are only required if
    need configure MTRR and support SMM source level debug. So, we can
    reduce one round BSP and AP sync if both are unsupported. With
    this change, SMI performance can be improved.
    
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Zeng Star <star.zeng@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
    Reviewed-by: Ray Ni <ray.ni@Intel.com>
    jiaxinwu authored and mergify[bot] committed Dec 26, 2023
    Configuration menu
    Copy the full SHA
    58d9463 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. RedfishPkg: fix RedfishPlatformHostInterfaceLib library class name typo.

    PlatformHostInterfaceBmcUsbNicLib is the library instance name not
    the class name.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    59b4b50 View commit details
    Browse the repository at this point in the history
  2. RedfishPkg: fix RedfishPlatformCredentialLib library class name typo.

    RedfishPlatformCredentialIpmiLib is the library instance name not the
    class name.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    4fdd516 View commit details
    Browse the repository at this point in the history
  3. RedfishPkg: get rid of unused definitions from RedfishCrtLib.h

    It seems that initial implementation of this header file is based on
    CrtLibSupport.h from CryptoPkg. But uid, euid, gid, egid and sa_family_t
    sre not used in RedfishPkg. So remove them.
    
    Also take "true" and "false" definition from MdePkg's LibFdtSupport.h
    header file, that also seems based on a header mentioned above.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    0f66c2e View commit details
    Browse the repository at this point in the history
  4. RedfishPkg: RedfishPlatformConfigDxe: reduce memory allocations

    It's unclear why the new string is allocated as copy of the original
    string if its pointer is stored in an array and the original string
    is released immediately after the copy is created. All data allocated
    in the same pool.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    d818133 View commit details
    Browse the repository at this point in the history
  5. RedfishPkg: RedfishDiscoverDxe: fix memory leak on error path.

    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    a87e850 View commit details
    Browse the repository at this point in the history
  6. RedfishPkg: add Component Name protocols to RedfishConfigHandler driver

    Currently there is no description for RedfishConfigHandler driver.
    This leads to <null string> in the "DRIVER NAME" column of a `drivers`
    command for example.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    8b59cb7 View commit details
    Browse the repository at this point in the history
  7. RedfishPkg: add proper initialization of IPMI request

    All fields of IPMI_CHANNEL_INFO_CHANNEL_NUMBER union must be
    initialized to avoid error condition on BMC side.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    24de462 View commit details
    Browse the repository at this point in the history
  8. EmulatorPkg: fix typo. PcdRedfishServie -> PcdRedfishService

    Cc: Nickle Wang <nicklew@nvidia.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    5e2338d View commit details
    Browse the repository at this point in the history
  9. EmulatorPkg: RedfishPlatformHostInterfaceLib: get rid of unused variable

    Cc: Nickle Wang <nicklew@nvidia.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    9e3de4e View commit details
    Browse the repository at this point in the history
  10. RedfishDiscoverDxe: introduce InitInformationData helper function

    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    2cd1b43 View commit details
    Browse the repository at this point in the history
  11. RedfishDiscoverDxe: refine InitInformationData(), remove unnecessary …

    …casts
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Pedro Falcato <pedro.falcato@gmail.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    17870bf View commit details
    Browse the repository at this point in the history
  12. RedfishDiscoverDxe: refine InitInformationData() function

    Cache size of ASCII string in local variable.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    d1c21f8 View commit details
    Browse the repository at this point in the history
  13. RedfishDiscoverDxe: add a helper function deallocating string resources.

    This patch adds a handy helper function deallocating resources from the
    EFI_REDFISH_DISCOVERED_INFORMATION structure instance.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    f8de39a View commit details
    Browse the repository at this point in the history
  14. RedfishDiscoverDxe: release resources when refreshing information data

    It is required to free previously allocated strings stored in
    DiscoveredInstance->Information structure.
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    139887a View commit details
    Browse the repository at this point in the history
  15. RedfishDiscoverDxe: handle memory allocation error conditions.

    REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4625
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    91f1ce4 View commit details
    Browse the repository at this point in the history
  16. RedfishPkg: RedfishDiscoverDxe: add [] brackets to URI for IPv6 addre…

    …sses
    
    URI is generated based on the RedfishLocation containing an ASCII string
    representing the IP address. So, in the case of IPv4 the canonical
    representation of an IPv4 address was inserted into the resulting Unicode
    string i.e: "http{,s}://X.X.X.X/".
    
    In the case of IPv6, to access resources, the IP address must be specified
    in brackets, i.e. the resulting string should look like:
      "http{,s}://[X::X:X:X:X]/".
    
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    ghbaccount authored and mergify[bot] committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    d7d4f09 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. EmbeddedPkg/PrePiMemoryAllocationLib: Add ReallocatePool

    Add implementation of ReallocatePool which is defined in the
    MemoryAllocationLib header file to allow components to not
    need special handling for PrePi module types.
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Jeff Brasen via groups.io authored and mergify[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    0d39cae View commit details
    Browse the repository at this point in the history
  2. EmbeddedPkg: Add host based dependency to ci

    Add UnitTestFrameworkPkg to AcceptableDependencies-HOST_APPLICATION list
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Jeff Brasen via groups.io authored and mergify[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    5804e94 View commit details
    Browse the repository at this point in the history
  3. EmbeddedPkg: Add DtPlatformLoaderLib gmock support

    Add Google Mock Library for DtPlatformLoaderDtbLib
    
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Jeff Brasen via groups.io authored and mergify[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    7a5823f View commit details
    Browse the repository at this point in the history
  4. DynamicTablesPkg: Fix X64 compilation errors

    Add the support for X64 compilation to the CI.
    Fix the compilation errors.
    
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Abdul Lateef Attar authored and mergify[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    ea658e3 View commit details
    Browse the repository at this point in the history
  5. DynamicTablesPkg: Fix IA32 compilation errors

    Add the support for X64 compilation to the CI.
    - Fix the signed and unsigned variable comparision.
      warning C4018: '>': signed/unsigned mismatch
    - Fix the NOOPT build error for IA32 by replacing
      64bit shift operator with LShiftU64.
    
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Abdul Lateef Attar authored and mergify[bot] committed Jan 3, 2024
    Configuration menu
    Copy the full SHA
    16c8cfc View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. CryptoPkg: move define to CrtLibSupport

    REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4632
    
    The before code will cause redefine error.
    This patch move them to CrtLibSupport header.
    But Openssl has already defined them internally,
    need to increase support for OPENSLL_SYS_UEFI judgment.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Yi Li <yi1.li@intel.com>
    Cc: Guomin Jiang <guomin.jiang@intel.com>
    Signed-off-by: Wenxing Hou <wenxing.hou@intel.com>
    Reviewed-by: Yi Li <yi1.li@intel.com>
    Wenxing-hou authored and mergify[bot] committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    e449451 View commit details
    Browse the repository at this point in the history

Commits on Jan 5, 2024

  1. UefiCpuPkg/CpuMpPei: Parallel get stack base for better performance.

    Parallel run the function GetStackBase for all APs for better
    performance.
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Star Zeng <star.zeng@intel.com>
    Cc: Daoxiang Li <daoxiang.li@intel.com>
    Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
    LiuZhiguang001 authored and mergify[bot] committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    e8166a8 View commit details
    Browse the repository at this point in the history
  2. EmulatorPkg: Improve comments in WinThunk.c

    File description has not been updated since Nt32Pkg was merged
    with EmulatorPkg, and several details were no longer technically accurate.
    
    Cc: Andrew Fish <afish@apple.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Chasel Chiu <chasel.chiu@intel.com>
    Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
    nate-desimone authored and mergify[bot] committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    3114fd8 View commit details
    Browse the repository at this point in the history
  3. EmulatorPkg: Update MMTimerThread() signature

    In the early 2000s as part of the x64 transition the definition
    for LPTIMECALLBACK changed from (UINT, UINT, DWORD, DWORD, DWORD)
    to (UINT, UINT, DWORD_PTR, DWORD_PTR, DWORD_PTR). However,
    the MMTimerThread() function was never updated to the new
    signature. Since the implementation does not use the last three
    parameters, this issue has not been caught until now.
    
    Cc: Andrew Fish <afish@apple.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
    nate-desimone authored and mergify[bot] committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    5a2490d View commit details
    Browse the repository at this point in the history
  4. Add EFI_STATUS return to EMU_THUNK_PROTOCOL.SetTime()

    There is an inconsistency between the UNIX and Windows
    implementations of EMU_THUNK_PROTOCOL.SetTime(). The Windows
    version returns an EFI_STATUS value whereas the the UNIX
    implementation is VOID. However, the UNIX implementation is an
    unimplemented stub whereas the Windows version is implementated.
    
    The current EMU_THUNK_PROTOCOL function pointer definition
    specifies a VOID return type. However, EMU_THUNK_PROTOCOL.SetTime()
    is close to the spec defined gRT->SetTime() except for missing the
    EFI_STATUS return type.
    
    Therefore, I conclude that the most sensible reconciliation is to
    add the EFI_STATUS return type to the protocol definition.
    
    Cc: Andrew Fish <afish@apple.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Chasel Chiu <chasel.chiu@intel.com>
    Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
    nate-desimone authored and mergify[bot] committed Jan 5, 2024
    Configuration menu
    Copy the full SHA
    9cf1d03 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. MdePkg: Update the definition of CapsuleImageSize on EFI_CAPSULE_HEADER

    Add the description of CapsuleImageSize to align with UEFI spec 2.10.
    
    REF: UEFI spec 2.10 section 8.5.3.1
    
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Felix Polyudov <felixp@ami.com>
    Rensuqiang authored and mergify[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    ff1305c View commit details
    Browse the repository at this point in the history
  2. 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>
    huama-intel authored and mergify[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    c3d865a View commit details
    Browse the repository at this point in the history
  3. CryptoPkg: fix gcc build fail for CryptoPkgMbedtls

    REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4630
    
    Enable MBEDTLS_NO_UDBL_DIVISION to fix GCC x64 build failure.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Yi Li <yi1.li@intel.com>
    Cc: Guomin Jiang <guomin.jiang@intel.com>
    Signed-off-by: Wenxing Hou <wenxing.hou@intel.com>
    Reviewed-by: Yi Li <yi1.li@intel.com>
    Wenxing-hou authored and mergify[bot] committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    e7152e6 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. MdePkg: Update the definition of EFI_NVDIMM_LABEL_FLAGS_LOCAL

    Add the description of EFI_NVDIMM_LABEL_FLAGS_LOCAL to
    align with UEFI spec 2.10.
    
    REF: UEFI spec 2.10 section 13.19.4
    
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Rensuqiang authored and mergify[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    f2b0743 View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg: set EXTENDED_PROCESSOR_INFORMATION to 0

    Set EXTENDED_PROCESSOR_INFORMATION to 0 in API
    MpInitLibGetProcessorInfo() of MpInitLibUp. This
    commit use ZeroMem() to set all fileds in output
    EFI_PROCESSOR_INFORMATION to 0 before StatusFlag
    field is reassigned.
    
    Previously EXTENDED_PROCESSOR_INFORMATION in the API
    MpInitLibGetProcessorInfo() of MpInitLibUp is ignored.
    In PEI/DXE MpInitLib, EXTENDED_PROCESSOR_INFORMATION
    will be retrived when BIT24 of input ProcessorNumber
    is set. This commit can avoid garbage in the output
    structure in MpInitLibGetProcessorInfo() of MpInitLibUp.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Min Xu <min.m.xu@intel.com>
    Message-Id: <20240108050804.1718-2-dun.tan@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    td36 authored and mergify[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    2a5c08c View commit details
    Browse the repository at this point in the history
  3. UefiCpuPkg: Check lower 24 bits of ProcessorNumber

    Check lower 24 bits of ProcessorNumber instead of
    the value of ProcessorNumber in the API
    MpInitLibGetProcessorInfo() of MpInitLibUp instance.
    Lower 24 bits of ProcessorNumber contains the actual
    processor number.
    The BIT24 of input ProcessorNumber might be set to
    indicate if the EXTENDED_PROCESSOR_INFORMATION will
    be retrived.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Min Xu <min.m.xu@intel.com>
    Message-Id: <20240108050804.1718-3-dun.tan@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    td36 authored and mergify[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    08a6528 View commit details
    Browse the repository at this point in the history
  4. OvmfPkg/RiscVVirt: use gEfiAuthenticatedVariableGuid unconditionally

    ArmVirt and OVMF are doing the same.
    
    See commit d92eaab ("OvmfPkg: simplify VARIABLE_STORE_HEADER
    generation") for details.
    
    Suggested-by: László Érsek <lersek@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240109112902.30002-2-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    3b1ddbd View commit details
    Browse the repository at this point in the history
  5. OvmfPkg/VirtNorFlashDxe: stop accepting gEfiVariableGuid

    Only accept gEfiAuthenticatedVariableGuid when checking the variable
    store header in ValidateFvHeader().
    
    The edk2 code base has been switched to use the authenticated varstore
    format unconditionally (even in case secure boot is not used or
    supported) a few years ago.
    
    Suggested-by: László Érsek <lersek@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240109112902.30002-3-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    ae22b2f View commit details
    Browse the repository at this point in the history
  6. OvmfPkg/VirtNorFlashDxe: sanity-check variables

    Extend the ValidateFvHeader function, additionally to the header checks
    walk over the list of variables and sanity check them.
    
    In case we find inconsistencies indicating variable store corruption
    return EFI_NOT_FOUND so the variable store will be re-initialized.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20240109112902.30002-4-kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    [lersek@redhat.com: fix StartId initialization/assignment coding style]
    kraxel authored and mergify[bot] committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    4a443f7 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2024

  1. UefiPayloadPkg/UefiPayloadEntry: Remove SCI enabling check

    It's too early to check the SCI enable status, which is set in the BDS
    phase ususally. Remove the check from UPL.
    
    Reviewed-by: James Lu <james.lu@intel.com>
    Reviewed-by: Gua Guo <gua.guo@intel.com>
    Cc: Guo Dong <guo.dong@intel.com>
    Cc: Sean Rhodes <sean@starlabs.systems>
    Signed-off-by: Gang Chen <gang.c.chen@intel.com>
    chengangc authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    edba077 View commit details
    Browse the repository at this point in the history
  2. NetworkPkg/HttpDxe: Refactor TlsCreateChild

    - Use HTTP instance as the parameter for TlsCreateChild function.
    - Install TLS protocol on the HTTP instance thats create TLS child.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
    Cc: Michael Brown <mcb30@ipxe.org>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Michael Brown <mcb30@ipxe.org>
    Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
    changab authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    0abd598 View commit details
    Browse the repository at this point in the history
  3. NetworkPkg/HttpDxe: Consider TLS certificate not found as a success case

    We still return EFI_SUCCESS to the caller when TlsConfigCertificate
    returns error, for the use case the platform doesn't require
    certificate for the specific HTTP session. This ensures
    HttpInitSession function still initiated and returns EFI_SUCCESS to
    the caller. The failure is pushed back to TLS DXE driver if the
    HTTP communication actually requires certificate.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
    Cc: Michael Brown <mcb30@ipxe.org>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Michael Brown <mcb30@ipxe.org>
    Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
    changab authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    43ab662 View commit details
    Browse the repository at this point in the history
  4. NetworkPkg/HttpDxe: Add HttpEventTlsConfigured HTTP callback event

    Add HttpEventTlsConfigured HTTP callback event and notify
    callback functions when TlsConfigureSession () returns.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
    Cc: Michael Brown <mcb30@ipxe.org>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Michael Brown <mcb30@ipxe.org>
    Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
    changab authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    8466480 View commit details
    Browse the repository at this point in the history
  5. RedfishPkg/RedfishRestExDxe: Implement EDKII_HTTP_CALLBACK_PROTOCOL

    Implement EDKII_HTTP_CALLBACK_PROTOCOL that listens to
    HttpEventTlsConfigured event for reconfiguring TLS configuration
    data.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    changab authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    0a12d8b View commit details
    Browse the repository at this point in the history
  6. RedfishPkg/RedfishRestExDxe: Uncrustify RedfishRestExDriver.h

    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    changab authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    b0e892d View commit details
    Browse the repository at this point in the history
  7. RedfishPkg/RedfishRestExDxe: Update Supported function

    Update Supported function to check it the given
    controller handle is already started.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    changab authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    265b4ab View commit details
    Browse the repository at this point in the history
  8. RedfishPkg/RedfishDebugLib: add function to print buffer.

    Introduce DumpBuffer function to print the buffer content. This helps
    developer to debug Redfish issue.
    
    Signed-off-by: Nickle Wang <nicklew@nvidia.com>
    Cc: Abner Chang <abner.chang@amd.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Nick Ramirez <nramirez@nvidia.com>
    Reviewed-by: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    nicklela authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    bc34a79 View commit details
    Browse the repository at this point in the history
  9. IntelFsp2Pkg\Tools\ConfigEditor:Added new USF config workstream.

    REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4638
    
    Config Editor utility addition/changes:
    Support to enable config editor tool to have a new feature that can load
    and view the configuration data of compiled VFR or HFR in form of YAML.
    This can help users to understand and track the configuration data when
    modifications are made.
    
    Requires compiled vfr file as input in YAML format.
    
    Running Configuration Editor:
    python ConfigEditor.py
    
    Cc: Chasel Chiu <chasel.chiu@intel.com>
    Cc: Duggapu Chinni B <chinni.b.duggapu@intel.com>
    Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
    Cc: Ray Han Lim Ng <ray.han.lim.ng@intel.com>
    Cc: Star Zeng <star.zeng@intel.com>
    Cc: Ted Kuo <ted.kuo@intel.com>
    Cc: Ashraf Ali S <ashraf.ali.s@intel.com>
    Cc: Susovan Mohapatra <susovan.mohapatra@intel.com>
    
    Signed-off-by: Arun Sura <arun.surax.soundara.pandian@intel.com>
    Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
    ArunSura authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    7d05581 View commit details
    Browse the repository at this point in the history
  10. BaseTools: Fix raw strings containing valid escape characters

    Fixes raw regex strings that contain valid (and purposeful) escape
    characters as they are being treated as individual characters rather
    than the single escaped character they represent (i.e. '\t' is being
    treated as a '\' and a 't' rather than a single tab character).
    
    Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
    Cc: Rebecca Cran <rebecca@bsdio.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Bob Feng <bob.c.feng@intel.com>
    Cc: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Yuwei Chen <yuwei.chen@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Javagedes authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    6c488a2 View commit details
    Browse the repository at this point in the history
  11. CryptoPkg: Fix redefinition error of int defines

    REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4632
    
    Move the define to stdint and add MACRO to prevent duplicate inclusion.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Yi Li <yi1.li@intel.com>
    Cc: Guomin Jiang <guomin.jiang@intel.com>
    Signed-off-by: Wenxing Hou <wenxing.hou@intel.com>
    Reviewed-by: Yi Li <yi1.li@intel.com>
    Wenxing-hou authored and mergify[bot] committed Jan 10, 2024
    Configuration menu
    Copy the full SHA
    e7cfdc5 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. MdePkg: Update GetHealthStatus function description

    Refer to Uefi spec 2.10 section 11.10.2, update the return value
    for EFI_DRIVER_HEALTH_PROTOCOL.GetHealthStatus.
    
    Signed-off-by: Junfeng Guan <junfengx.guan@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    donaldjunfeng authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    889535c View commit details
    Browse the repository at this point in the history
  2. MdePkg.dec: RISC-V: Define override bit for Sstc extension

    Define the BIT 1 as the override bit for Sstc extension. This will be
    used by the timer driver to decide whether to use SBI calls or direct
    CSR access to configure the timer.
    
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
    Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com>
    vlsunil authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    fd629ef View commit details
    Browse the repository at this point in the history
  3. MdePkg/BaseLib: RISC-V: Add function to update stimecmp register

    stimecmp is a CSR supported only when Sstc extension is supported by the
    platform. This register can be used to set the timer interrupt directly in
    S-mode instead of going via SBI call. Add a function to update this
    register.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
    Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com>
    vlsunil authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    8ae17a7 View commit details
    Browse the repository at this point in the history
  4. UefiCpuPkg/CpuTimerDxeRiscV64: Add support for Sstc

    Sstc extension allows to program the timer and receive the interrupt
    without using an SBI call. This reduces the latency to generate the timer
    interrupt. So, detect whether Sstc extension is supported and use the
    stimecmp register directly to program the timer interrupt.
    
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com>
    Reviewed-by: Dhaval Sharma <dhaval@rivosinc.com>
    vlsunil authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    f910299 View commit details
    Browse the repository at this point in the history
  5. OvmfPkg/RiscVVirt: Override Sstc extension

    Override Sstc extension and use SBI calls itself by default for RISC-V
    qemu virt platform.
    
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Signed-off-by: Sunil V L <sunilvl@ventanamicro.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com>
    vlsunil authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    ebf378a View commit details
    Browse the repository at this point in the history
  6. MdePkg/BaseLib: Fix boot DxeCore hang on riscv platform

    For scene of
    HandOffToDxeCore()->SwitchStack(DxeCoreEntryPoint)->
    InternalSwitchStack()->LongJump(),Variable HobList.Raw
    will be passed (from *Context1 to register a0) to
    DxeMain() in parameter *HobStart.
    
    However, meanwhile the function LongJump() overrides
    register a0 with a1 (-1)  due to commit (ea628f2 "RISCV: Fix
    InternalLongJump to return correct value"), then cause hang.
    
    Replacing calling LongJump() with new InternalSwitchStackAsm() to pass
    addres data in register s0 to register a0 could fix this issue (just
    like the solution in MdePkg/Library/BaseLib/AArch64/SwitchStack.S)
    
    Signed-off-by: Yang Wang <wangyang@bosc.ac.cn>
    Cc: Bamvor Jian ZHANG <zhangjian@bosc.ac.cn>
    Cc: Andrei Warkentin <andrei.warkentin@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Sunil V L <sunilvl@ventanamicro.com>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Ran Wang <wangran@bosc.ac.cn>
    Reviewed-by: Andrei Warkentin <andrei.warkentin@intel.com>
    王洋 authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    0765ee6 View commit details
    Browse the repository at this point in the history
  7. .pytool/Readme.md: Update matrix for DynamicTablesPkg

    Update the "Basic Status" matrix for DynamicTablesPkg by
    adding a check mark for Windows VS2019 IA32/X64 support.
    
    Cc: Sean Brogan <sean.brogan@microsoft.com>
    Cc: Joey Vagedes <joey.vagedes@gmail.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Pierre Gondois <pierre.gondois@arm.com>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Joey Vagedes <joey.vagedes@gmail.com>
    Abdul Lateef Attar authored and mergify[bot] committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    58355ec View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. pip-requirements.txt: Update to latest

    Updates edk2-pytool-extensions, edk2-pytool-library, and regex to their
    latest respective releases.
    
    Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
    Cc: Andrew Fish <afish@apple.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Javagedes authored and mergify[bot] committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    2bce85b View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg/PiSmmCpuDxeSmm: Optimize PatchSmmSaveStateMap and FlushTlb…

    …ForAll
    
    PatchSmmSaveStateMap patches the SMM entry (code) and SmmSaveState
    region (data) for each core, which can be improved to flush TLB once
    after all the memory entries have been patched.
    FlushTlbForAll flushes TLB for each core in serial, which can be
    improved to flush TLB in parallel.
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Jiaxin Wu <jiaxin.wu@intel.com>
    Signed-off-by: Zhi Jin <zhi.jin@intel.com>
    zjin7 authored and mergify[bot] committed Jan 12, 2024
    Configuration menu
    Copy the full SHA
    cfe4846 View commit details
    Browse the repository at this point in the history

Commits on Jan 15, 2024

  1. UefiCpuPkg:Limit PhysicalAddressBits in special case

    When creating smm page table, limit maximum
    supported physical addresses bits returned by
    CalculateMaximumSupportAddress() to 47 if
    5-Level Paging is disabled.
    
    This commit is to avoid issue that more than
    47-bit physical addresses are requested in smm
    page table when 5-level paging is disabled.
    4-level paging supports translating 48-bit
    linear addresses to 52-bit physical addresses.
    Since linear addresses are sign-extended,
    linear-address space of 4-level paging is:
    [0, 2^47-1] and
    [0xffff8000_00000000, 0xffffffff_ffffffff].
    So only [0, 2^47-1] linear-address range maps
    to the identical physical-address range when
    5-Level paging is disabled.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
    Cc: Laszlo Ersek <lersek@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    td36 authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    db59ff3 View commit details
    Browse the repository at this point in the history
  2. UefiCpuPkg: change name of gMpInformationHobGuid2

    Change name of gMpInformationHobGuid2 to
    gMpInformation2HobGuid. It's to align with
    the file name MpInformation2.h and the
    structure name MP_INFORMATION2_HOB_DATA.
    
    Signed-off-by: Dun Tan <dun.tan@intel.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>
    td36 authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    f5b91c6 View commit details
    Browse the repository at this point in the history
  3. NetworkPkg: Triger regularly scan only if not connect to AP

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4605
    
    When UEFI Wi-Fi is in BSS connected state, the platform is
    considered as a static and Wi-Fi roaming support is not needed.
    Wifi connection manager should not initiate Scan requests
    in this state affect BSS client connectivity and must be avoided.
    Triger regularly scan only if not connect to AP.
    
    Signed-off-by: Heng Luo <heng.luo@intel.com>
    Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
    Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
    luo-heng authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    c15a899 View commit details
    Browse the repository at this point in the history
  4. OvmfPkg: RiscVVirt: Fix network drivers not be built

    Only need to include Network.dsc.inc to have all network
    drivers/components be built. Otherwise, there were missing definition
    that prevent them from be built for RiscVVirt platform.
    
    Signed-off-by: Tuan Phan <tphan@ventanamicro.com>
    Reviewed-by: Sunil V L <sunilvl@ventanamicro.com>
    tphan-ventana authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    6a01fb2 View commit details
    Browse the repository at this point in the history
  5. RedfishPkg/RedfishCrtLib: handle floating point number in JSON

    When the value type is defined as number in Redfish schema, floating
    point number is allowed. RedfishCrtLib raises assert without handling
    this case now. Follow the way in EDK2 to call AsciiStrDecimalToUintnS
    and handle the floating point number. Only the integer value is
    returned.
    
    Signed-off-by: Nickle Wang <nicklew@nvidia.com>
    Cc: Abner Chang <abner.chang@amd.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Cc: Nick Ramirez <nramirez@nvidia.com>
    Reviewed-by: Abner Chang <abner.chang@amd.com>
    nicklela authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    d65b183 View commit details
    Browse the repository at this point in the history
  6. MdePkg: Update the comments of HiiConfigAccess ExtractConfig

    Add the status code return for HiiConfigAccess ExtractConfig to
    align with UEFI spec 2.10.
    
    REF: UEFI spec 2.10 section 35.5.2
    
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Rensuqiang authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    195e59b View commit details
    Browse the repository at this point in the history
  7. OvmfPkg: Add CloudHv support to PlatformScanE820 utility function.

    The PlatformScanE820 utility function is not currently compatible
    with CloudHv since it relies on the prescence of the "etc/e820"
    QemuFwCfg file. Update the PlatformScanE820 to iterate through the
    PVH e820 entries when running on a CloudHv guest.
    
    Signed-off-by: Thomas Barrett <tbarrett@crusoeenergy.com>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    Thomas Barrett authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    bfad87c View commit details
    Browse the repository at this point in the history
  8. OvmfPkg: Update PlatformAddressWidthInitialization for CloudHv

    In addition to initializing the PhysMemAddressWidth and
    FirstNonAddress fields in PlatformInfoHob, the
    PlatformAddressWidthInitialization function is responsible
    for initializing the PcdPciMmio64Base and PcdPciMmio64Size
    fields.
    
    Currently, for CloudHv guests, the PcdPciMmio64Base is
    placed immediately after either the 4G boundary or the
    last RAM region, whichever is greater. We do not change
    this behavior.
    
    Previously, when booting CloudHv guests with greater than
    1TiB of high memory, the PlatformAddressWidthInitialization
    function incorrect calculates the amount of RAM using the
    overflowed 24-bit CMOS register.
    
    Now, we update the PlatformAddressWidthInitialization
    behavior on CloudHv to scan the E820 entries to detect
    the amount of RAM. This allows CloudHv guests to boot with
    greater than 1TiB of RAM
    
    Signed-off-by: Thomas Barrett <tbarrett@crusoeenergy.com>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    Thomas Barrett authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    6d204e8 View commit details
    Browse the repository at this point in the history
  9. OvmfPkg: CloudHv: Enable PcdUse1GPageTable

    Without enabling PcdUse1GPageTable, CloudHv guests are limited
    to a 40-bit address space, even if the hardware supports more.
    This limits the amount of RAM to 1TiB of CloudHv guests.
    
    Signed-off-by: Thomas Barrett <tbarrett@crusoeenergy.com>
    Acked-by: Gerd Hoffmann <kraxel@redhat.com>
    Thomas Barrett authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    82e149f View commit details
    Browse the repository at this point in the history
  10. MdePkg: Update the comments of callback in EFI_FORM_BROWSER2_PROTOCOL

    Add status code return for BROWSER callback in EFI_FORM_BROWSER2_PROTOCOL
    to align with UEFI spec 2.10.
    
    REF: UEFI spec 2.10 section 35.6.3
    
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Reviewed-by: Felix Polyudov <felixp@ami.com>
    Rensuqiang authored and mergify[bot] committed Jan 15, 2024
    Configuration menu
    Copy the full SHA
    7c2757c View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2024

  1. MdePkg: RFC1323 definition changed to RFC7323

    Change the description of RFC1323 to RFC7323
    to align with UEFI spec 2.10.
    
    REF: UEFI spec 2.10 section 28.2.5
    
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    Rensuqiang authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    638e4ca View commit details
    Browse the repository at this point in the history
  2. NetworkPkg: RFC1323 definition changed to RFC7323

    According to UEFI spec 2.10, the definition of RFC1323
    has changed to RFC7323 on EFI_TCP6_OPTION. So align this
    change on NetworkPkg.
    
    REF: UEFI spec 2.10 section 28.2.5
    
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Cc: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Cc: Zachary Clark-williams <zachary.clark-williams@intel.com>
    Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Rensuqiang authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    682a5ed View commit details
    Browse the repository at this point in the history
  3. MdePkg: Update the Label definitions of the EFI_NVDIMM_LABEL

    Refer to Uefi spec 2.10 section 13.19.5, update the label definitions
    for NVDIMM SPA location cookie.
    
    Signed-off-by: Junfeng Guan <junfengx.guan@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    donaldjunfeng authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    a4b8944 View commit details
    Browse the repository at this point in the history
  4. SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4117 - CVE 2022-36763

    This commit contains the patch files and tests for DxeTpm2MeasureBootLib
    CVE 2022-36763.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Douglas Flick [MSFT] authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    2244465 View commit details
    Browse the repository at this point in the history
  5. SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4117 - CVE 2022-36763

    This commit contains the patch files and tests for DxeTpmMeasureBootLib
    CVE 2022-36763.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
    Douglas Flick [MSFT] authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    4776a1b View commit details
    Browse the repository at this point in the history
  6. SecurityPkg: : Adding CVE 2022-36763 to SecurityFixes.yaml

    This creates / adds a security file that tracks the security fixes
    found in this package and can be used to find the fixes that were
    applied.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
    Douglas Flick [MSFT] authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    1ddcb9f View commit details
    Browse the repository at this point in the history
  7. SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4118 - CVE 2022-36764

    This commit contains the patch files and tests for DxeTpm2MeasureBootLib
    CVE 2022-36764.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
    Douglas Flick [MSFT] authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    c7b2794 View commit details
    Browse the repository at this point in the history
  8. SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4118 - CVE 2022-36764

    This commit contains the patch files and tests for DxeTpmMeasureBootLib
    CVE 2022-36764.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
    Douglas Flick [MSFT] authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    0d341c0 View commit details
    Browse the repository at this point in the history
  9. SecurityPkg: : Adding CVE 2022-36764 to SecurityFixes.yaml

    This creates / adds a security file that tracks the security fixes
    found in this package and can be used to find the fixes that were
    applied.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
    Douglas Flick [MSFT] authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    8f6d343 View commit details
    Browse the repository at this point in the history
  10. RedfishPkg/JsonLib: Add JSON delete object function

    To support the deletion on a specified JSON object.
    
    Signed-off-by: Abner Chang <abner.chang@amd.com>
    Cc: Nickle Wang <nicklew@nvidia.com>
    Cc: Igor Kulchytskyy <igork@ami.com>
    Reviewed-by: Nickle Wang <nicklew@nvidia.com>
    changab authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    9971b99 View commit details
    Browse the repository at this point in the history
  11. UefiPayloadPkg/Hob: Integer Overflow in CreateHob()

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4166
    
    Fix integer overflow in various CreateHob instances.
    Fixes: CVE-2022-36765
    
    The CreateHob() function aligns the requested size to 8
    performing the following operation:
    ```
    HobLength = (UINT16)((HobLength + 0x7) & (~0x7));
    ```
    
    No checks are performed to ensure this value doesn't
    overflow, and could lead to CreateHob() returning a smaller
    HOB than requested, which could lead to OOB HOB accesses.
    
    Reported-by: Marc Beatove <mbeatove@google.com>
    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>
    Cc: John Mathew <john.mathews@intel.com>
    Authored-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Gua Guo <gua.guo@intel.com>
    gguo11837463 authored and mergify[bot] committed Jan 16, 2024
    Configuration menu
    Copy the full SHA
    59f024c View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. OvmfPkg/VirtNorFlashDxe: add casts to UINTN and UINT32

    This is needed to avoid bit operations being applied to signed integers.
    
    Suggested-by: László Érsek <lersek@redhat.com>
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240116171105.37831-2-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    0395045 View commit details
    Browse the repository at this point in the history
  2. OvmfPkg/VirtNorFlashDxe: clarify block write logic & fix shadowbuffer…

    … reads
    
    Introduce 'Start' and 'End' variables to make it easier to follow the
    logic and code flow.  Also add a ascii art diagram (based on a
    suggestion by Laszlo).
    
    This also fixes the 'Size' calculation for the NorFlashRead() call.
    Without this patch the code will read only one instead of two
    P30_MAX_BUFFER_SIZE_IN_BYTES blocks in case '*NumBytes' is smaller than
    P30_MAX_BUFFER_SIZE_IN_BYTES but 'Offset + *NumBytes' is not, i.e. the
    update range crosses a P30_MAX_BUFFER_SIZE_IN_BYTES boundary.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240116171105.37831-3-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    35d8ea8 View commit details
    Browse the repository at this point in the history
  3. OvmfPkg/VirtNorFlashDxe: add a loop for NorFlashWriteBuffer calls.

    Replace the two NorFlashWriteBuffer() calls with a loop containing a
    single NorFlashWriteBuffer() call.
    
    With the changes in place the code is able to handle updates larger
    than two P30_MAX_BUFFER_SIZE_IN_BYTES blocks, even though the patch
    does not actually change the size limit.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240116171105.37831-4-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    28ffd72 View commit details
    Browse the repository at this point in the history
  4. OvmfPkg/VirtNorFlashDxe: allow larger writes without block erase

    Raise the limit for writes without block erase from two to four
    P30_MAX_BUFFER_SIZE_IN_BYTES blocks.  With this in place almost all efi
    variable updates are handled without block erase.  With the old limit
    some variable updates (with device paths) took the block erase code
    path.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240116171105.37831-5-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    b25733c View commit details
    Browse the repository at this point in the history
  5. OvmfPkg/VirtNorFlashDxe: ValidateFvHeader: unwritten state is EOL too

    It is possible to find variable entries with State being 0xff, i.e. not
    updated since flash block erase.   This indicates the variable driver
    could not complete the header write while appending a new entry, and
    therefore State was not set to VAR_HEADER_VALID_ONLY.
    
    This can only happen at the end of the variable list, so treat this as
    additional "end of variable list" condition.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Message-Id: <20240116171105.37831-6-kraxel@redhat.com>
    kraxel authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    735d0a5 View commit details
    Browse the repository at this point in the history
  6. OvmfPkg/VirtNorFlashDxe: move DoErase code block into new function

    Move the DoErase code block into a separate function, call the function
    instead of jumping around with goto.
    
    Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
    Message-Id: <20240116171105.37831-7-kraxel@redhat.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    kraxel authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    b481b00 View commit details
    Browse the repository at this point in the history
  7. SecurityPkg: DxeTpm2MeasureBootLib: SECURITY PATCH 4117/4118 symbol r…

    …ename
    
    Updates the sanitation function names to be lib unique names
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Message-Id: <7b18434c8a8b561654efd40ced3becb8b378c8f1.1705529990.git.doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Flickdm authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    40adbb7 View commit details
    Browse the repository at this point in the history
  8. SecurityPkg: DxeTpmMeasureBootLib: SECURITY PATCH 4117/4118 symbol re…

    …name
    
    Updates the sanitation function names to be lib unique names
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Message-Id: <355aa846a99ca6ac0f7574cf5982661da0d9fea6.1705529990.git.doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Flickdm authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    326db0c View commit details
    Browse the repository at this point in the history
  9. SecurityPkg: : Updating SecurityFixes.yaml after symbol rename

    Adding the new commit titles for the symbol renames
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    
    Signed-off-by: Doug Flick [MSFT] <doug.edk2@gmail.com>
    Message-Id: <5e0e851e97459e183420178888d4fcdadc2f1ae1.1705529990.git.doug.edk2@gmail.com>
    Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
    Flickdm authored and mergify[bot] committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    264636d View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. NetworkPkg/Ip4Dxe: Fix Reset To Default

    Exercising reset to default does not reset the settings.
    Add handler code for the case where configuration is
    disabled.
    
    Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
    Reviewed-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
    Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
    ashishsingha authored and mergify[bot] committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    9d3fe85 View commit details
    Browse the repository at this point in the history
  2. MdePkg: Add DECLARE_LENGTH opcode of dependency expression

    To avoid messy parsing of the Depex section of a Capsule, it would
    be a lot easier for everyone involved if we preceded the Capsule Depex
    Section with a length declaration. It provides simple bounds checking
    to avoid having to parse the op-codes, but in the case of a malformed
    depex being parsed, avoid other issues which can be messy.
    
    REF: UEFI spec 2.10 Table 23.4
    
    Signed-off-by: Yi Li <yi1.li@intel.com>
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Reviewed-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    liyi77 authored and mergify[bot] committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    00bf689 View commit details
    Browse the repository at this point in the history
  3. FmpDevicePkg: Add DECLARE_LENGTH opcode of dependency expression

    To avoid messy parsing of the Depex section of a Capsule, it would
    be a lot easier for everyone involved if we preceded the Capsule Depex
    Section with a length declaration. It provides simple bounds checking
    to avoid having to parse the op-codes, but in the case of a malformed
    depex being parsed, avoid other issues which can be messy.
    
    REF: UEFI spec 2.10 Table 23.4
    
    Signed-off-by: Yi Li <yi1.li@intel.com>
    
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Wei6 Xu <wei6.xu@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    liyi77 authored and mergify[bot] committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    0223bdd View commit details
    Browse the repository at this point in the history

Commits on Jan 20, 2024

  1. MdePkg/IndustryStandard: Add _PSD/_CPC/Coord types definitions

    Add definitions for:
    - _PSD version: added in ACPI 3.0
    - C-state Coordination Types: added in ACPI 3.0
    - _CPC version: added in ACPI 5.0
    
    Signed-off-by: Pierre Gondois <pierre.gondois@arm.com>
    Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    pierregondois authored and mergify[bot] committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    5d016fe View commit details
    Browse the repository at this point in the history
  2. MdePkg/Library/BaseIoLibIntrinsic: Fix TD MMIO read type cast

    Currently the types of casting mismatch with TD MMIO read 1, 2 and 4
    bytes, that might introduce potential issues.  So fix the types as
    conventional MmioRead[8|16|32] does.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Signed-off-by: Zhiquan Li <zhiquan1.li@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    zhiquan1-li authored and mergify[bot] committed Jan 20, 2024
    Configuration menu
    Copy the full SHA
    da228b2 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. CryptoPkg: Add dummy inttypes header to fix clang build

    REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4642
    
    When use Mbedtls, there is a clang build error.
    Add dummy inttypes header to fix clang build.
    
    Cc: Jiewen Yao <jiewen.yao@intel.com>
    Cc: Yi Li <yi1.li@intel.com>
    Cc: Guomin Jiang <guomin.jiang@intel.com>
    Signed-off-by: Wenxing Hou <wenxing.hou@intel.com>
    
    Reviewed-by: Yi Li <yi1.li@intel.com>
    Wenxing-hou authored and mergify[bot] committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    0c6d29b View commit details
    Browse the repository at this point in the history
  2. UefiPayloadPkg: CbParseLib: Fix integer overflow

    The IMD entry uses the 32bit start field as relative offset
    to root. On Ia32X64 this works fine as UINTN is also 32 bit and
    negative relative offsets are properly calculated due to an
    integer overflow.
    
    On X64 this doesn't work as UINTN is 64 bit and the offset
    is no longer subtracted, but it's added to the root. Fix that
    by sign extending the start field to 64 bit.
    
    Test: Booting UefiPayloadPkg still works on Ia32X64 and now also
          works on X64.
    
    Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
    Reviewed-by: Gua Guo <gua.guo@intel.com>
    Reviewed-by: Sean Rhodes <sean@starlabs.systems>
    PatrickRudolph authored and mergify[bot] committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    0b09397 View commit details
    Browse the repository at this point in the history
  3. PrmPkg/PrmInfo: Drop -r parameter

    The "-r" parameter was not added to the application so remove it from
    the help string.
    
    The standards section is also updated to point to the current
    specification location on uefi.org.
    
    Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
    Cc: Ankit Sinha <ankit.sinha@intel.com>
    Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
    Reviewed-by: Ankit Sinha <ankit.sinha@intel.com>
    makubacki authored and mergify[bot] committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    313f9f0 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2024

  1. .pytool/Plugin: UncrustifyCheck: use stat instead of os.stat

    The UncrustifyCheck plugin passes os.stat.S_IWRITE to os.chmod, when
    attempting to change file permissions. os.stat.S_IWRITE does not exist
    as os.stat is a function. The correct value is stat.S_IWRITE.
    
    Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Sean Brogan <sean.brogan@microsoft.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Javagedes authored and mergify[bot] committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    d97f3a1 View commit details
    Browse the repository at this point in the history
  2. StandaloneMmPkg/Core: Remove optimization for depex evaluation

    The current dependency evaluator violates the memory access permission
    when patching depex grammar directly in the read-only depex memory area.
    
    Laszlo pointed out the optimization issue in the thread (1) "Memory
    Attribute for depex section" and provided suggested patch to remove the
    perf optimization.
    
    In my testing, removing the optimization does not make significant perf
    reduction. That makes sense that StandaloneMM dispatcher only searches
    in MM protocol database and does not depend on UEFI/DXE protocol
    database. Also, we don't have many protocols in StandaloneMM like
    UEFI/DXE.
    
    From Laszlo,
    
    "The patch removes the EFI_DEP_REPLACE_TRUE handling altogether, plus it
    CONST-ifies the Iterator pointer (which points into the DEPEX section),
    so that the compiler catch any possible accesses at *build time* that
    would write to the write-protected DEPEX memory area."
    
    (1) https://edk2.groups.io/g/devel/message/113531
    
    Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
    Tested-by: levi.yun <yeoreum.yun@arm.com>
    Reviewed-by: levi.yun <yeoreum.yun@arm.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    lersek authored and mergify[bot] committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    2ddae5d View commit details
    Browse the repository at this point in the history
  3. MdePkg/Include/Guid: Update the definition of FileName in EFI_FILE_INFO

    Add the description of EFI_FILE_INFO FileName[1] field to align
    with UEFI spec 2.10 Section 13.5.16.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Signed-off-by: Suqiang Ren <suqiangx.ren@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Rensuqiang authored and mergify[bot] committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    417ebe6 View commit details
    Browse the repository at this point in the history
  4. MdePkg/Library/BaseCpuLibNull: Add StandardSignatureIsAuthenticAMD()

    CpuLib.h exposes StandardSignatureIsAuthenticAMD() API and we require
    stub function in its BaseCpuLibNull library instance to avoid potential
    link issue.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Signed-off-by: Qing Huang <qing.huang@intel.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    devel@edk2.groups.io authored and mergify[bot] committed Jan 23, 2024
    Configuration menu
    Copy the full SHA
    7f72c28 View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2024

  1. MdeModulePkg/ResetSystemRuntimeDxe: Print Reset Data

    ResetSystem runtime call allows for sending reset data that
    starts with a NULL terminated string. Add support to print
    that string on console.
    
    Signed-off-by: Ashish Singhal <ashishsingha@nvidia.com>
    Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
    ashishsingha authored and mergify[bot] committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    1063665 View commit details
    Browse the repository at this point in the history
  2. MdePkg/BaseFdtLib: Rename standard functions

    Rename the standard functions in the LibFdtSupport to remove conflicts
    with other libraries that define them.
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    jbrasen authored and mergify[bot] committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    d24187a View commit details
    Browse the repository at this point in the history
  3. MdePkg: Add FdtLib gmock support

    Add Google Mock Library for FdtLib
    
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
    Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
    Reviewed-by: Gua Guo <gua.guo@intel.com>
    devel@edk2.groups.io authored and mergify[bot] committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    97e1ef8 View commit details
    Browse the repository at this point in the history
  4. MdePkg: Add EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY

    REF: UEFI_Spec_2_10_Aug29.pdf page 1694
    
    In 35.5.4 EFI_HII_CONFIG_ACCESS_PROTOCOL.CallBack() parameter
    ActionRequest, add EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY.
    
    Signed-off-by: Ming Tan <ming.tan@intel.com>
    Cc: Michael D Kinney <michael.d.kinney@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Zhiguang Liu <zhiguang.liu@intel.com>
    Cc: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    tanminger authored and mergify[bot] committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    5694ff4 View commit details
    Browse the repository at this point in the history
  5. MdeModulePkg/SetupBrowserDxe: EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY

    REF: UEFI_Spec_2_10_Aug29.pdf page 1695.
    
    In 35.5.4 EFI_HII_CONFIG_ACCESS_PROTOCOL.CallBack():
    If the callback function returns with the ActionRequest set to
    _QUESTION_APPLY, then the Forms Browser will write the current modified
    question value on the selected form to storage.
    
    Update the SetupBrowserDxe, if callback function return
    EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY, then call SetQuestionValue
    with GetSetValueWithHiiDriver to apply the change immediately.
    
    Signed-off-by: Ming Tan <ming.tan@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    tanminger authored and mergify[bot] committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    588cfc6 View commit details
    Browse the repository at this point in the history
  6. MdeModulePkg/DriverSampleDxe: EFI_BROWSER_ACTION_REQUEST_QUESTION_APPLY

    REF: UEFI_Spec_2_10_Aug29.pdf page 1695.
    
    In 35.5.4 EFI_HII_CONFIG_ACCESS_PROTOCOL.CallBack():
    If the callback function returns with the ActionRequest set to
    _QUESTION_APPLY, then the Forms Browser will write the current modified
    question value on the selected form to storage.
    
    Update the DriverSampleDxe, add a new question "Question apply test".
    
    Signed-off-by: Ming Tan <ming.tan@intel.com>
    Cc: Liming Gao <gaoliming@byosoft.com.cn>
    Cc: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Dandan Bi <dandan.bi@intel.com>
    Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
    tanminger authored and mergify[bot] committed Jan 24, 2024
    Configuration menu
    Copy the full SHA
    ff52277 View commit details
    Browse the repository at this point in the history

Commits on Jan 25, 2024

  1. MdeModulePkg/PciBusDxe: Add feedback status for PciIoMap

    PciIoMap () need to feedback the status of
    mIoMmuProtocol->SetAttribute () return value.
    
    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4652
    
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Reviewed-by: Huang Jenny <jenny.huang@intel.com>
    Cc: Chiang Chris <chris.chiang@intel.com>
    Signed-off-by: Sheng Wei <w.sheng@intel.com>
    swei22 authored and mergify[bot] committed Jan 25, 2024
    Configuration menu
    Copy the full SHA
    049695a View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. EmbeddedPkg/Hob: Integer Overflow in CreateHob()

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4166
    
    Fix integer overflow in various CreateHob instances.
    Fixes: CVE-2022-36765
    
    The CreateHob() function aligns the requested size to 8
    performing the following operation:
    ```
    HobLength = (UINT16)((HobLength + 0x7) & (~0x7));
    ```
    
    No checks are performed to ensure this value doesn't
    overflow, and could lead to CreateHob() returning a smaller
    HOB than requested, which could lead to OOB HOB accesses.
    
    Reported-by: Marc Beatove <mbeatove@google.com>
    Cc: Leif Lindholm <quic_llindhol@quicinc.com>
    Reviewed-by: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Abner Chang <abner.chang@amd.com>
    Cc: John Mathew <john.mathews@intel.com>
    Authored-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Gua Guo <gua.guo@intel.com>
    gguo11837463 authored and mergify[bot] committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    aeaee89 View commit details
    Browse the repository at this point in the history
  2. StandaloneMmPkg/Hob: Integer Overflow in CreateHob()

    REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4166
    
    Fix integer overflow in various CreateHob instances.
    Fixes: CVE-2022-36765
    
    The CreateHob() function aligns the requested size to 8
    performing the following operation:
    ```
    HobLength = (UINT16)((HobLength + 0x7) & (~0x7));
    ```
    
    No checks are performed to ensure this value doesn't
    overflow, and could lead to CreateHob() returning a smaller
    HOB than requested, which could lead to OOB HOB accesses.
    
    Reported-by: Marc Beatove <mbeatove@google.com>
    Reviewed-by: Ard Biesheuvel <ardb+tianocore@kernel.org>
    Cc: Sami Mujawar <sami.mujawar@arm.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: John Mathew <john.mathews@intel.com>
    Authored-by: Gerd Hoffmann <kraxel@redhat.com>
    Signed-off-by: Gua Guo <gua.guo@intel.com>
    gguo11837463 authored and mergify[bot] committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    9a75b03 View commit details
    Browse the repository at this point in the history
  3. 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>
    gguo11837463 authored and mergify[bot] committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    7d7decf View commit details
    Browse the repository at this point in the history
  4. Revert "MdeModulePkg/PciBusDxe: Add feedback status for PciIoMap"

    This reverts commit 049695a.
    
    The referenced commit causes all SEV VMs to fail mapping the boot device
    and, therefore, never presents a grub menu which prevents booting of the
    guest. Temporarily revert this commit until a solution is found.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    947a1f3 View commit details
    Browse the repository at this point in the history
  5. OvmfPkg/BaseMemEncryptSevLib: Re-organize page state change support

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    In preparation for running under an SVSM at VMPL1 or higher (higher
    numerically, lower privilege), re-organize the way a page state change
    is performed in order to free up the GHCB for use by the SVSM support.
    
    Currently, the page state change logic directly uses the GHCB shared
    buffer to build the page state change structures. However, this will be
    in conflict with the use of the GHCB should an SVSM call be required.
    
    Instead, use a separate buffer (an area in the workarea during SEC and
    an allocated page during PEI/DXE) to hold the page state change request
    and only update the GHCB shared buffer as needed.
    
    Since the information is copied to, and operated on, in the GHCB shared
    buffer this has the added benefit of not requiring to save the start and
    end entries for use when validating the memory during the page state
    change sequence.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    55a89d1 View commit details
    Browse the repository at this point in the history
  6. MdePkg/Register/Amd: Define the SVSM related information

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    The Secure VM Service Module specification defines the interfaces needed
    to allow multi-VMPL level execution of an SEV-SNP guest.
    
    Define the SVSM related structures for the SVSM Calling Area as well as
    the SVSM CAA MSR. The SVSM CAA MSR is an MSR register that is reserved for
    software use and will not be implemented in hardware.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    12a52ef View commit details
    Browse the repository at this point in the history
  7. MdePkg/BaseLib: Add a new VMGEXIT instruction invocation for SVSM

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    The SVSM specification relies on a specific register calling convention to
    hold the parameters that are associated with the SVSM request. The SVSM is
    invoked by requesting the hypervisor to run the VMPL0 VMSA of the guest
    using the GHCB MSR Protocol or a GHCB NAE event.
    
    Create a new version of the VMGEXIT instruction that will adhere to this
    calling convention and load the SVSM function arguments into the proper
    register before invoking the VMGEXIT instruction. On return, perform the
    atomic exchange on the SVSM call pending value as specified in the SVSM
    specification.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    5b2ae40 View commit details
    Browse the repository at this point in the history
  8. UefiCpuPkg/CcExitLib: Extend the CcExitLib library to support an SVSM

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    In order to support an SEV-SNP guest running under an SVSM at VMPL1 or
    lower, the CcExitLib library must be extended with new intefaces.
    
    This includes an interface to detect if running under an SVSM, an
    interface to return the current VMPL, an interface to perform memory
    validation and an interface to set or clear the attribute that allows a
    page to be used as a VMSA.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    c57c558 View commit details
    Browse the repository at this point in the history
  9. Ovmfpkg/CcExitLib: Extend CcExitLib to handle SVSM related services

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    Add initial support for the new CcExitLib interfaces to the OvmfPkg
    version of the library. The initial implementation will fully implement
    the SVSM presence check API and the SVSM VMPL API, with later patches
    fully implementing the other interfaces.
    
    The SVSM presence check, CcExitSnpSvsmPresent(), determines the presence
    of an SVSM by checking if an SVSM has been advertised in the SEV-SNP
    Secrets Page. The SVSM VMPL API, CcExitSnpGetVmpl(), returns the VMPL
    level at which the OVMF is currently running.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    5223bed View commit details
    Browse the repository at this point in the history
  10. OvmfPkg: Create a calling area used to communicate with the SVSM

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    An SVSM requires a calling area page whose address (CAA) is used by the
    SVSM to communicate and process the SVSM request.
    
    Add a pre-defined page area to the OvmfPkg and AmdSev packages and define
    corresponding PCDs used to communicate the location and size of the area.
    Keep the AmdSev package in sync with the OvmfPkg and adjust the AmdSev
    launch and hash area memory locations.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    098d532 View commit details
    Browse the repository at this point in the history
  11. OvmfPkg/CcExitLib: Add support for the SVSM_CORE_PVALIDATE call

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    The PVALIDATE instruction can only be performed at VMPL0. An SVSM will
    be present when running at VMPL1 or higher.
    
    When an SVSM is present, use the SVSM_CORE_PVALIDATE call to perform
    memory validation instead of issuing the PVALIDATE instruction directly.
    This moves the current PVALIDATE functionality into the CcExitLib library,
    where it can be determined whether an SVSM is present and perform the
    proper operation.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    d83b69b View commit details
    Browse the repository at this point in the history
  12. OvmfPkg/CcExitLib: Add support for the SVSM create/delete vCPU calls

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    The RMPADJUST instruction is used to alter the VMSA attribute of a page,
    but the VMSA attribute can only be changed when running at VMPL0. When
    an SVSM is present, use the SVSM_CORE_CREATE_VCPU and SVSM_CORE_DELTE_VCPU
    calls to add or remove the VMSA attribute on a page instead of issuing
    the RMPADJUST instruction directly.
    
    Implement the CcExitSnpVmsaRmpAdjust() API to perform the proper operation
    to update the VMSA attribute.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    150e36e View commit details
    Browse the repository at this point in the history
  13. UefiCpuPkg/MpInitLib: Use CcExitSnpVmsaRmpAdjust() to set/clear VMSA

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    The RMPADJUST instruction is used to change the VMSA attribute of a page,
    but the VMSA attribute can only be changed when running at VMPL0. When an
    SVSM is present, use the SVSM_CORE_CREATE_VCPU and SVSM_CORE_DELTE_VCPU
    calls to change the VMSA attribute on a page instead of issuing the
    RMPADJUST instruction directly.
    
    Implement the CcExitSnpVmsaRmpAdjust() API to perform the appropriate
    operation to change the VMSA attribute based on the presence of an SVSM.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    f262c6d View commit details
    Browse the repository at this point in the history
  14. MdePkg: GHCB APIC ID retrieval support definitions

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    When an SVSM is present, starting the APs requires knowledge of the APIC
    IDs. Create the definitions required to retrieve and hold the APIC ID
    information of all the vCPUs present in the guest.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    beb0f14 View commit details
    Browse the repository at this point in the history
  15. UefiCpuPkg: Create APIC ID list PCD

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    Create a PCD that can be used to set and get the APIC ID information that
    is required for starting APs when an SVSM is present.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    58c397c View commit details
    Browse the repository at this point in the history
  16. OvmfPkg/PlatformPei: Retrieve APIC IDs from the hypervisor

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    If the hypervisor supports retrieval of the vCPU APIC IDs, retrieve
    them before any APs are actually started. The APIC IDs can be used
    to start the APs for any SEV-SNP guest, but is a requirement for an
    SEV-SNP guest that is running under an SVSM.
    
    After retrieving the APIC IDs, save the address of the APIC ID data
    structure in the PcdSevSnpApicIds PCD.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    9fc056b View commit details
    Browse the repository at this point in the history
  17. UefiCpuPkg/MpInitLib: Always use AP Create if PcdSevSnpApicIds is set

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    Currently, the first time an AP is started for an SEV-SNP guest, it relies
    on the VMSA as set by the hypervisor. If the list of APIC IDs has been
    retrieved, this is not necessary. Instead, use the SEV-SNP AP Create
    protocol to start the AP for the first time and thereafter using the VMPL
    at which the BSP is running.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    630cc5c View commit details
    Browse the repository at this point in the history
  18. UefiCpuPkg/MpInitLib: AP creation support under an SVSM

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    When running under an SVSM, the VMPL level of the APs that are started
    must match the VMPL level provided by the SVSM. Additionally, each AP
    must have a Calling Area for use with the SVSM protocol. Update the AP
    creation to properly support running under an SVSM.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    1a917ba View commit details
    Browse the repository at this point in the history
  19. Ovmfpkg/CcExitLib: Provide SVSM discovery support

    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    The SVSM specification documents an alternative method of discovery for
    the SVSM using a reserved CPUID bit and a reserved MSR.
    
    For the CPUID support, the #VC handler of an SEV-SNP guest should modify
    the returned value in the EAX register for the 0x8000001f CPUID function
    by setting bit 28 when an SVSM is present.
    
    For the MSR support, new reserved MSR 0xc001f000 has been defined. A #VC
    should be generated when accessing this MSR. The #VC handler is expected
    to ignore writes to this MSR and return the physical calling area address
    (CAA) on reads of this MSR.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    f226b98 View commit details
    Browse the repository at this point in the history
  20. OvmfPkg/BaseMemEncryptLib: Check for presence of an SVSM when not at …

    …VMPL0
    
    BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654
    
    Currently, an SEV-SNP guest will terminate if it is not running at VMPL0.
    The requirement for running at VMPL0 is removed if an SVSM is present.
    
    Update the current VMPL0 check to additionally check for the presence of
    an SVSM is the guest is not running at VMPL0.
    
    Additionally, fix an error in SevSnpIsVmpl0() where the Status variable
    should be compared to 0 and not use the EFI_ERROR() function to determine
    if an error occurred during AsmRmpAdjust().
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    tlendacky committed Jan 26, 2024
    Configuration menu
    Copy the full SHA
    260a140 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2024

  1. disable brotli

    Signed-off-by: Joerg Roedel <jroedel@suse.de>
    joergroedel authored and cclaudio committed Feb 2, 2024
    Configuration menu
    Copy the full SHA
    e9091ae View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2024

  1. Add SVSM based vTPM

    Add this as a new device in TPM2DeviceLibDTpm.  The SVSM vTPM has no
    physical presence interface, so handle detecting this device before
    that check. The detection is done by sending a SVSM_VTPM_QUERY to
    the SVSM.
    
    Co-developed-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: Claudio Carvalho <cclaudio@linux.ibm.com>
    Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
    James Bottomley authored and cclaudio committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    ca0e644 View commit details
    Browse the repository at this point in the history