mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
acpi, vhost, misc: fixes, features
vDPA support, fix to vhost blk RO bit handling, some include path cleanups, NFIT ACPI table. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> -----BEGIN PGP SIGNATURE----- iQEcBAABAgAGBQJbEXNvAAoJECgfDbjSjVRpc8gH/R8xrcFrV+k9wwbgYcOcGb6Y LWjseE31pqJcxRV80vLOdzYEuLStZQKQQY7xBDMlA5vdyvZxIA6FLO2IsiJSbFAk EK8pclwhpwQAahr8BfzenabohBv2UO7zu5+dqSvuJCiMWF3jGtPAIMxInfjXaOZY odc1zY2D2EgsC7wZZ1hfraRbISBOiRaez9BoGDKPOyBY9G1ASEgxJgleFgoBLfsK a1XU+fDM6hAVdxftfkTm0nibyf7PWPDyzqghLqjR9WXLvZP3Cqud4p8N29mY51pR KSTjA4FYk6Z9EVMltyBHfdJs6RQzglKjxcNGdlrvacDfyFi79fGdiosVllrjfJM= =3+V0 -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging acpi, vhost, misc: fixes, features vDPA support, fix to vhost blk RO bit handling, some include path cleanups, NFIT ACPI table. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> # gpg: Signature made Fri 01 Jun 2018 17:25:19 BST # gpg: using RSA key 281F0DB8D28D5469 # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" # gpg: aka "Michael S. Tsirkin <mst@redhat.com>" # Primary key fingerprint: 0270 606B 6F3C DF3D 0B17 0970 C350 3912 AFBE 8E67 # Subkey fingerprint: 5D09 FD08 71C8 F85B 94CA 8A0D 281F 0DB8 D28D 5469 * remotes/mst/tags/for_upstream: (31 commits) vhost-blk: turn on pre-defined RO feature bit ACPI testing: test NFIT platform capabilities nvdimm, acpi: support NFIT platform capabilities tests/.gitignore: add entry for generated file arch_init: sort architectures ui: use local path for local headers qga: use local path for local headers colo: use local path for local headers migration: use local path for local headers usb: use local path for local headers sd: fix up include vhost-scsi: drop an unused include ppc: use local path for local headers rocker: drop an unused include e1000e: use local path for local headers ioapic: fix up includes ide: use local path for local headers display: use local path for local headers trace: use local path for local headers migration: drop an unused include ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
f67c9b693a
104 changed files with 807 additions and 166 deletions
|
@ -132,6 +132,16 @@ Depending on the request type, payload can be:
|
|||
Payload: Size bytes array holding the contents of the virtio
|
||||
device's configuration space
|
||||
|
||||
* Vring area description
|
||||
-----------------------
|
||||
| u64 | size | offset |
|
||||
-----------------------
|
||||
|
||||
u64: a 64-bit integer contains vring index and flags
|
||||
Size: a 64-bit size of this area
|
||||
Offset: a 64-bit offset of this area from the start of the
|
||||
supplied file descriptor
|
||||
|
||||
In QEMU the vhost-user message is implemented with the following struct:
|
||||
|
||||
typedef struct VhostUserMsg {
|
||||
|
@ -146,6 +156,7 @@ typedef struct VhostUserMsg {
|
|||
VhostUserLog log;
|
||||
struct vhost_iotlb_msg iotlb;
|
||||
VhostUserConfig config;
|
||||
VhostUserVringArea area;
|
||||
};
|
||||
} QEMU_PACKED VhostUserMsg;
|
||||
|
||||
|
@ -367,6 +378,10 @@ The fd is provided via VHOST_USER_SET_SLAVE_REQ_FD ancillary data.
|
|||
A slave may then send VHOST_USER_SLAVE_* messages to the master
|
||||
using this fd communication channel.
|
||||
|
||||
If VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD protocol feature is negotiated,
|
||||
slave can send file descriptors (at most 8 descriptors in each message)
|
||||
to master via ancillary data using this fd communication channel.
|
||||
|
||||
Protocol features
|
||||
-----------------
|
||||
|
||||
|
@ -380,6 +395,8 @@ Protocol features
|
|||
#define VHOST_USER_PROTOCOL_F_CRYPTO_SESSION 7
|
||||
#define VHOST_USER_PROTOCOL_F_PAGEFAULT 8
|
||||
#define VHOST_USER_PROTOCOL_F_CONFIG 9
|
||||
#define VHOST_USER_PROTOCOL_F_SLAVE_SEND_FD 10
|
||||
#define VHOST_USER_PROTOCOL_F_HOST_NOTIFIER 11
|
||||
|
||||
Master message types
|
||||
--------------------
|
||||
|
@ -777,6 +794,27 @@ Slave message types
|
|||
the VHOST_USER_NEED_REPLY flag, master must respond with zero when
|
||||
operation is successfully completed, or non-zero otherwise.
|
||||
|
||||
* VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG
|
||||
|
||||
Id: 3
|
||||
Equivalent ioctl: N/A
|
||||
Slave payload: vring area description
|
||||
Master payload: N/A
|
||||
|
||||
Sets host notifier for a specified queue. The queue index is contained
|
||||
in the u64 field of the vring area description. The host notifier is
|
||||
described by the file descriptor (typically it's a VFIO device fd) which
|
||||
is passed as ancillary data and the size (which is mmap size and should
|
||||
be the same as host page size) and offset (which is mmap offset) carried
|
||||
in the vring area description. QEMU can mmap the file descriptor based
|
||||
on the size and offset to get a memory range. Registering a host notifier
|
||||
means mapping this memory range to the VM as the specified queue's notify
|
||||
MMIO region. Slave sends this request to tell QEMU to de-register the
|
||||
existing notifier if any and register the new notifier if the request is
|
||||
sent with a file descriptor.
|
||||
This request should be sent only when VHOST_USER_PROTOCOL_F_HOST_NOTIFIER
|
||||
protocol feature has been successfully negotiated.
|
||||
|
||||
VHOST_USER_PROTOCOL_F_REPLY_ACK:
|
||||
-------------------------------
|
||||
The original vhost-user specification only demands replies for certain
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue