arch/x86: Combine bootblock linker scripts
Packing bootblock sections is somewhat easier to understand when these all appear in one .ld file. Change-Id: Ie8629a89fa47a28db63ecc33c631b29ac5a77448 Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/47597 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
This commit is contained in:
parent
c2d6f5f4da
commit
cfe526dce2
|
@ -10,3 +10,25 @@ nullidt_offset = nullidt & 0xffff;
|
||||||
_bogus = ASSERT((_start16bit & 0xfff) == 0, "Symbol _start16bit is not at 4 KiB boundary");
|
_bogus = ASSERT((_start16bit & 0xfff) == 0, "Symbol _start16bit is not at 4 KiB boundary");
|
||||||
ap_sipi_vector_in_rom = (_start16bit >> 12) & 0xff;
|
ap_sipi_vector_in_rom = (_start16bit >> 12) & 0xff;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
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 (.): {
|
||||||
|
KEEP(*(.id));
|
||||||
|
}
|
||||||
|
|
||||||
|
. = 0xffffffc0;
|
||||||
|
.fit_pointer (.): {
|
||||||
|
KEEP(*(.fit_pointer));
|
||||||
|
}
|
||||||
|
|
||||||
|
. = 0xfffffff0;
|
||||||
|
.reset . : {
|
||||||
|
*(.reset);
|
||||||
|
. = 15;
|
||||||
|
BYTE(0x00);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
SECTIONS {
|
|
||||||
. = (0xffffffff - CONFIG_ID_SECTION_OFFSET) - (__id_end - __id_start) + 1;
|
|
||||||
.id (.): {
|
|
||||||
KEEP(*(.id))
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -39,11 +39,5 @@ SECTIONS
|
||||||
}
|
}
|
||||||
|
|
||||||
#if ENV_BOOTBLOCK
|
#if ENV_BOOTBLOCK
|
||||||
/* Bootblock specific scripts which provide more SECTION directives. */
|
#include <arch/x86/bootblock.ld>
|
||||||
#include <cpu/x86/16bit/entry16.ld>
|
|
||||||
#include <cpu/x86/16bit/reset16.ld>
|
|
||||||
#include <arch/x86/id.ld>
|
|
||||||
#if CONFIG(CPU_INTEL_FIRMWARE_INTERFACE_TABLE)
|
|
||||||
#include <cpu/intel/fit/fit.ld>
|
|
||||||
#endif
|
|
||||||
#endif /* ENV_BOOTBLOCK */
|
#endif /* ENV_BOOTBLOCK */
|
||||||
|
|
|
@ -1,8 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
SECTIONS {
|
|
||||||
. = 0xffffffc0;
|
|
||||||
.fit_pointer (.): {
|
|
||||||
KEEP(*(.fit_pointer))
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,18 +0,0 @@
|
||||||
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
||||||
|
|
||||||
/*
|
|
||||||
* _ROMTOP : The top of the ROM used where we
|
|
||||||
* need to put the reset vector.
|
|
||||||
*/
|
|
||||||
|
|
||||||
SECTIONS {
|
|
||||||
/* Trigger an error if I have an unuseable start address */
|
|
||||||
_bogus = ASSERT(_start16bit >= 0xffff0000, "_start16bit too low. Please report.");
|
|
||||||
_ROMTOP = 0xfffffff0;
|
|
||||||
. = _ROMTOP;
|
|
||||||
.reset . : {
|
|
||||||
*(.reset);
|
|
||||||
. = 15;
|
|
||||||
BYTE(0x00);
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue