summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2003-12-29 10:54:10 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2003-12-29 10:54:10 +0000
commit3baf62cf5bb0f630858cbd96fe24c6707bbe475e (patch)
tree519e91f38ab2c41c34c83fe84af3aa3f1fb9faec
parent2c21275fdd232d956693ac9c03b362ca0ba9d50a (diff)
Since pmap_activate() does a complete user tlb flush, it is not necessary
to do another one in process.S...
-rw-r--r--sys/arch/mvme88k/mvme88k/cmmu.c11
-rw-r--r--sys/arch/mvme88k/mvme88k/process.S13
2 files changed, 3 insertions, 21 deletions
diff --git a/sys/arch/mvme88k/mvme88k/cmmu.c b/sys/arch/mvme88k/mvme88k/cmmu.c
index b95139df190..3757f6541af 100644
--- a/sys/arch/mvme88k/mvme88k/cmmu.c
+++ b/sys/arch/mvme88k/mvme88k/cmmu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmmu.c,v 1.22 2003/10/05 20:27:47 miod Exp $ */
+/* $OpenBSD: cmmu.c,v 1.23 2003/12/29 10:54:09 miod Exp $ */
/*
* Copyright (c) 1998 Steve Murphree, Jr.
* Copyright (c) 1996 Nivas Madhur
@@ -78,12 +78,3 @@ int max_cpus, max_cmmus;
int cpu_cmmu_ratio;
struct cmmu_p *cmmu;
-
-void md_cmmu_flush_tlb(unsigned kernel, vaddr_t vaddr, int size);
-
-/* This is here so that process.S doesn't have to decide the CPU type */
-void
-md_cmmu_flush_tlb(unsigned kernel, vaddr_t vaddr, int size)
-{
- cmmu_flush_tlb(kernel, vaddr, size);
-}
diff --git a/sys/arch/mvme88k/mvme88k/process.S b/sys/arch/mvme88k/mvme88k/process.S
index 0487036671d..8af1a404973 100644
--- a/sys/arch/mvme88k/mvme88k/process.S
+++ b/sys/arch/mvme88k/mvme88k/process.S
@@ -1,4 +1,4 @@
-/* $OpenBSD: process.S,v 1.24 2003/11/17 14:48:20 miod Exp $ */
+/* $OpenBSD: process.S,v 1.25 2003/12/29 10:54:09 miod Exp $ */
/*
* Copyright (c) 1996 Nivas Madhur
* All rights reserved.
@@ -255,22 +255,13 @@ ASLOCAL(Ldoneloop)
addu r31, r31,48
or r9, r0, r14 /* restore p saved in r14 */
-ASLOCAL(Lswnochg)
or.u r31, r0, hi16(_ASM_LABEL(intstack_end))
or r31,r31, lo16(_ASM_LABEL(intstack_end))
subu r31, r31,48
bsr.n _C_LABEL(load_u_area)
or r2, r0, r9
addu r31, r31,48
- /* flush tlb of any user addresses */
- or r2, r0, 0 /* 0 = user space */
- or r3, r0, 0 /* start at addr 0 */
- subu r31, r31,48
- /* r2 = 1 : kernel ? user, r3 = address, r4 = size */
- /* cmmu_flush_tlb(0, 0, 0xffff) */
- bsr.n _C_LABEL(md_cmmu_flush_tlb)
- sub r4, r0, 1 /* flush entire va space */
- addu r31, r31,48
+
or.u r10, r0, hi16(_C_LABEL(curpcb))
ld r10, r10, lo16(_C_LABEL(curpcb))
/* XXX Is this correct/necessary? */