diff options
Diffstat (limited to 'arch/arm64/kernel/debug-monitors.c')
-rw-r--r-- | arch/arm64/kernel/debug-monitors.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/arch/arm64/kernel/debug-monitors.c b/arch/arm64/kernel/debug-monitors.c index cbfacf7fb438..6a0a9b132d7a 100644 --- a/arch/arm64/kernel/debug-monitors.c +++ b/arch/arm64/kernel/debug-monitors.c | |||
@@ -27,7 +27,6 @@ | |||
27 | #include <linux/uaccess.h> | 27 | #include <linux/uaccess.h> |
28 | 28 | ||
29 | #include <asm/debug-monitors.h> | 29 | #include <asm/debug-monitors.h> |
30 | #include <asm/local.h> | ||
31 | #include <asm/cputype.h> | 30 | #include <asm/cputype.h> |
32 | #include <asm/system_misc.h> | 31 | #include <asm/system_misc.h> |
33 | 32 | ||
@@ -89,8 +88,8 @@ early_param("nodebugmon", early_debug_disable); | |||
89 | * Keep track of debug users on each core. | 88 | * Keep track of debug users on each core. |
90 | * The ref counts are per-cpu so we use a local_t type. | 89 | * The ref counts are per-cpu so we use a local_t type. |
91 | */ | 90 | */ |
92 | static DEFINE_PER_CPU(local_t, mde_ref_count); | 91 | static DEFINE_PER_CPU(int, mde_ref_count); |
93 | static DEFINE_PER_CPU(local_t, kde_ref_count); | 92 | static DEFINE_PER_CPU(int, kde_ref_count); |
94 | 93 | ||
95 | void enable_debug_monitors(enum debug_el el) | 94 | void enable_debug_monitors(enum debug_el el) |
96 | { | 95 | { |
@@ -98,11 +97,11 @@ void enable_debug_monitors(enum debug_el el) | |||
98 | 97 | ||
99 | WARN_ON(preemptible()); | 98 | WARN_ON(preemptible()); |
100 | 99 | ||
101 | if (local_inc_return(&__get_cpu_var(mde_ref_count)) == 1) | 100 | if (this_cpu_inc_return(mde_ref_count) == 1) |
102 | enable = DBG_MDSCR_MDE; | 101 | enable = DBG_MDSCR_MDE; |
103 | 102 | ||
104 | if (el == DBG_ACTIVE_EL1 && | 103 | if (el == DBG_ACTIVE_EL1 && |
105 | local_inc_return(&__get_cpu_var(kde_ref_count)) == 1) | 104 | this_cpu_inc_return(kde_ref_count) == 1) |
106 | enable |= DBG_MDSCR_KDE; | 105 | enable |= DBG_MDSCR_KDE; |
107 | 106 | ||
108 | if (enable && debug_enabled) { | 107 | if (enable && debug_enabled) { |
@@ -118,11 +117,11 @@ void disable_debug_monitors(enum debug_el el) | |||
118 | 117 | ||
119 | WARN_ON(preemptible()); | 118 | WARN_ON(preemptible()); |
120 | 119 | ||
121 | if (local_dec_and_test(&__get_cpu_var(mde_ref_count))) | 120 | if (this_cpu_dec_return(mde_ref_count) == 0) |
122 | disable = ~DBG_MDSCR_MDE; | 121 | disable = ~DBG_MDSCR_MDE; |
123 | 122 | ||
124 | if (el == DBG_ACTIVE_EL1 && | 123 | if (el == DBG_ACTIVE_EL1 && |
125 | local_dec_and_test(&__get_cpu_var(kde_ref_count))) | 124 | this_cpu_dec_return(kde_ref_count) == 0) |
126 | disable &= ~DBG_MDSCR_KDE; | 125 | disable &= ~DBG_MDSCR_KDE; |
127 | 126 | ||
128 | if (disable) { | 127 | if (disable) { |