From: "Andreas Färber" <afaerber@suse.de>
To: qemu-devel@nongnu.org
Cc: "Riku Voipio" <riku.voipio@iki.fi>,
"Khansa Butt" <khansa@kics.edu.pk>,
"Andreas Färber" <afaerber@suse.de>,
"Richard Henderson" <rth@twiddle.net>
Subject: [Qemu-devel] [RFC 07/11] linux-user: target_sigcontext for mipsn32 and mips64
Date: Thu, 29 Dec 2011 16:55:45 +0100 [thread overview]
Message-ID: <1325174149-8077-8-git-send-email-afaerber@suse.de> (raw)
In-Reply-To: <1325174149-8077-1-git-send-email-afaerber@suse.de>
Based on arch/mips/include/asm/sigcontext.h.
Signed-off-by: Andreas Färber <afaerber@suse.de>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Khansa Butt <khansa@kics.edu.pk>
---
linux-user/signal.c | 64 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 43 insertions(+), 21 deletions(-)
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 394984d..6eeafcf 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -2423,6 +2423,49 @@ void sparc64_get_context(CPUSPARCState *env)
}
#endif
#elif defined(TARGET_MIPS)
+
+#if defined(TARGET_ABI_MIPSO32) || defined(TARGET_ABI_MIPSN32)
+struct target_sigcontext {
+ uint32_t sc_regmask; /* Unused */
+ uint32_t sc_status; /* Unused */
+ uint64_t sc_pc;
+ uint64_t sc_regs[32];
+ uint64_t sc_fpregs[32];
+ uint32_t sc_acx; /* only n32; was sc_ownedfp */
+ uint32_t sc_fpc_csr;
+ uint32_t sc_fpc_eir; /* Unused */
+ uint32_t sc_used_math;
+ uint32_t sc_dsp; /* dsp status, was sc_ssflags */
+ uint32_t pad0;
+ uint64_t sc_mdhi;
+ uint64_t sc_mdlo;
+ uint32_t sc_hi1; /* Was sc_cause */
+ uint32_t sc_lo1; /* Was sc_badvaddr */
+ uint32_t sc_hi2; /* Was sc_sigset[4] */
+ uint32_t sc_lo2;
+ uint32_t sc_hi3;
+ uint32_t sc_lo3;
+};
+#elif defined(TARGET_ABI_MIPSN64)
+struct target_sigcontext {
+ uint64_t sc_regs[32];
+ uint64_t sc_fpregs[32];
+ uint64_t sc_mdhi;
+ uint64_t sc_hi1;
+ uint64_t sc_hi2;
+ uint64_t sc_hi3;
+ uint64_t sc_mdlo;
+ uint64_t sc_lo1;
+ uint64_t sc_lo2;
+ uint64_t sc_lo3;
+ uint64_t sc_pc;
+ uint32_t sc_fpc_csr;
+ uint32_t sc_used_math;
+ uint32_t sc_dsp;
+ uint32_t sc_reserved;
+};
+#endif
+
#if defined(TARGET_ABI_MIPSN64)
# warning signal handling not implemented
@@ -2483,27 +2526,6 @@ long do_rt_sigreturn(CPUState *env)
#elif defined(TARGET_ABI_MIPSO32)
-struct target_sigcontext {
- uint32_t sc_regmask; /* Unused */
- uint32_t sc_status;
- uint64_t sc_pc;
- uint64_t sc_regs[32];
- uint64_t sc_fpregs[32];
- uint32_t sc_ownedfp; /* Unused */
- uint32_t sc_fpc_csr;
- uint32_t sc_fpc_eir; /* Unused */
- uint32_t sc_used_math;
- uint32_t sc_dsp; /* dsp status, was sc_ssflags */
- uint32_t pad0;
- uint64_t sc_mdhi;
- uint64_t sc_mdlo;
- target_ulong sc_hi1; /* Was sc_cause */
- target_ulong sc_lo1; /* Was sc_badvaddr */
- target_ulong sc_hi2; /* Was sc_sigset[4] */
- target_ulong sc_lo2;
- target_ulong sc_hi3;
- target_ulong sc_lo3;
-};
struct sigframe {
uint32_t sf_ass[4]; /* argument save space for o32 */
--
1.7.7
next prev parent reply other threads:[~2011-12-29 15:57 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-12-29 15:55 [Qemu-devel] [RFC 00/11] linux-user: Sort out signal handling for MIPS n32 and n64 Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [PATCH 01/11] linux-user: Add default-configs for mipsn32[el] Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [PATCH 02/11] linux-user: Add default configs for mips64[el] Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [PATCH 03/11] linux-user: Define TARGET_QEMU_ESIGRETURN for mipsn32 Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [PATCH 04/11] linux-user: Define TARGET_QEMU_ESIGRETURN for mips64 Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [PATCH 05/11] linux-user: Fix sa_flags byte swaps for mips Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [RFC 06/11] linux-user: Unify signal handling " Andreas Färber
2011-12-29 15:55 ` Andreas Färber [this message]
2011-12-29 15:55 ` [Qemu-devel] [RFC 08/11] linux-user: Share {setup, restore}_sigcontext() for mips ABIs Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [RFC 09/11] linux-user: Setup/restore sc_acx for mips and mipsn32 Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [PATCH 10/11] linux-user: mipsn32 does not support non-RT signals Andreas Färber
2011-12-29 15:55 ` [Qemu-devel] [RFC 11/11] linux-user: Implement signal handling for mipsn32 Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1325174149-8077-8-git-send-email-afaerber@suse.de \
--to=afaerber@suse.de \
--cc=khansa@kics.edu.pk \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).