初始化

This commit is contained in:
2026-04-09 21:47:13 +08:00
commit cb952965e6
37 changed files with 1304 additions and 0 deletions

7
clks/arch/aarch64/boot.c Normal file
View File

@@ -0,0 +1,7 @@
#include <clks/cpu.h>
#include <clks/kernel.h>
void _start(void) {
clks_kernel_main();
clks_cpu_halt_forever();
}

View File

@@ -0,0 +1,38 @@
OUTPUT_FORMAT(elf64-littleaarch64)
ENTRY(_start)
PHDRS {
text PT_LOAD FLAGS(5);
rodata PT_LOAD FLAGS(4);
data PT_LOAD FLAGS(6);
}
SECTIONS {
. = 0x100000;
.text : {
*(.text .text.*)
} :text
.rodata : {
KEEP(*(.limine_requests_start))
KEEP(*(.limine_requests))
KEEP(*(.limine_requests_end))
*(.rodata .rodata.*)
} :rodata
.data : {
*(.data .data.*)
} :data
.bss : {
*(COMMON)
*(.bss .bss.*)
} :data
/DISCARD/ : {
*(.comment)
*(.eh_frame)
*(.note .note.*)
}
}

7
clks/arch/x86_64/boot.c Normal file
View File

@@ -0,0 +1,7 @@
#include <clks/cpu.h>
#include <clks/kernel.h>
void _start(void) {
clks_kernel_main();
clks_cpu_halt_forever();
}

View File

@@ -0,0 +1,42 @@
OUTPUT_FORMAT(elf64-x86-64)
ENTRY(_start)
PHDRS {
text PT_LOAD FLAGS(5);
rodata PT_LOAD FLAGS(4);
data PT_LOAD FLAGS(6);
}
SECTIONS {
. = 0xffffffff80000000;
. = ALIGN(0x1000);
.text : ALIGN(0x1000) {
*(.text .text.*)
} :text
. = ALIGN(0x1000);
.rodata : ALIGN(0x1000) {
KEEP(*(.limine_requests_start))
KEEP(*(.limine_requests))
KEEP(*(.limine_requests_end))
*(.rodata .rodata.*)
} :rodata
. = ALIGN(0x1000);
.data : ALIGN(0x1000) {
*(.data .data.*)
} :data
. = ALIGN(0x1000);
.bss : ALIGN(0x1000) {
*(COMMON)
*(.bss .bss.*)
} :data
/DISCARD/ : {
*(.comment)
*(.eh_frame)
*(.note .note.*)
}
}