foo
[eightysix] / kern / kern.ld
index 3922811..c851a6d 100644 (file)
@@ -2,19 +2,18 @@ OUTPUT_FORMAT(binary)
 ENTRY(_start)
 
 SECTIONS {
-       . = 0x7c00;
+       /* we'll relocate the boot sector to this address immediately, and
+        * continue loading the kernel from the end of it
+        */
+       . = 0x600;
+       _bootsect_start = .;
        .bootsect : {
                * (.bootsect);
        }
-       _bootsect_end = .;
 
-       /* load high out of the way, to leave the rest of RAM for userland
-        * reserving the top 32kb for the kernel for now
-        */
-       . = 0x98000;
        _kern_start = .;
        _kern_start_seg = _kern_start >> 4;
-       .text : AT(_bootsect_end) {
+       .text : {
                * (.startup);
                * (.text*);
        }
@@ -22,7 +21,7 @@ SECTIONS {
                * (.rodata*);
                * (.data*);
        }
-       .bss ALIGN(4) (NOLOAD): {
+       .bss ALIGN(4): {
                _bss_start = .;
                _bss_start_off = _bss_start - _kern_start;
                * (.bss*);