PERFORCE change 92756 for review
Kip Macy
kmacy at FreeBSD.org
Sat Mar 4 18:10:27 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=92756
Change 92756 by kmacy at kmacy_storage:sun4v_work on 2006/03/05 02:09:57
allocate 4th (and final) scratchpad to storing the active TSB real address
Affected files ...
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/asi.h#10 edit
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/asmacros.h#5 edit
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/include/sun4v_cpufunc.h#1 add
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#15 edit
.. //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/support.S#8 edit
Differences ...
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/asi.h#10 (text+ko) ====
@@ -128,6 +128,7 @@
#define SCRATCH_REG_MMFSA ASI_SCRATCHPAD_0_REG
#define SCRATCH_REG_PCPU ASI_SCRATCHPAD_1_REG
#define SCRATCH_REG_HASH ASI_SCRATCHPAD_2_REG
+#define SCRATCH_REG_TSB ASI_SCRATCHPAD_3_REG
#define MMU_CID_P 0x08
#define MMU_CID_S 0x10
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/include/asmacros.h#5 (text+ko) ====
@@ -139,7 +139,12 @@
mov SCRATCH_REG_HASH, reg; \
ldxa [%g0 + reg]ASI_SCRATCHPAD, reg;
+#define GET_TSB_SCRATCH(reg) \
+ mov SCRATCH_REG_TSB, reg; \
+ ldxa [%g0 + reg]ASI_SCRATCHPAD, reg;
+
#define SET_HASH_SCRATCH(reg) stxa reg, [%g0 + SCRATCH_REG_HASH]ASI_SCRATCHPAD
+#define SET_TSB_SCRATCH(reg) stxa reg, [%g0 + SCRATCH_REG_TSB]ASI_SCRATCHPAD
#define GET_PCB(reg) \
GET_PCPU_SCRATCH; \
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/pmap.c#15 (text+ko) ====
@@ -451,8 +451,15 @@
kernel_pmap->pm_tsb.hvtsb_ctx_index = 0;
kernel_pmap->pm_tsb.hvtsb_pgszs = TSB8K;
kernel_pmap->pm_tsb.hvtsb_rsvd = 0;
- kernel_pmap->pm_tsb.hvtsb_pa = kernel_td[TSB8K_INDEX].hvtsb_pa;
+ kernel_pmap->pm_tsb.hvtsb_pa = pa;
+ set_tsb_scratchpad(pa);
+
+ /*
+ * Initialize kernel TSB for 4M pages
+ * currently (not by design) used for permanent mappings
+ */
+
tsb_4m_size = virtsz >> (PAGE_SHIFT_4M - TTE_SHIFT);
pa = pmap_bootstrap_alloc(tsb_4m_size);
==== //depot/projects/kmacy_sun4v/src/sys/sun4v/sun4v/support.S#8 (text+ko) ====
@@ -678,7 +678,14 @@
retl
nop
END(set_pcpu_scratchpad)
+ENTRY(set_tsb_scratchpad)
+ mov SCRATCH_REG_TSB, %g2
+ stxa %o0, [%g0 + %g2]ASI_SCRATCHPAD
+ retl
+ nop
+END(set_hash_scratchpad)
+
/*
* %o0 ra - real address
* [%o1] lo - lower 64-bits
More information about the p4-projects
mailing list