diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/xen/events.h | 7 | ||||
| -rw-r--r-- | include/xen/hvm.h | 6 | ||||
| -rw-r--r-- | include/xen/interface/features.h | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/include/xen/events.h b/include/xen/events.h index e68d59a90ca8..a15d93262e30 100644 --- a/include/xen/events.h +++ b/include/xen/events.h | |||
| @@ -56,4 +56,11 @@ void xen_poll_irq(int irq); | |||
| 56 | /* Determine the IRQ which is bound to an event channel */ | 56 | /* Determine the IRQ which is bound to an event channel */ |
| 57 | unsigned irq_from_evtchn(unsigned int evtchn); | 57 | unsigned irq_from_evtchn(unsigned int evtchn); |
| 58 | 58 | ||
| 59 | /* Xen HVM evtchn vector callback */ | ||
| 60 | extern void xen_hvm_callback_vector(void); | ||
| 61 | extern int xen_have_vector_callback; | ||
| 62 | int xen_set_callback_via(uint64_t via); | ||
| 63 | void xen_evtchn_do_upcall(struct pt_regs *regs); | ||
| 64 | void xen_hvm_evtchn_do_upcall(void); | ||
| 65 | |||
| 59 | #endif /* _XEN_EVENTS_H */ | 66 | #endif /* _XEN_EVENTS_H */ |
diff --git a/include/xen/hvm.h b/include/xen/hvm.h index 5dfe8fb86e67..b193fa2f9fdd 100644 --- a/include/xen/hvm.h +++ b/include/xen/hvm.h | |||
| @@ -3,6 +3,7 @@ | |||
| 3 | #define XEN_HVM_H__ | 3 | #define XEN_HVM_H__ |
| 4 | 4 | ||
| 5 | #include <xen/interface/hvm/params.h> | 5 | #include <xen/interface/hvm/params.h> |
| 6 | #include <asm/xen/hypercall.h> | ||
| 6 | 7 | ||
| 7 | static inline int hvm_get_parameter(int idx, uint64_t *value) | 8 | static inline int hvm_get_parameter(int idx, uint64_t *value) |
| 8 | { | 9 | { |
| @@ -21,4 +22,9 @@ static inline int hvm_get_parameter(int idx, uint64_t *value) | |||
| 21 | return r; | 22 | return r; |
| 22 | } | 23 | } |
| 23 | 24 | ||
| 25 | #define HVM_CALLBACK_VIA_TYPE_VECTOR 0x2 | ||
| 26 | #define HVM_CALLBACK_VIA_TYPE_SHIFT 56 | ||
| 27 | #define HVM_CALLBACK_VECTOR(x) (((uint64_t)HVM_CALLBACK_VIA_TYPE_VECTOR)<<\ | ||
| 28 | HVM_CALLBACK_VIA_TYPE_SHIFT | (x)) | ||
| 29 | |||
| 24 | #endif /* XEN_HVM_H__ */ | 30 | #endif /* XEN_HVM_H__ */ |
diff --git a/include/xen/interface/features.h b/include/xen/interface/features.h index f51b6413b054..8ab08b91bf6f 100644 --- a/include/xen/interface/features.h +++ b/include/xen/interface/features.h | |||
| @@ -41,6 +41,9 @@ | |||
| 41 | /* x86: Does this Xen host support the MMU_PT_UPDATE_PRESERVE_AD hypercall? */ | 41 | /* x86: Does this Xen host support the MMU_PT_UPDATE_PRESERVE_AD hypercall? */ |
| 42 | #define XENFEAT_mmu_pt_update_preserve_ad 5 | 42 | #define XENFEAT_mmu_pt_update_preserve_ad 5 |
| 43 | 43 | ||
| 44 | /* x86: Does this Xen host support the HVM callback vector type? */ | ||
| 45 | #define XENFEAT_hvm_callback_vector 8 | ||
| 46 | |||
| 44 | #define XENFEAT_NR_SUBMAPS 1 | 47 | #define XENFEAT_NR_SUBMAPS 1 |
| 45 | 48 | ||
| 46 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ | 49 | #endif /* __XEN_PUBLIC_FEATURES_H__ */ |
