aboutsummaryrefslogtreecommitdiff
path: root/hw/i386
diff options
context:
space:
mode:
authorDavid Woodhouse <dwmw@amazon.co.uk>2023-01-01 21:31:37 +0000
committerDavid Woodhouse <dwmw@amazon.co.uk>2023-03-07 17:04:30 +0000
commitc412ba47b2ec4c75e1ef84f39f898cfdec0630ad (patch)
tree7141b1df3087e198dbe310e4c783d0a8d541a41a /hw/i386
parentb6cacfea0b38300e3ea5fd6d486d5085122554eb (diff)
downloadqemu-c412ba47b2ec4c75e1ef84f39f898cfdec0630ad.zip
qemu-c412ba47b2ec4c75e1ef84f39f898cfdec0630ad.tar.gz
qemu-c412ba47b2ec4c75e1ef84f39f898cfdec0630ad.tar.bz2
hw/xen: Add gnttab operations to allow redirection to internal emulation
Move the existing code using libxengnttab to xen-operations.c and allow the operations to be redirected so that we can add emulation of grant table mapping for backend drivers. In emulation, mapping more than one grant ref to be virtually contiguous would be fairly difficult. The best way to do it might be to make the ram_block mappings actually backed by a file (shmem or a deleted file, perhaps) so that we can have multiple *shared* mappings of it. But that would be fairly intrusive. Making the backend drivers cope with page *lists* instead of expecting the mapping to be contiguous is also non-trivial, since some structures would actually *cross* page boundaries (e.g. the 32-bit blkif responses which are 12 bytes). So for now, we'll support only single-page mappings in emulation. Add a XEN_GNTTAB_OP_FEATURE_MAP_MULTIPLE flag to indicate that the native Xen implementation *does* support multi-page maps, and a helper function to query it. Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Reviewed-by: Paul Durrant <paul@xen.org>
Diffstat (limited to 'hw/i386')
0 files changed, 0 insertions, 0 deletions