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 |
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 --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
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(-)