mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
linux-user: Implement signals for openrisc
All of the existing code was boilerplate from elsewhere, and would crash the guest upon the first signal. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Stafford Horne <shorne@gmail.com> --- v2: Add a comment to the new definition of target_pt_regs. Install the signal mask into the ucontext. v3: Incorporate feedback from Laurent.
This commit is contained in:
parent
ecbed7280c
commit
e8f29049b1
4 changed files with 92 additions and 152 deletions
|
@ -1,27 +1,15 @@
|
|||
#ifndef OPENRISC_TARGET_SYSCALL_H
|
||||
#define OPENRISC_TARGET_SYSCALL_H
|
||||
|
||||
/* Note that in linux/arch/openrisc/include/uapi/asm/ptrace.h,
|
||||
* this is called user_regs_struct. Given that this is what
|
||||
* is used within struct sigcontext we need this definition.
|
||||
* However, elfload.c wants this name.
|
||||
*/
|
||||
struct target_pt_regs {
|
||||
union {
|
||||
struct {
|
||||
/* Named registers */
|
||||
uint32_t sr; /* Stored in place of r0 */
|
||||
target_ulong sp; /* r1 */
|
||||
};
|
||||
struct {
|
||||
/* Old style */
|
||||
target_ulong offset[2];
|
||||
target_ulong gprs[30];
|
||||
};
|
||||
struct {
|
||||
/* New style */
|
||||
target_ulong gpr[32];
|
||||
};
|
||||
};
|
||||
target_ulong pc;
|
||||
target_ulong orig_gpr11; /* For restarting system calls */
|
||||
uint32_t syscallno; /* Syscall number (used by strace) */
|
||||
target_ulong dummy; /* Cheap alignment fix */
|
||||
abi_ulong gpr[32];
|
||||
abi_ulong pc;
|
||||
abi_ulong sr;
|
||||
};
|
||||
|
||||
#define UNAME_MACHINE "openrisc"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue