.. | .. |
---|
4 | 4 | |
---|
5 | 5 | #include <linux/thread_info.h> |
---|
6 | 6 | |
---|
| 7 | +#if defined CONFIG_PREEMPT_RT_FULL && defined CONFIG_HIGHMEM |
---|
| 8 | +void switch_kmaps(struct task_struct *prev_p, struct task_struct *next_p); |
---|
| 9 | +#else |
---|
| 10 | +static inline void |
---|
| 11 | +switch_kmaps(struct task_struct *prev_p, struct task_struct *next_p) { } |
---|
| 12 | +#endif |
---|
| 13 | + |
---|
7 | 14 | /* |
---|
8 | 15 | * For v7 SMP cores running a preemptible kernel we may be pre-empted |
---|
9 | 16 | * during a TLB maintenance operation, so execute an inner-shareable dsb |
---|
.. | .. |
---|
26 | 33 | #define switch_to(prev,next,last) \ |
---|
27 | 34 | do { \ |
---|
28 | 35 | __complete_pending_tlbi(); \ |
---|
| 36 | + switch_kmaps(prev, next); \ |
---|
29 | 37 | last = __switch_to(prev,task_thread_info(prev), task_thread_info(next)); \ |
---|
30 | 38 | } while (0) |
---|
31 | 39 | |
---|