diff options
Diffstat (limited to 'arch/arm/kernel/smp_tlb.c')
| -rw-r--r-- | arch/arm/kernel/smp_tlb.c | 12 | 
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/kernel/smp_tlb.c b/arch/arm/kernel/smp_tlb.c index 02c5d2ce23b..bd030053139 100644 --- a/arch/arm/kernel/smp_tlb.c +++ b/arch/arm/kernel/smp_tlb.c @@ -64,6 +64,11 @@ static inline void ipi_flush_tlb_kernel_range(void *arg)  	local_flush_tlb_kernel_range(ta->ta_start, ta->ta_end);  } +static inline void ipi_flush_bp_all(void *ignored) +{ +	local_flush_bp_all(); +} +  void flush_tlb_all(void)  {  	if (tlb_ops_need_broadcast()) @@ -127,3 +132,10 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end)  		local_flush_tlb_kernel_range(start, end);  } +void flush_bp_all(void) +{ +	if (tlb_ops_need_broadcast()) +		on_each_cpu(ipi_flush_bp_all, NULL, 1); +	else +		local_flush_bp_all(); +}  |