X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fthreads%2Floader.S;h=42f489979dff15704d4cd3efa023c9954f03913b;hb=24445a35e861ddb50df05731ca4635fbd36e04a4;hp=7dfb7e006f7d9bb2d3cdee074632741667a2a051;hpb=0e3d7904bb88d2f956ea26f5fd43ab0a45439d0e;p=pintos-anon diff --git a/src/threads/loader.S b/src/threads/loader.S index 7dfb7e0..42f4899 100644 --- a/src/threads/loader.S +++ b/src/threads/loader.S @@ -39,7 +39,7 @@ */ #include "threads/loader.h" -#include "threads/mmu.h" +/*#include "threads/mmu.h"*/ #### Kernel loader. @@ -133,14 +133,16 @@ start: rep stosl # Set PDEs for 0 and LOADER_PHYS_BASE to point to the page table. +# See comments near the PG_* macros in paging.h for a description of +# the values stored here. - movl $0x11000 | PG_U | PG_W | PG_P, %eax + movl $0x11007, %eax movl %eax, %es:0 movl %eax, %es:LOADER_PHYS_BASE >> 20 # Initialize page table. - movl $PG_U | PG_W | PG_P, %eax + movl $7, %eax movl $0x400, %ecx 1: stosl addl $0x1000, %eax @@ -253,9 +255,9 @@ read_sector: # Transfer sector. - movl $512 / 4, %ecx + movl $256, %ecx movl $0x1f0, %edx - rep insl + rep insw # Next sector.