[Buildroot] [git commit] boot/edk2: add support to build 32bit edk2 when using x86_64 architecture

Arnout Vandecappelle (Essensium/Mind) arnout at mind.be
Fri Oct 15 19:34:25 UTC 2021


commit: https://git.buildroot.net/buildroot/commit/?id=883f9fc754b074d801244b8f56daed7fbef678ed
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

Add BR2_TARGET_EDK2_PLATFORM_OVMF_I386 for x86_64 architecture.
Update the management of EDK2_ARCH to follow the edk2 platform type in
place of BR2 architecture.

Signed-off-by: Kory Maincent <kory.maincent at bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
---
 boot/edk2/Config.in |  2 +-
 boot/edk2/edk2.mk   | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/boot/edk2/Config.in b/boot/edk2/Config.in
index 8e548cfc67..df723122ee 100644
--- a/boot/edk2/Config.in
+++ b/boot/edk2/Config.in
@@ -25,7 +25,7 @@ choice
 
 config BR2_TARGET_EDK2_PLATFORM_OVMF_I386
 	bool "i386"
-	depends on BR2_i386
+	depends on BR2_i386 || BR2_x86_64
 	help
 	  Platform configuration for a generic i386 target.
 	  This platform will boot from flash address 0x0.
diff --git a/boot/edk2/edk2.mk b/boot/edk2/edk2.mk
index ab3cdad464..2b12de53cb 100644
--- a/boot/edk2/edk2.mk
+++ b/boot/edk2/edk2.mk
@@ -14,14 +14,6 @@ EDK2_DEPENDENCIES = edk2-platforms host-python3 host-acpica host-util-linux
 EDK2_INSTALL_TARGET = NO
 EDK2_INSTALL_IMAGES = YES
 
-ifeq ($(BR2_i386),y)
-EDK2_ARCH = IA32
-else ifeq ($(BR2_x86_64),y)
-EDK2_ARCH = X64
-else ifeq ($(BR2_aarch64),y)
-EDK2_ARCH = AARCH64
-endif
-
 ifeq ($(BR2_ENABLE_DEBUG),y)
 EDK2_BUILD_TYPE = DEBUG
 else
@@ -58,33 +50,39 @@ EDK2_BUILD_PACKAGES = $(@D)/Build/Buildroot
 EDK2_PACKAGES_PATH = $(@D):$(EDK2_BUILD_PACKAGES):$(STAGING_DIR)/usr/share/edk2-platforms
 
 ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_I386),y)
+EDK2_ARCH = IA32
 EDK2_DEPENDENCIES += host-nasm
 EDK2_PACKAGE_NAME = OvmfPkg
 EDK2_PLATFORM_NAME = OvmfPkgIa32
 EDK2_BUILD_DIR = OvmfIa32
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y)
+EDK2_ARCH = X64
 EDK2_DEPENDENCIES += host-nasm
 EDK2_PACKAGE_NAME = OvmfPkg
 EDK2_PLATFORM_NAME = OvmfPkgX64
 EDK2_BUILD_DIR = OvmfX64
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU),y)
+EDK2_ARCH = AARCH64
 EDK2_PACKAGE_NAME = ArmVirtPkg
 EDK2_PLATFORM_NAME = ArmVirtQemu
 EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL),y)
+EDK2_ARCH = AARCH64
 EDK2_PACKAGE_NAME = ArmVirtPkg
 EDK2_PLATFORM_NAME = ArmVirtQemuKernel
 EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64),y)
+EDK2_ARCH = AARCH64
 EDK2_PACKAGE_NAME = Platform/ARM/VExpressPkg
 EDK2_PLATFORM_NAME = ArmVExpress-FVP-AArch64
 EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX),y)
+EDK2_ARCH = AARCH64
 EDK2_DEPENDENCIES += host-dtc arm-trusted-firmware
 EDK2_PACKAGE_NAME = Platform/Socionext/DeveloperBox
 EDK2_PLATFORM_NAME = DeveloperBox
@@ -103,6 +101,7 @@ define EDK2_PRE_BUILD_SOCIONEXT_DEVELOPERBOX
 endef
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN),y)
+EDK2_ARCH = AARCH64
 EDK2_DEPENDENCIES += host-dtc arm-trusted-firmware
 EDK2_PACKAGE_NAME = Platform/SolidRun/Armada80x0McBin
 EDK2_PLATFORM_NAME = Armada80x0McBin
@@ -111,6 +110,7 @@ EDK2_BUILD_ENV += DTC_PREFIX=$(HOST_DIR)/bin/
 EDK2_BUILD_OPTS += -D INCLUDE_TFTP_COMMAND
 
 else ifeq ($(BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA),y)
+EDK2_ARCH = AARCH64
 EDK2_DEPENDENCIES += arm-trusted-firmware
 EDK2_PACKAGE_NAME = Platform/Qemu/SbsaQemu
 EDK2_PLATFORM_NAME = SbsaQemu


More information about the buildroot mailing list