1 #ifndef __ASM_ARM_FLUSHTLB_H__
2 #define __ASM_ARM_FLUSHTLB_H__
3 
4 #include <xen/cpumask.h>
5 
6 /*
7  * Filter the given set of CPUs, removing those that definitely flushed their
8  * TLB since @page_timestamp.
9  */
10 /* XXX lazy implementation just doesn't clear anything.... */
tlbflush_filter(cpumask_t * mask,uint32_t page_timestamp)11 static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timestamp) {}
12 
13 #define tlbflush_current_time()                 (0)
14 
page_set_tlbflush_timestamp(struct page_info * page)15 static inline void page_set_tlbflush_timestamp(struct page_info *page)
16 {
17     page->tlbflush_timestamp = tlbflush_current_time();
18 }
19 
20 #if defined(CONFIG_ARM_32)
21 # include <asm/arm32/flushtlb.h>
22 #elif defined(CONFIG_ARM_64)
23 # include <asm/arm64/flushtlb.h>
24 #else
25 # error "unknown ARM variant"
26 #endif
27 
28 /* Flush specified CPUs' TLBs */
29 void flush_tlb_mask(const cpumask_t *mask);
30 
31 #endif /* __ASM_ARM_FLUSHTLB_H__ */
32 /*
33  * Local variables:
34  * mode: C
35  * c-file-style: "BSD"
36  * c-basic-offset: 4
37  * indent-tabs-mode: nil
38  * End:
39  */
40