From 539390668af2bf3488146340699c2d2e4701a292 Mon Sep 17 00:00:00 2001 From: blueswir1 Date: Sun, 9 Nov 2008 09:31:37 +0000 Subject: [PATCH] Sparc32 BSD user support git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5655 c046a42c-6fe2-441c-8c8c-71466251a162 --- bsd-user/sparc/syscall.h | 9 +++++++++ bsd-user/sparc/target_signal.h | 27 +++++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 bsd-user/sparc/syscall.h create mode 100644 bsd-user/sparc/target_signal.h diff --git a/bsd-user/sparc/syscall.h b/bsd-user/sparc/syscall.h new file mode 100644 index 000000000..5a9bb7e54 --- /dev/null +++ b/bsd-user/sparc/syscall.h @@ -0,0 +1,9 @@ +struct target_pt_regs { + abi_ulong psr; + abi_ulong pc; + abi_ulong npc; + abi_ulong y; + abi_ulong u_regs[16]; +}; + +#define UNAME_MACHINE "sun4" diff --git a/bsd-user/sparc/target_signal.h b/bsd-user/sparc/target_signal.h new file mode 100644 index 000000000..5b2abba40 --- /dev/null +++ b/bsd-user/sparc/target_signal.h @@ -0,0 +1,27 @@ +#ifndef TARGET_SIGNAL_H +#define TARGET_SIGNAL_H + +#include "cpu.h" + +/* this struct defines a stack used during syscall handling */ + +typedef struct target_sigaltstack { + abi_ulong ss_sp; + abi_long ss_flags; + abi_ulong ss_size; +} target_stack_t; + + +#ifndef UREG_I6 +#define UREG_I6 6 +#endif +#ifndef UREG_FP +#define UREG_FP UREG_I6 +#endif + +static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state) +{ + return state->regwptr[UREG_FP]; +} + +#endif /* TARGET_SIGNAL_H */ -- 2.39.2