diff options
author | dfr <dfr@FreeBSD.org> | 2001-09-24 19:27:38 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-09-24 19:27:38 +0000 |
commit | d04bb727c3ecadab4f654b8fe4bc6aa97dea13b8 (patch) | |
tree | 101f166ff1f3cb4bc50dba59a7da0e49f840c7a9 /sys/ia64/include/pmap.h | |
parent | af5c7958aaff72162d1b27ae42aea72b7f142d4a (diff) | |
download | FreeBSD-src-d04bb727c3ecadab4f654b8fe4bc6aa97dea13b8.zip FreeBSD-src-d04bb727c3ecadab4f654b8fe4bc6aa97dea13b8.tar.gz |
Factor out PTE and related definitions from pmap.h - they are useful in
the loader.
Diffstat (limited to 'sys/ia64/include/pmap.h')
-rw-r--r-- | sys/ia64/include/pmap.h | 90 |
1 files changed, 1 insertions, 89 deletions
diff --git a/sys/ia64/include/pmap.h b/sys/ia64/include/pmap.h index e80bda0..a29fe4f 100644 --- a/sys/ia64/include/pmap.h +++ b/sys/ia64/include/pmap.h @@ -49,94 +49,8 @@ #ifndef _MACHINE_PMAP_H_ #define _MACHINE_PMAP_H_ -#ifdef LOCORE - -#define PTE_P (1<<0) -#define PTE_MA_WB (0<<2) -#define PTE_MA_UC (4<<2) -#define PTE_MA_UCE (5<<2) -#define PTE_MA_WC (6<<2) -#define PTE_MA_NATPAGE (7<<2) -#define PTE_A (1<<5) -#define PTE_D (1<<6) -#define PTE_PL_KERN (0<<7) -#define PTE_PL_USER (3<<7) -#define PTE_AR_R (0<<9) -#define PTE_AR_RX (1<<9) -#define PTE_AR_RW (2<<9) -#define PTE_AR_RWX (3<<9) -#define PTE_AR_R_RW (4<<9) -#define PTE_AR_RX_RWX (5<<9) -#define PTE_AR_RWX_RW (6<<9) -#define PTE_AR_X_RX (7<<9) - -#else - -#define PTE_MA_WB 0 -#define PTE_MA_UC 4 -#define PTE_MA_UCE 5 -#define PTE_MA_WC 6 -#define PTE_MA_NATPAGE 7 - -#define PTE_PL_KERN 0 -#define PTE_PL_USER 3 - -#define PTE_AR_R 0 -#define PTE_AR_RX 1 -#define PTE_AR_RW 2 -#define PTE_AR_RWX 3 -#define PTE_AR_R_RW 4 -#define PTE_AR_RX_RWX 5 -#define PTE_AR_RWX_RW 6 -#define PTE_AR_X_RX 7 - -#define PTE_IG_WIRED 1 -#define PTE_IG_MANAGED 2 - -/* - * A short-format VHPT entry. Also matches the TLB insertion format. - */ -struct ia64_pte { - u_int64_t pte_p :1; /* bits 0..0 */ - u_int64_t pte_rv1 :1; /* bits 1..1 */ - u_int64_t pte_ma :3; /* bits 2..4 */ - u_int64_t pte_a :1; /* bits 5..5 */ - u_int64_t pte_d :1; /* bits 6..6 */ - u_int64_t pte_pl :2; /* bits 7..8 */ - u_int64_t pte_ar :3; /* bits 9..11 */ - u_int64_t pte_ppn :38; /* bits 12..49 */ - u_int64_t pte_rv2 :2; /* bits 50..51 */ - u_int64_t pte_ed :1; /* bits 52..52 */ - u_int64_t pte_ig :11; /* bits 53..63 */ -}; - -/* - * A long-format VHPT entry. - */ -struct ia64_lpte { - u_int64_t pte_p :1; /* bits 0..0 */ - u_int64_t pte_rv1 :1; /* bits 1..1 */ - u_int64_t pte_ma :3; /* bits 2..4 */ - u_int64_t pte_a :1; /* bits 5..5 */ - u_int64_t pte_d :1; /* bits 6..6 */ - u_int64_t pte_pl :2; /* bits 7..8 */ - u_int64_t pte_ar :3; /* bits 9..11 */ - u_int64_t pte_ppn :38; /* bits 12..49 */ - u_int64_t pte_rv2 :2; /* bits 50..51 */ - u_int64_t pte_ed :1; /* bits 52..52 */ - u_int64_t pte_ig :11; /* bits 53..63 */ - - u_int64_t pte_rv3 :2; /* bits 0..1 */ - u_int64_t pte_ps :6; /* bits 2..7 */ - u_int64_t pte_key :24; /* bits 8..31 */ - u_int64_t pte_rv4 :32; /* bits 32..63 */ - - u_int64_t pte_tag; /* includes ti */ - - u_int64_t pte_chain; /* pa of collision chain */ -}; - #include <sys/queue.h> +#include <machine/pte.h> #ifdef _KERNEL @@ -225,6 +139,4 @@ struct pmap *pmap_install __P((struct pmap *pmap)); #endif /* _KERNEL */ -#endif /* !LOCORE */ - #endif /* !_MACHINE_PMAP_H_ */ |