12345678910111213141516171819202122232425262728293031 |
- /* Simple wrappers around HVM functions */
- #ifndef XEN_HVM_H__
- #define XEN_HVM_H__
- #include <xen/interface/hvm/params.h>
- #include <asm/xen/hypercall.h>
- static inline int hvm_get_parameter(int idx, uint64_t *value)
- {
- struct xen_hvm_param xhv;
- int r;
- xhv.domid = DOMID_SELF;
- xhv.index = idx;
- r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv);
- if (r < 0) {
- printk(KERN_ERR "Cannot get hvm parameter %d: %d!\n",
- idx, r);
- return r;
- }
- *value = xhv.value;
- return r;
- }
- #define HVM_CALLBACK_VIA_TYPE_VECTOR 0x2
- #define HVM_CALLBACK_VIA_TYPE_SHIFT 56
- #define HVM_CALLBACK_VECTOR(x) (((uint64_t)HVM_CALLBACK_VIA_TYPE_VECTOR)<<\
- HVM_CALLBACK_VIA_TYPE_SHIFT | (x))
- #endif /* XEN_HVM_H__ */
|