From b19d9511f98505498db85d525f22f17aea11e0b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ky=C3=B6sti=20M=C3=A4lkki?= Date: Thu, 23 Apr 2020 18:45:28 +0300 Subject: arch/x86: Remove ID_SECTION_OFFSET MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The location is hardcoded inside flashrom and FILO. Only two offsets are supported, 0x10 and 0x80. Change-Id: I8348f2ac0cab969ab78ecb50a55de486eee0cf9b Signed-off-by: Kyösti Mälkki Reviewed-on: https://review.coreboot.org/c/coreboot/+/47598 Reviewed-by: Arthur Heymans Tested-by: build bot (Jenkins) --- src/arch/ppc64/Kconfig | 4 ++++ src/arch/x86/Kconfig | 4 ---- src/arch/x86/bootblock.ld | 3 ++- src/arch/x86/id.S | 27 ++++++++++++--------------- 4 files changed, 18 insertions(+), 20 deletions(-) (limited to 'src') diff --git a/src/arch/ppc64/Kconfig b/src/arch/ppc64/Kconfig index 44dbb1d778..546dbc82e0 100644 --- a/src/arch/ppc64/Kconfig +++ b/src/arch/ppc64/Kconfig @@ -17,3 +17,7 @@ config ARCH_ROMSTAGE_PPC64 config ARCH_RAMSTAGE_PPC64 bool select ARCH_PPC64 + +config ID_SECTION_OFFSET + hex + default 0x80 diff --git a/src/arch/x86/Kconfig b/src/arch/x86/Kconfig index 95c87dab7a..4de8c96f1c 100644 --- a/src/arch/x86/Kconfig +++ b/src/arch/x86/Kconfig @@ -186,10 +186,6 @@ config HPET_ADDRESS hex default 0xfed00000 if !HPET_ADDRESS_OVERRIDE -config ID_SECTION_OFFSET - hex - default 0x80 - # 64KiB default bootblock size config C_ENV_BOOTBLOCK_SIZE hex diff --git a/src/arch/x86/bootblock.ld b/src/arch/x86/bootblock.ld index 849addd2e2..ad9c2efaa1 100644 --- a/src/arch/x86/bootblock.ld +++ b/src/arch/x86/bootblock.ld @@ -15,10 +15,11 @@ SECTIONS { /* Trigger an error if I have an unusable start address */ _bogus = ASSERT(_start16bit >= 0xffff0000, "_start16bit too low. Please report."); - . = (0xffffffff - CONFIG_ID_SECTION_OFFSET) - (__id_end - __id_start) + 1; + . = _ID_SECTION; .id (.): { KEEP(*(.id)); } + _ID_SECTION = 0xffffff80 - SIZEOF(.id); . = 0xffffffc0; .fit_pointer (.): { diff --git a/src/arch/x86/id.S b/src/arch/x86/id.S index a7b4be7aa8..574a7dcb91 100644 --- a/src/arch/x86/id.S +++ b/src/arch/x86/id.S @@ -2,26 +2,23 @@ #include - .section ".id", "a", @progbits +.section ".id", "a", @progbits - .globl __id_start -__id_start: ver: .asciz COREBOOT_VERSION vendor: .asciz CONFIG_MAINBOARD_VENDOR part: .asciz CONFIG_MAINBOARD_PART_NUMBER -.long __id_end + CONFIG_ID_SECTION_OFFSET - ver /* Reverse offset to the - *vendor id - */ -.long __id_end + CONFIG_ID_SECTION_OFFSET - vendor /* Reverse offset to the - * vendor id - */ -.long __id_end + CONFIG_ID_SECTION_OFFSET - part /* Reverse offset to the - * part number - */ -.long CONFIG_ROM_SIZE /* Size of this romimage */ - .globl __id_end -__id_end: +#if ENV_X86_64 +.long 0xffffffff - ver + 1 /* Reverse offset to the version */ +.long 0xffffffff - vendor + 1 /* Reverse offset to the vendor id */ +.long 0xffffffff - part + 1 /* Reverse offset to the part number */ +#else +.long - ver /* Reverse offset to the version */ +.long - vendor /* Reverse offset to the vendor id */ +.long - part /* Reverse offset to the part number */ +#endif + +.long CONFIG_ROM_SIZE /* Size of this romimage */ -- cgit v1.2.3