aboutsummaryrefslogtreecommitdiff
path: root/sys/compat/cloudabi64/cloudabi64_util.h
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2015-10-22 09:07:53 +0000
committerEd Schouten <ed@FreeBSD.org>2015-10-22 09:07:53 +0000
commitb78ef4bd86f5fbc328996350735aa6586cd1bc35 (patch)
treee5c6fe17118c05c548cf2fbc3ab609e172a23a04 /sys/compat/cloudabi64/cloudabi64_util.h
parent68dd37f7b4a25066319c2701a6eceb675efce713 (diff)
downloadsrc-b78ef4bd86f5fbc328996350735aa6586cd1bc35.tar.gz
src-b78ef4bd86f5fbc328996350735aa6586cd1bc35.zip
Refactoring: move out generic bits from cloudabi64_sysvec.c.
In order to make it easier to support CloudABI on ARM64, move out all of the bits from the AMD64 cloudabi_sysvec.c into a new file cloudabi_module.c that would otherwise remain identical. This reduces the AMD64 specific code to just ~160 lines. Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D3974
Notes
Notes: svn path=/head/; revision=289747
Diffstat (limited to 'sys/compat/cloudabi64/cloudabi64_util.h')
-rw-r--r--sys/compat/cloudabi64/cloudabi64_util.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/sys/compat/cloudabi64/cloudabi64_util.h b/sys/compat/cloudabi64/cloudabi64_util.h
index c56d4ccd25d0..180a01eb59be 100644
--- a/sys/compat/cloudabi64/cloudabi64_util.h
+++ b/sys/compat/cloudabi64/cloudabi64_util.h
@@ -28,10 +28,20 @@
#ifndef _CLOUDABI64_UTIL_H_
#define _CLOUDABI64_UTIL_H_
+#include <sys/types.h>
+#include <sys/imgact_elf.h>
+
#include <compat/cloudabi64/cloudabi64_syscalldefs.h>
+struct image_params;
struct thread;
+extern Elf64_Brandinfo cloudabi64_brand;
+
+/* Stack initialization during process execution. */
+register_t *cloudabi64_copyout_strings(struct image_params *);
+int cloudabi64_fixup(register_t **, struct image_params *);
+
void cloudabi64_thread_setregs(struct thread *,
const cloudabi64_threadattr_t *);