VirtualBox

Changeset 100473 in vbox


Ignore:
Timestamp:
Jul 10, 2023 3:54:56 PM (17 months ago)
Author:
vboxsync
Message:

Makefile.kmk,Devices/EFI/Firmware: Make use of the cross compile toolchains for ARM supplied as a tools package, bugref:10400

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile.kmk

    r100334 r100473  
    20932093
    20942094efi-packing:
    2095         + $(KMK) -C src/VBox/Devices/EFI/Firmware$(VBOX_EFI_FIRMWARE_SUFFIX) $(PATH_STAGE)/VBoxEfiFirmware.zip
     2095        + $(KMK) -C src/VBox/Devices/EFI/Firmware$(VBOX_EFI_FIRMWARE_SUFFIX) $(PATH_STAGE)/VBoxEfiFirmware.zip $(if $(VBOX_WITH_VIRT_ARMV8),$(PATH_STAGE)/VBoxEfiFirmware-armv8.zip,)
    20962096
    20972097
  • trunk/src/VBox/Devices/EFI/Firmware/EfiModules.kmk

    r99455 r100473  
    5151 # List of modules that ends up producing .efi, .debug and .pdb files.
    5252 #
    53  VBOX_EFI_MODULES = \
     53 VBOX_EFI_MODULES_CMN = \
     54        MdeModulePkg/Universal/BdsDxe/BdsDxe/$(VBOX_EFI_DEBUG_DIR)/BdsDxe
     55
     56 VBOX_EFI_MODULES_X86 = \
     57        $(VBOX_EFI_MODULES_CMN) \
    5458        FatPkg/EnhancedFatDxe/Fat/$(VBOX_EFI_DEBUG_DIR)/Fat \
    5559        MdeModulePkg/Application/UiApp/UiApp/$(VBOX_EFI_DEBUG_DIR)/UiApp \
     
    7680        MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe/$(VBOX_EFI_DEBUG_DIR)/AcpiTableDxe \
    7781        MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe/$(VBOX_EFI_DEBUG_DIR)/BootGraphicsResourceTableDxe \
    78         MdeModulePkg/Universal/BdsDxe/BdsDxe/$(VBOX_EFI_DEBUG_DIR)/BdsDxe \
    7982        MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe/$(VBOX_EFI_DEBUG_DIR)/CapsuleRuntimeDxe \
    8083        MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe/$(VBOX_EFI_DEBUG_DIR)/ConPlatformDxe \
     
    146149        VBoxPkg/VBoxVgaMiniPortDxe/VBoxVgaMiniPortDxe/$(VBOX_EFI_DEBUG_DIR)/VBoxVgaMiniPortDxe
    147150
    148  # Version of VBOX_EFI_MODULES without directories. (Using $(value ) to avoid
    149  # expanding all the build target macros and then immediately discarding them.)
    150  VBOX_EFI_MODULES_FLAT = $(notdir $(value VBOX_EFI_MODULES))
     151 VBOX_EFI_MODULES_ARM = \
     152        $(VBOX_EFI_MODULES_CMN)
     153
     154 # Version of VBOX_EFI_MODULES without directories.
     155 VBOX_EFI_MODULES_FLAT_X86 = $(notdir $(VBOX_EFI_MODULES_X86))
     156 VBOX_EFI_MODULES_FLAT_ARM = $(notdir $(VBOX_EFI_MODULES_ARM))
    151157
    152158endif
  • trunk/src/VBox/Devices/EFI/Firmware/Makefile.kmk

    r99476 r100473  
    148148if1of ($(KBUILD_HOST), win)
    149149 VBoxEfiFirmwareDbg32_SOURCES = \
    150         $(foreach mod,$(VBOX_EFI_MODULES),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/IA32/$(mod).pdb)
     150        $(foreach mod,$(VBOX_EFI_MODULES_X86),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/IA32/$(mod).pdb)
    151151else
    152152 VBoxEfiFirmwareDbg32_SOURCES = \
    153         $(foreach mod,$(VBOX_EFI_MODULES_FLAT),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/IA32/$(mod).debug)
     153        $(foreach mod,$(VBOX_EFI_MODULES_FLAT_X86),$(VBoxEfiFirmware_0_OUTDIR)/x86/$(VBOX_EFI_OUTPUT_SUBDIR)/IA32/$(mod).debug)
    154154endif
    155155
     
    159159if1of ($(KBUILD_HOST), win)
    160160 VBoxEfiFirmwareDbg64_SOURCES = \
    161         $(foreach mod,$(VBOX_EFI_MODULES),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/X64/$(mod).pdb)
     161        $(foreach mod,$(VBOX_EFI_MODULES_X86),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/X64/$(mod).pdb)
    162162else
    163163 VBoxEfiFirmwareDbg64_SOURCES = \
    164         $(foreach mod,$(VBOX_EFI_MODULES_FLAT),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/X64/$(mod).debug)
     164        $(foreach mod,$(VBOX_EFI_MODULES_FLAT_X86),$(VBoxEfiFirmware_0_OUTDIR)/amd64/$(VBOX_EFI_OUTPUT_SUBDIR)/X64/$(mod).debug)
    165165endif
    166166
     
    171171 if1of ($(KBUILD_HOST), win)
    172172  VBoxEfiFirmwareDbgAarch32_SOURCES = \
    173         $(foreach mod,$(VBOX_EFI_MODULES),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).pdb)
     173        $(foreach mod,$(VBOX_EFI_MODULES_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).pdb)
    174174 else
    175175  VBoxEfiFirmwareDbgAarch32_SOURCES = \
    176         $(foreach mod,$(VBOX_EFI_MODULES_FLAT),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).debug)
     176        $(foreach mod,$(VBOX_EFI_MODULES_FLAT_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch32/$(VBOX_EFI_OUTPUT_SUBDIR)/ARM/$(mod).debug)
    177177 endif
    178178
     
    182182 if1of ($(KBUILD_HOST), win)
    183183  VBoxEfiFirmwareDbgAarch64_SOURCES = \
    184         $(foreach mod,$(VBOX_EFI_MODULES),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).pdb)
     184        $(foreach mod,$(VBOX_EFI_MODULES_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).pdb)
    185185 else
    186186  VBoxEfiFirmwareDbgAarch64_SOURCES = \
    187         $(foreach mod,$(VBOX_EFI_MODULES_FLAT),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).debug)
     187        $(foreach mod,$(VBOX_EFI_MODULES_FLAT_ARM),$(VBoxEfiFirmware_0_OUTDIR)/aarch64/$(VBOX_EFI_OUTPUT_SUBDIR)/AARCH64/$(mod).debug)
    188188 endif
    189189endif
     
    214214                VBoxEFI64.fd
    215215        $(REDIRECT) -C "$(PATH_STAGE)/$(INST_VBOXDBG_SYMS)" -- $(TOOL_ZIP_PACK) $(TOOL_ZIP_PACKFLAGS) -9X $@ \
    216                 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),amd64/$(mod)$(VBOX_EFI_DBG_SUFF)) \
    217                 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),x86/$(mod)$(VBOX_EFI_DBG_SUFF))
     216                $(foreach mod,$(VBOX_EFI_MODULES_FLAT_X86),amd64/$(mod)$(VBOX_EFI_DBG_SUFF)) \
     217                $(foreach mod,$(VBOX_EFI_MODULES_FLAT_X86),x86/$(mod)$(VBOX_EFI_DBG_SUFF))
    218218
    219219ifdef VBOX_WITH_VIRT_ARMV8
     
    224224                VBoxEFIAArch64.fd
    225225        $(REDIRECT) -C "$(PATH_STAGE)/$(INST_VBOXDBG_SYMS)" -- $(TOOL_ZIP_PACK) $(TOOL_ZIP_PACKFLAGS) -9X $@ \
    226                 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),aarch64/$(mod)$(VBOX_EFI_DBG_SUFF)) \
    227                 $(foreach mod,$(VBOX_EFI_MODULES_FLAT),aarch32/$(mod)$(VBOX_EFI_DBG_SUFF))
     226                $(foreach mod,$(VBOX_EFI_MODULES_FLAT_ARM),aarch64/$(mod)$(VBOX_EFI_DBG_SUFF)) \
     227                $(foreach mod,$(VBOX_EFI_MODULES_FLAT_ARM),aarch32/$(mod)$(VBOX_EFI_DBG_SUFF))
    228228endif
    229229
     
    320320endif
    321321
    322 #
    323 # @todo This is temporary and shoud be changed to use proper tools depending
    324 #       on the build environment
    325322ifdef VBOX_WITH_VIRT_ARMV8
    326  ifeq ($(KBUILD_HOST),darwin)
    327   VBOX_PATH_PREFIX_GCC_AARCH64 ?= aarch64-elf-
    328   VBOX_PATH_PREFIX_GCC_ARM     ?= arm-none-eabi-
    329  else
    330   VBOX_PATH_PREFIX_GCC_AARCH64 ?=
    331   VBOX_PATH_PREFIX_GCC_ARM     ?=
     323 if1of ($(KBUILD_HOST),darwin linux)
     324  ifndef TOOL_VBoxXGccArm64Elf
     325   include $(KBUILD_TOOL_PATHS)/VBoxXGccArm64Elf.kmk
     326  endif
     327  ifndef TOOL_VBoxXGccArmNoneEabi
     328   include $(KBUILD_TOOL_PATHS)/VBoxXGccArmNoneEabi.kmk
     329  endif
    332330 endif
    333 else
    334  VBOX_PATH_PREFIX_GCC_AARCH64 ?=
    335  VBOX_PATH_PREFIX_GCC_ARM     ?=
    336331endif
    337332
     
    351346                -e 's,@VBOX_PATH_PREFIX_GCC32@,$(PATH_TOOL_$(VBOX_GCC_TOOL)),' \
    352347                -e 's,@VBOX_PATH_PREFIX_GCC64@,$(PATH_TOOL_$(VBOX_GCC_TOOL)),' \
    353                 -e 's,@VBOX_PATH_PREFIX_GCC_AARCH64@,$(VBOX_PATH_PREFIX_GCC_AARCH64),' \
    354                 -e 's,@VBOX_PATH_PREFIX_GCC_ARM@,$(VBOX_PATH_PREFIX_GCC_ARM),' \
     348                -e 's,@VBOX_PATH_PREFIX_GCC_AARCH64@,$(PATH_TOOL_VBoxXGccArm64Elf)/$(TOOL_VBoxXGccArm64Elf_PREFIX),' \
     349                -e 's,@VBOX_PATH_PREFIX_GCC_ARM@,$(PATH_TOOL_VBoxXGccArmNoneEabi)/$(TOOL_VBoxXGccArmNoneEabi_PREFIX),' \
    355350               \
    356351                -e 's,@PATH_VS2010@,$(PATH_TOOL_$(VBOX_VCC_TOOL)),' \
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette