From 8fcaddd7928ebfbdd7d3ed984dae02fd111ae678 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 21 Mar 2002 19:27:15 +0000 Subject: [PATCH] o Use the MI vm_map_growstack() instead of grow_stack() in trap_pfault() and trapwrite(). o On i386/pc98, remove the (now) unused grow_stack(). --- sys/amd64/amd64/trap.c | 8 ++++---- sys/amd64/amd64/vm_machdep.c | 14 -------------- sys/i386/i386/trap.c | 8 ++++---- sys/i386/i386/vm_machdep.c | 14 -------------- 4 files changed, 8 insertions(+), 36 deletions(-) diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index 751d5f57516..b0392849fd8 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -716,13 +716,13 @@ trap_pfault(frame, usermode, eva) /* * Grow the stack if necessary */ - /* grow_stack returns false only if va falls into + /* vm_map_growstack fails only if va falls into * a growable stack region and the stack growth - * fails. It returns true if va was not within + * fails. It succeeds if va was not within * a growable stack region, or if the stack * growth succeeded. */ - if (!grow_stack (p, va)) + if (vm_map_growstack(p, va) != KERN_SUCCESS) rv = KERN_FAILURE; else /* Fault in the user page: */ @@ -901,7 +901,7 @@ int trapwrite(addr) ++p->p_lock; PROC_UNLOCK(p); - if (!grow_stack (p, va)) + if (vm_map_growstack(p, va) != KERN_SUCCESS) rv = KERN_FAILURE; else /* diff --git a/sys/amd64/amd64/vm_machdep.c b/sys/amd64/amd64/vm_machdep.c index 53b871a8b00..59f3f89b2b5 100644 --- a/sys/amd64/amd64/vm_machdep.c +++ b/sys/amd64/amd64/vm_machdep.c @@ -514,20 +514,6 @@ cpu_reset_real() while(1); } -int -grow_stack(p, sp) - struct proc *p; - u_int sp; -{ - int rv; - - rv = vm_map_growstack (p, sp); - if (rv != KERN_SUCCESS) - return (0); - - return (1); -} - /* * Software interrupt handler for queued VM system processing. */ diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index 751d5f57516..b0392849fd8 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -716,13 +716,13 @@ trap_pfault(frame, usermode, eva) /* * Grow the stack if necessary */ - /* grow_stack returns false only if va falls into + /* vm_map_growstack fails only if va falls into * a growable stack region and the stack growth - * fails. It returns true if va was not within + * fails. It succeeds if va was not within * a growable stack region, or if the stack * growth succeeded. */ - if (!grow_stack (p, va)) + if (vm_map_growstack(p, va) != KERN_SUCCESS) rv = KERN_FAILURE; else /* Fault in the user page: */ @@ -901,7 +901,7 @@ int trapwrite(addr) ++p->p_lock; PROC_UNLOCK(p); - if (!grow_stack (p, va)) + if (vm_map_growstack(p, va) != KERN_SUCCESS) rv = KERN_FAILURE; else /* diff --git a/sys/i386/i386/vm_machdep.c b/sys/i386/i386/vm_machdep.c index 53b871a8b00..59f3f89b2b5 100644 --- a/sys/i386/i386/vm_machdep.c +++ b/sys/i386/i386/vm_machdep.c @@ -514,20 +514,6 @@ cpu_reset_real() while(1); } -int -grow_stack(p, sp) - struct proc *p; - u_int sp; -{ - int rv; - - rv = vm_map_growstack (p, sp); - if (rv != KERN_SUCCESS) - return (0); - - return (1); -} - /* * Software interrupt handler for queued VM system processing. */