summaryrefslogtreecommitdiffstats
path: root/sys/sun4v
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2008-08-07 22:46:25 +0000
committermarius <marius@FreeBSD.org>2008-08-07 22:46:25 +0000
commitd335d6871aeb19ec02d0484ca3608820b06af7ab (patch)
tree5b357a34d4393b5feca4fe437362997ea3f19820 /sys/sun4v
parent714809ddf1353c47264bfd10532b75cd8ad00375 (diff)
downloadFreeBSD-src-d335d6871aeb19ec02d0484ca3608820b06af7ab.zip
FreeBSD-src-d335d6871aeb19ec02d0484ca3608820b06af7ab.tar.gz
- Reimplement {d,i}tlb_enter() and {d,i}tlb_va_to_pa() in C. There's
no particular reason for them to be implemented in assembler and having them in C allows easier extension as well as using more C macros and {d,i}tlb_slot_max rather than hard-coding magic (and actually spitfire-only) values. - Fix the compilation of pmap_print_tte(). - Change pmap_print_tlb() to use ldxa() rather than re-rolling it inline as well as TLB_DAR_SLOT and {d,i}tlb_slot_max rather than hardcoding magic (and actually spitfire-only) values. - While at it, suffix the above mentioned functions with "_sun4u" to underline they're architecture-specific. - Use __FBSDID and macros instead of magic values in locore.S. - Remove unused includes and smp_stack in locore.S.
Diffstat (limited to 'sys/sun4v')
-rw-r--r--sys/sun4v/include/tte.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/sun4v/include/tte.h b/sys/sun4v/include/tte.h
index 4cdcd0d..9b19027 100644
--- a/sys/sun4v/include/tte.h
+++ b/sys/sun4v/include/tte.h
@@ -41,11 +41,15 @@
#define TD_SOFT2_BITS (9)
#define TD_DIAG_BITS (9)
+#define TD_PA_CH_BITS (30)
+#define TD_PA_SF_BITS (28)
#define TD_PA_BITS (42)
#define TD_SOFT_BITS (6)
#define TD_SOFT2_MASK ((1UL << TD_SOFT2_BITS) - 1)
#define TD_DIAG_MASK ((1UL << TD_DIAG_BITS) - 1)
+#define TD_PA_CH_MASK ((1UL << TD_PA_CH_BITS) - 1)
+#define TD_PA_SF_MASK ((1UL << TD_PA_SF_BITS) - 1)
#define TD_PA_MASK ((1UL << TD_PA_BITS) - 1)
#define TD_SOFT_MASK ((1UL << TD_SOFT_BITS) - 1)
OpenPOWER on IntegriCloud