diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-09-09 23:14:30 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-09-09 23:14:30 +0200 |
| commit | da6cf94fc47f38cab580e9df1c6e6a46894aded5 (patch) | |
| tree | 1f7a4534926a79ee6376770c63cccd2aa9e37442 /arch/x86_64/scripts | |
| parent | 0467dc8f98ccef42290f7f7bd95060bfe198c035 (diff) | |
| parent | b99b79d8080cc1491f96069677d9ce0b7775a4f0 (diff) | |
| download | kernel-da6cf94fc47f38cab580e9df1c6e6a46894aded5.tar.xz kernel-da6cf94fc47f38cab580e9df1c6e6a46894aded5.zip | |
Merge branch 'fmorgner/x86-64-double-fault-handling' into 'develop'
x86_64: handle double faults
See merge request teachos/kernel!59
Diffstat (limited to 'arch/x86_64/scripts')
| -rw-r--r-- | arch/x86_64/scripts/kernel.ld | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/arch/x86_64/scripts/kernel.ld b/arch/x86_64/scripts/kernel.ld index e6ae3425..3b2fd898 100644 --- a/arch/x86_64/scripts/kernel.ld +++ b/arch/x86_64/scripts/kernel.ld @@ -52,7 +52,7 @@ SECTIONS PROVIDE_HIDDEN(__init_array_end = .); } :boot_data - .boot_bss ALIGN(4K) : + .boot_bss ALIGN(4K) (NOLOAD) : { KEEP(*(.boot_stack .boot_bss*)) } :boot_data @@ -98,9 +98,23 @@ SECTIONS . += 4K; - .kernel_bss ALIGN(4K) : AT (ADDR (.kernel_bss) - TEACHOS_VMA) + .kernel_stack ALIGN(4K) (NOLOAD) : AT (ADDR (.kernel_stack) - TEACHOS_VMA) { - *(.stack .bss*) + PROVIDE_HIDDEN(__kernel_stack_bottom = .); + *(.stack) + } :kernel_data + + . += 4K; + + .kernel_ist1_stack ALIGN(4K) (NOLOAD) : AT (ADDR (.kernel_ist1_stack) - TEACHOS_VMA) + { + PROVIDE_HIDDEN(__ist1_stack_bottom = .); + *(.ist1_stack) + } :kernel_data + + .kernel_bss ALIGN(4K) (NOLOAD) : AT (ADDR (.kernel_bss) - TEACHOS_VMA) + { + *(.bss*) } :kernel_data .kernel_text ALIGN(4K) : AT(ADDR (.kernel_text) - TEACHOS_VMA) @@ -124,7 +138,7 @@ SECTIONS . += 4K; - .user_bss ALIGN(4K) : AT(ADDR (.user_bss) - TEACHOS_VMA) + .user_bss ALIGN(4K) (NOLOAD) : AT(ADDR (.user_bss) - TEACHOS_VMA) { KEEP(*(.user_bss*)) } :user_data |
