diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2010-08-06 16:37:02 +0200 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2010-08-06 16:37:02 +0200 |
commit | ab11b487402f97975f3ac1eeea09c82f4431481e (patch) | |
tree | 86337c5cbbd2b0c4bd07c0847a1dc7de3d898147 /include/xen/hvm.h | |
parent | arch/tile: check kmalloc() result (diff) | |
parent | Merge branch 'drm-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git... (diff) | |
download | linux-ab11b487402f97975f3ac1eeea09c82f4431481e.tar.xz linux-ab11b487402f97975f3ac1eeea09c82f4431481e.zip |
Merge branch 'master' into for-linus
Diffstat (limited to 'include/xen/hvm.h')
-rw-r--r-- | include/xen/hvm.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/include/xen/hvm.h b/include/xen/hvm.h new file mode 100644 index 000000000000..b193fa2f9fdd --- /dev/null +++ b/include/xen/hvm.h @@ -0,0 +1,30 @@ +/* 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__ */ |