aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sparc')
-rw-r--r--arch/sparc/include/asm/hugetlb.h6
-rw-r--r--arch/sparc/include/asm/pgtable_32.h4
-rw-r--r--arch/sparc/include/asm/setup.h2
-rw-r--r--arch/sparc/kernel/ftrace.c13
-rw-r--r--arch/sparc/mm/init_32.c2
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,
24static inline int prepare_hugepage_range(struct file *file, 24static 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 */
94extern unsigned long empty_zero_page; 94extern 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 */
17extern unsigned char boot_cpu_id; 17extern unsigned char boot_cpu_id;
18 18
19extern unsigned long empty_zero_page; 19extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
20 20
21extern int serial_console; 21extern int serial_console;
22static inline int con_is_present(void) 22static 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(&current->tracing_graph_pause))) 130 if (unlikely(atomic_read(&current->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;