summaryrefslogtreecommitdiffstats
path: root/sys/i386/ibcs2/ibcs2_util.h
diff options
context:
space:
mode:
authorswallace <swallace@FreeBSD.org>1995-10-10 07:59:30 +0000
committerswallace <swallace@FreeBSD.org>1995-10-10 07:59:30 +0000
commit20f13c7a7ed3183879431f56c3761a1c7914af8a (patch)
tree81a969abda60acfc5b1785850773a90772c8c462 /sys/i386/ibcs2/ibcs2_util.h
parent6c1c648223be1d6caaddff391d1d2946ebc316a2 (diff)
downloadFreeBSD-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.h13
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)));
}
OpenPOWER on IntegriCloud