diff options
Diffstat (limited to 'arch/openrisc/include')
-rw-r--r-- | arch/openrisc/include/asm/page.h | 6 | ||||
-rw-r--r-- | arch/openrisc/include/asm/processor.h | 4 | ||||
-rw-r--r-- | arch/openrisc/include/asm/ptrace.h | 6 | ||||
-rw-r--r-- | arch/openrisc/include/asm/syscall.h | 7 | ||||
-rw-r--r-- | arch/openrisc/include/asm/uaccess.h | 1 |
5 files changed, 10 insertions, 14 deletions
diff --git a/arch/openrisc/include/asm/page.h b/arch/openrisc/include/asm/page.h index b041b344b229..108906f991d6 100644 --- a/arch/openrisc/include/asm/page.h +++ b/arch/openrisc/include/asm/page.h | |||
@@ -71,9 +71,6 @@ typedef struct page *pgtable_t; | |||
71 | #define __pgd(x) ((pgd_t) { (x) }) | 71 | #define __pgd(x) ((pgd_t) { (x) }) |
72 | #define __pgprot(x) ((pgprot_t) { (x) }) | 72 | #define __pgprot(x) ((pgprot_t) { (x) }) |
73 | 73 | ||
74 | extern unsigned long memory_start; | ||
75 | extern unsigned long memory_end; | ||
76 | |||
77 | #endif /* !__ASSEMBLY__ */ | 74 | #endif /* !__ASSEMBLY__ */ |
78 | 75 | ||
79 | 76 | ||
@@ -94,8 +91,7 @@ extern unsigned long memory_end; | |||
94 | 91 | ||
95 | #define pfn_valid(pfn) ((pfn) < max_mapnr) | 92 | #define pfn_valid(pfn) ((pfn) < max_mapnr) |
96 | 93 | ||
97 | #define virt_addr_valid(kaddr) (((void *)(kaddr) >= (void *)PAGE_OFFSET) && \ | 94 | #define virt_addr_valid(kaddr) (pfn_valid(virt_to_pfn(kaddr))) |
98 | ((void *)(kaddr) < (void *)memory_end)) | ||
99 | 95 | ||
100 | #endif /* __ASSEMBLY__ */ | 96 | #endif /* __ASSEMBLY__ */ |
101 | 97 | ||
diff --git a/arch/openrisc/include/asm/processor.h b/arch/openrisc/include/asm/processor.h index bb54c97b9783..f7516fa78b58 100644 --- a/arch/openrisc/include/asm/processor.h +++ b/arch/openrisc/include/asm/processor.h | |||
@@ -81,8 +81,8 @@ extern inline void prepare_to_copy(struct task_struct *tsk) | |||
81 | #define INIT_THREAD { } | 81 | #define INIT_THREAD { } |
82 | 82 | ||
83 | 83 | ||
84 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc); | 84 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) |
85 | #define KSTK_ESP(tsk) (task_pt_regs(tsk)->sp); | 85 | #define KSTK_ESP(tsk) (task_pt_regs(tsk)->sp) |
86 | 86 | ||
87 | 87 | ||
88 | extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); | 88 | extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags); |
diff --git a/arch/openrisc/include/asm/ptrace.h b/arch/openrisc/include/asm/ptrace.h index e612ce4512c7..4651a737591d 100644 --- a/arch/openrisc/include/asm/ptrace.h +++ b/arch/openrisc/include/asm/ptrace.h | |||
@@ -73,9 +73,13 @@ struct pt_regs { | |||
73 | }; | 73 | }; |
74 | }; | 74 | }; |
75 | long pc; | 75 | long pc; |
76 | /* For restarting system calls: | ||
77 | * Set to syscall number for syscall exceptions, | ||
78 | * -1 for all other exceptions. | ||
79 | */ | ||
76 | long orig_gpr11; /* For restarting system calls */ | 80 | long orig_gpr11; /* For restarting system calls */ |
77 | long syscallno; /* Syscall number (used by strace) */ | ||
78 | long dummy; /* Cheap alignment fix */ | 81 | long dummy; /* Cheap alignment fix */ |
82 | long dummy2; /* Cheap alignment fix */ | ||
79 | }; | 83 | }; |
80 | 84 | ||
81 | /* TODO: Rename this to REDZONE because that's what it is */ | 85 | /* TODO: Rename this to REDZONE because that's what it is */ |
diff --git a/arch/openrisc/include/asm/syscall.h b/arch/openrisc/include/asm/syscall.h index 9f0337055d26..b752bb67891d 100644 --- a/arch/openrisc/include/asm/syscall.h +++ b/arch/openrisc/include/asm/syscall.h | |||
@@ -25,7 +25,7 @@ | |||
25 | static inline int | 25 | static inline int |
26 | syscall_get_nr(struct task_struct *task, struct pt_regs *regs) | 26 | syscall_get_nr(struct task_struct *task, struct pt_regs *regs) |
27 | { | 27 | { |
28 | return regs->syscallno ? regs->syscallno : -1; | 28 | return regs->orig_gpr11; |
29 | } | 29 | } |
30 | 30 | ||
31 | static inline void | 31 | static inline void |
@@ -50,10 +50,7 @@ static inline void | |||
50 | syscall_set_return_value(struct task_struct *task, struct pt_regs *regs, | 50 | syscall_set_return_value(struct task_struct *task, struct pt_regs *regs, |
51 | int error, long val) | 51 | int error, long val) |
52 | { | 52 | { |
53 | if (error) | 53 | regs->gpr[11] = (long) error ?: val; |
54 | regs->gpr[11] = -error; | ||
55 | else | ||
56 | regs->gpr[11] = val; | ||
57 | } | 54 | } |
58 | 55 | ||
59 | static inline void | 56 | static inline void |
diff --git a/arch/openrisc/include/asm/uaccess.h b/arch/openrisc/include/asm/uaccess.h index c310e45b538e..f5abaa0ffc38 100644 --- a/arch/openrisc/include/asm/uaccess.h +++ b/arch/openrisc/include/asm/uaccess.h | |||
@@ -26,7 +26,6 @@ | |||
26 | #include <linux/thread_info.h> | 26 | #include <linux/thread_info.h> |
27 | #include <linux/prefetch.h> | 27 | #include <linux/prefetch.h> |
28 | #include <linux/string.h> | 28 | #include <linux/string.h> |
29 | #include <linux/thread_info.h> | ||
30 | #include <asm/page.h> | 29 | #include <asm/page.h> |
31 | 30 | ||
32 | #define VERIFY_READ 0 | 31 | #define VERIFY_READ 0 |