summaryrefslogtreecommitdiff
path: root/src/link.ld
blob: f45ddecedbca618bb32dfe5136a572341a29f6d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
SEARCH_DIR(objects)

INPUT(
bootloader.o
libc.o
serial.o
video.o
printf.o
page.o
acpi.o
kernel.o
panic.o
)

_kernel_stack_loc = 0x200000 - 8;
_kernel_loc = 0x100000; 
_meminfo_loc = 0x7000;
_vbe_infoblock = 0x500; 
_stage2_pagetable = 0x200000;
_stage1_pagetable = 0x4000;

SECTIONS
{
  . = 0x0;
  bootloader 0x7c00 :
  {
  bootloader.o(.text)
  }
  kernel _kernel_loc :
  AT (ADDR(bootloader) + SIZEOF(bootloader))
  /*ALIGN(4096)*/
  {
    EXCLUDE_FILE (*bootloader.o) *(.text .data .bss .rodata .comment .eh_frame)
  }
}

_kernel_size = ((SIZEOF(kernel) / 512) + (SIZEOF(bootloader) / 512)); /* there's a bug here I think!*/
_bootloader_stage1_size = (SIZEOF(bootloader) / 512);