PERFORCE change 41106 for review
Juli Mallett
jmallett at FreeBSD.org
Sun Nov 2 01:46:16 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=41106
Change 41106 by jmallett at jmallett_dalek on 2003/11/02 01:45:19
Remove NetBSD TBIS, ...
Affected files ...
.. //depot/projects/mips/sys/mips/include/locore.h#11 edit
.. //depot/projects/mips/sys/mips/mips/mips_subr.S#16 edit
.. //depot/projects/mips/sys/mips/mips/pmap.c#19 edit
.. //depot/projects/mips/sys/mips/mips/tlb.c#7 edit
Differences ...
==== //depot/projects/mips/sys/mips/include/locore.h#11 (text+ko) ====
@@ -33,7 +33,6 @@
void mips64_TBIA(int);
void mips64_TBIAP(int);
-void mips64_TBIS(vm_paddr_t);
void mips64_TLBRead(int, struct tlb *);
void mips64_wbflush(void);
@@ -44,7 +43,6 @@
#define MIPS_TBIA() mips64_TBIA(mips_num_tlb_entries)
#define MIPS_TBIAP() mips64_TBIAP(mips_num_tlb_entries)
-#define MIPS_TBIS mips64_TBIS
/*
* CPU identification, from PRID register.
==== //depot/projects/mips/sys/mips/mips/mips_subr.S#16 (text+ko) ====
@@ -234,61 +234,6 @@
END(MIPSX(TLBRead))
/*
- * void mipsN_TBIS(vaddr_t va)
- *
- * Invalidate a TLB entry which has the given vaddr and ASID if found.
- */
-LEAF_NOPROFILE(MIPSX(TBIS))
- mfc0 v1, MIPS_COP_0_STATUS # save status register
- mtc0 zero, MIPS_COP_0_STATUS # disable interrupts
- COP0_SYNC
-
- li v0, (PG_HVPN | PG_ASID | PG_R3) # XXX assumes Region3
- _MFC0 t0, MIPS_COP_0_TLB_HI # save current ASID
- mfc0 t3, MIPS_COP_0_TLB_PG_MASK # save current pgMask
- and a0, a0, v0 # make sure valid entryHi
- _MTC0 a0, MIPS_COP_0_TLB_HI # look for the vaddr & ASID
- COP0_SYNC
- nop
- nop
- tlbp # probe the entry in question
- COP0_SYNC
- nop
- nop
- mfc0 v0, MIPS_COP_0_TLB_INDEX # see what we got
- /*nop # -slip-*/
- /*nop # -slip-*/
- bltz v0, 1f # index < 0 then skip
- li t1, MIPS_KSEG0_START # invalid address
- sll v0, v0, 13 # PAGE_SHIFT + 1
- addu t1, t1, v0
- _MTC0 t1, MIPS_COP_0_TLB_HI # make entryHi invalid
- COP0_SYNC
- _MTC0 zero, MIPS_COP_0_TLB_LO0 # zero out entryLo0
- COP0_SYNC
- _MTC0 zero, MIPS_COP_0_TLB_LO1 # zero out entryLo1
- COP0_SYNC
- mtc0 zero, MIPS_COP_0_TLB_PG_MASK # zero out pageMask
- COP0_SYNC
- nop
- nop
- tlbwi
- COP0_SYNC
- nop
- nop
-1:
- _MTC0 t0, MIPS_COP_0_TLB_HI # restore current ASID
- COP0_SYNC
- mtc0 t3, MIPS_COP_0_TLB_PG_MASK # restore pgMask
- COP0_SYNC
- nop
- nop
- j ra
- mtc0 v1, MIPS_COP_0_STATUS # restore status register
- COP0_SYNC # XXXX - not executed!!
-END(MIPSX(TBIS))
-
-/*
* void mips3_TBIAP(int sizeofTLB)
*
* Invalidate TLB entries belong to per process user spaces while
==== //depot/projects/mips/sys/mips/mips/pmap.c#19 (text+ko) ====
@@ -451,7 +451,7 @@
{
if (pmap->pm_active) {
- MIPS_TBIS(va);
+ tlb_invalidate_page(va);
/* XXX ensure coherency? */
} else {
pmap_invalidate_asid(pmap);
==== //depot/projects/mips/sys/mips/mips/tlb.c#7 (text+ko) ====
@@ -152,9 +152,7 @@
tlb_invalidate_page(vm_offset_t va)
{
va &= ~PAGE_MASK;
-#if 0 /* XXX NetBSD code is faulty. Invalidate ALL. */
- MIPS_TBIS(va);
-#else
+#if 1 /* XXX NetBSD code is faulty. Invalidate ALL. */
MIPS_TBIA();
#endif
}
More information about the p4-projects
mailing list