feat(arm64): higher-half kernel, early MMU in boot, and VMM
This commit is contained in:
+19
-5
@@ -1,3 +1,8 @@
|
||||
ENTRY(_start)
|
||||
|
||||
KERNEL_PA = 0x40100000;
|
||||
KERNEL_VA = 0xFFFFFFFF80100000;
|
||||
|
||||
PHDRS
|
||||
{
|
||||
text PT_LOAD FLAGS(5); /* Read | Execute */
|
||||
@@ -6,22 +11,31 @@ PHDRS
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
. = 0x40100000;
|
||||
. = KERNEL_VA;
|
||||
_kernelStart = .;
|
||||
|
||||
.text : {
|
||||
.text : AT(ADDR(.text) - KERNEL_VA + KERNEL_PA) {
|
||||
*(.text.boot)
|
||||
*(.text*)
|
||||
} :text
|
||||
|
||||
. = ALIGN(8);
|
||||
.rodata : { *(.rodata*) } :text
|
||||
.rodata : AT(ADDR(.rodata) - KERNEL_VA + KERNEL_PA) {
|
||||
*(.rodata*)
|
||||
} :text
|
||||
|
||||
. = ALIGN(4096);
|
||||
.data : { *(.data*) } :data
|
||||
.data : AT(ADDR(.data) - KERNEL_VA + KERNEL_PA) {
|
||||
*(.data*)
|
||||
} :data
|
||||
|
||||
. = ALIGN(8);
|
||||
.bss : { *(.bss*) *(COMMON) } :data
|
||||
.bss : AT(ADDR(.bss) - KERNEL_VA + KERNEL_PA) {
|
||||
__bss_start = .;
|
||||
*(.bss*)
|
||||
*(COMMON)
|
||||
__bss_end = .;
|
||||
} :data
|
||||
|
||||
. = ALIGN(4096);
|
||||
_kernelEnd = .;
|
||||
|
||||
Reference in New Issue
Block a user