diff options
author | jdp <jdp@FreeBSD.org> | 1999-04-03 22:20:03 +0000 |
---|---|---|
committer | jdp <jdp@FreeBSD.org> | 1999-04-03 22:20:03 +0000 |
commit | 60ad9560502beabab095c9441389f5ad42ab0d86 (patch) | |
tree | c740f0812cd3e34726c1c768f6008d375c5d68a5 /sys/pc98 | |
parent | dd18b40e3fd648d6d36b7b384929832ec0177168 (diff) | |
download | FreeBSD-src-60ad9560502beabab095c9441389f5ad42ab0d86.zip FreeBSD-src-60ad9560502beabab095c9441389f5ad42ab0d86.tar.gz |
Restore support for executing BSD/OS binaries on the i386 by passing
the address of the ps_strings structure to the process via %ebx.
For other kinds of binaries, %ebx is still zeroed as before.
Submitted by: Thomas Stephens <tas@stephens.org>
Reviewed by: jdp
Diffstat (limited to 'sys/pc98')
-rw-r--r-- | sys/pc98/i386/machdep.c | 5 | ||||
-rw-r--r-- | sys/pc98/pc98/machdep.c | 5 |
2 files changed, 6 insertions, 4 deletions
diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c index bd51383..812c577 100644 --- a/sys/pc98/i386/machdep.c +++ b/sys/pc98/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.109 1999/02/16 11:07:06 kato Exp $ + * $Id: machdep.c,v 1.110 1999/03/06 09:43:01 kato Exp $ */ #include "apm.h" @@ -819,10 +819,11 @@ cpu_halt(void) * Clear registers on exec */ void -setregs(p, entry, stack) +setregs(p, entry, stack, ps_strings) struct proc *p; u_long entry; u_long stack; + u_long ps_strings; { struct trapframe *regs = p->p_md.md_regs; struct pcb *pcb = &p->p_addr->u_pcb; diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c index bd51383..812c577 100644 --- a/sys/pc98/pc98/machdep.c +++ b/sys/pc98/pc98/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.109 1999/02/16 11:07:06 kato Exp $ + * $Id: machdep.c,v 1.110 1999/03/06 09:43:01 kato Exp $ */ #include "apm.h" @@ -819,10 +819,11 @@ cpu_halt(void) * Clear registers on exec */ void -setregs(p, entry, stack) +setregs(p, entry, stack, ps_strings) struct proc *p; u_long entry; u_long stack; + u_long ps_strings; { struct trapframe *regs = p->p_md.md_regs; struct pcb *pcb = &p->p_addr->u_pcb; |