summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2018-10-02 08:50:05 -0400
committerFrans Kaashoek <[email protected]>2018-10-02 08:50:05 -0400
commitec110149ed7a9439e73724097ab78110c5661e08 (patch)
tree2747de1b963bb9bdcc4d5e1d21f3ebdd6c05037c
parenta0389f707fd8f106c0c0527603e1f55ed21bfa4f (diff)
downloadxv6-labs-ec110149ed7a9439e73724097ab78110c5661e08.tar.gz
xv6-labs-ec110149ed7a9439e73724097ab78110c5661e08.tar.bz2
xv6-labs-ec110149ed7a9439e73724097ab78110c5661e08.zip
simplify layout pic
-rw-r--r--mmu.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/mmu.h b/mmu.h
index 6cdd2f8..b746fc6 100644
--- a/mmu.h
+++ b/mmu.h
@@ -89,15 +89,15 @@ struct segdesc {
// | Sign | PML4 |Page Directory| Page Dir |Page Table | Offset Page |
// |Extend| Index | Pointer Index| Index | Index | in Page |
// +------+-------+--------------+----------+------------+-------------+
-// \-PMX(va)-/\-PDPX(va)--/ \-PDX(va)-/ \-PTX(va)-/
+// L3 pgtab L2 pgtab L1 pgtab L0 pgtab
// Page directory and page table constants.
-#define NPDENTRIES 512 // # directory entries per page directory
+#define NPDENTRIES 512 // # directory entries per page directory
#define PGSIZE 4096 // bytes mapped by a page
#define PGSHIFT 12 // offset of PTX in a linear address
#define PXMASK 0x1FF
-#define PXSHIFT(n) (PGSHIFT+(9*(n)))
+#define PXSHIFT(n) (PGSHIFT+(9*(n))) // shift for index into level n page table
#define PX(n, va) ((((uint64) (va)) >> PXSHIFT(n)) & PXMASK)
#define L_PML4 3