diff options
author | Alex Auvolat <alex.auvolat@ens.fr> | 2014-12-01 17:24:38 +0100 |
---|---|---|
committer | Alex Auvolat <alex.auvolat@ens.fr> | 2014-12-01 17:24:38 +0100 |
commit | 0921a33fc9f3724cb36a03a24b58b0a5bfc519b1 (patch) | |
tree | 6f3db52ba8c38928749806cb2d94ca548b3b19bd /kernel/linker.ld | |
parent | 6f11c9e5c15cc8ef936741e5ee7575b731a47e0f (diff) | |
download | kogata-0921a33fc9f3724cb36a03a24b58b0a5bfc519b1.tar.gz kogata-0921a33fc9f3724cb36a03a24b58b0a5bfc519b1.zip |
Advance HH, GDT, IDT (details below)
- Implement higher-half in loader with paging (using 4Mb pages)
- Add GDT installation code
- Add IDT installation code (spend a loong time debugging the ISRs!)
- Add CDROM generation scripts
- Add scripts to launch bochs (debug) and qemu (debug)
Diffstat (limited to 'kernel/linker.ld')
-rw-r--r-- | kernel/linker.ld | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/kernel/linker.ld b/kernel/linker.ld index 00f4dff..8ea7854 100644 --- a/kernel/linker.ld +++ b/kernel/linker.ld @@ -3,7 +3,7 @@ ENTRY (loader) SECTIONS{ k_highhalf_addr = 0xC0000000; - . = 0x00100000; + . = 0x00100000; .setup : { *(.setup) @@ -11,30 +11,32 @@ SECTIONS{ . += k_highhalf_addr; - .text : AT(ADDR(.text) - k_highhalf_addr) { - *(.text) - } + .text : AT(ADDR(.text) - k_highhalf_addr) { + *(.text) + } - .rodata ALIGN (0x1000) : AT(ADDR(.rodata) - k_highhalf_addr) { - *(.rodata) - } + .rodata ALIGN (0x1000) : AT(ADDR(.rodata) - k_highhalf_addr) { + *(.rodata) + } - .data ALIGN (0x1000) : AT(ADDR(.data) - k_highhalf_addr) { + .data ALIGN (0x1000) : AT(ADDR(.data) - k_highhalf_addr) { start_ctors = .; *(.ctor*) end_ctors = .; start_dtors = .; *(.dtor*) end_dtors = .; - *(.data) - } + *(.data) + } - .bss : AT(ADDR(.bss) - k_highhalf_addr) { - sbss = .; - *(COMMON) - *(.bss) - ebss = .; - } + .bss : AT(ADDR(.bss) - k_highhalf_addr) { + sbss = .; + *(COMMON) + *(.bss) + ebss = .; + } end = .; _end = .; __end = .; } + +/* vim: set ts=4 sw=4 tw=0 noet :*/ |