diff options
Diffstat (limited to 'arch/sparc')
-rw-r--r-- | arch/sparc/include/asm/hugetlb.h | 6 | ||||
-rw-r--r-- | arch/sparc/include/asm/pgtable_32.h | 4 | ||||
-rw-r--r-- | arch/sparc/include/asm/setup.h | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/ftrace.c | 13 | ||||
-rw-r--r-- | arch/sparc/mm/init_32.c | 2 |
5 files changed, 14 insertions, 13 deletions
diff --git a/arch/sparc/include/asm/hugetlb.h b/arch/sparc/include/asm/hugetlb.h index dcbf985ab243..d1f837dc77a4 100644 --- a/arch/sparc/include/asm/hugetlb.h +++ b/arch/sparc/include/asm/hugetlb.h | |||
@@ -24,9 +24,11 @@ static inline int is_hugepage_only_range(struct mm_struct *mm, | |||
24 | static inline int prepare_hugepage_range(struct file *file, | 24 | static inline int prepare_hugepage_range(struct file *file, |
25 | unsigned long addr, unsigned long len) | 25 | unsigned long addr, unsigned long len) |
26 | { | 26 | { |
27 | if (len & ~HPAGE_MASK) | 27 | struct hstate *h = hstate_file(file); |
28 | |||
29 | if (len & ~huge_page_mask(h)) | ||
28 | return -EINVAL; | 30 | return -EINVAL; |
29 | if (addr & ~HPAGE_MASK) | 31 | if (addr & ~huge_page_mask(h)) |
30 | return -EINVAL; | 32 | return -EINVAL; |
31 | return 0; | 33 | return 0; |
32 | } | 34 | } |
diff --git a/arch/sparc/include/asm/pgtable_32.h b/arch/sparc/include/asm/pgtable_32.h index ce6f56980aef..cf190728360b 100644 --- a/arch/sparc/include/asm/pgtable_32.h +++ b/arch/sparc/include/asm/pgtable_32.h | |||
@@ -91,9 +91,9 @@ extern unsigned long pfn_base; | |||
91 | * ZERO_PAGE is a global shared page that is always zero: used | 91 | * ZERO_PAGE is a global shared page that is always zero: used |
92 | * for zero-mapped memory areas etc.. | 92 | * for zero-mapped memory areas etc.. |
93 | */ | 93 | */ |
94 | extern unsigned long empty_zero_page; | 94 | extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)]; |
95 | 95 | ||
96 | #define ZERO_PAGE(vaddr) (virt_to_page(&empty_zero_page)) | 96 | #define ZERO_PAGE(vaddr) (virt_to_page(empty_zero_page)) |
97 | 97 | ||
98 | /* | 98 | /* |
99 | * In general all page table modifications should use the V8 atomic | 99 | * In general all page table modifications should use the V8 atomic |
diff --git a/arch/sparc/include/asm/setup.h b/arch/sparc/include/asm/setup.h index 478bf6bb4598..3fae200dd251 100644 --- a/arch/sparc/include/asm/setup.h +++ b/arch/sparc/include/asm/setup.h | |||
@@ -16,7 +16,7 @@ extern char reboot_command[]; | |||
16 | */ | 16 | */ |
17 | extern unsigned char boot_cpu_id; | 17 | extern unsigned char boot_cpu_id; |
18 | 18 | ||
19 | extern unsigned long empty_zero_page; | 19 | extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)]; |
20 | 20 | ||
21 | extern int serial_console; | 21 | extern int serial_console; |
22 | static inline int con_is_present(void) | 22 | static inline int con_is_present(void) |
diff --git a/arch/sparc/kernel/ftrace.c b/arch/sparc/kernel/ftrace.c index 6bcff698069b..cec54dc4ab81 100644 --- a/arch/sparc/kernel/ftrace.c +++ b/arch/sparc/kernel/ftrace.c | |||
@@ -130,17 +130,16 @@ unsigned long prepare_ftrace_return(unsigned long parent, | |||
130 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) | 130 | if (unlikely(atomic_read(¤t->tracing_graph_pause))) |
131 | return parent + 8UL; | 131 | return parent + 8UL; |
132 | 132 | ||
133 | if (ftrace_push_return_trace(parent, self_addr, &trace.depth, | ||
134 | frame_pointer, NULL) == -EBUSY) | ||
135 | return parent + 8UL; | ||
136 | |||
137 | trace.func = self_addr; | 133 | trace.func = self_addr; |
134 | trace.depth = current->curr_ret_stack + 1; | ||
138 | 135 | ||
139 | /* Only trace if the calling function expects to */ | 136 | /* Only trace if the calling function expects to */ |
140 | if (!ftrace_graph_entry(&trace)) { | 137 | if (!ftrace_graph_entry(&trace)) |
141 | current->curr_ret_stack--; | 138 | return parent + 8UL; |
139 | |||
140 | if (ftrace_push_return_trace(parent, self_addr, &trace.depth, | ||
141 | frame_pointer, NULL) == -EBUSY) | ||
142 | return parent + 8UL; | 142 | return parent + 8UL; |
143 | } | ||
144 | 143 | ||
145 | return return_hooker; | 144 | return return_hooker; |
146 | } | 145 | } |
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index c6afe98de4d9..3bd0d513bddb 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
@@ -290,7 +290,7 @@ void __init mem_init(void) | |||
290 | 290 | ||
291 | 291 | ||
292 | /* Saves us work later. */ | 292 | /* Saves us work later. */ |
293 | memset((void *)&empty_zero_page, 0, PAGE_SIZE); | 293 | memset((void *)empty_zero_page, 0, PAGE_SIZE); |
294 | 294 | ||
295 | i = last_valid_pfn >> ((20 - PAGE_SHIFT) + 5); | 295 | i = last_valid_pfn >> ((20 - PAGE_SHIFT) + 5); |
296 | i += 1; | 296 | i += 1; |