Cucumber/src/kernel.ld

49 lines
777 B
Plaintext
Raw Normal View History

2011-02-21 11:23:58 +00:00
OUTPUT_FORMAT("elf32-i386")
ENTRY(_start)
2011-02-20 22:38:15 +00:00
2011-02-21 16:29:53 +00:00
Offset = 0x00100000;
LMA = 0x00000000;
VMA = 0xC0000000;
2011-02-21 11:23:58 +00:00
SECTIONS
{
2011-02-21 16:29:53 +00:00
. = Offset;
g_setup_gdt_ptr = g_gdt_ptr - VMA;
g_setup_gdt_entries = g_gdt_entries - VMA;
.setup LMA + Offset : AT(LMA + Offset)
2011-02-21 11:23:58 +00:00
{
*(.setup)
2011-02-21 16:29:53 +00:00
. = ALIGN(0x1000);
2011-02-20 22:38:15 +00:00
}
2011-02-21 16:29:53 +00:00
. += VMA;
2011-02-20 22:38:15 +00:00
2011-02-21 16:29:53 +00:00
.text : AT(g_section_code)
2011-02-21 11:23:58 +00:00
{
2011-02-21 16:29:53 +00:00
g_section_code = . - VMA;
2011-02-21 11:23:58 +00:00
*(.text)
2011-02-21 16:29:53 +00:00
. = ALIGN(0x1000);
2011-02-21 11:23:58 +00:00
}
2011-02-21 16:29:53 +00:00
.data : AT(g_section_data)
2011-02-21 11:23:58 +00:00
{
2011-02-21 16:29:53 +00:00
g_section_data = . - VMA;
2011-02-20 22:38:15 +00:00
*(.data)
2011-02-21 11:23:58 +00:00
*(.rodata*)
2011-02-21 16:29:53 +00:00
. = ALIGN(0x1000);
2011-02-20 22:38:15 +00:00
}
2011-02-21 11:23:58 +00:00
2011-02-21 16:29:53 +00:00
.bss : AT(g_section_bss)
2011-02-21 11:23:58 +00:00
{
2011-02-21 16:29:53 +00:00
g_section_bss = . - VMA;
2011-02-21 11:23:58 +00:00
*(COMMON*)
*(.bss*)
2011-02-21 16:29:53 +00:00
. = ALIGN(0x1000);
2011-02-20 22:38:15 +00:00
}
2011-02-21 16:29:53 +00:00
. = ALIGN(0x1000);
2011-02-20 22:38:15 +00:00
}
2011-02-21 11:23:58 +00:00