diff options
Diffstat (limited to 'arch/um/os-Linux/skas/mem.c')
-rw-r--r-- | arch/um/os-Linux/skas/mem.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/um/os-Linux/skas/mem.c b/arch/um/os-Linux/skas/mem.c index d58d11179bb7..484e68f9f7ae 100644 --- a/arch/um/os-Linux/skas/mem.c +++ b/arch/um/os-Linux/skas/mem.c | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <sys/mman.h> | 10 | #include <sys/mman.h> |
11 | #include "init.h" | 11 | #include "init.h" |
12 | #include "kern_constants.h" | 12 | #include "kern_constants.h" |
13 | #include "as-layout.h" | ||
13 | #include "mm_id.h" | 14 | #include "mm_id.h" |
14 | #include "os.h" | 15 | #include "os.h" |
15 | #include "proc_mm.h" | 16 | #include "proc_mm.h" |
@@ -40,7 +41,7 @@ static unsigned long syscall_regs[MAX_REG_NR]; | |||
40 | static int __init init_syscall_regs(void) | 41 | static int __init init_syscall_regs(void) |
41 | { | 42 | { |
42 | get_safe_registers(syscall_regs); | 43 | get_safe_registers(syscall_regs); |
43 | syscall_regs[REGS_IP_INDEX] = UML_CONFIG_STUB_CODE + | 44 | syscall_regs[REGS_IP_INDEX] = STUB_CODE + |
44 | ((unsigned long) &batch_syscall_stub - | 45 | ((unsigned long) &batch_syscall_stub - |
45 | (unsigned long) &__syscall_stub_start); | 46 | (unsigned long) &__syscall_stub_start); |
46 | return 0; | 47 | return 0; |
@@ -93,8 +94,7 @@ static inline long do_syscall_stub(struct mm_id * mm_idp, void **addr) | |||
93 | ret = *((unsigned long *) mm_idp->stack); | 94 | ret = *((unsigned long *) mm_idp->stack); |
94 | offset = *((unsigned long *) mm_idp->stack + 1); | 95 | offset = *((unsigned long *) mm_idp->stack + 1); |
95 | if (offset) { | 96 | if (offset) { |
96 | data = (unsigned long *)(mm_idp->stack + | 97 | data = (unsigned long *)(mm_idp->stack + offset - STUB_DATA); |
97 | offset - UML_CONFIG_STUB_DATA); | ||
98 | printk(UM_KERN_ERR "do_syscall_stub : ret = %ld, offset = %ld, " | 98 | printk(UM_KERN_ERR "do_syscall_stub : ret = %ld, offset = %ld, " |
99 | "data = %p\n", ret, offset, data); | 99 | "data = %p\n", ret, offset, data); |
100 | syscall = (unsigned long *)((unsigned long)data + data[0]); | 100 | syscall = (unsigned long *)((unsigned long)data + data[0]); |
@@ -182,7 +182,7 @@ long syscall_stub_data(struct mm_id * mm_idp, | |||
182 | memcpy(stack + 1, data, data_count * sizeof(long)); | 182 | memcpy(stack + 1, data, data_count * sizeof(long)); |
183 | 183 | ||
184 | *stub_addr = (void *)(((unsigned long)(stack + 1) & | 184 | *stub_addr = (void *)(((unsigned long)(stack + 1) & |
185 | ~UM_KERN_PAGE_MASK) + UML_CONFIG_STUB_DATA); | 185 | ~UM_KERN_PAGE_MASK) + STUB_DATA); |
186 | 186 | ||
187 | return 0; | 187 | return 0; |
188 | } | 188 | } |