diff options
author | Marek Vasut <marex@denx.de> | 2017-01-18 23:01:42 +0100 |
---|---|---|
committer | Richard Henderson <rth@twiddle.net> | 2017-01-24 13:10:35 -0800 |
commit | a0a839b65b61a51934b9c2c197fa058c319cc94a (patch) | |
tree | 925ce4031c19b9e10cc8927c934a4e90a6f7dff6 /linux-user/nios2/target_syscall.h | |
parent | 3f0c3423093fe7a07af3806cc773bf7d71adf8c9 (diff) |
nios2: Add usermode binaries emulation
Add missing bits for qemu-user required for emulating Altera Nios2
userspace binaries.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chris Wulff <crwulff@gmail.com>
Cc: Jeff Da Silva <jdasilva@altera.com>
Cc: Ley Foon Tan <lftan@altera.com>
Cc: Sandra Loosemore <sandra@codesourcery.com>
Cc: Yves Vandervennet <yvanderv@altera.com>
Reviewed-by: Alexander Graf <agraf@suse.de>
Message-Id: <20170118220146.489-4-marex@denx.de>
Signed-off-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'linux-user/nios2/target_syscall.h')
-rw-r--r-- | linux-user/nios2/target_syscall.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/linux-user/nios2/target_syscall.h b/linux-user/nios2/target_syscall.h new file mode 100644 index 0000000000..ca6b7e69f6 --- /dev/null +++ b/linux-user/nios2/target_syscall.h @@ -0,0 +1,37 @@ +#ifndef TARGET_SYSCALL_H +#define TARGET_SYSCALL_H + +#define UNAME_MACHINE "nios2" +#define UNAME_MINIMUM_RELEASE "3.19.0" + +struct target_pt_regs { + unsigned long r8; /* r8-r15 Caller-saved GP registers */ + unsigned long r9; + unsigned long r10; + unsigned long r11; + unsigned long r12; + unsigned long r13; + unsigned long r14; + unsigned long r15; + unsigned long r1; /* Assembler temporary */ + unsigned long r2; /* Retval LS 32bits */ + unsigned long r3; /* Retval MS 32bits */ + unsigned long r4; /* r4-r7 Register arguments */ + unsigned long r5; + unsigned long r6; + unsigned long r7; + unsigned long orig_r2; /* Copy of r2 ?? */ + unsigned long ra; /* Return address */ + unsigned long fp; /* Frame pointer */ + unsigned long sp; /* Stack pointer */ + unsigned long gp; /* Global pointer */ + unsigned long estatus; + unsigned long ea; /* Exception return address (pc) */ + unsigned long orig_r7; +}; + +#define TARGET_MINSIGSTKSZ 2048 +#define TARGET_MLOCKALL_MCL_CURRENT 1 +#define TARGET_MLOCKALL_MCL_FUTURE 2 + +#endif /* TARGET_SYSCALL_H */ |