2018-02-14 07:31:50 +00:00
|
|
|
#define ASM_FILE
|
|
|
|
#include "kernel/hal/mem.h"
|
2018-02-12 03:26:03 +00:00
|
|
|
|
|
|
|
OUTPUT_FORMAT(elf64-x86-64)
|
|
|
|
OUTPUT_ARCH(i386:x86-64)
|
|
|
|
ENTRY(hal_entry_32)
|
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
|
|
|
. = KERNEL_IMAGE_VADDR;
|
|
|
|
|
2018-02-14 07:31:50 +00:00
|
|
|
.multiboot_header ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.multiboot_header) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
2018-02-12 03:26:03 +00:00
|
|
|
{
|
|
|
|
*(.multiboot_header)
|
|
|
|
}
|
|
|
|
|
2018-02-14 07:31:50 +00:00
|
|
|
.text ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.text) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
2018-02-12 03:26:03 +00:00
|
|
|
{
|
|
|
|
*(.text)
|
|
|
|
}
|
|
|
|
|
2018-02-14 07:31:50 +00:00
|
|
|
.data ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.data) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
2018-02-12 03:26:03 +00:00
|
|
|
{
|
|
|
|
*(.data)
|
|
|
|
*(.rodata*)
|
|
|
|
}
|
|
|
|
|
2018-02-14 07:31:50 +00:00
|
|
|
.bss ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.bss) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
2018-02-12 03:26:03 +00:00
|
|
|
{
|
|
|
|
*(.bss)
|
|
|
|
*(COMMON)
|
|
|
|
}
|
|
|
|
|
|
|
|
KERNEL_IMAGE_END_VADDR = .;
|
|
|
|
|
|
|
|
/DISCARD/ :
|
|
|
|
{
|
|
|
|
*(.gcc_except_table)
|
|
|
|
*(.eh_frame)
|
|
|
|
*(.note)
|
|
|
|
*(.comment)
|
|
|
|
*(.rel.*)
|
|
|
|
*(.rela.*)
|
|
|
|
}
|
|
|
|
}
|