Skip to content

Tags: cloud-hypervisor/edk2

Tags

ch-1e1b96f126

Toggle ch-1e1b96f126's commit message
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>

ch-13b4963ec4

Toggle ch-13b4963ec4's commit message
ch-13b4963ec4

Rebased on the latest stable release, e.g. `edk2-stable202602` [1].

Custom patches carried in the tree primarily automate the OVMF build for
the Cloud Hypervisor (e.g. CloudHv) target, covering both x86_64 and
AArch64. A compile-time flag is included for the AArch64 build to work
around an issue with older versions of GRUB (e.g., the version shipped
with Jammy, used in Cloud Hypervisor CI) [2].

[1] https://github.com/tianocore/edk2/releases/tag/edk2-stable202602
[2] #8

ch-a54f262b09

Toggle ch-a54f262b09's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-a408ac5168

Toggle ch-a408ac5168's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-5746f5029a

Toggle ch-5746f5029a's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-ffab6553e9

Toggle ch-ffab6553e9's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-6624aa331f

Toggle ch-6624aa331f's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-92c79b2901

Toggle ch-92c79b2901's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-c1166d5c36

Toggle ch-c1166d5c36's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>

ch-482f50252d

Toggle ch-482f50252d's commit message
ci: Add automated building of OVMF

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
Signed-off-by: Sebastien Boeuf <sebastien.boeuf@intel.com>