summaryrefslogtreecommitdiff
path: root/kernel/src/kernel.ld
diff options
context:
space:
mode:
authorAleksa Vuckovic <aleksav013@gmail.com>2022-08-08 19:50:11 +0200
committerAleksa Vuckovic <aleksav013@gmail.com>2022-08-08 19:50:11 +0200
commit0162997df4ae7769bd4fc055b2c03b473846d1f5 (patch)
treef6c40a64cbb15cf3fd102e5e8f15b48030e96f4e /kernel/src/kernel.ld
parent71396c5cd460890c52e348687e6e7c864e2dfeed (diff)
higher half
Diffstat (limited to 'kernel/src/kernel.ld')
-rw-r--r--kernel/src/kernel.ld19
1 files changed, 12 insertions, 7 deletions
diff --git a/kernel/src/kernel.ld b/kernel/src/kernel.ld
index da5c87c..56b5647 100644
--- a/kernel/src/kernel.ld
+++ b/kernel/src/kernel.ld
@@ -1,30 +1,36 @@
ENTRY(_start)
+KERNEL_PMA = 0x00100000;
+KERNEL_VMA = 0xc0000000;
+
SECTIONS
{
- . = 1M;
+ . = KERNEL_PMA;
.boot BLOCK(4K) : ALIGN(4K)
{
KEEP(*(.multiboot_header))
+ *(.boot.text)
}
- .text BLOCK(4K) : ALIGN(4K)
+ . += KERNEL_VMA;
+
+ .text ALIGN(4K) : AT (ADDR (.text) - KERNEL_VMA)
{
*(.text)
}
- .rodata BLOCK(4K) : ALIGN(4K)
+ .rodata ALIGN(4K) : AT (ADDR (.rodata) - KERNEL_VMA)
{
*(.rodata)
}
- .data BLOCK(4K) : ALIGN(4K)
+ .data ALIGN(4K) : AT (ADDR (.data) - KERNEL_VMA)
{
*(.data)
}
- .bss BLOCK(4K) : ALIGN(4K)
+ .bss ALIGN(4K) : AT (ADDR (.bss) - KERNEL_VMA)
{
*(COMMON)
*(.bss)
@@ -32,8 +38,7 @@ SECTIONS
/DISCARD/ :
{
- *(.comment.*)
+ *(.comment)
*(.note.*)
- *(.eh_frame)
}
}