diff options
author | Robert Morris <[email protected]> | 2010-08-05 12:10:54 -0400 |
---|---|---|
committer | Robert Morris <[email protected]> | 2010-08-05 12:10:54 -0400 |
commit | eb18645f17877de4ced951eed5abac61bdfcd5c5 (patch) | |
tree | d5a40a1839ef1264a84f9eeff5723c7c67cad711 /mmu.h | |
parent | b738a4f1a2dd2956123a734327aeaf9d09b5faca (diff) | |
download | xv6-labs-eb18645f17877de4ced951eed5abac61bdfcd5c5.tar.gz xv6-labs-eb18645f17877de4ced951eed5abac61bdfcd5c5.tar.bz2 xv6-labs-eb18645f17877de4ced951eed5abac61bdfcd5c5.zip |
fix allocuvm() to handle sbrk() with non-page-granularity argument
(maybe this never worked, but it works now)
Diffstat (limited to 'mmu.h')
-rw-r--r-- | mmu.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -126,6 +126,9 @@ struct segdesc { #define PTXSHIFT 12 // offset of PTX in a linear address #define PDXSHIFT 22 // offset of PDX in a linear address +#define PGROUNDUP(sz) (((sz)+PGSIZE-1) & ~(PGSIZE-1)) +#define PGROUNDDOWN(a) ((char*)((((unsigned int)a) & ~(PGSIZE-1)))) + // Page table/directory entry flags. #define PTE_P 0x001 // Present #define PTE_W 0x002 // Writeable @@ -148,6 +151,7 @@ struct segdesc { #define PTE_ADDR(pte) ((uint) (pte) & ~0xFFF) typedef uint pte_t; +extern pde_t *kpgdir; // Control Register flags #define CR0_PE 0x00000001 // Protection Enable |