diff options
author | benno <benno@FreeBSD.org> | 2002-02-14 01:39:11 +0000 |
---|---|---|
committer | benno <benno@FreeBSD.org> | 2002-02-14 01:39:11 +0000 |
commit | 8c67ca76f79f837ceff85f7b9beb68cb784aaadd (patch) | |
tree | ea22ffca9020aeeb7d70a0afc75a11a1200af23b /sys/powerpc/include/pte.h | |
parent | c745bc3937461deb0149ef098ea50897e1e5c0a1 (diff) | |
download | FreeBSD-src-8c67ca76f79f837ceff85f7b9beb68cb784aaadd.zip FreeBSD-src-8c67ca76f79f837ceff85f7b9beb68cb784aaadd.tar.gz |
Complete rework of the PowerPC pmap and a number of other bits in the early
boot sequence.
The new pmap.c is based on NetBSD's newer pmap.c (for the mpc6xx processors)
which is 70% faster than the older code that the original pmap.c was based
on. It has also been based on the framework established by jake's initial
sparc64 pmap.c.
There is no change to how far the kernel gets (it makes it to the mountroot
prompt in psim) but the new pmap code is a lot cleaner.
Obtained from: NetBSD (pmap code)
Diffstat (limited to 'sys/powerpc/include/pte.h')
-rw-r--r-- | sys/powerpc/include/pte.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/sys/powerpc/include/pte.h b/sys/powerpc/include/pte.h index 3d1ddcf..38e9a07 100644 --- a/sys/powerpc/include/pte.h +++ b/sys/powerpc/include/pte.h @@ -45,6 +45,10 @@ struct pte { u_int pte_hi; u_int pte_lo; }; + +struct pteg { + struct pte pt[8]; +}; #endif /* LOCORE */ /* High word: */ #define PTE_VALID 0x80000000 @@ -61,8 +65,12 @@ struct pte { #define PTE_M 0x00000010 #define PTE_G 0x00000008 #define PTE_PP 0x00000003 -#define PTE_RO 0x00000003 -#define PTE_RW 0x00000002 +#define PTE_SO 0x00000000 /* Super. Only (U: XX, S: RW) */ +#define PTE_SW 0x00000001 /* Super. Write-Only (U: RO, S: RW) */ +#define PTE_BW 0x00000002 /* Supervisor (U: RW, S: RW) */ +#define PTE_BR 0x00000003 /* Both Read Only (U: RO, S: RO) */ +#define PTE_RW PTE_BW +#define PTE_RO PTE_BR #ifndef LOCORE typedef struct pte pte_t; |