Commit 89197fe0 authored by Alexander Kartashov's avatar Alexander Kartashov Committed by Pavel Emelyanov

cr: introduced the macro REG_SYSCALL_NR

The macro REG_SYSCALL_NR is designated to get the value of the CPU register
storing syscall number in a machine-independent way.
Signed-off-by: 's avatarAlexander Kartashov <alekskartashov@parallels.com>
Acked-by: 's avatarAndrew Vagin <avagin@parallels.com>
Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
parent 9a374541
......@@ -209,6 +209,7 @@ typedef struct {
#define REG_RES(regs) ((regs).ARM_r0)
#define REG_IP(regs) ((regs).ARM_pc)
#define REG_SYSCALL_NR(regs) ((regs).ARM_r7)
#define TASK_SIZE 0xbf000000
......
......@@ -237,6 +237,7 @@ typedef uint64_t auxv_t;
#define REG_RES(regs) ((regs).ax)
#define REG_IP(regs) ((regs).ip)
#define REG_SYSCALL_NR(regs) ((regs).orig_ax)
#define CORE_ENTRY__MARCH CORE_ENTRY__MARCH__X86_64
......
......@@ -739,8 +739,8 @@ static int parasite_fini_seized(struct parasite_ctl *ctl)
return -1;
}
pr_debug("%d is going to execute the syscall %lx\n", pid, regs.orig_ax);
if (regs.orig_ax == __NR_rt_sigreturn) {
pr_debug("%d is going to execute the syscall %lx\n", pid, REG_SYSCALL_NR(regs));
if (REG_SYSCALL_NR(regs) == __NR_rt_sigreturn) {
pr_debug("%d was stopped\n", pid);
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment