Module Name: src Committed By: skrll Date: Sun May 7 05:50:39 UTC 2017
Modified Files: src/sys/arch/mips/mips: mipsX_subr.S Log Message: Check the TLB entry ASID against base (a0) and limit (a1), and not limit (a1) and random register value (a2) While here shave an instruction off To generate a diff of this commit: cvs rdiff -u -r1.98 -r1.99 src/sys/arch/mips/mips/mipsX_subr.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/mips/mips/mipsX_subr.S diff -u src/sys/arch/mips/mips/mipsX_subr.S:1.98 src/sys/arch/mips/mips/mipsX_subr.S:1.99 --- src/sys/arch/mips/mips/mipsX_subr.S:1.98 Sun May 7 05:48:01 2017 +++ src/sys/arch/mips/mips/mipsX_subr.S Sun May 7 05:50:39 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: mipsX_subr.S,v 1.98 2017/05/07 05:48:01 skrll Exp $ */ +/* $NetBSD: mipsX_subr.S,v 1.99 2017/05/07 05:50:39 skrll Exp $ */ /* * Copyright 2002 Wasabi Systems, Inc. @@ -2366,8 +2366,6 @@ LEAF_NOPROFILE(MIPSX(tlb_invalidate_asid mtc0 zero, MIPS_COP_0_STATUS # disable interrupts COP0_SYNC - add a2, 1 # bias for sltu - _MFC0 t0, MIPS_COP_0_TLB_HI # Save the current ASID. mfc0 t1, MIPS_COP_0_TLB_WIRED li v0, MIPS_KSEG0_START # invalid address @@ -2381,19 +2379,19 @@ LEAF_NOPROFILE(MIPSX(tlb_invalidate_asid sll ta0, t1, PGSHIFT | 1 # PAGE_SHIFT | 1 tlbr # obtain an entry COP0_SYNC - _MFC0 a0, MIPS_COP_0_TLB_LO1 + _MFC0 ta1, MIPS_COP_0_TLB_LO1 MFC0_HAZARD - and a0, MIPS3_PG_G # check to see it has G bit - bnez a0, 2f # yep, skip this one. + and ta1, MIPS3_PG_G # check to see it has G bit + bnez ta1, 2f # yep, skip this one. nop - _MFC0 a0, MIPS_COP_0_TLB_HI # get VA and ASID + _MFC0 ta1, MIPS_COP_0_TLB_HI # get VA and ASID MFC0_HAZARD - and a0, MIPS3_PG_ASID # focus on ASID - sltu a3, a0, a1 # asid < base? + and ta1, MIPS3_PG_ASID # focus on ASID + sltu a3, ta1, a0 # asid < base? bnez a3, 2f # yes, skip this entry. nop - sltu a3, a0, a2 # asid < limit - beqz a3, 2f # nope, skip this entry. + sltu a3, a1, ta1 # limit < asid + bnez a3, 2f # yes, skip this entry. nop PTR_ADDU ta0, v0