int domid,
int pirq);
-int xc_hvm_set_pci_intx_level(
- xc_interface *xch, domid_t dom,
- uint8_t domain, uint8_t bus, uint8_t device, uint8_t intx,
- unsigned int level);
-int xc_hvm_set_isa_irq_level(
- xc_interface *xch, domid_t dom,
- uint8_t isa_irq,
- unsigned int level);
-
-int xc_hvm_set_pci_link_route(
- xc_interface *xch, domid_t dom, uint8_t link, uint8_t isa_irq);
-
int xc_hvm_inject_msi(
xc_interface *xch, domid_t dom, uint64_t addr, uint32_t data);
int xc_hvm_param_set(xc_interface *handle, domid_t dom, uint32_t param, uint64_t value);
int xc_hvm_param_get(xc_interface *handle, domid_t dom, uint32_t param, uint64_t *value);
-/* Deprecated: use xc_hvm_param_set/get() instead. */
-int xc_set_hvm_param(xc_interface *handle, domid_t dom, int param, unsigned long value);
-int xc_get_hvm_param(xc_interface *handle, domid_t dom, int param, unsigned long *value);
-
/*
* IOREQ Server API. (See section on IOREQ Servers in public/hvm_op.h).
*/
return rc;
}
-int xc_set_hvm_param(xc_interface *handle, domid_t dom, int param, unsigned long value)
-{
- return xc_hvm_param_set(handle, dom, param, value);
-}
-
-int xc_get_hvm_param(xc_interface *handle, domid_t dom, int param, unsigned long *value)
-{
- uint64_t v;
- int ret;
-
- ret = xc_hvm_param_get(handle, dom, param, &v);
- if (ret < 0)
- return ret;
- *value = v;
- return 0;
-}
-
int xc_hvm_create_ioreq_server(xc_interface *xch,
domid_t domid,
int handle_bufioreq,
return rc;
}
-
-int xc_hvm_set_pci_intx_level(
- xc_interface *xch, domid_t dom,
- uint8_t domain, uint8_t bus, uint8_t device, uint8_t intx,
- unsigned int level)
-{
- DECLARE_HYPERCALL_BUFFER(struct xen_hvm_set_pci_intx_level, arg);
- int rc;
-
- arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
- if ( arg == NULL )
- {
- PERROR("Could not allocate memory for xc_hvm_set_pci_intx_level hypercall");
- return -1;
- }
-
- arg->domid = dom;
- arg->domain = domain;
- arg->bus = bus;
- arg->device = device;
- arg->intx = intx;
- arg->level = level;
-
- rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
- HVMOP_set_pci_intx_level,
- HYPERCALL_BUFFER_AS_ARG(arg));
-
- xc_hypercall_buffer_free(xch, arg);
-
- return rc;
-}
-
-int xc_hvm_set_isa_irq_level(
- xc_interface *xch, domid_t dom,
- uint8_t isa_irq,
- unsigned int level)
-{
- DECLARE_HYPERCALL_BUFFER(struct xen_hvm_set_isa_irq_level, arg);
- int rc;
-
- arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
- if ( arg == NULL )
- {
- PERROR("Could not allocate memory for xc_hvm_set_isa_irq_level hypercall");
- return -1;
- }
-
- arg->domid = dom;
- arg->isa_irq = isa_irq;
- arg->level = level;
-
- rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
- HVMOP_set_isa_irq_level,
- HYPERCALL_BUFFER_AS_ARG(arg));
-
- xc_hypercall_buffer_free(xch, arg);
-
- return rc;
-}
-
-int xc_hvm_set_pci_link_route(
- xc_interface *xch, domid_t dom, uint8_t link, uint8_t isa_irq)
-{
- DECLARE_HYPERCALL_BUFFER(struct xen_hvm_set_pci_link_route, arg);
- int rc;
-
- arg = xc_hypercall_buffer_alloc(xch, arg, sizeof(*arg));
- if ( arg == NULL )
- {
- PERROR("Could not allocate memory for xc_hvm_set_pci_link_route hypercall");
- return -1;
- }
-
- arg->domid = dom;
- arg->link = link;
- arg->isa_irq = isa_irq;
-
- rc = xencall2(xch->xcall, __HYPERVISOR_hvm_op,
- HVMOP_set_pci_link_route,
- HYPERCALL_BUFFER_AS_ARG(arg));
-
- xc_hypercall_buffer_free(xch, arg);
-
- return rc;
-}
-
int xc_hvm_inject_msi(
xc_interface *xch, domid_t dom, uint64_t addr, uint32_t data)
{