2021-05-02 16:02:00 +00:00
|
|
|
ENTRY(_start)
|
|
|
|
|
|
|
|
/* Tell where the various sections of the object files will be put in the final
|
|
|
|
kernel image. */
|
|
|
|
SECTIONS
|
|
|
|
{
|
2022-08-17 23:26:49 +00:00
|
|
|
. = 0x00100000; /* place code at 1MB mark*/
|
|
|
|
|
|
|
|
_kernel_start = .;
|
|
|
|
kernel_begin = .; /* For legacy reasons */
|
|
|
|
|
|
|
|
|
|
|
|
.multiboot.data : {
|
|
|
|
*(.multiboot.data)
|
|
|
|
}
|
|
|
|
|
|
|
|
.multiboot.text : {
|
|
|
|
*(multiboot.text)
|
2022-08-22 19:16:34 +00:00
|
|
|
*prekernel.o(.text)
|
2022-08-17 23:26:49 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
. += 0xC0000000; /* Addresses in the following code need to be above the 3Gb mark */
|
|
|
|
|
|
|
|
|
|
|
|
.text ALIGN (4K) : AT (ADDR (.text) - 0xC0000000)
|
2021-05-02 16:02:00 +00:00
|
|
|
{
|
|
|
|
*(.text)
|
|
|
|
}
|
2022-08-17 23:26:49 +00:00
|
|
|
.rodata ALIGN (4K) : AT (ADDR (.rodata) - 0xC0000000)
|
2021-05-02 16:02:00 +00:00
|
|
|
{
|
|
|
|
*(.rodata)
|
|
|
|
}
|
2022-08-17 23:26:49 +00:00
|
|
|
.data ALIGN (4K) : AT (ADDR (.data) - 0xC0000000)
|
2021-05-02 16:02:00 +00:00
|
|
|
{
|
|
|
|
*(.data)
|
|
|
|
}
|
2022-08-17 23:26:49 +00:00
|
|
|
.bss ALIGN (4K) : AT (ADDR (.bss) - 0xC0000000)
|
2021-05-02 16:02:00 +00:00
|
|
|
{
|
|
|
|
*(COMMON)
|
|
|
|
*(.bss)
|
2022-08-17 23:26:49 +00:00
|
|
|
*(.bootstrap_stack)
|
2021-05-02 16:02:00 +00:00
|
|
|
}
|
2022-08-17 23:26:49 +00:00
|
|
|
_kernel_end = .;
|
|
|
|
kernel_end = .; /* For legacy reasons */
|
2021-11-02 20:03:11 +00:00
|
|
|
}
|
|
|
|
|