Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: tianocore/edk2
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: cloud-hypervisor/edk2
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: ch
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 1 file changed
  • 4 contributors

Commits on Apr 2, 2026

  1. ci: Add automated building of OVMF

    Signed-off-by: Rob Bradford <robert.bradford@intel.com>
    Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>
    rbradford authored and likebreath committed Apr 2, 2026
    Configuration menu
    Copy the full SHA
    c61ed22 View commit details
    Browse the repository at this point in the history
  2. ci: Add AArch64 firmware build to release workflow

    Split the monolithic build job into parallel build-x64 and
    build-aarch64 jobs feeding a dependent release job. Cross-compile
    AArch64 using gcc-aarch64-linux-gnu with the edk2 build command
    directly
    
    Upgrade deprecated actions
    
    Bump runner to ubuntu-24.04
    
    Drop python3-distutils from build deps
    
    Signed-off-by: Saravanan D <saravanand@crusoe.ai>
    saravan2 authored and likebreath committed Apr 2, 2026
    Configuration menu
    Copy the full SHA
    b110875 View commit details
    Browse the repository at this point in the history
  3. ci: Allow EfiLoaderData code execution in AArch64 build

    ArmVirt.dsc.inc sets PcdDxeNxMemoryProtectionPolicy to 0x...7FD5
    which marks EfiLoaderData as non-executable. GRUB loads its modules
    into EfiLoaderData allocations and executes code from them, causing
    an instruction abort (permission fault, second level) on AArch64.
    
    Override the PCD to 0x...7FD1 (clears the EfiLoaderData NX bit) as
    documented in ArmVirt.dsc.inc itself for GRUB compatibility.
    
    Signed-off-by: Saravanan D <saravanand@crusoe.ai>
    saravan2 authored and likebreath committed Apr 2, 2026
    Configuration menu
    Copy the full SHA
    86351a8 View commit details
    Browse the repository at this point in the history

Commits on Apr 3, 2026

  1. ci: Update release workflow from GCC5 to GCC toolchain

    The upstream edk2 project renamed the GCC5 toolchain to GCC in commits
    b38fea5 and c20483b. This caused OvmfPkg/build.sh to select the
    GCC toolchain, producing output in DEBUG_GCC/, while the workflow still
    looked for artifacts in DEBUG_GCC5/. As a result, the x86-64 build
    succeeded but no artifact was uploaded.
    
    Update the AArch64 build and both artifact paths to use GCC
    consistently.
    
    Signed-off-by: Bo Chen <bchen@crusoe.ai>
    likebreath committed Apr 3, 2026
    Configuration menu
    Copy the full SHA
    13b4963 View commit details
    Browse the repository at this point in the history

Commits on Apr 10, 2026

  1. ci: fix aarch64 firmware crash with multiple PCI segments

    The aarch64 UEFI firmware uses FdtPciHostBridgeLib
    to discover PCI host bridges from the device tree.
    This library asserts that only one pci-host-ecam-
    generic FDT node exists. Cloud-hypervisor generates
    one node per PCI segment, so when we launch a guest
    with num_pci_segments > 1 the DEBUG firmware hits
    the assert and terminates. This assert is aarch64
    specific since amd64 does not use FDT for PCI
    discovery.
    
    FdtPciHostBridgeLib only enumerates the first PCI
    host bridge (segment 0) regardless of build type.
    Segments 1-95 are not visible to UEFI. This is not
    a functional problem because:
    
      - Cloud-hypervisor provides ACPI tables (MCFG,
        DSDT) describing all segments directly to the
        guest via CloudHvAcpiPlatformDxe
      - The Linux kernel re-enumerates PCI from the
        MCFG table and assigns BARs independently
      - Boot devices (virtio-blk, virtio-net) reside
        on segment 0 which UEFI does enumerate
    
    Switch both amd64 and aarch64 builds from DEBUG to
    RELEASE.
    
    Signed-off-by: Saravanan D <saravanand@crusoe.ai>
    saravan2 authored and likebreath committed Apr 10, 2026
    Configuration menu
    Copy the full SHA
    1e1b96f View commit details
    Browse the repository at this point in the history
Loading