aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/linux32/linux32_genassym.c
diff options
context:
space:
mode:
authorTim J. Robbins <tjr@FreeBSD.org>2004-08-16 07:55:06 +0000
committerTim J. Robbins <tjr@FreeBSD.org>2004-08-16 07:55:06 +0000
commitea0fabbc4fcb15d10fbcaad14c405826d5eefea3 (patch)
tree8db1b1fe965caf91b81508b975442417a3f13b98 /sys/amd64/linux32/linux32_genassym.c
parent25aea0fcaa99d27cabdfaf648f97fceac8a4546d (diff)
downloadsrc-ea0fabbc4fcb15d10fbcaad14c405826d5eefea3.tar.gz
src-ea0fabbc4fcb15d10fbcaad14c405826d5eefea3.zip
Add preliminary support for running 32-bit Linux binaries on amd64, enabled
with the COMPAT_LINUX32 option. This is largely based on the i386 MD Linux emulations bits, but also builds on the 32-bit FreeBSD and generic IA-32 binary emulation work. Some of this is still a little rough around the edges, and will need to be revisited before 32-bit and 64-bit Linux emulation support can coexist in the same kernel.
Notes
Notes: svn path=/head/; revision=133819
Diffstat (limited to 'sys/amd64/linux32/linux32_genassym.c')
-rw-r--r--sys/amd64/linux32/linux32_genassym.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/sys/amd64/linux32/linux32_genassym.c b/sys/amd64/linux32/linux32_genassym.c
new file mode 100644
index 000000000000..de7726d19c88
--- /dev/null
+++ b/sys/amd64/linux32/linux32_genassym.c
@@ -0,0 +1,17 @@
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/assym.h>
+#include <sys/systm.h>
+
+#include <amd64/linux32/linux.h>
+
+ASSYM(LINUX_SIGF_HANDLER, offsetof(struct l_sigframe, sf_handler));
+ASSYM(LINUX_SIGF_SC, offsetof(struct l_sigframe, sf_sc));
+ASSYM(LINUX_SC_GS, offsetof(struct l_sigcontext, sc_gs));
+ASSYM(LINUX_SC_FS, offsetof(struct l_sigcontext, sc_fs));
+ASSYM(LINUX_SC_ES, offsetof(struct l_sigcontext, sc_es));
+ASSYM(LINUX_SC_DS, offsetof(struct l_sigcontext, sc_ds));
+ASSYM(LINUX_RT_SIGF_HANDLER, offsetof(struct l_rt_sigframe, sf_handler));
+ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc));