1 /*
2  * hvm_param.c: get/set HVM params.
3  *
4  * Copyright (C) 2014 Citrix Systems R&D Ltd.
5  */
6 #include "util.h"
7 #include "config.h"
8 #include "hypercall.h"
9 
10 #include <xen/hvm/params.h>
11 
hvm_param_get(uint32_t index,uint64_t * value)12 int hvm_param_get(uint32_t index, uint64_t *value)
13 {
14     struct xen_hvm_param p;
15     int ret;
16 
17     p.domid = DOMID_SELF;
18     p.index = index;
19 
20     ret = hypercall_hvm_op(HVMOP_get_param, &p);
21     if (ret == 0)
22         *value = p.value;
23 
24     return ret;
25 }
26 
hvm_param_set(uint32_t index,uint64_t value)27 int hvm_param_set(uint32_t index, uint64_t value)
28 {
29     struct xen_hvm_param p;
30 
31     p.domid = DOMID_SELF;
32     p.index = index;
33     p.value = value;
34 
35     return hypercall_hvm_op(HVMOP_set_param, &p);
36 }
37