i386/xen: Implement HYPERVISOR_physdev_op

Just hook up the basic hypercalls to stubs in xen_evtchn.c for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
This commit is contained in:
David Woodhouse 2023-01-13 00:24:40 +00:00
parent bdfdb74882
commit 799c23548f
4 changed files with 173 additions and 0 deletions

View file

@ -1349,6 +1349,31 @@ int xen_evtchn_set_port(uint16_t port)
return ret;
}
int xen_physdev_map_pirq(struct physdev_map_pirq *map)
{
return -ENOTSUP;
}
int xen_physdev_unmap_pirq(struct physdev_unmap_pirq *unmap)
{
return -ENOTSUP;
}
int xen_physdev_eoi_pirq(struct physdev_eoi *eoi)
{
return -ENOTSUP;
}
int xen_physdev_query_pirq(struct physdev_irq_status_query *query)
{
return -ENOTSUP;
}
int xen_physdev_get_free_pirq(struct physdev_get_free_pirq *get)
{
return -ENOTSUP;
}
struct xenevtchn_handle *xen_be_evtchn_open(void)
{
struct xenevtchn_handle *xc = g_new0(struct xenevtchn_handle, 1);

View file

@ -62,4 +62,15 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain);
int xen_evtchn_bind_vcpu_op(struct evtchn_bind_vcpu *vcpu);
int xen_evtchn_reset_op(struct evtchn_reset *reset);
struct physdev_map_pirq;
struct physdev_unmap_pirq;
struct physdev_eoi;
struct physdev_irq_status_query;
struct physdev_get_free_pirq;
int xen_physdev_map_pirq(struct physdev_map_pirq *map);
int xen_physdev_unmap_pirq(struct physdev_unmap_pirq *unmap);
int xen_physdev_eoi_pirq(struct physdev_eoi *eoi);
int xen_physdev_query_pirq(struct physdev_irq_status_query *query);
int xen_physdev_get_free_pirq(struct physdev_get_free_pirq *get);
#endif /* QEMU_XEN_EVTCHN_H */