add: higher half kernel, NOT WORKING

This commit is contained in:
2024-10-14 15:57:11 +02:00
parent 41786ea523
commit 5969dcca54
3 changed files with 125 additions and 103 deletions

View File

@ -1,29 +1,41 @@
ENTRY(_start)
ENTRY (_start)
SECTIONS
{
. = 2M;
. = 0x00100000;
/* The kernel will live at 3GB + 1MB in the virtual address space, */
/* which will be mapped to 1MB in the physical address space. */
/* Note that we page-align the sections. */
.text BLOCK(4K) : ALIGN(4K)
_kernel_start = .;
.multiboot.data : {
*(.multiboot.data)
}
.multiboot.text : {
*(.multiboot.text)
}
. += 0xC0000000;
/* Add a symbol that indicates the start address of the kernel. */
.text ALIGN (4K) : AT (ADDR (.text) - 0xC0000000)
{
*(.multiboot)
*(.text)
}
.rodata BLOCK(4K) : ALIGN(4K)
.rodata ALIGN (4K) : AT (ADDR (.rodata) - 0xC0000000)
{
*(.rodata)
}
.data BLOCK(4K) : ALIGN(4K)
.data ALIGN (4K) : AT (ADDR (.data) - 0xC0000000)
{
*(.data)
}
.bss BLOCK(4K) : ALIGN(4K)
.bss ALIGN (4K) : AT (ADDR (.bss) - 0xC0000000)
{
*(COMMON)
*(.bss)
end_kernel = .;
*(.bootstrap_stack)
}
}
/* Add a symbol that indicates the end address of the kernel. */
_kernel_end = .;
}