diff options
author | swallace <swallace@FreeBSD.org> | 1995-10-10 07:59:30 +0000 |
---|---|---|
committer | swallace <swallace@FreeBSD.org> | 1995-10-10 07:59:30 +0000 |
commit | 20f13c7a7ed3183879431f56c3761a1c7914af8a (patch) | |
tree | 81a969abda60acfc5b1785850773a90772c8c462 /sys/i386/ibcs2/ibcs2_util.h | |
parent | 6c1c648223be1d6caaddff391d1d2946ebc316a2 (diff) | |
download | FreeBSD-src-20f13c7a7ed3183879431f56c3761a1c7914af8a.zip FreeBSD-src-20f13c7a7ed3183879431f56c3761a1c7914af8a.tar.gz |
Remove old files no longer needed.
Add new files created for emulator.
Modify NetBSD import to work with FreeBSD and add new features and
code. The complete emulator is essentially a combination of work/code
implemented by Sean Eric Fagan, Soren Schmidt, Scott Bartram, and myself,
Steven Wallace.
Features of this new emulator system include:
o "clean" code, including strict prototyping.
o Auto-generation of ibcs2 system calls, xenix system calls, isc system
calls. Generation includes system tables, structure definitions,
and prototyping of function calls.
o ibcs2 emulator does not rely on any COMPAT_43 system calls.
o embedded socksys support
o ibcs2 msgsys, semsys, shmsys calls supported if supported in kernel
o alternate /emul/ibcs2 namespace searched first for files in ibcs2
system. Usefull to keep sysv libraries, binaries in /emul/ibcs2.
o many other finer details and functions fixed or implemented.
Diffstat (limited to 'sys/i386/ibcs2/ibcs2_util.h')
-rw-r--r-- | sys/i386/ibcs2/ibcs2_util.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/i386/ibcs2/ibcs2_util.h b/sys/i386/ibcs2/ibcs2_util.h index 6aa4e8c..124a411 100644 --- a/sys/i386/ibcs2/ibcs2_util.h +++ b/sys/i386/ibcs2/ibcs2_util.h @@ -39,16 +39,25 @@ #ifndef _IBCS2_UTIL_H_ #define _IBCS2_UTIL_H_ +#include <vm/vm.h> +#include <vm/vm_param.h> #include <machine/vmparam.h> #include <sys/exec.h> #include <sys/cdefs.h> +#ifndef SCARG +#define SCARG(p, x) (p)->x +#endif + +static __inline caddr_t stackgap_init(void); +static __inline void *stackgap_alloc(caddr_t *, size_t); + static __inline caddr_t stackgap_init() { - extern char sigcode[], esigcode[]; #define szsigcode ((caddr_t)(esigcode - sigcode)) - return STACKGAPBASE; + return (caddr_t)(ALIGN(((caddr_t)PS_STRINGS) + + sizeof(struct ps_strings))); } |