source: trunk/packages/xen-common/xen-common/xen/include/asm-ia64/tlbflush.h @ 34

Last change on this file since 34 was 34, checked in by hartmans, 17 years ago

Add xen and xen-common

File size: 1.3 KB
Line 
1#ifndef __FLUSHTLB_H__
2#define __FLUSHTLB_H__
3
4#include <xen/sched.h>
5
6/* TLB flushes can be either local (current vcpu only) or domain wide (on
7   all vcpus).
8   TLB flushes can be either all-flush or range only.
9
10   vTLB flushing means flushing VCPU virtual TLB + machine TLB + machine VHPT.
11*/
12
13/* Local all flush of vTLB.  */
14void vcpu_flush_vtlb_all(struct vcpu *v);
15
16/* Local range flush of machine TLB only (not full VCPU virtual TLB!!!)  */
17void vcpu_flush_tlb_vhpt_range (u64 vadr, u64 log_range);
18
19/* Global all flush of vTLB  */
20void domain_flush_vtlb_all(struct domain *d);
21
22/* Global range-flush of vTLB.  */
23void domain_flush_vtlb_range (struct domain *d, u64 vadr, u64 addr_range);
24
25#ifdef CONFIG_XEN_IA64_TLB_TRACK
26struct tlb_track_entry;
27void __domain_flush_vtlb_track_entry(struct domain* d,
28                                     const struct tlb_track_entry* entry);
29/* Global entry-flush of vTLB */
30void domain_flush_vtlb_track_entry(struct domain* d,
31                                   const struct tlb_track_entry* entry);
32#endif
33
34/* Flush vhpt and mTLB on every dirty cpus.  */
35void domain_flush_tlb_vhpt(struct domain *d);
36
37/* Flush v-tlb on cpus set in mask for current domain.  */
38void flush_tlb_mask(cpumask_t mask);
39
40/* Flush local machine TLB.  */
41void local_flush_tlb_all (void);
42
43#define tlbflush_filter(x,y) ((void)0)
44
45#endif
Note: See TracBrowser for help on using the repository browser.