Continue to initialize the words on the stack, as documented.
However, use the off-stack trampoline.
Reviewed-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/hexagon/target_signal.h | 2 ++
linux-user/hexagon/signal.c| 19
This has been a fixme for some time. The effect of
returning -EFAULT from the kernel code is to raise SIGSEGV.
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
linux-user/i386/signal.c | 11 +--
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git
We cannot use a raw sigtramp page for hppa,
but must wait for full vdso support.
Reviewed-by: Alex Bennée
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/hppa/target_signal.h | 14 ++
1 file changed, 14 insertions(+)
diff --git
Signed-off-by: Richard Henderson
---
linux-user/nios2/target_signal.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/linux-user/nios2/target_signal.h b/linux-user/nios2/target_signal.h
index aebf749f12..fe266c4c51 100644
--- a/linux-user/nios2/target_signal.h
+++
Create and record the rt signal trampoline.
Cc: Edgar E. Iglesias
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/microblaze/target_signal.h | 2 ++
linux-user/microblaze/signal.c| 24 +---
2 files changed, 19 insertions(+), 7
Create and record the two signal trampolines.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/mips/target_signal.h | 1 +
linux-user/mips64/target_signal.h | 2 ++
linux-user/mips/signal.c | 34 ++-
3 files changed,
Create and record the rt signal trampoline.
This fixes a bug wrt libgcc fallback unwinding. It expects
the stack pointer to point to the siginfo_t, whereas we had
inexplicably placed our private signal trampoline at the start
of the signal frame instead of the end. Now moot because we
have
All targets now define TARGET_ARCH_HAS_SIGTRAMP_PAGE.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/elfload.c | 4
1 file changed, 4 deletions(-)
diff --git a/linux-user/elfload.c b/linux-user/elfload.c
index 459a26ef1d..2404d482ba 100644
---
Create and record the two signal trampolines.
Cc: qemu-...@nongnu.org
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
linux-user/ppc/target_signal.h | 2 ++
linux-user/ppc/signal.c| 34 ++
2 files changed, 20 insertions(+), 16
Create and record the two signal trampolines.
Use them when the guest does not use SA_RESTORER.
Cc: Mark Cave-Ayland
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
linux-user/sparc/target_signal.h | 4
linux-user/sparc/signal.c| 40
From: Peter Delevoryas
Some of the pin declarations in the Aspeed GPIO module were incorrect,
probably because of confusion over which bits in the input and output
uint32_t's correspond to which groups in the label array. Since the
uint32_t literals are in big endian, it's sort of the opposite
From: Peter Delevoryas
The gpio array is declared as a dense array:
qemu_irq gpios[ASPEED_GPIO_NR_PINS];
(AST2500 has 228, AST2400 has 216, AST2600 has 208)
However, this array is used like a matrix of GPIO sets
(e.g. gpio[NR_SETS][NR_PINS_PER_SET] = gpio[8][32])
size_t offset = set *
On 9/24/21 2:01 PM, Philippe Mathieu-Daudé wrote:
+static void install_sigtramp(void *tramp)
+{
+ /* This is popl %eax ; movl $syscall,%eax ; int $0x80 */
+ __put_user(0xb858, (uint16_t *)(tramp + 0));
+ __put_user(TARGET_NR_sigreturn, (int *)(tramp + 2));
I know this is mostly code
Mirror what the kernel does in arch/arm/kernel/signal.h,
using the old sigframe struct in the rt sigframe struct.
Update the trampoline code to match the kernel: this uses
sp-relative accesses rather than pc-relative.
Copy the code into frame->retcode from the trampoline page.
This minimises the
Since we no longer support "v1", there's no need to distinguish "v2".
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/arm/signal.c | 155 +---
1 file changed, 65 insertions(+), 90 deletions(-)
diff --git
Version 2 signal frames are used from 2.6.12 and since cbc14e6f286,
we have set UNAME_MINIMUM_RELEASE to 2.6.32.
Suggested-by: Peter Maydell
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/arm/signal.c | 220 +---
1 file
Allocate a page to hold the signal trampoline(s).
Invoke a guest-specific hook to fill in the contents
of the page before marking it read-execute again.
Reviewed-by: Max Filippov
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Peter Maydell
Signed-off-by: Richard Henderson
---
Create and record the two signal trampolines.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/m68k/target_signal.h | 2 ++
linux-user/m68k/signal.c| 47 +++--
2 files changed, 24 insertions(+), 25 deletions(-)
diff --git
Split out setup_sigreturn so that we can continue to
initialize the words on the stack, as documented.
However, use the off-stack trampoline.
Cc: Edgar E. Iglesias
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/cris/target_signal.h | 2 ++
The return value is constant 0, and unused as well -- change to void.
Drop inline marker. Change tramp type to uint32_t* for clarity.
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/mips/signal.c | 5 +
1 file changed, 1 insertion(+), 4 deletions(-)
Create and record the rt signal trampoline.
Reviewed-by: Stafford Horne
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/openrisc/target_signal.h | 2 ++
linux-user/openrisc/signal.c| 22 ++
2 files changed, 16 insertions(+), 8
The sigret parameter is never 0, and even if it was the encoding
of the LI instruction would still work.
Reported-by: Peter Maydell
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/ppc/signal.c | 6 ++
1 file changed, 2 insertions(+), 4 deletions(-)
Create and record the two signal trampolines.
Use them when the guest does not use SA_RESTORER.
Cc: qemu-s3...@nongnu.org
Tested-by: Alex Bennée
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/s390x/target_signal.h | 2 ++
linux-user/s390x/signal.c
Create and record the rt signal trampoline.
Use it when the guest does not use SA_RESTORER.
Reviewed-by: Max Filippov
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/xtensa/target_signal.h | 2 ++
linux-user/xtensa/signal.c| 56
Create and record the two signal trampolines.
Use them when the guest does not use SA_RESTORER.
Cc: Yoshinori Sato
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
linux-user/sh4/target_signal.h | 2 ++
linux-user/sh4/signal.c| 40
From: Peter Delevoryas
In the Aspeed chips, the GPIO pins are mostly labeled in groups of 8,
but some of the groups only have 4 elements. Also, most pins have input
and output capabilities, but some are strictly input or strictly output
pins. We have some arrays that describe the I/O
From: Peter Delevoryas
Hey everyone,
I think there might be a bug in aspeed_gpio_update, where it's selecting
a GPIO IRQ to update. The indexing that maps from GPIO pin to IRQ leads
to an out-of-bounds array access and a segfault after that.
tl;dr
There's 8 rows of 32 pins (8 * 32 == 256
301 - 327 of 327 matches
Mail list logo