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)
|
2018-02-18 04:00:54 +00:00
|
|
|
ENTRY(ke_main)
|
2018-02-12 03:26:03 +00:00
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
2018-02-18 04:00:54 +00:00
|
|
|
. = KERNEL_IMAGE_VADDR;
|
2018-02-12 03:26:03 +00:00
|
|
|
|
2018-02-18 04:00:54 +00:00
|
|
|
.multiboot_header ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.multiboot_header) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
|
|
|
{
|
|
|
|
*(.multiboot_header)
|
|
|
|
}
|
2018-02-12 03:26:03 +00:00
|
|
|
|
2018-02-18 04:00:54 +00:00
|
|
|
.text ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.text) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
|
|
|
{
|
|
|
|
*(.text)
|
|
|
|
}
|
2018-02-12 03:26:03 +00:00
|
|
|
|
2018-02-18 04:00:54 +00:00
|
|
|
.data ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.data) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
|
|
|
{
|
|
|
|
*(.data)
|
|
|
|
*(.rodata*)
|
|
|
|
}
|
2018-02-12 03:26:03 +00:00
|
|
|
|
2018-02-18 04:00:54 +00:00
|
|
|
.bss ALIGN(KERNEL_PAGE_SIZE) : AT(ADDR(.bss) + KERNEL_IMAGE_PADDR - KERNEL_IMAGE_VADDR)
|
|
|
|
{
|
|
|
|
*(.bss)
|
|
|
|
*(COMMON)
|
2018-02-12 03:26:03 +00:00
|
|
|
}
|
|
|
|
}
|