From df234d869861f56c51ea072d69321c584791c832 Mon Sep 17 00:00:00 2001 From: nisimura Date: Wed, 10 May 2000 08:55:22 +0000 Subject: [PATCH] Take a straight way for pagemove() PTE manipulation, abandoning to use MIPS_TBRPL(). When PTEs are modified, both src and dst TLBs are invalidated. MIPS3 single TLB entry has paired double PTE and pagemove() likely walks through multiple pages. The positive effect of of MachTLBUpdate() or TBRPL() is unclear. --- sys/arch/mips/mips/vm_machdep.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/sys/arch/mips/mips/vm_machdep.c b/sys/arch/mips/mips/vm_machdep.c index 441b4f7a5771..e632bc82c48c 100644 --- a/sys/arch/mips/mips/vm_machdep.c +++ b/sys/arch/mips/mips/vm_machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: vm_machdep.c,v 1.56 2000/04/16 10:08:32 nisimura Exp $ */ +/* $NetBSD: vm_machdep.c,v 1.57 2000/05/10 08:55:22 nisimura Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -43,7 +43,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.56 2000/04/16 10:08:32 nisimura Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vm_machdep.c,v 1.57 2000/05/10 08:55:22 nisimura Exp $"); #include #include @@ -296,15 +296,8 @@ pagemove(from, to, size) while (size > 0) { tpte->pt_entry = fpte->pt_entry; fpte->pt_entry = invalid; -#if defined(MIPS1) && !defined(MIPS3) - { - extern void mips1_TBRPL(vaddr_t, vaddr_t, paddr_t); - mips1_TBRPL((vaddr_t)from, (vaddr_t)to, tpte->pt_entry); - } -#else MIPS_TBIS((vaddr_t)from); - MachTLBUpdate((vaddr_t)to, tpte->pt_entry); -#endif + MIPS_TBIS((vaddr_t)to); fpte++; tpte++; size -= PAGE_SIZE; from += PAGE_SIZE;