2024-03-04 16:31:24 +02:00
|
|
|
ENTRY(__x86_64_entry);
|
|
|
|
|
|
|
|
KERNEL_PHYS_BASE = 0x200000;
|
|
|
|
KERNEL_VIRT_OFFSET = 0xFFFFFF8000000000;
|
|
|
|
|
|
|
|
SECTIONS {
|
|
|
|
. = KERNEL_PHYS_BASE;
|
|
|
|
PROVIDE(__kernel_start = . + KERNEL_VIRT_OFFSET);
|
|
|
|
|
|
|
|
.text.entry : {
|
|
|
|
*(.text.entry)
|
|
|
|
}
|
|
|
|
|
|
|
|
. = ALIGN(16);
|
|
|
|
. = . + KERNEL_VIRT_OFFSET;
|
|
|
|
|
|
|
|
.text : AT(. - KERNEL_VIRT_OFFSET) {
|
|
|
|
*(.text*)
|
|
|
|
}
|
|
|
|
|
2024-04-01 17:23:12 +03:00
|
|
|
.export.text : AT(. - KERNEL_VIRT_OFFSET) {
|
|
|
|
KEEP(*(.export.text*))
|
|
|
|
}
|
|
|
|
|
2024-03-04 16:31:24 +02:00
|
|
|
. = ALIGN(4K);
|
|
|
|
.rodata : AT(. - KERNEL_VIRT_OFFSET) {
|
|
|
|
*(.eh_frame*)
|
|
|
|
*(.rodata*)
|
|
|
|
}
|
|
|
|
|
|
|
|
. = ALIGN(4K);
|
|
|
|
.data.tables : AT (. - KERNEL_VIRT_OFFSET) {
|
|
|
|
KEEP(*(.data.tables))
|
|
|
|
}
|
|
|
|
|
|
|
|
.data : AT(. - KERNEL_VIRT_OFFSET) {
|
|
|
|
KEEP(*(.data.yboot))
|
|
|
|
*(.data*)
|
|
|
|
*(.got*)
|
|
|
|
}
|
|
|
|
|
|
|
|
. = ALIGN(4K);
|
|
|
|
PROVIDE(__bss_start_phys = . - KERNEL_VIRT_OFFSET);
|
|
|
|
.bss : AT(. - KERNEL_VIRT_OFFSET) {
|
|
|
|
*(COMMON)
|
|
|
|
*(.bss*)
|
|
|
|
}
|
|
|
|
. = ALIGN(4K);
|
|
|
|
PROVIDE(__bss_end_phys = . - KERNEL_VIRT_OFFSET);
|
|
|
|
|
|
|
|
PROVIDE(__kernel_end = .);
|
|
|
|
};
|