After upgrading the CI system we use for building the ArmVirtPkg targets, we started seeing failures due to the NOOPT build running out of space when using the CLANG38 toolchain definition combined with clang 7.
We really don't want to increase the FD/FV sizes in general to accommodate this, so parameterize the relevant quantities and increase them by 50% for NOOPT builds. Signed-off-by: Ard Biesheuvel <ard.biesheu...@linaro.org> --- ArmVirtPkg/ArmVirt.fdf.inc | 13 +++++++++++++ ArmVirtPkg/ArmVirtQemu.fdf | 14 +++++++++++--- ArmVirtPkg/ArmVirtQemuKernel.fdf | 14 +++++++++++--- ArmVirtPkg/ArmVirtXen.fdf | 14 +++++++++++--- 4 files changed, 46 insertions(+), 9 deletions(-) diff --git a/ArmVirtPkg/ArmVirt.fdf.inc b/ArmVirtPkg/ArmVirt.fdf.inc new file mode 100644 index 000000000000..5fdebcf5dc93 --- /dev/null +++ b/ArmVirtPkg/ArmVirt.fdf.inc @@ -0,0 +1,13 @@ +# +# Copyright (c) 2019, Linaro Limited. All rights reserved. +# +# SPDX-License-Identifier: BSD-2-Clause-Patent +# + +!if $(TARGET) != NOOPT +DEFINE FD_SIZE = 0x200000 +DEFINE FD_NUM_BLOCKS = 0x200 +!else +DEFINE FD_SIZE = 0x300000 +DEFINE FD_NUM_BLOCKS = 0x300 +!endif diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf index c2169cb7964b..27dd5bf09a91 100644 --- a/ArmVirtPkg/ArmVirtQemu.fdf +++ b/ArmVirtPkg/ArmVirtQemu.fdf @@ -20,14 +20,22 @@ # ################################################################################ +[Defines] +!include ArmVirt.fdf.inc +!if $(TARGET) != NOOPT +DEFINE FVMAIN_COMPACT_SIZE = 0x1ff000 +!else +DEFINE FVMAIN_COMPACT_SIZE = 0x2ff000 +!endif + [FD.QEMU_EFI] BaseAddress = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress # QEMU assigns 0 - 0x8000000 for a BootROM -Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device +Size = $(FD_SIZE)|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device ErasePolarity = 1 # This one is tricky, it must be: BlockSize * NumBlocks = Size BlockSize = 0x00001000 -NumBlocks = 0x200 +NumBlocks = $(FD_NUM_BLOCKS) ################################################################################ # @@ -59,7 +67,7 @@ DATA = { !endif } -0x00001000|0x001ff000 +0x00001000|$(FVMAIN_COMPACT_SIZE) gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT diff --git a/ArmVirtPkg/ArmVirtQemuKernel.fdf b/ArmVirtPkg/ArmVirtQemuKernel.fdf index f675b6d65ee1..1836697a0a90 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.fdf +++ b/ArmVirtPkg/ArmVirtQemuKernel.fdf @@ -20,14 +20,22 @@ # ################################################################################ +[Defines] +!include ArmVirt.fdf.inc +!if $(TARGET) != NOOPT +DEFINE FVMAIN_COMPACT_SIZE = 0x1f8000 +!else +DEFINE FVMAIN_COMPACT_SIZE = 0x2f8000 +!endif + [FD.QEMU_EFI] BaseAddress = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress # QEMU assigns 0 - 0x8000000 for a BootROM -Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device +Size = $(FD_SIZE)|gArmTokenSpaceGuid.PcdFdSize # The size in bytes of the FLASH Device ErasePolarity = 1 # This one is tricky, it must be: BlockSize * NumBlocks = Size BlockSize = 0x00001000 -NumBlocks = 0x200 +NumBlocks = $(FD_NUM_BLOCKS) ################################################################################ # @@ -81,7 +89,7 @@ DATA = { !endif } -0x00008000|0x001f8000 +0x00008000|$(FVMAIN_COMPACT_SIZE) gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT diff --git a/ArmVirtPkg/ArmVirtXen.fdf b/ArmVirtPkg/ArmVirtXen.fdf index 79f681cde028..4007f49a08fb 100644 --- a/ArmVirtPkg/ArmVirtXen.fdf +++ b/ArmVirtPkg/ArmVirtXen.fdf @@ -20,14 +20,22 @@ # ################################################################################ +[Defines] +!include ArmVirt.fdf.inc +!if $(TARGET) != NOOPT +DEFINE FVMAIN_COMPACT_SIZE = 0x1fe000 +!else +DEFINE FVMAIN_COMPACT_SIZE = 0x2fe000 +!endif + [FD.XEN_EFI] BaseAddress = 0x00000000|gArmTokenSpaceGuid.PcdFdBaseAddress -Size = 0x00200000|gArmTokenSpaceGuid.PcdFdSize +Size = $(FD_SIZE)|gArmTokenSpaceGuid.PcdFdSize ErasePolarity = 1 # This one is tricky, it must be: BlockSize * NumBlocks = Size BlockSize = 0x00001000 -NumBlocks = 0x200 +NumBlocks = $(FD_NUM_BLOCKS) ################################################################################ # @@ -81,7 +89,7 @@ DATA = { !endif } -0x00002000|0x001fe000 +0x00002000|$(FVMAIN_COMPACT_SIZE) gArmTokenSpaceGuid.PcdFvBaseAddress|gArmTokenSpaceGuid.PcdFvSize FV = FVMAIN_COMPACT -- 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#46996): https://edk2.groups.io/g/devel/message/46996 Mute This Topic: https://groups.io/mt/33207946/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-