From 6e55fa34f9d67ac9fc5915366297f7de0e1af0fc Mon Sep 17 00:00:00 2001 From: Michael Shalayeff Date: Sat, 3 Aug 2002 20:56:43 +0000 Subject: in fact, no need for switch_exit() completely, cpu_exit() handles the reins to the cpu_switch and basta! --- sys/arch/hppa/hppa/locore.S | 33 ++------------------------------- sys/arch/hppa/hppa/vm_machdep.c | 11 +++++------ sys/arch/hppa/include/cpu.h | 3 +-- 3 files changed, 8 insertions(+), 39 deletions(-) (limited to 'sys') diff --git a/sys/arch/hppa/hppa/locore.S b/sys/arch/hppa/hppa/locore.S index 6629ad2300f..435e59d9335 100644 --- a/sys/arch/hppa/hppa/locore.S +++ b/sys/arch/hppa/hppa/locore.S @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.S,v 1.78 2002/08/03 20:23:00 mickey Exp $ */ +/* $OpenBSD: locore.S,v 1.79 2002/08/03 20:56:42 mickey Exp $ */ /* * Copyright (c) 1998-2002 Michael Shalayeff @@ -2394,8 +2394,6 @@ ENTRY(remrunqueue,0) ldw R%whichqs(t2), t3 #ifdef DIAGNOSTIC - ldb P_STAT(arg0), t1 - comib,=,n SRUN, t1, Lremrunqueue_panic bvb,<,n t3, remrunqueue_ok Lremrunqueue_panic @@ -2503,14 +2501,11 @@ link_ok stw t2, P_BACK(arg0) stw r0, P_BACK(arg1) - comb,<> arg0, t2, sw_qnempty - nop - vdepi 0, 1, t3 + sub,<> t2, arg0, r0 stw t3, R%whichqs(t1) /* don't need &whichqs (t1) starting here */ -sw_qnempty ldil L%want_resched, t3 stw r0, R%want_resched(t3) @@ -2624,30 +2619,6 @@ switch_return EXIT(cpu_switch) -/* - * switch_exit(struct proc *p) - * restore proc0 context and go into cpu_switch to select the next runable - * process. - */ - .import kernel_map, data - .import uvmspace_free, code - .import uvm_km_free, code -ENTRY(switch_exit,0) - - /* arg0 -- oldproc */ - .import exit2, code - ldil L%exit2, t2 - ldo R%exit2(t2), t2 - .call - blr %r0, rp - bv,n %r0(t2) - nop - - .call - b switch_search - copy r0, arg2 /* no old proc */ -EXIT(switch_exit) - ENTRY(switch_trampoline,0) .call blr r0, rp diff --git a/sys/arch/hppa/hppa/vm_machdep.c b/sys/arch/hppa/hppa/vm_machdep.c index e4ddcbb165c..597f7300f1e 100644 --- a/sys/arch/hppa/hppa/vm_machdep.c +++ b/sys/arch/hppa/hppa/vm_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vm_machdep.c,v 1.39 2002/06/09 02:50:29 mickey Exp $ */ +/* $OpenBSD: vm_machdep.c,v 1.40 2002/08/03 20:56:42 mickey Exp $ */ /* * Copyright (c) 1999-2002 Michael Shalayeff @@ -261,14 +261,13 @@ cpu_exit(p) extern paddr_t fpu_curpcb; /* from locore.S */ struct trapframe *tf = p->p_md.md_regs; - uvmexp.swtch++; - - splhigh(); - curproc = NULL; if (fpu_curpcb == tf->tf_cr30) fpu_curpcb = 0; - switch_exit(p); + exit2(p); + cpu_switch(p); + + /* switch_exit(p); */ } void diff --git a/sys/arch/hppa/include/cpu.h b/sys/arch/hppa/include/cpu.h index 8ae13f87b10..9c037f18be1 100644 --- a/sys/arch/hppa/include/cpu.h +++ b/sys/arch/hppa/include/cpu.h @@ -1,4 +1,4 @@ -/* $OpenBSD: cpu.h,v 1.30 2002/06/07 21:33:43 nordin Exp $ */ +/* $OpenBSD: cpu.h,v 1.31 2002/08/03 20:56:42 mickey Exp $ */ /* * Copyright (c) 2000-2001 Michael Shalayeff @@ -135,7 +135,6 @@ int spstrcpy(pa_space_t ssp, const void *src, pa_space_t dsp, void *dst, size_t size, size_t *rsize); int copy_on_fault(void); void switch_trampoline(void); -void switch_exit(struct proc *p); int cpu_dumpsize(void); int cpu_dump(void); #endif -- cgit v1.2.3