summaryrefslogtreecommitdiffstats
path: root/sys/powerpc/include/pte.h
diff options
context:
space:
mode:
authorbenno <benno@FreeBSD.org>2002-02-14 01:39:11 +0000
committerbenno <benno@FreeBSD.org>2002-02-14 01:39:11 +0000
commit8c67ca76f79f837ceff85f7b9beb68cb784aaadd (patch)
treeea22ffca9020aeeb7d70a0afc75a11a1200af23b /sys/powerpc/include/pte.h
parentc745bc3937461deb0149ef098ea50897e1e5c0a1 (diff)
downloadFreeBSD-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.h12
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;
OpenPOWER on IntegriCloud