diff options
author | David Woodhouse <dwmw@amazon.co.uk> | 2022-12-16 23:49:48 +0000 |
---|---|---|
committer | David Woodhouse <dwmw@amazon.co.uk> | 2023-03-01 09:07:52 +0000 |
commit | b46f9745b1b5c8dd6ea1bd1361531f966c404f8c (patch) | |
tree | 3a542535cce023b749abf69a1321852ed4a1f204 /hw | |
parent | 28b7ae94a21d37f38f7b68a9f40fa521144898a6 (diff) | |
download | qemu-b46f9745b1b5c8dd6ea1bd1361531f966c404f8c.zip qemu-b46f9745b1b5c8dd6ea1bd1361531f966c404f8c.tar.gz qemu-b46f9745b1b5c8dd6ea1bd1361531f966c404f8c.tar.bz2 |
hw/xen: Implement GNTTABOP_query_size
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/i386/kvm/xen_gnttab.c | 19 | ||||
-rw-r--r-- | hw/i386/kvm/xen_gnttab.h | 2 |
2 files changed, 21 insertions, 0 deletions
diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c index b54a94e..1e691de 100644 --- a/hw/i386/kvm/xen_gnttab.c +++ b/hw/i386/kvm/xen_gnttab.c @@ -211,3 +211,22 @@ int xen_gnttab_get_version_op(struct gnttab_get_version *get) get->version = 1; return 0; } + +int xen_gnttab_query_size_op(struct gnttab_query_size *size) +{ + XenGnttabState *s = xen_gnttab_singleton; + + if (!s) { + return -ENOTSUP; + } + + if (size->dom != DOMID_SELF && size->dom != xen_domid) { + size->status = GNTST_bad_domain; + return 0; + } + + size->status = GNTST_okay; + size->nr_frames = s->nr_frames; + size->max_nr_frames = s->max_frames; + return 0; +} diff --git a/hw/i386/kvm/xen_gnttab.h b/hw/i386/kvm/xen_gnttab.h index 7957967..3bdbe96 100644 --- a/hw/i386/kvm/xen_gnttab.h +++ b/hw/i386/kvm/xen_gnttab.h @@ -17,7 +17,9 @@ int xen_gnttab_map_page(uint64_t idx, uint64_t gfn); struct gnttab_set_version; struct gnttab_get_version; +struct gnttab_query_size; int xen_gnttab_set_version_op(struct gnttab_set_version *set); int xen_gnttab_get_version_op(struct gnttab_get_version *get); +int xen_gnttab_query_size_op(struct gnttab_query_size *size); #endif /* QEMU_XEN_GNTTAB_H */ |