On 04/21/2010 08:53 PM, Cam Macdonell wrote:
This avoids the need of using qemu_ram_alloc and mmap with MAP_FIXED to map a
host file into guest RAM. This function mmaps the opened file anywhere and adds
the memory to the ram blocks.
Usage is
qemu_ram_mmap(fd, size, MAP_SHARED, offset);
Signoff?
+ram_addr_t qemu_ram_mmap(int fd, ram_addr_t size, int flags, off_t offset)
+{
+ RAMBlock *new_block;
+
+ size = TARGET_PAGE_ALIGN(size);
+ new_block = qemu_malloc(sizeof(*new_block));
+
+ /* map the file passed as a parameter to be this part of memory */
+ new_block->host = mmap(0, size, PROT_READ|PROT_WRITE, flags, fd, offset);
+
+ if (new_block->host == MAP_FAILED)
+ exit(1);
Braces after if ()
+ if (kvm_enabled())
+ kvm_setup_guest_memory(new_block->host, size);
+
More braces.
--
error compiling committee.c: too many arguments to function