diff options
author | Swapnil Ingle <swapnil.ingle@nutanix.com> | 2019-08-07 10:05:05 -0400 |
---|---|---|
committer | Felipe Franciosi <felipe@nutanix.com> | 2019-09-05 16:45:35 +0100 |
commit | 7ad23c2c785e13d701f5fb0244e60a8035d3cd60 (patch) | |
tree | 99e344f7b1e9d51e4c7c6790ae261e6e5ac5a886 /lib/pci.h | |
parent | 061919b49cb1a0c493ed63baf701d62eec236b2f (diff) | |
download | libvfio-user-7ad23c2c785e13d701f5fb0244e60a8035d3cd60.zip libvfio-user-7ad23c2c785e13d701f5fb0244e60a8035d3cd60.tar.gz libvfio-user-7ad23c2c785e13d701f5fb0244e60a8035d3cd60.tar.bz2 |
muser, libmuser: support vfio sparse mmap capability
Signed-off-by: Swapnil Ingle <swapnil.ingle@nutanix.com>
Diffstat (limited to 'lib/pci.h')
-rw-r--r-- | lib/pci.h | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -241,6 +241,16 @@ _Static_assert(sizeof(struct lm_pci_config_space) == 0x100, #define LM_REG_FLAG_RW (LM_REG_FLAG_READ | LM_REG_FLAG_WRITE) #define LM_REG_FLAG_MEM (1 << 3) // if unset, bar is IO +struct lm_mmap_area { + uint64_t start; + uint64_t size; +}; + +struct lm_sparse_mmap_areas { + int nr_mmap_areas; + struct lm_mmap_area areas[]; +}; + typedef ssize_t (lm_region_access_t) (void *pvt, char * const buf, size_t count, loff_t offset, const bool is_write); @@ -252,6 +262,7 @@ struct lm_reg_info { uint64_t offset; lm_region_access_t *fn; lm_map_region_t *map; + struct lm_sparse_mmap_areas *mmap_areas; /* sparse mmap areas */ }; enum { |