armv7/exynos5250: place .id between .start and bootblock main
This places the .id section toward the lower region of the coreboot
image, before the bootblock. It's easier for humans to find by dumping
the image and it also eliminates ID_SECTION_OFFSET which is currently
the upper bound on our image size.
Change-Id: I7d737b901dac659ddf9aa437cee5dc32f1080546
Signed-off-by: David Hendricks <dhendrix@chromium.org>
Reviewed-on: http://review.coreboot.org/2345
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
diff --git a/src/arch/armv7/Makefile.inc b/src/arch/armv7/Makefile.inc
index 2c5d8c6..6d4a364 100644
--- a/src/arch/armv7/Makefile.inc
+++ b/src/arch/armv7/Makefile.inc
@@ -202,7 +202,6 @@
# Build the bootblock
bootblock_lds = $(src)/arch/armv7/bootblock.lds
-bootblock_lds += $(src)/arch/armv7/lib/id.lds
bootblock_lds += $(chipset_bootblock_lds)
bootblock_inc += $(src)/arch/armv7/bootblock.inc
diff --git a/src/arch/armv7/bootblock.lds b/src/arch/armv7/bootblock.lds
index f45e6c0..48ba0ab 100644
--- a/src/arch/armv7/bootblock.lds
+++ b/src/arch/armv7/bootblock.lds
@@ -32,6 +32,7 @@
_rom = .;
*(.bl1);
*(.start);
+ *(.id);
*(.text);
*(.text.*);
*(.rom.text);
diff --git a/src/arch/armv7/lib/id.inc b/src/arch/armv7/lib/id.inc
index 4da7024..ffe547d 100644
--- a/src/arch/armv7/lib/id.inc
+++ b/src/arch/armv7/lib/id.inc
@@ -8,9 +8,9 @@
.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 __id_end - ver /* Reverse offset to the vendor id */
+.long __id_end - vendor /* Reverse offset to the vendor id */
+.long __id_end - part /* Reverse offset to the part number */
.long CONFIG_ROM_SIZE /* Size of this romimage */
.globl __id_end
diff --git a/src/arch/armv7/lib/id.lds b/src/arch/armv7/lib/id.lds
deleted file mode 100644
index 9d50479..0000000
--- a/src/arch/armv7/lib/id.lds
+++ /dev/null
@@ -1,6 +0,0 @@
-SECTIONS {
- . = CONFIG_ID_SECTION_BASE;
- .id (.): {
- *(.id)
- }
-}
diff --git a/src/cpu/samsung/exynos5250/Kconfig b/src/cpu/samsung/exynos5250/Kconfig
index 357817e..f62195a 100644
--- a/src/cpu/samsung/exynos5250/Kconfig
+++ b/src/cpu/samsung/exynos5250/Kconfig
@@ -22,8 +22,6 @@
#
# 0x0202_0000: vendor-provided BL1
# 0x0202_3400: bootblock, assume up to 32KB in size
-# 0x0202_7000: ID section, assume 2KB in size. This will be
-# within the bootblock section.
# 0x0203_0000: romstage, assume up to 128KB in size.
# 0x0207_7f00: stack pointer
@@ -40,10 +38,6 @@
hex
default 0x02023400
-config ID_SECTION_BASE
- hex
- default 0x02027e00
-
config ROMSTAGE_BASE
hex
default 0x02030000