[PARISC] Make local cache flushes take a void *
Make flush_data_cache_local, flush_instruction_cache_local and flush_tlb_all_local take a void * so they don't have to be cast when using on_each_cpu(). This becomes a problem when on_each_cpu is a macro (as it is in current -mm). Also move the prototype of flush_tlb_all_local into tlbflush.h and remove its declaration from .c files. Signed-off-by: Matthew Wilcox <willy@parisc-linux.org> Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
This commit is contained in:
committed by
Kyle McMartin
parent
8039de10aa
commit
1b2425e3c7
@@ -54,20 +54,20 @@ static struct pdc_btlb_info btlb_info __read_mostly;
|
||||
void
|
||||
flush_data_cache(void)
|
||||
{
|
||||
on_each_cpu((void (*)(void *))flush_data_cache_local, NULL, 1, 1);
|
||||
on_each_cpu(flush_data_cache_local, NULL, 1, 1);
|
||||
}
|
||||
void
|
||||
flush_instruction_cache(void)
|
||||
{
|
||||
on_each_cpu((void (*)(void *))flush_instruction_cache_local, NULL, 1, 1);
|
||||
on_each_cpu(flush_instruction_cache_local, NULL, 1, 1);
|
||||
}
|
||||
#endif
|
||||
|
||||
void
|
||||
flush_cache_all_local(void)
|
||||
{
|
||||
flush_instruction_cache_local();
|
||||
flush_data_cache_local();
|
||||
flush_instruction_cache_local(NULL);
|
||||
flush_data_cache_local(NULL);
|
||||
}
|
||||
EXPORT_SYMBOL(flush_cache_all_local);
|
||||
|
||||
|
@@ -39,7 +39,7 @@
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/current.h>
|
||||
#include <asm/delay.h>
|
||||
#include <asm/pgalloc.h> /* for flush_tlb_all() proto/macro */
|
||||
#include <asm/tlbflush.h>
|
||||
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h> /* for CPU_IRQ_REGION and friends */
|
||||
@@ -406,12 +406,10 @@ EXPORT_SYMBOL(smp_call_function);
|
||||
* as we want to ensure all TLB's flushed before proceeding.
|
||||
*/
|
||||
|
||||
extern void flush_tlb_all_local(void);
|
||||
|
||||
void
|
||||
smp_flush_tlb_all(void)
|
||||
{
|
||||
on_each_cpu((void (*)(void *))flush_tlb_all_local, NULL, 1, 1);
|
||||
on_each_cpu(flush_tlb_all_local, NULL, 1, 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -487,7 +485,7 @@ void __init smp_callin(void)
|
||||
#endif
|
||||
|
||||
flush_cache_all_local(); /* start with known state */
|
||||
flush_tlb_all_local();
|
||||
flush_tlb_all_local(NULL);
|
||||
|
||||
local_irq_enable(); /* Interrupts have been off until now */
|
||||
|
||||
|
Reference in New Issue
Block a user