os/kernel/kernel.ld

44 lines
786 B
Plaintext

ENTRY (_start)
SECTIONS
{
. = 0x1000;
/* The kernel will live at 12MB in the virtual address space, */
/* which will be mapped to 0 in the physical address space. */
/* Note that we page-align the sections. */
.early.text ALIGN (4K) : {
*(.early.text)
}
.early.rodata ALIGN (4K) : {
*(.early.rodata)
}
.early.data ALIGN (4K) : {
*(.early.data)
}
.early.bss ALIGN (4K) : {
*(.early.bss)
}
. += 0xC00000;
/* Add a symbol that indicates the start address of the kernel. */
.text ALIGN (4K) : AT (ADDR (.text) - 0xC00000)
{
*(.text)
}
.rodata ALIGN (4K) : AT (ADDR (.rodata) - 0xC00000)
{
*(.rodata)
}
.data ALIGN (4K) : AT (ADDR (.data) - 0xC00000)
{
*(.data)
}
.bss ALIGN (4K) : AT (ADDR (.bss) - 0xC00000)
{
*(COMMON)
*(.bss)
}
}