/* | |
* Copyright (c) 2021 EPAM Systems | |
* | |
* SPDX-License-Identifier: Apache-2.0 | |
*/ | |
#include <arch/arm64/hypercall.h> | |
#include <xen/hvm.h> | |
#include <xen/public/hvm/hvm_op.h> | |
#include <xen/public/hvm/params.h> | |
#include <kernel.h> | |
int hvm_set_parameter(int idx, uint64_t value) | |
{ | |
struct xen_hvm_param xhv; | |
xhv.domid = DOMID_SELF; | |
xhv.index = idx; | |
xhv.value = value; | |
return HYPERVISOR_hvm_op(HVMOP_set_param, &xhv); | |
} | |
int hvm_get_parameter(int idx, uint64_t *value) | |
{ | |
int ret = 0; | |
struct xen_hvm_param xhv; | |
xhv.domid = DOMID_SELF; | |
xhv.index = idx; | |
ret = HYPERVISOR_hvm_op(HVMOP_get_param, &xhv); | |
if (ret < 0) | |
return ret; | |
*value = xhv.value; | |
return ret; | |
} |