mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-01-12 03:10:15 +00:00
arm/edk2: add support for qemuarm and qemuarm64
Add basic support for running edk2 on qemuarm and qemuarm64. This necessitated the need to add ACPI and EFI to the default kernel configs for these machines. Signed-off-by: Jon Mason <jon.mason@arm.com>
This commit is contained in:
@@ -77,9 +77,14 @@ export BTOOLS_PATH = "${EDK_TOOLS_PATH}/BinWrappers/PosixLike"
|
||||
|
||||
EDK_COMPILER ?= "GCC5"
|
||||
export GCC5_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
||||
export GCC5_ARM_PREFIX = "${TARGET_PREFIX}"
|
||||
|
||||
EDK_COMPILER:toolchain-clang = "CLANG38"
|
||||
export CLANG38_AARCH64_PREFIX = "${TARGET_PREFIX}"
|
||||
export CLANG38_ARM_PREFIX = "${TARGET_PREFIX}"
|
||||
|
||||
#FIXME - arm32 doesn't work with clang due to a linker issue
|
||||
TOOLCHAIN:arm = "gcc"
|
||||
|
||||
do_configure:prepend() {
|
||||
sed -i -e "s#-target ${HOST_ARCH}-linux-gnu*#-target ${HOST_SYS}#" ${S}/BaseTools/Conf/tools_def.template
|
||||
|
||||
@@ -3,6 +3,15 @@ EDK2_PLATFORM:qemuarm64-secureboot = "ArmVirtQemu-AARCH64"
|
||||
EDK2_PLATFORM_DSC:qemuarm64-secureboot = "ArmVirtPkg/ArmVirtQemu.dsc"
|
||||
EDK2_BIN_NAME:qemuarm64-secureboot = "QEMU_EFI.fd"
|
||||
|
||||
COMPATIBLE_MACHINE:qemuarm64 = "qemuarm64"
|
||||
EDK2_PLATFORM:qemuarm64 = "ArmVirtQemu-AARCH64"
|
||||
EDK2_PLATFORM_DSC:qemuarm64 = "ArmVirtPkg/ArmVirtQemu.dsc"
|
||||
EDK2_BIN_NAME:qemuarm64 = "QEMU_EFI.fd"
|
||||
|
||||
COMPATIBLE_MACHINE:qemuarm = "qemuarm"
|
||||
EDK2_PLATFORM:qemuarm = "ArmVirtQemu-ARM"
|
||||
EDK2_PLATFORM_DSC:qemuarm = "ArmVirtPkg/ArmVirtQemu.dsc"
|
||||
EDK2_BIN_NAME:qemuarm = "QEMU_EFI.fd"
|
||||
|
||||
COMPATIBLE_MACHINE:qemu-generic-arm64 = "qemu-generic-arm64"
|
||||
DEPENDS:append:qemu-generic-arm64 = " trusted-firmware-a coreutils-native"
|
||||
@@ -21,3 +30,11 @@ do_install:append:qemu-generic-arm64() {
|
||||
# QEMU requires that the images be minimum of 256M in size
|
||||
truncate -s 256M ${D}/firmware/SBSA_FLASH*.fd
|
||||
}
|
||||
|
||||
do_install:append:qemuarm64() {
|
||||
install ${B}/Build/${EDK2_PLATFORM}/${EDK2_BUILD_MODE}_${EDK_COMPILER}/FV/${EDK2_BIN_NAME} ${D}/firmware/
|
||||
}
|
||||
|
||||
do_install:append:qemuarm() {
|
||||
install ${B}/Build/${EDK2_PLATFORM}/${EDK2_BUILD_MODE}_${EDK_COMPILER}/FV/${EDK2_BIN_NAME} ${D}/firmware/
|
||||
}
|
||||
|
||||
2
meta-arm/recipes-kernel/linux/linux-yocto/efi.cfg
Normal file
2
meta-arm/recipes-kernel/linux/linux-yocto/efi.cfg
Normal file
@@ -0,0 +1,2 @@
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_EFI=y
|
||||
@@ -11,3 +11,9 @@ SRC_URI:append:qemuarm64-secureboot = " \
|
||||
file://skip-unavailable-memory.patch \
|
||||
file://tee.cfg \
|
||||
"
|
||||
|
||||
FILESEXTRAPATHS:prepend:qemuarm64 = "${ARMFILESPATHS}"
|
||||
SRC_URI:append:qemuarm64 = " file://efi.cfg"
|
||||
|
||||
FILESEXTRAPATHS:prepend:qemuarm = "${ARMFILESPATHS}"
|
||||
SRC_URI:append:qemuarm = " file://efi.cfg"
|
||||
|
||||
Reference in New Issue
Block a user