From 1ecf91769597650193456f989768e546512c7245 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Tue, 18 Apr 1995 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1995-04-18 --- pc/mem.h | 3 ++- pc/mmu.c | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/pc/mem.h b/pc/mem.h index 202b27a2692bfd8cc0eaa431fa40ae1c18ce7703..d4f16a31089dda898f7d9604e41174548d3b5923 100644 --- a/pc/mem.h +++ b/pc/mem.h @@ -109,7 +109,8 @@ * physical MMU */ #define PTEVALID (1<<0) -#define PTEUNCACHED (1<<4) +#define PTEWT (1<<3) +#define PTEUNCACHED (1<<4) #define PTEWRITE (1<<1) #define PTERONLY (0<<1) #define PTEKERNEL (0<<2) diff --git a/pc/mmu.c b/pc/mmu.c index 49f2bcd6752df84fb0c59e5fa72a24e1a29448d0..b0de9f50be8b27340b721845b8c67727431a037d 100644 --- a/pc/mmu.c +++ b/pc/mmu.c @@ -168,6 +168,12 @@ mmuinit(void) kpt = xspanalloc(nbytes, BY2PG, 0); for(i = 0; i < npage; i++) kpt[i] = (0+i*BY2PG) | PTEVALID | PTEKERNEL | PTEWRITE; + for(i = 0xa0000/BY2PG; i < 0xC0000/BY2PG; i++) + kpt[i] = (0+i*BY2PG) | PTEVALID | PTEKERNEL | PTEWRITE | PTEWT; + for(i = 0xC0000/BY2PG; i < MB/BY2PG; i++) + kpt[i] = (0+i*BY2PG) | PTEVALID | PTEKERNEL | PTEWRITE | PTEUNCACHED; + for(i = conf.topofmem/BY2PG; i < 128*MB/BY2PG; i++) + kpt[i] = (0+i*BY2PG) | PTEVALID | PTEKERNEL | PTEWRITE | PTEUNCACHED; x = TOPOFF(KZERO); y = ((ulong)kpt)&~KZERO; for(i = 0; i < nkpt; i++)