diff mbox series

boot/edk2: add support to build 32bit edk2 when using x86_64 architecture

Message ID 20211004132740.34050-1-kory.maincent@bootlin.com
State Accepted
Headers show
Series boot/edk2: add support to build 32bit edk2 when using x86_64 architecture | expand

Commit Message

Kory Maincent Oct. 4, 2021, 1:27 p.m. UTC
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@bootlin.com>
---
 boot/edk2/Config.in |  2 +-
 boot/edk2/edk2.mk   | 16 ++++++++--------
 2 files changed, 9 insertions(+), 9 deletions(-)

Comments

Arnout Vandecappelle Oct. 15, 2021, 8:03 p.m. UTC | #1
On 04/10/2021 15:27, Kory Maincent wrote:
> 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@bootlin.com>

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   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
>
diff mbox series

Patch

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