static void broadcast_tlb_mm_a15_erratum(struct mm_struct *mm)
{
	int this_cpu;
	cpumask_t mask = { CPU_BITS_NONE };

	if (!has_erratum_a15_798181)
		return;

	dummy_flush_tlb_a15_erratum();
	this_cpu = get_cpu();
	a15_erratum_get_cpumask(this_cpu, mm, &mask);
	smp_call_function_many(&mask, ipi_flush_tlb_a15_erratum, NULL, 1);
	put_cpu();
}
Ejemplo n.º 2
0
static void l4x_unmap_sync_mm(struct mm_struct *mm)
{
	cpumask_t mask = { CPU_BITS_NONE };
	a15_erratum_get_cpumask(smp_processor_id(), mm, &mask);
	smp_call_function_many(&mask, l4x_dummy_remote_func, NULL, 1);
}