2022-12-13 20:21:28 +00:00
|
|
|
ENTRY(_start)
|
|
|
|
|
|
|
|
|
|
KERNEL_LMA = 1M;
|
|
|
|
|
KERNEL_VMA = 0xFFFFFFFF80000000;
|
|
|
|
|
|
|
|
|
|
SECTIONS {
|
2023-02-05 10:50:13 +00:00
|
|
|
. = KERNEL_LMA;
|
2022-12-13 20:21:28 +00:00
|
|
|
|
2023-02-05 10:50:13 +00:00
|
|
|
.boot.text ALIGN(4K) : {
|
|
|
|
|
*(.boot.text)
|
|
|
|
|
*(.boot.rodata)
|
|
|
|
|
}
|
2022-12-13 20:21:28 +00:00
|
|
|
|
2023-02-05 10:50:13 +00:00
|
|
|
.boot.bss ALIGN(4K) : {
|
|
|
|
|
*(.boot.bss)
|
|
|
|
|
}
|
2022-12-13 20:21:28 +00:00
|
|
|
|
|
|
|
|
. += KERNEL_VMA;
|
|
|
|
|
|
2023-02-05 10:50:13 +00:00
|
|
|
__start = .;
|
|
|
|
|
__pstart = . - KERNEL_VMA;
|
|
|
|
|
|
2022-12-13 20:21:28 +00:00
|
|
|
.text ALIGN(4K) : AT(ADDR(.text) - KERNEL_VMA)
|
|
|
|
|
{
|
|
|
|
|
*(.text)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.data ALIGN(4K) : AT(ADDR(.data) - KERNEL_VMA)
|
|
|
|
|
{
|
|
|
|
|
_data = .;
|
|
|
|
|
*(.data)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.eh_frame ALIGN(4K) : AT(ADDR(.eh_frame) - KERNEL_VMA)
|
|
|
|
|
{
|
|
|
|
|
_ehframe = .;
|
|
|
|
|
*(.eh_frame)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
.bss ALIGN(4K) : AT(ADDR(.bss) - KERNEL_VMA)
|
|
|
|
|
{
|
|
|
|
|
_bss = .;
|
|
|
|
|
*(.bss)
|
|
|
|
|
|
|
|
|
|
*/
|
|
|
|
|
/*
|
|
|
|
|
* You usually need to include generated COMMON symbols
|
|
|
|
|
* under kernel BSS section or use gcc's -fno-common
|
|
|
|
|
*/
|
|
|
|
|
*(COMMON)
|
|
|
|
|
}
|
|
|
|
|
|
2023-02-05 10:50:13 +00:00
|
|
|
__end = .;
|
|
|
|
|
__pend = . - KERNEL_VMA;
|
2022-12-13 20:21:28 +00:00
|
|
|
|
|
|
|
|
/DISCARD/ :
|
|
|
|
|
{
|
|
|
|
|
*(.comment)
|
|
|
|
|
}
|
|
|
|
|
}
|