From 0921a33fc9f3724cb36a03a24b58b0a5bfc519b1 Mon Sep 17 00:00:00 2001 From: Alex Auvolat Date: Mon, 1 Dec 2014 17:24:38 +0100 Subject: 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) --- kernel/linker.ld | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'kernel/linker.ld') 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 :*/ -- cgit v1.2.3