diff options
author | peter <peter@FreeBSD.org> | 2003-05-23 05:07:33 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2003-05-23 05:07:33 +0000 |
commit | 99d1672b3def2c3d6db003bd02d138ac0e07ca53 (patch) | |
tree | 6f95f27f3cabdf9cf77b789b92175b04815bec93 /sys/amd64/ia32/ia32_signal.c | |
parent | eea63ec45a461d952c1d8475e776a659c6d0da7f (diff) | |
download | FreeBSD-src-99d1672b3def2c3d6db003bd02d138ac0e07ca53.zip FreeBSD-src-99d1672b3def2c3d6db003bd02d138ac0e07ca53.tar.gz |
Deal with the user VM space expanding. 32 bit applications do not like
having their stack at the 512GB mark. Give 4GB of user VM space for 32
bit apps. Note that this is significantly more than on i386 which gives
only about 2.9GB of user VM to a process (1GB for kernel, plus page
table pages which eat user VM space).
Approved by: re (blanket)
Diffstat (limited to 'sys/amd64/ia32/ia32_signal.c')
-rw-r--r-- | sys/amd64/ia32/ia32_signal.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c index ae966a5..6cda1fd 100644 --- a/sys/amd64/ia32/ia32_signal.c +++ b/sys/amd64/ia32/ia32_signal.c @@ -263,7 +263,7 @@ freebsd4_ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) } regs->tf_rsp = (uintptr_t)sfp; - regs->tf_rip = PS_STRINGS - sz_freebsd4_ia32_sigcode; + regs->tf_rip = IA32_PS_STRINGS - sz_freebsd4_ia32_sigcode; regs->tf_rflags &= ~PSL_T; regs->tf_cs = _ucode32sel; regs->tf_ss = _udatasel; @@ -362,7 +362,7 @@ ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) } else { /* Old FreeBSD-style arguments. */ sf.sf_siginfo = code; - sf.sf_addr = regs->tf_err; + sf.sf_addr = regs->tf_addr; sf.sf_ah = (u_int32_t)(uintptr_t)catcher; } PROC_UNLOCK(p); @@ -379,7 +379,7 @@ ia32_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code) } regs->tf_rsp = (uintptr_t)sfp; - regs->tf_rip = PS_STRINGS - *(p->p_sysent->sv_szsigcode); + regs->tf_rip = IA32_PS_STRINGS - *(p->p_sysent->sv_szsigcode); regs->tf_rflags &= ~PSL_T; regs->tf_cs = _ucode32sel; regs->tf_ss = _udatasel; |