Lines Matching full:by
26 attack. Separating QEMU reduces the attack surface by aiding to
36 often accelerated by HW virtualization features such as Intel's VT
37 extensions. Finally, it provides IO services to the VM by emulating HW
79 are instantiated by name when used by the guest VM. For example, the
104 mission-mode IO is performed by the application. The vhost user
115 the socket, which then can be used by the vhost user application in
123 instructions by running the guest in a virtual HW mode. When the guest
124 executes instructions that cannot be executed by virtual HW mode,
132 socket to the vhost application. This path is accelerated by the QEMU
133 virtio code by setting up an eventfd file descriptor that the vhost
140 Another optimization used by the vhost application is the ability to
153 done with file descriptors sent to the vhost user application by QEMU.
154 These descriptors can be passed to ``mmap()`` by the vhost application
159 address. This case is handled by having vhost code within QEMU register
168 Much of the vhost model can be re-used by separated device emulation. In
180 progress cannot continue until the load has been emulated. By contrast,
217 or be executed by QEMU. In both cases, the host backends the emulation
232 the same type can be managed by a single QMP monitor.
332 properties and methods needed by the proxy.
349 Most devices are driven by guest device driver accesses to IO addresses
359 own callbacks. When invoked by QEMU as a result of a guest IO operation,
365 PCI devices also have a configuration space that can be accessed by the
366 guest driver. Guest accesses to this space is not handled by the device
367 emulation object, but by its PCI parent object. Much of this space is
395 remote device's *vmstate*; that will be handled by the remote process
401 Generic device operations, such as DMA, will be performed by the remote
402 process proxy by sending messages to the remote process.
412 must be backed by shared file-backed memory, for example, using
432 An QMP "device\_add" command can add a device emulated by a remote
435 started at QEMU startup, or be one added by the "add-process" QMP
467 followed by QEMU. It will first initialize the backend objects, then
468 device emulation objects. The JSON descriptions sent by the QEMU process
483 will be supplied by the guest memory table from above. Those RAM regions
489 IO initialization will be driven by the JSON descriptions sent from the
586 described below attempt to ameliorate this effect by allowing the
593 from KVM. The issue with the eventfd mechanism used by vhost user is
659 are two queues: pending queue is for MMIOs that haven't been read by the
666 Each CPU in the VM is emulated in QEMU by a separate thread, so multiple
667 MMIOs may be waiting to be consumed by an emulation program and multiple
685 emulation program can control KVM access to the shadow image by sending
694 The master descriptor is used by QEMU to configure the new KVM device.
695 The descriptor would be returned by the KVM driver when QEMU issues a
701 The *KVM\_DEV\_TYPE\_USER* operations vector will be registered by a
702 ``kvm_register_device_ops()`` call when the KVM system in initialized by
703 ``kvm_init()``. These device ops are called by the KVM driver when QEMU
717 descriptor. The ``ioctl()`` commands supported are defined by the KVM
722 by each master descriptor. The file operations performed by this
727 for. The range is specified by a guest physical range structure
745 to destroy the slave descriptor; and free any memory allocated by the
752 responds to system calls on the descriptor performed by the device
780 ``mmap()``\ ed by the emulation process to share the emulation's view of
798 image allocated by the KVM driver. As device emulation updates device
808 matching *kvm\_io\_device* to see if the MMIO can be handled by the KVM
818 side-effects may be optimized by satisfying them from the shadow image,
819 if there are no outstanding stores to the device by this CPU. PCI memory
836 the device's corresponding interrupt to be triggered by the KVM driver.
848 acknowledged by the guest, so they can re-trigger the interrupt if their
854 The irq descriptors are created by the proxy object
875 data contains a vector that is programmed by the guest, A device may have
883 an *eventfd* is created, a virtual interrupt is allocated by
913 by general purpose OSs.
941 advantage of type enforcement by running the emulation processes with