2023-01-25 19:05:47 +02:00
|
|
|
ENTRY (_start)
|
|
|
|
|
2023-05-30 08:00:17 +03:00
|
|
|
KERNEL_OFFSET = 0xFFFFFFFF80000000;
|
|
|
|
|
2023-01-25 19:05:47 +02:00
|
|
|
SECTIONS
|
|
|
|
{
|
2023-05-30 08:00:17 +03:00
|
|
|
. = 0x00100000 + KERNEL_OFFSET;
|
2023-01-25 19:05:47 +02:00
|
|
|
|
2023-04-21 10:40:24 +03:00
|
|
|
g_kernel_start = .;
|
2023-05-30 08:00:17 +03:00
|
|
|
.text ALIGN(4K) : AT(ADDR(.text) - KERNEL_OFFSET)
|
2023-01-25 19:05:47 +02:00
|
|
|
{
|
2023-07-13 14:28:53 +03:00
|
|
|
g_kernel_execute_start = .;
|
2023-01-25 19:05:47 +02:00
|
|
|
*(.multiboot)
|
2023-07-21 15:45:02 +03:00
|
|
|
*(.text.*)
|
|
|
|
}
|
|
|
|
.userspace ALIGN(4K) : AT(ADDR(.userspace) - KERNEL_OFFSET)
|
|
|
|
{
|
|
|
|
g_userspace_start = .;
|
|
|
|
*(.userspace)
|
|
|
|
g_userspace_end = .;
|
2023-01-25 19:05:47 +02:00
|
|
|
}
|
2023-05-30 08:00:17 +03:00
|
|
|
.rodata ALIGN(4K) : AT(ADDR(.rodata) - KERNEL_OFFSET)
|
2023-01-25 19:05:47 +02:00
|
|
|
{
|
2023-03-13 15:32:46 +02:00
|
|
|
*(.rodata.*)
|
2023-07-13 14:28:53 +03:00
|
|
|
g_kernel_execute_end = .;
|
2023-01-25 19:05:47 +02:00
|
|
|
}
|
2023-05-30 08:00:17 +03:00
|
|
|
.data ALIGN(4K) : AT(ADDR(.data) - KERNEL_OFFSET)
|
2023-01-25 19:05:47 +02:00
|
|
|
{
|
|
|
|
*(.data)
|
|
|
|
}
|
2023-05-30 08:00:17 +03:00
|
|
|
.bss ALIGN(4K) : AT(ADDR(.bss) - KERNEL_OFFSET)
|
2023-01-25 19:05:47 +02:00
|
|
|
{
|
|
|
|
*(COMMON)
|
|
|
|
*(.bss)
|
|
|
|
}
|
|
|
|
g_kernel_end = .;
|
|
|
|
}
|