diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2024-04-29 10:04:59 +0200 |
---|---|---|
committer | Julius Werner <jwerner@chromium.org> | 2024-06-20 19:34:14 +0000 |
commit | 6ed0ba1e93f99edef7a62c3670b4ec61103e0ae9 (patch) | |
tree | 80d30a886c7a291adc9d3c4566886a4f8aa38ff2 /Makefile.mk | |
parent | 71c90104438e453af6afa396e78e75e4f874a9e0 (diff) |
cbfstool: Read XIP stage alignment requirements from ELF
On x86_64 romstage can contain page tables and a page table pointer
which have an larger alignment requirement of 4096. Instead of
hardcoding it, read if from the ELF phdrs.
Change-Id: I94e4a4209b7441ecb2966a1342c3d46625771bb8
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/82102
Reviewed-by: Shuo Liu <shuo.liu@intel.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'Makefile.mk')
-rw-r--r-- | Makefile.mk | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/Makefile.mk b/Makefile.mk index e642ac7a6e..3cfd97c53e 100644 --- a/Makefile.mk +++ b/Makefile.mk @@ -1276,15 +1276,6 @@ ifeq ($(CONFIG_ARCH_ROMSTAGE_ARM),y) $(CONFIG_CBFS_PREFIX)/romstage-options := -b 0 endif ifeq ($(CONFIG_ARCH_ROMSTAGE_X86_32)$(CONFIG_ARCH_ROMSTAGE_X86_64),y) -# Use a 64 byte alignment to provide a minimum alignment -# requirement for the overall romstage. While the first object within -# romstage could have a 4 byte minimum alignment that doesn't mean the linker -# won't decide the entire section should be aligned to a larger value. In the -# future cbfstool should add XIP files proper and honor the alignment -# requirements of the program segment. -# -# Make sure that segment for .car.data is ignored while adding romstage. -$(CONFIG_CBFS_PREFIX)/romstage-align := 64 ifeq ($(CONFIG_NO_XIP_EARLY_STAGES),y) $(CONFIG_CBFS_PREFIX)/romstage-options := -S ".car.data" else |