diff options
Diffstat (limited to 'sys/arch/amiga')
-rw-r--r-- | sys/arch/amiga/amiga/locore.s | 16 | ||||
-rw-r--r-- | sys/arch/amiga/amiga/vm_machdep.c | 9 |
2 files changed, 7 insertions, 18 deletions
diff --git a/sys/arch/amiga/amiga/locore.s b/sys/arch/amiga/amiga/locore.s index 5db4275ae7c..dd604cc4bb4 100644 --- a/sys/arch/amiga/amiga/locore.s +++ b/sys/arch/amiga/amiga/locore.s @@ -1,4 +1,4 @@ -/* $OpenBSD: locore.s,v 1.28 2000/05/28 03:55:21 art Exp $ */ +/* $OpenBSD: locore.s,v 1.29 2000/06/05 11:02:55 art Exp $ */ /* $NetBSD: locore.s,v 1.89 1997/07/17 16:22:54 is Exp $ */ /* @@ -1223,16 +1223,10 @@ ENTRY(switch_exit) movl #nullpcb,_curpcb | save state into garbage pcb lea tmpstk,sp | goto a tmp stack - /* Free old process's user area. */ - movl #USPACE,sp@- | size of u-area - movl a0@(P_ADDR),sp@- | address u-area of process - movl _kernel_map,sp@- | map it was allocated in -#if defined(UVM) - jbsr _uvm_km_free | deallocate it -#else - jbsr _kmem_free | deallocate it -#endif - lea sp@(12),sp | pop args + /* Schedule the vmspace and stack to be freed. */ + movl a0,sp@- | exit2(p) + jbsr _C_LABEL(exit2) + lea sp@(4),sp | pop args jra _cpu_switch diff --git a/sys/arch/amiga/amiga/vm_machdep.c b/sys/arch/amiga/amiga/vm_machdep.c index c9d782fe27a..70490213a40 100644 --- a/sys/arch/amiga/amiga/vm_machdep.c +++ b/sys/arch/amiga/amiga/vm_machdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vm_machdep.c,v 1.13 2000/05/28 03:55:21 art Exp $ */ +/* $OpenBSD: vm_machdep.c,v 1.14 2000/06/05 11:02:56 art Exp $ */ /* $NetBSD: vm_machdep.c,v 1.30 1997/05/19 10:14:50 veego Exp $ */ /* @@ -151,12 +151,7 @@ void cpu_exit(p) struct proc *p; { -#if defined(UVM) - uvmspace_free(p->p_vmspace); -#else - vmspace_free(p->p_vmspace); -#endif - + (void)splhigh(); #if defined(UVM) uvmexp.swtch++; |