mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 09:43:56 -06:00
dataplane: add host memory mapping code
The data plane thread needs to map guest physical addresses to host pointers. Normally this is done with cpu_physical_memory_map() but the function assumes the global mutex is held. The data plane thread does not touch the global mutex and therefore needs a thread-safe memory mapping mechanism. Hostmem registers a MemoryListener similar to how vhost collects and pushes memory region information into the kernel. There is a fine-grained lock on the regions list which is held during lookup and when installing a new regions list. When the physical memory map changes the MemoryListener callbacks are invoked. They build up a new list of memory regions which is finally installed when the list has been completed. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
This commit is contained in:
parent
583f6e7bbd
commit
185ecf40e3
4 changed files with 237 additions and 1 deletions
|
@ -1,4 +1,4 @@
|
|||
common-obj-y = usb/ ide/ pci/
|
||||
common-obj-y = usb/ ide/ pci/ dataplane/
|
||||
common-obj-y += loader.o
|
||||
common-obj-$(CONFIG_VIRTIO) += virtio-console.o
|
||||
common-obj-$(CONFIG_VIRTIO) += virtio-rng.o
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue