diff options
author | Heiko Carstens <heiko.carstens@de.ibm.com> | 2019-06-03 08:25:18 -0400 |
---|---|---|
committer | Heiko Carstens <heiko.carstens@de.ibm.com> | 2019-06-07 04:09:37 -0400 |
commit | 67626fadd26977aca76d3540b80ce99233399cdf (patch) | |
tree | 5e19c3d97c5849ee38e5d5633515b26ade57e03e | |
parent | 753469a23b42d0c4a2b28de35826af74a4d554ab (diff) |
s390: enforce CONFIG_SMP
There never have been distributions that shiped with CONFIG_SMP=n for
s390. In addition the kernel currently doesn't even compile with
CONFIG_SMP=n for s390. Most likely it wouldn't even work, even if we
fix the compile error, since nobody tests it, since there is no use
case that I can think of.
Therefore simply enforce CONFIG_SMP and get rid of some more or
less unused code.
Reviewed-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
-rw-r--r-- | arch/s390/Kconfig | 25 | ||||
-rw-r--r-- | arch/s390/include/asm/ctl_reg.h | 9 | ||||
-rw-r--r-- | arch/s390/include/asm/percpu.h | 2 | ||||
-rw-r--r-- | arch/s390/include/asm/smp.h | 30 | ||||
-rw-r--r-- | arch/s390/include/asm/spinlock.h | 4 | ||||
-rw-r--r-- | arch/s390/include/asm/tlbflush.h | 17 | ||||
-rw-r--r-- | arch/s390/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/s390/kernel/dumpstack.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/entry.S | 4 | ||||
-rw-r--r-- | arch/s390/kernel/setup.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/swsusp.S | 2 | ||||
-rw-r--r-- | arch/s390/lib/Makefile | 3 |
12 files changed, 7 insertions, 95 deletions
diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig index e2e154051b07..bdf3b5fdea53 100644 --- a/arch/s390/Kconfig +++ b/arch/s390/Kconfig | |||
@@ -30,7 +30,7 @@ config GENERIC_BUG_RELATIVE_POINTERS | |||
30 | def_bool y | 30 | def_bool y |
31 | 31 | ||
32 | config GENERIC_LOCKBREAK | 32 | config GENERIC_LOCKBREAK |
33 | def_bool y if SMP && PREEMPT | 33 | def_bool y if PREEMPT |
34 | 34 | ||
35 | config PGSTE | 35 | config PGSTE |
36 | def_bool y if KVM | 36 | def_bool y if KVM |
@@ -113,7 +113,6 @@ config S390 | |||
113 | select DYNAMIC_FTRACE if FUNCTION_TRACER | 113 | select DYNAMIC_FTRACE if FUNCTION_TRACER |
114 | select GENERIC_CLOCKEVENTS | 114 | select GENERIC_CLOCKEVENTS |
115 | select GENERIC_CPU_AUTOPROBE | 115 | select GENERIC_CPU_AUTOPROBE |
116 | select GENERIC_CPU_DEVICES if !SMP | ||
117 | select GENERIC_CPU_VULNERABILITIES | 116 | select GENERIC_CPU_VULNERABILITIES |
118 | select GENERIC_FIND_FIRST_BIT | 117 | select GENERIC_FIND_FIRST_BIT |
119 | select GENERIC_SMP_IDLE_THREAD | 118 | select GENERIC_SMP_IDLE_THREAD |
@@ -399,27 +398,10 @@ config SYSVIPC_COMPAT | |||
399 | 398 | ||
400 | config SMP | 399 | config SMP |
401 | def_bool y | 400 | def_bool y |
402 | prompt "Symmetric multi-processing support" | ||
403 | ---help--- | ||
404 | This enables support for systems with more than one CPU. If you have | ||
405 | a system with only one CPU, like most personal computers, say N. If | ||
406 | you have a system with more than one CPU, say Y. | ||
407 | |||
408 | If you say N here, the kernel will run on uni- and multiprocessor | ||
409 | machines, but will use only one CPU of a multiprocessor machine. If | ||
410 | you say Y here, the kernel will run on many, but not all, | ||
411 | uniprocessor machines. On a uniprocessor machine, the kernel | ||
412 | will run faster if you say N here. | ||
413 | |||
414 | See also the SMP-HOWTO available at | ||
415 | <http://www.tldp.org/docs.html#howto>. | ||
416 | |||
417 | Even if you don't know what to do here, say Y. | ||
418 | 401 | ||
419 | config NR_CPUS | 402 | config NR_CPUS |
420 | int "Maximum number of CPUs (2-512)" | 403 | int "Maximum number of CPUs (2-512)" |
421 | range 2 512 | 404 | range 2 512 |
422 | depends on SMP | ||
423 | default "64" | 405 | default "64" |
424 | help | 406 | help |
425 | This allows you to specify the maximum number of CPUs which this | 407 | This allows you to specify the maximum number of CPUs which this |
@@ -432,7 +414,6 @@ config NR_CPUS | |||
432 | config HOTPLUG_CPU | 414 | config HOTPLUG_CPU |
433 | def_bool y | 415 | def_bool y |
434 | prompt "Support for hot-pluggable CPUs" | 416 | prompt "Support for hot-pluggable CPUs" |
435 | depends on SMP | ||
436 | help | 417 | help |
437 | Say Y here to be able to turn CPUs off and on. CPUs | 418 | Say Y here to be able to turn CPUs off and on. CPUs |
438 | can be controlled through /sys/devices/system/cpu/cpu#. | 419 | can be controlled through /sys/devices/system/cpu/cpu#. |
@@ -448,7 +429,7 @@ config NODES_SPAN_OTHER_NODES | |||
448 | 429 | ||
449 | config NUMA | 430 | config NUMA |
450 | bool "NUMA support" | 431 | bool "NUMA support" |
451 | depends on SMP && SCHED_TOPOLOGY | 432 | depends on SCHED_TOPOLOGY |
452 | default n | 433 | default n |
453 | help | 434 | help |
454 | Enable NUMA support | 435 | Enable NUMA support |
@@ -523,7 +504,6 @@ config SCHED_DRAWER | |||
523 | config SCHED_TOPOLOGY | 504 | config SCHED_TOPOLOGY |
524 | def_bool y | 505 | def_bool y |
525 | prompt "Topology scheduler support" | 506 | prompt "Topology scheduler support" |
526 | depends on SMP | ||
527 | select SCHED_SMT | 507 | select SCHED_SMT |
528 | select SCHED_MC | 508 | select SCHED_MC |
529 | select SCHED_BOOK | 509 | select SCHED_BOOK |
@@ -829,7 +809,6 @@ menu "Dump support" | |||
829 | 809 | ||
830 | config CRASH_DUMP | 810 | config CRASH_DUMP |
831 | bool "kernel crash dumps" | 811 | bool "kernel crash dumps" |
832 | depends on SMP | ||
833 | select KEXEC | 812 | select KEXEC |
834 | help | 813 | help |
835 | Generate crash dump after being started by kexec. | 814 | Generate crash dump after being started by kexec. |
diff --git a/arch/s390/include/asm/ctl_reg.h b/arch/s390/include/asm/ctl_reg.h index 4600453536c2..a778a0825835 100644 --- a/arch/s390/include/asm/ctl_reg.h +++ b/arch/s390/include/asm/ctl_reg.h | |||
@@ -112,13 +112,8 @@ union ctlreg2 { | |||
112 | }; | 112 | }; |
113 | }; | 113 | }; |
114 | 114 | ||
115 | #ifdef CONFIG_SMP | 115 | #define ctl_set_bit(cr, bit) smp_ctl_set_bit(cr, bit) |
116 | # define ctl_set_bit(cr, bit) smp_ctl_set_bit(cr, bit) | 116 | #define ctl_clear_bit(cr, bit) smp_ctl_clear_bit(cr, bit) |
117 | # define ctl_clear_bit(cr, bit) smp_ctl_clear_bit(cr, bit) | ||
118 | #else | ||
119 | # define ctl_set_bit(cr, bit) __ctl_set_bit(cr, bit) | ||
120 | # define ctl_clear_bit(cr, bit) __ctl_clear_bit(cr, bit) | ||
121 | #endif | ||
122 | 117 | ||
123 | #endif /* __ASSEMBLY__ */ | 118 | #endif /* __ASSEMBLY__ */ |
124 | #endif /* __ASM_CTL_REG_H */ | 119 | #endif /* __ASM_CTL_REG_H */ |
diff --git a/arch/s390/include/asm/percpu.h b/arch/s390/include/asm/percpu.h index 0095ddb58ff6..50b4ce8cddfd 100644 --- a/arch/s390/include/asm/percpu.h +++ b/arch/s390/include/asm/percpu.h | |||
@@ -16,7 +16,7 @@ | |||
16 | * per cpu area, use weak definitions to force the compiler to | 16 | * per cpu area, use weak definitions to force the compiler to |
17 | * generate external references. | 17 | * generate external references. |
18 | */ | 18 | */ |
19 | #if defined(CONFIG_SMP) && defined(MODULE) | 19 | #if defined(MODULE) |
20 | #define ARCH_NEEDS_WEAK_PER_CPU | 20 | #define ARCH_NEEDS_WEAK_PER_CPU |
21 | #endif | 21 | #endif |
22 | 22 | ||
diff --git a/arch/s390/include/asm/smp.h b/arch/s390/include/asm/smp.h index 3907ead27ffa..30ba1a3f88de 100644 --- a/arch/s390/include/asm/smp.h +++ b/arch/s390/include/asm/smp.h | |||
@@ -9,9 +9,6 @@ | |||
9 | #define __ASM_SMP_H | 9 | #define __ASM_SMP_H |
10 | 10 | ||
11 | #include <asm/sigp.h> | 11 | #include <asm/sigp.h> |
12 | |||
13 | #ifdef CONFIG_SMP | ||
14 | |||
15 | #include <asm/lowcore.h> | 12 | #include <asm/lowcore.h> |
16 | 13 | ||
17 | #define raw_smp_processor_id() (S390_lowcore.cpu_nr) | 14 | #define raw_smp_processor_id() (S390_lowcore.cpu_nr) |
@@ -40,33 +37,6 @@ extern int smp_cpu_get_polarization(int cpu); | |||
40 | extern void smp_fill_possible_mask(void); | 37 | extern void smp_fill_possible_mask(void); |
41 | extern void smp_detect_cpus(void); | 38 | extern void smp_detect_cpus(void); |
42 | 39 | ||
43 | #else /* CONFIG_SMP */ | ||
44 | |||
45 | #define smp_cpu_mtid 0 | ||
46 | |||
47 | static inline void smp_call_ipl_cpu(void (*func)(void *), void *data) | ||
48 | { | ||
49 | func(data); | ||
50 | } | ||
51 | |||
52 | static inline void smp_call_online_cpu(void (*func)(void *), void *data) | ||
53 | { | ||
54 | func(data); | ||
55 | } | ||
56 | |||
57 | static inline void smp_emergency_stop(void) | ||
58 | { | ||
59 | } | ||
60 | |||
61 | static inline int smp_find_processor_id(u16 address) { return 0; } | ||
62 | static inline int smp_store_status(int cpu) { return 0; } | ||
63 | static inline int smp_vcpu_scheduled(int cpu) { return 1; } | ||
64 | static inline void smp_yield_cpu(int cpu) { } | ||
65 | static inline void smp_fill_possible_mask(void) { } | ||
66 | static inline void smp_detect_cpus(void) { } | ||
67 | |||
68 | #endif /* CONFIG_SMP */ | ||
69 | |||
70 | static inline void smp_stop_cpu(void) | 40 | static inline void smp_stop_cpu(void) |
71 | { | 41 | { |
72 | u16 pcpu = stap(); | 42 | u16 pcpu = stap(); |
diff --git a/arch/s390/include/asm/spinlock.h b/arch/s390/include/asm/spinlock.h index 0a29588aa00b..c02bff33f6c7 100644 --- a/arch/s390/include/asm/spinlock.h +++ b/arch/s390/include/asm/spinlock.h | |||
@@ -20,11 +20,7 @@ | |||
20 | 20 | ||
21 | extern int spin_retry; | 21 | extern int spin_retry; |
22 | 22 | ||
23 | #ifndef CONFIG_SMP | ||
24 | static inline bool arch_vcpu_is_preempted(int cpu) { return false; } | ||
25 | #else | ||
26 | bool arch_vcpu_is_preempted(int cpu); | 23 | bool arch_vcpu_is_preempted(int cpu); |
27 | #endif | ||
28 | 24 | ||
29 | #define vcpu_is_preempted arch_vcpu_is_preempted | 25 | #define vcpu_is_preempted arch_vcpu_is_preempted |
30 | 26 | ||
diff --git a/arch/s390/include/asm/tlbflush.h b/arch/s390/include/asm/tlbflush.h index 8c840f0904f3..82703e03f35d 100644 --- a/arch/s390/include/asm/tlbflush.h +++ b/arch/s390/include/asm/tlbflush.h | |||
@@ -32,7 +32,6 @@ static inline void __tlb_flush_idte(unsigned long asce) | |||
32 | : : "a" (opt), "a" (asce) : "cc"); | 32 | : : "a" (opt), "a" (asce) : "cc"); |
33 | } | 33 | } |
34 | 34 | ||
35 | #ifdef CONFIG_SMP | ||
36 | void smp_ptlb_all(void); | 35 | void smp_ptlb_all(void); |
37 | 36 | ||
38 | /* | 37 | /* |
@@ -83,22 +82,6 @@ static inline void __tlb_flush_kernel(void) | |||
83 | else | 82 | else |
84 | __tlb_flush_global(); | 83 | __tlb_flush_global(); |
85 | } | 84 | } |
86 | #else | ||
87 | #define __tlb_flush_global() __tlb_flush_local() | ||
88 | |||
89 | /* | ||
90 | * Flush TLB entries for a specific ASCE on all CPUs. | ||
91 | */ | ||
92 | static inline void __tlb_flush_mm(struct mm_struct *mm) | ||
93 | { | ||
94 | __tlb_flush_local(); | ||
95 | } | ||
96 | |||
97 | static inline void __tlb_flush_kernel(void) | ||
98 | { | ||
99 | __tlb_flush_local(); | ||
100 | } | ||
101 | #endif | ||
102 | 85 | ||
103 | static inline void __tlb_flush_mm_lazy(struct mm_struct * mm) | 86 | static inline void __tlb_flush_mm_lazy(struct mm_struct * mm) |
104 | { | 87 | { |
diff --git a/arch/s390/kernel/Makefile b/arch/s390/kernel/Makefile index b0478d01a0c5..0f255b54b051 100644 --- a/arch/s390/kernel/Makefile +++ b/arch/s390/kernel/Makefile | |||
@@ -53,6 +53,7 @@ obj-y += sysinfo.o lgr.o os_info.o machine_kexec.o pgm_check.o | |||
53 | obj-y += runtime_instr.o cache.o fpu.o dumpstack.o guarded_storage.o sthyi.o | 53 | obj-y += runtime_instr.o cache.o fpu.o dumpstack.o guarded_storage.o sthyi.o |
54 | obj-y += entry.o reipl.o relocate_kernel.o kdebugfs.o alternative.o | 54 | obj-y += entry.o reipl.o relocate_kernel.o kdebugfs.o alternative.o |
55 | obj-y += nospec-branch.o ipl_vmparm.o machine_kexec_reloc.o unwind_bc.o | 55 | obj-y += nospec-branch.o ipl_vmparm.o machine_kexec_reloc.o unwind_bc.o |
56 | obj-y += smp.o | ||
56 | 57 | ||
57 | extra-y += head64.o vmlinux.lds | 58 | extra-y += head64.o vmlinux.lds |
58 | 59 | ||
@@ -60,7 +61,6 @@ obj-$(CONFIG_SYSFS) += nospec-sysfs.o | |||
60 | CFLAGS_REMOVE_nospec-branch.o += $(CC_FLAGS_EXPOLINE) | 61 | CFLAGS_REMOVE_nospec-branch.o += $(CC_FLAGS_EXPOLINE) |
61 | 62 | ||
62 | obj-$(CONFIG_MODULES) += module.o | 63 | obj-$(CONFIG_MODULES) += module.o |
63 | obj-$(CONFIG_SMP) += smp.o | ||
64 | obj-$(CONFIG_SCHED_TOPOLOGY) += topology.o | 64 | obj-$(CONFIG_SCHED_TOPOLOGY) += topology.o |
65 | obj-$(CONFIG_HIBERNATION) += suspend.o swsusp.o | 65 | obj-$(CONFIG_HIBERNATION) += suspend.o swsusp.o |
66 | obj-$(CONFIG_AUDIT) += audit.o | 66 | obj-$(CONFIG_AUDIT) += audit.o |
diff --git a/arch/s390/kernel/dumpstack.c b/arch/s390/kernel/dumpstack.c index 9e87b68be21c..ac06c3949ab3 100644 --- a/arch/s390/kernel/dumpstack.c +++ b/arch/s390/kernel/dumpstack.c | |||
@@ -199,9 +199,7 @@ void die(struct pt_regs *regs, const char *str) | |||
199 | #ifdef CONFIG_PREEMPT | 199 | #ifdef CONFIG_PREEMPT |
200 | pr_cont("PREEMPT "); | 200 | pr_cont("PREEMPT "); |
201 | #endif | 201 | #endif |
202 | #ifdef CONFIG_SMP | ||
203 | pr_cont("SMP "); | 202 | pr_cont("SMP "); |
204 | #endif | ||
205 | if (debug_pagealloc_enabled()) | 203 | if (debug_pagealloc_enabled()) |
206 | pr_cont("DEBUG_PAGEALLOC"); | 204 | pr_cont("DEBUG_PAGEALLOC"); |
207 | pr_cont("\n"); | 205 | pr_cont("\n"); |
diff --git a/arch/s390/kernel/entry.S b/arch/s390/kernel/entry.S index 3f4d272577d3..270d1d145761 100644 --- a/arch/s390/kernel/entry.S +++ b/arch/s390/kernel/entry.S | |||
@@ -986,14 +986,12 @@ ENTRY(psw_idle) | |||
986 | stg %r3,__SF_EMPTY(%r15) | 986 | stg %r3,__SF_EMPTY(%r15) |
987 | larl %r1,.Lpsw_idle_lpsw+4 | 987 | larl %r1,.Lpsw_idle_lpsw+4 |
988 | stg %r1,__SF_EMPTY+8(%r15) | 988 | stg %r1,__SF_EMPTY+8(%r15) |
989 | #ifdef CONFIG_SMP | ||
990 | larl %r1,smp_cpu_mtid | 989 | larl %r1,smp_cpu_mtid |
991 | llgf %r1,0(%r1) | 990 | llgf %r1,0(%r1) |
992 | ltgr %r1,%r1 | 991 | ltgr %r1,%r1 |
993 | jz .Lpsw_idle_stcctm | 992 | jz .Lpsw_idle_stcctm |
994 | .insn rsy,0xeb0000000017,%r1,5,__SF_EMPTY+16(%r15) | 993 | .insn rsy,0xeb0000000017,%r1,5,__SF_EMPTY+16(%r15) |
995 | .Lpsw_idle_stcctm: | 994 | .Lpsw_idle_stcctm: |
996 | #endif | ||
997 | oi __LC_CPU_FLAGS+7,_CIF_ENABLED_WAIT | 995 | oi __LC_CPU_FLAGS+7,_CIF_ENABLED_WAIT |
998 | BPON | 996 | BPON |
999 | STCK __CLOCK_IDLE_ENTER(%r2) | 997 | STCK __CLOCK_IDLE_ENTER(%r2) |
@@ -1468,7 +1466,6 @@ ENDPROC(cleanup_critical) | |||
1468 | mvc __CLOCK_IDLE_ENTER(8,%r2),__CLOCK_IDLE_EXIT(%r2) | 1466 | mvc __CLOCK_IDLE_ENTER(8,%r2),__CLOCK_IDLE_EXIT(%r2) |
1469 | mvc __TIMER_IDLE_ENTER(8,%r2),__TIMER_IDLE_EXIT(%r2) | 1467 | mvc __TIMER_IDLE_ENTER(8,%r2),__TIMER_IDLE_EXIT(%r2) |
1470 | 1: # calculate idle cycles | 1468 | 1: # calculate idle cycles |
1471 | #ifdef CONFIG_SMP | ||
1472 | clg %r9,BASED(.Lcleanup_idle_insn) | 1469 | clg %r9,BASED(.Lcleanup_idle_insn) |
1473 | jl 3f | 1470 | jl 3f |
1474 | larl %r1,smp_cpu_mtid | 1471 | larl %r1,smp_cpu_mtid |
@@ -1486,7 +1483,6 @@ ENDPROC(cleanup_critical) | |||
1486 | la %r3,8(%r3) | 1483 | la %r3,8(%r3) |
1487 | la %r4,8(%r4) | 1484 | la %r4,8(%r4) |
1488 | brct %r1,2b | 1485 | brct %r1,2b |
1489 | #endif | ||
1490 | 3: # account system time going idle | 1486 | 3: # account system time going idle |
1491 | lg %r9,__LC_STEAL_TIMER | 1487 | lg %r9,__LC_STEAL_TIMER |
1492 | alg %r9,__CLOCK_IDLE_ENTER(%r2) | 1488 | alg %r9,__CLOCK_IDLE_ENTER(%r2) |
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c index f8544d517430..2b94b0ad3588 100644 --- a/arch/s390/kernel/setup.c +++ b/arch/s390/kernel/setup.c | |||
@@ -461,11 +461,9 @@ static void __init setup_lowcore_dat_off(void) | |||
461 | mem_assign_absolute(S390_lowcore.restart_source, lc->restart_source); | 461 | mem_assign_absolute(S390_lowcore.restart_source, lc->restart_source); |
462 | mem_assign_absolute(S390_lowcore.restart_psw, lc->restart_psw); | 462 | mem_assign_absolute(S390_lowcore.restart_psw, lc->restart_psw); |
463 | 463 | ||
464 | #ifdef CONFIG_SMP | ||
465 | lc->spinlock_lockval = arch_spin_lockval(0); | 464 | lc->spinlock_lockval = arch_spin_lockval(0); |
466 | lc->spinlock_index = 0; | 465 | lc->spinlock_index = 0; |
467 | arch_spin_lock_setup(0); | 466 | arch_spin_lock_setup(0); |
468 | #endif | ||
469 | lc->br_r1_trampoline = 0x07f1; /* br %r1 */ | 467 | lc->br_r1_trampoline = 0x07f1; /* br %r1 */ |
470 | 468 | ||
471 | set_prefix((u32)(unsigned long) lc); | 469 | set_prefix((u32)(unsigned long) lc); |
diff --git a/arch/s390/kernel/swsusp.S b/arch/s390/kernel/swsusp.S index 19a3c427801a..a7baf0b5f818 100644 --- a/arch/s390/kernel/swsusp.S +++ b/arch/s390/kernel/swsusp.S | |||
@@ -162,7 +162,6 @@ ENTRY(swsusp_arch_resume) | |||
162 | larl %r1,__swsusp_reset_dma | 162 | larl %r1,__swsusp_reset_dma |
163 | lg %r1,0(%r1) | 163 | lg %r1,0(%r1) |
164 | BASR_EX %r14,%r1 | 164 | BASR_EX %r14,%r1 |
165 | #ifdef CONFIG_SMP | ||
166 | larl %r1,smp_cpu_mt_shift | 165 | larl %r1,smp_cpu_mt_shift |
167 | icm %r1,15,0(%r1) | 166 | icm %r1,15,0(%r1) |
168 | jz smt_done | 167 | jz smt_done |
@@ -172,7 +171,6 @@ smt_loop: | |||
172 | brc 8,smt_done /* accepted */ | 171 | brc 8,smt_done /* accepted */ |
173 | brc 2,smt_loop /* busy, try again */ | 172 | brc 2,smt_loop /* busy, try again */ |
174 | smt_done: | 173 | smt_done: |
175 | #endif | ||
176 | larl %r1,.Lnew_pgm_check_psw | 174 | larl %r1,.Lnew_pgm_check_psw |
177 | lpswe 0(%r1) | 175 | lpswe 0(%r1) |
178 | pgm_check_entry: | 176 | pgm_check_entry: |
diff --git a/arch/s390/lib/Makefile b/arch/s390/lib/Makefile index 5418d10dc2a8..a1ec63abfb95 100644 --- a/arch/s390/lib/Makefile +++ b/arch/s390/lib/Makefile | |||
@@ -3,9 +3,8 @@ | |||
3 | # Makefile for s390-specific library files.. | 3 | # Makefile for s390-specific library files.. |
4 | # | 4 | # |
5 | 5 | ||
6 | lib-y += delay.o string.o uaccess.o find.o | 6 | lib-y += delay.o string.o uaccess.o find.o spinlock.o |
7 | obj-y += mem.o xor.o | 7 | obj-y += mem.o xor.o |
8 | lib-$(CONFIG_SMP) += spinlock.o | ||
9 | lib-$(CONFIG_KPROBES) += probes.o | 8 | lib-$(CONFIG_KPROBES) += probes.o |
10 | lib-$(CONFIG_UPROBES) += probes.o | 9 | lib-$(CONFIG_UPROBES) += probes.o |
11 | 10 | ||