diff options
author | Alan Cox <alc@FreeBSD.org> | 2002-04-27 09:34:15 +0000 |
---|---|---|
committer | Alan Cox <alc@FreeBSD.org> | 2002-04-27 09:34:15 +0000 |
commit | 644d87b30a995d0249fb9247571d1f3bda63a218 (patch) | |
tree | d324558c67e8f7fe2a8515f6658c29bd7a9fba83 | |
parent | acbbcc5f1dd19a1ac1298c4272a2b2b8efb534b6 (diff) | |
download | src-644d87b30a995d0249fb9247571d1f3bda63a218.tar.gz src-644d87b30a995d0249fb9247571d1f3bda63a218.zip |
MFi386 1.222: Remove vm_map_growstack() and acquisition and release of Giant
around vm_fault().
Notes
Notes:
svn path=/head/; revision=95554
-rw-r--r-- | sys/alpha/alpha/trap.c | 19 |
1 files changed, 2 insertions, 17 deletions
diff --git a/sys/alpha/alpha/trap.c b/sys/alpha/alpha/trap.c index 16185b7cf6ce..7f97984f7fef 100644 --- a/sys/alpha/alpha/trap.c +++ b/sys/alpha/alpha/trap.c @@ -472,7 +472,6 @@ trap(a0, a1, a2, entry, framep) goto out; } - mtx_lock(&Giant); /* * It is only a kernel address space fault iff: * 1. !user and @@ -515,7 +514,6 @@ trap(a0, a1, a2, entry, framep) break; #ifdef DIAGNOSTIC default: /* XXX gcc -Wuninitialized */ - mtx_unlock(&Giant); goto dopanic; #endif } @@ -531,20 +529,8 @@ trap(a0, a1, a2, entry, framep) ++p->p_lock; PROC_UNLOCK(p); - /* - * Grow the stack if necessary - */ - /* vm_map_growstack fails only if va falls into - * a growable stack region and the stack growth - * fails. It succeeds if va was not within - * a growable stack region, or if the stack - * growth succeeded. - */ - if (vm_map_growstack(p, va) != KERN_SUCCESS) - rv = KERN_FAILURE; - else - /* Fault in the user page: */ - rv = vm_fault(map, va, ftype, + /* Fault in the user page: */ + rv = vm_fault(map, va, ftype, (ftype & VM_PROT_WRITE) ? VM_FAULT_DIRTY : VM_FAULT_NORMAL); @@ -559,7 +545,6 @@ trap(a0, a1, a2, entry, framep) */ rv = vm_fault(map, va, ftype, VM_FAULT_NORMAL); } - mtx_unlock(&Giant); if (rv == KERN_SUCCESS) goto out; |