diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/sparc/include/uapi/asm/unistd.h | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/nmi.c | 1 | ||||
-rw-r--r-- | arch/sparc/kernel/perf_event.c | 7 | ||||
-rw-r--r-- | arch/sparc/kernel/process_64.c | 3 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_32.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 1 | ||||
-rw-r--r-- | arch/sparc/kernel/systbls_32.S | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/systbls_64.S | 4 |
8 files changed, 15 insertions, 9 deletions
diff --git a/arch/sparc/include/uapi/asm/unistd.h b/arch/sparc/include/uapi/asm/unistd.h index 42f2bca1d338..886cab456e1b 100644 --- a/arch/sparc/include/uapi/asm/unistd.h +++ b/arch/sparc/include/uapi/asm/unistd.h | |||
@@ -411,8 +411,10 @@ | |||
411 | #define __NR_sched_setattr 343 | 411 | #define __NR_sched_setattr 343 |
412 | #define __NR_sched_getattr 344 | 412 | #define __NR_sched_getattr 344 |
413 | #define __NR_renameat2 345 | 413 | #define __NR_renameat2 345 |
414 | #define __NR_seccomp 346 | ||
415 | #define __NR_getrandom 347 | ||
414 | 416 | ||
415 | #define NR_syscalls 346 | 417 | #define NR_syscalls 348 |
416 | 418 | ||
417 | /* Bitmask values returned from kern_features system call. */ | 419 | /* Bitmask values returned from kern_features system call. */ |
418 | #define KERN_FEATURE_MIXED_MODE_STACK 0x00000001 | 420 | #define KERN_FEATURE_MIXED_MODE_STACK 0x00000001 |
diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c index 337094556916..5b1151dcba13 100644 --- a/arch/sparc/kernel/nmi.c +++ b/arch/sparc/kernel/nmi.c | |||
@@ -130,7 +130,6 @@ static inline unsigned int get_nmi_count(int cpu) | |||
130 | 130 | ||
131 | static __init void nmi_cpu_busy(void *data) | 131 | static __init void nmi_cpu_busy(void *data) |
132 | { | 132 | { |
133 | local_irq_enable_in_hardirq(); | ||
134 | while (endflag == 0) | 133 | while (endflag == 0) |
135 | mb(); | 134 | mb(); |
136 | } | 135 | } |
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index 8efd33753ad3..d35c490a91cb 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -1671,9 +1671,12 @@ static bool __init supported_pmu(void) | |||
1671 | 1671 | ||
1672 | static int __init init_hw_perf_events(void) | 1672 | static int __init init_hw_perf_events(void) |
1673 | { | 1673 | { |
1674 | int err; | ||
1675 | |||
1674 | pr_info("Performance events: "); | 1676 | pr_info("Performance events: "); |
1675 | 1677 | ||
1676 | if (!supported_pmu()) { | 1678 | err = pcr_arch_init(); |
1679 | if (err || !supported_pmu()) { | ||
1677 | pr_cont("No support for PMU type '%s'\n", sparc_pmu_type); | 1680 | pr_cont("No support for PMU type '%s'\n", sparc_pmu_type); |
1678 | return 0; | 1681 | return 0; |
1679 | } | 1682 | } |
@@ -1685,7 +1688,7 @@ static int __init init_hw_perf_events(void) | |||
1685 | 1688 | ||
1686 | return 0; | 1689 | return 0; |
1687 | } | 1690 | } |
1688 | early_initcall(init_hw_perf_events); | 1691 | pure_initcall(init_hw_perf_events); |
1689 | 1692 | ||
1690 | void perf_callchain_kernel(struct perf_callchain_entry *entry, | 1693 | void perf_callchain_kernel(struct perf_callchain_entry *entry, |
1691 | struct pt_regs *regs) | 1694 | struct pt_regs *regs) |
diff --git a/arch/sparc/kernel/process_64.c b/arch/sparc/kernel/process_64.c index 027e09986194..0be7bf978cb1 100644 --- a/arch/sparc/kernel/process_64.c +++ b/arch/sparc/kernel/process_64.c | |||
@@ -312,6 +312,9 @@ static void __global_pmu_self(int this_cpu) | |||
312 | struct global_pmu_snapshot *pp; | 312 | struct global_pmu_snapshot *pp; |
313 | int i, num; | 313 | int i, num; |
314 | 314 | ||
315 | if (!pcr_ops) | ||
316 | return; | ||
317 | |||
315 | pp = &global_cpu_snapshot[this_cpu].pmu; | 318 | pp = &global_cpu_snapshot[this_cpu].pmu; |
316 | 319 | ||
317 | num = 1; | 320 | num = 1; |
diff --git a/arch/sparc/kernel/smp_32.c b/arch/sparc/kernel/smp_32.c index 7958242d63c5..b3a5d81b20f0 100644 --- a/arch/sparc/kernel/smp_32.c +++ b/arch/sparc/kernel/smp_32.c | |||
@@ -68,7 +68,7 @@ void smp_store_cpu_info(int id) | |||
68 | mid = cpu_get_hwmid(cpu_node); | 68 | mid = cpu_get_hwmid(cpu_node); |
69 | 69 | ||
70 | if (mid < 0) { | 70 | if (mid < 0) { |
71 | printk(KERN_NOTICE "No MID found for CPU%d at node 0x%08d", id, cpu_node); | 71 | printk(KERN_NOTICE "No MID found for CPU%d at node 0x%08x", id, cpu_node); |
72 | mid = 0; | 72 | mid = 0; |
73 | } | 73 | } |
74 | cpu_data(id).mid = mid; | 74 | cpu_data(id).mid = mid; |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 41aa2478f3ca..f7ba87543e5f 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -1383,7 +1383,6 @@ void __cpu_die(unsigned int cpu) | |||
1383 | 1383 | ||
1384 | void __init smp_cpus_done(unsigned int max_cpus) | 1384 | void __init smp_cpus_done(unsigned int max_cpus) |
1385 | { | 1385 | { |
1386 | pcr_arch_init(); | ||
1387 | } | 1386 | } |
1388 | 1387 | ||
1389 | void smp_send_reschedule(int cpu) | 1388 | void smp_send_reschedule(int cpu) |
diff --git a/arch/sparc/kernel/systbls_32.S b/arch/sparc/kernel/systbls_32.S index 85fe9b1087cd..217893e18d78 100644 --- a/arch/sparc/kernel/systbls_32.S +++ b/arch/sparc/kernel/systbls_32.S | |||
@@ -86,4 +86,4 @@ sys_call_table: | |||
86 | /*330*/ .long sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime | 86 | /*330*/ .long sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime |
87 | /*335*/ .long sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv, sys_process_vm_writev | 87 | /*335*/ .long sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv, sys_process_vm_writev |
88 | /*340*/ .long sys_ni_syscall, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr | 88 | /*340*/ .long sys_ni_syscall, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr |
89 | /*345*/ .long sys_renameat2 | 89 | /*345*/ .long sys_renameat2, sys_seccomp, sys_getrandom |
diff --git a/arch/sparc/kernel/systbls_64.S b/arch/sparc/kernel/systbls_64.S index 33ecba2826ea..d93b49d1b420 100644 --- a/arch/sparc/kernel/systbls_64.S +++ b/arch/sparc/kernel/systbls_64.S | |||
@@ -87,7 +87,7 @@ sys_call_table32: | |||
87 | /*330*/ .word compat_sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, compat_sys_open_by_handle_at, compat_sys_clock_adjtime | 87 | /*330*/ .word compat_sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, compat_sys_open_by_handle_at, compat_sys_clock_adjtime |
88 | .word sys_syncfs, compat_sys_sendmmsg, sys_setns, compat_sys_process_vm_readv, compat_sys_process_vm_writev | 88 | .word sys_syncfs, compat_sys_sendmmsg, sys_setns, compat_sys_process_vm_readv, compat_sys_process_vm_writev |
89 | /*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr | 89 | /*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr |
90 | .word sys32_renameat2 | 90 | .word sys32_renameat2, sys_seccomp, sys_getrandom |
91 | 91 | ||
92 | #endif /* CONFIG_COMPAT */ | 92 | #endif /* CONFIG_COMPAT */ |
93 | 93 | ||
@@ -166,4 +166,4 @@ sys_call_table: | |||
166 | /*330*/ .word sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime | 166 | /*330*/ .word sys_fanotify_mark, sys_prlimit64, sys_name_to_handle_at, sys_open_by_handle_at, sys_clock_adjtime |
167 | .word sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv, sys_process_vm_writev | 167 | .word sys_syncfs, sys_sendmmsg, sys_setns, sys_process_vm_readv, sys_process_vm_writev |
168 | /*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr | 168 | /*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr |
169 | .word sys_renameat2 | 169 | .word sys_renameat2, sys_seccomp, sys_getrandom |