diff options
author | Alexander Graf <graf@amazon.com> | 2023-04-03 22:14:21 +0000 |
---|---|---|
committer | David Hildenbrand <david@redhat.com> | 2023-05-23 16:47:03 +0200 |
commit | 4b870dc4d0c0895859d34d14ce0272a4bcbccf78 (patch) | |
tree | 8af35d1db6ba0cd63419627870a0a75aec9bf150 /hw | |
parent | 886c0453cbf10eebd42a9ccf89c3e46eb389c357 (diff) | |
download | qemu-4b870dc4d0c0895859d34d14ce0272a4bcbccf78.zip qemu-4b870dc4d0c0895859d34d14ce0272a4bcbccf78.tar.gz qemu-4b870dc4d0c0895859d34d14ce0272a4bcbccf78.tar.bz2 |
hostmem-file: add offset option
Add an option for hostmem-file to start the memory object at an offset
into the target file. This is useful if multiple memory objects reside
inside the same target file, such as a device node.
In particular, it's useful to map guest memory directly into /dev/mem
for experimentation.
To make this work consistently, also fix up all places in QEMU that
expect fd offsets to be 0.
Signed-off-by: Alexander Graf <graf@amazon.com>
Message-Id: <20230403221421.60877-1-graf@amazon.com>
Acked-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Peter Xu <peterx@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: David Hildenbrand <david@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/virtio/vhost-user.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c index e3ec872..74a2a28 100644 --- a/hw/virtio/vhost-user.c +++ b/hw/virtio/vhost-user.c @@ -473,6 +473,7 @@ static MemoryRegion *vhost_user_get_mr_data(uint64_t addr, ram_addr_t *offset, assert((uintptr_t)addr == addr); mr = memory_region_from_host((void *)(uintptr_t)addr, offset); *fd = memory_region_get_fd(mr); + *offset += mr->ram_block->fd_offset; return mr; } |