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 /include/exec/ram_addr.h | |
| parent | 886c0453cbf10eebd42a9ccf89c3e46eb389c357 (diff) | |
| download | focaccia-qemu-4b870dc4d0c0895859d34d14ce0272a4bcbccf78.tar.gz focaccia-qemu-4b870dc4d0c0895859d34d14ce0272a4bcbccf78.zip | |
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 'include/exec/ram_addr.h')
| -rw-r--r-- | include/exec/ram_addr.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h index f4fb6a2111..90a8269290 100644 --- a/include/exec/ram_addr.h +++ b/include/exec/ram_addr.h @@ -110,6 +110,7 @@ long qemu_maxrampagesize(void); * @ram_flags: RamBlock flags. Supported flags: RAM_SHARED, RAM_PMEM, * RAM_NORESERVE. * @mem_path or @fd: specify the backing file or device + * @offset: Offset into target file * @readonly: true to open @path for reading, false for read/write. * @errp: pointer to Error*, to store an error if it happens * @@ -119,7 +120,7 @@ long qemu_maxrampagesize(void); */ RAMBlock *qemu_ram_alloc_from_file(ram_addr_t size, MemoryRegion *mr, uint32_t ram_flags, const char *mem_path, - bool readonly, Error **errp); + off_t offset, bool readonly, Error **errp); RAMBlock *qemu_ram_alloc_from_fd(ram_addr_t size, MemoryRegion *mr, uint32_t ram_flags, int fd, off_t offset, bool readonly, Error **errp); |