Linux Audio

Check our new training course

Loading...
v3.1
 1/* Simple wrappers around HVM functions */
 2#ifndef XEN_HVM_H__
 3#define XEN_HVM_H__
 4
 5#include <xen/interface/hvm/params.h>
 6#include <asm/xen/hypercall.h>
 7
 8static inline int hvm_get_parameter(int idx, uint64_t *value)
 9{
10	struct xen_hvm_param xhv;
11	int r;
12
13	xhv.domid = DOMID_SELF;
14	xhv.index = idx;
15	r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv);
16	if (r < 0) {
17		printk(KERN_ERR "Cannot get hvm parameter %d: %d!\n",
18			idx, r);
19		return r;
20	}
21	*value = xhv.value;
22	return r;
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
30#endif /* XEN_HVM_H__ */
v3.5.6
 1/* Simple wrappers around HVM functions */
 2#ifndef XEN_HVM_H__
 3#define XEN_HVM_H__
 4
 5#include <xen/interface/hvm/params.h>
 6#include <asm/xen/hypercall.h>
 7
 8static inline int hvm_get_parameter(int idx, uint64_t *value)
 9{
10	struct xen_hvm_param xhv;
11	int r;
12
13	xhv.domid = DOMID_SELF;
14	xhv.index = idx;
15	r = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv);
16	if (r < 0) {
17		printk(KERN_ERR "Cannot get hvm parameter %d: %d!\n",
18			idx, r);
19		return r;
20	}
21	*value = xhv.value;
22	return r;
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
30#endif /* XEN_HVM_H__ */