[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v10 56/65] linux-user: Add support for nanoMIPS sign
From: |
Aleksandar Markovic |
Subject: |
[Qemu-devel] [PATCH v10 56/65] linux-user: Add support for nanoMIPS signal trampoline |
Date: |
Fri, 17 Aug 2018 16:03:44 +0200 |
From: Aleksandar Rikalo <address@hidden>
Add signal trampoline support for nanoMIPS.
Signed-off-by: Aleksandar Rikalo <address@hidden>
Signed-off-by: Aleksandar Markovic <address@hidden>
Signed-off-by: Stefan Markovic <address@hidden>
---
linux-user/mips/signal.c | 13 ++++++++++++-
1 file changed, 12 insertions(+), 1 deletion(-)
diff --git a/linux-user/mips/signal.c b/linux-user/mips/signal.c
index ab66429..c6f5504 100644
--- a/linux-user/mips/signal.c
+++ b/linux-user/mips/signal.c
@@ -101,6 +101,17 @@ static inline int install_sigtramp(unsigned int *tramp,
unsigned int syscall)
{
int err = 0;
+#if defined(TARGET_ABI_MIPSP32)
+ uint16_t *tramp16 = (uint16_t *)tramp;
+ /*
+ * li $2, __NR__foo_sigreturn
+ * syscall 0
+ */
+ __put_user(0x6040 , tramp16 + 0);
+ __put_user(syscall, tramp16 + 1);
+ __put_user(0 , tramp16 + 2);
+ __put_user(0x1008 , tramp16 + 3);
+#else
/*
* Set up the return code ...
*
@@ -110,7 +121,7 @@ static inline int install_sigtramp(unsigned int *tramp,
unsigned int syscall)
__put_user(0x24020000 + syscall, tramp + 0);
__put_user(0x0000000c , tramp + 1);
-
+#endif
return err;
}
--
2.7.4
- [Qemu-devel] [PATCH v10 16/65] target/mips: Add emulation of nanoMIPS FP instructions, (continued)
- [Qemu-devel] [PATCH v10 16/65] target/mips: Add emulation of nanoMIPS FP instructions, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 27/65] target/mips: Add emulation of DSP ASE for nanoMIPS - part 1, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 38/65] elf: On elf loading, treat both EM_MIPS and EM_NANOMIPS as legal for MIPS, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 35/65] target/mips: Fix ERET/ERETNC behavior related to ADEL exception, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 63/65] gdbstub: Disable handling of nanoMIPS ISA bit in the MIPS gdbstub, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 30/65] target/mips: Add emulation of DSP ASE for nanoMIPS - part 4, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 20/65] target/mips: Implement emulation of nanoMIPS ROTX instruction, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 21/65] target/mips: Implement emulation of nanoMIPS EXTW instruction, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 25/65] target/mips: Fix pre-nanoMIPS MT ASE instructions availability control, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 55/65] linux-user: Add signal.c for nanoMIPS, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 56/65] linux-user: Add support for nanoMIPS signal trampoline,
Aleksandar Markovic <=
- [Qemu-devel] [PATCH v10 51/65] linux-user: Add target_syscall.h header for nanoMIPS, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 58/65] linux-user: Amend support for sigaction() syscall for nanoMIPS, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 43/65] target/mips: Add definition of nanoMIPS I7200 CPU, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 62/65] linux-user: Add nanoMIPS support in scripts/qemu-binfmt-conf.sh, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 23/65] target/mips: Implement emulation of nanoMIPS LLWP/SCWP pair, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 24/65] target/mips: Add emulation of nanoMIPS 32-bit branch instructions, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 60/65] linux-user: Add support for nanoMIPS core files, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 22/65] target/mips: Add emulation of nanoMIPS 32-bit load and store instructions, Aleksandar Markovic, 2018/08/17
- [Qemu-devel] [PATCH v10 32/65] target/mips: Add emulation of DSP ASE for nanoMIPS - part 6, Aleksandar Markovic, 2018/08/17