summaryrefslogtreecommitdiffstats
path: root/bsps/x86_64/amd64/start/linkcmds
diff options
context:
space:
mode:
authorKarel Gardas <karel@functional.vision>2023-04-16 23:01:58 +0200
committerKarel Gardas <karel@functional.vision>2023-04-29 20:41:23 +0200
commitbf53ff2de2c2dab5b3e2186eac5310e78b38e413 (patch)
tree2655fff7f0369e59e0474b155de28f647b0b5c56 /bsps/x86_64/amd64/start/linkcmds
parentbsps/amd64: increase CPU alignment to 16 (diff)
downloadrtems-bf53ff2de2c2dab5b3e2186eac5310e78b38e413.tar.bz2
bsps/amd64: add a new EFI-based variant of AMD64 BSP
The new amd64efi BSP supports: - multiboot2 boot format. Runs well with GRUB. - console based on either EFI simple text output or GOP-based framebuffer - clock based on EFI event/timer API - early console using either hard-wired PC-AT serial or just memory buffer - with EFI support disabled the BSP is more or less equivalent to amd64 BSP with multiboot2 support
Diffstat (limited to 'bsps/x86_64/amd64/start/linkcmds')
-rw-r--r--bsps/x86_64/amd64/start/linkcmds6
1 files changed, 5 insertions, 1 deletions
diff --git a/bsps/x86_64/amd64/start/linkcmds b/bsps/x86_64/amd64/start/linkcmds
index c7bd54279b..b0de91f160 100644
--- a/bsps/x86_64/amd64/start/linkcmds
+++ b/bsps/x86_64/amd64/start/linkcmds
@@ -28,13 +28,15 @@ RamBase = DEFINED(RamBase) ? RamBase :
/* XXX: Defaulting to 1GiB.
*/
RamSize = DEFINED(RamSize) ? RamSize :
- DEFINED(_RamSize) ? _RamSize : 0x40000000;
+ /* DEFINED(_RamSize) ? _RamSize : 0x2000000;*/ /* 32MB */
+ DEFINED(_RamSize) ? _RamSize : 0x1000000; /* 16MB */
RamEnd = RamBase + RamSize;
SECTIONS
{
/* Read-only sections, merged into text segment: */
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x00100000)); . = SEGMENT_START("text-segment", 0x00100000) + SIZEOF_HEADERS;
+/* .multiboot2_header : { *(.multiboot2_header) }*/
.interp : { *(.interp) }
.note.gnu.build-id : { *(.note.gnu.build-id) }
.hash : { *(.hash) }
@@ -88,6 +90,7 @@ SECTIONS
.plt.sec : { *(.plt.sec) }
.text :
{
+ KEEP (*(.multiboot2_header))
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
*(.text.exit .text.exit.*)
*(.text.startup .text.startup.*)
@@ -236,6 +239,7 @@ SECTIONS
{
*(SORT_BY_NAME (SORT_BY_ALIGNMENT (.noinit*)))
}
+ . = ALIGN(64);
.rtemsstack (NOLOAD) :
{
*(SORT(.rtemsstack.*))