Only need single 0x90.
[pintos-anon] / src / threads / kernel.lds.S
index b5426e034b8c9c9662fe53c67908b95728a5e9e5..28721e2832a27a73c895a98daa89cd47471027e9 100644 (file)
@@ -1,18 +1,21 @@
-#include "loader.h"
+#include "threads/loader.h"
 
 OUTPUT_FORMAT("elf32-i386")
 OUTPUT_ARCH("i386")
-ENTRY(start)
+ENTRY(start)                   /* Kernel starts at "start" symbol. */
 SECTIONS
 {
+  /* Specifies the virtual address for the kernel base. */
   . = LOADER_PHYS_BASE + LOADER_KERN_BASE;
 
   _start = .;
 
-  .text : { *(.text) } = 0x9090
+  /* Kernel starts with code, followed by read-only data and writable data. */
+  .text : { *(.start) *(.text) } = 0x90
   .rodata : { *(.rodata) *(.rodata.*) }
   .data : { *(.data) }
 
+  /* BSS (zero-initialized data) is after everything else. */
   _start_bss = .;
   .bss : { *(.bss) }
   _end_bss = .;