summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/ppc64/Kconfig4
-rw-r--r--src/arch/x86/Kconfig4
-rw-r--r--src/arch/x86/bootblock.ld3
-rw-r--r--src/arch/x86/id.S27
4 files changed, 18 insertions, 20 deletions
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 <build.h>
- .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 */