mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
ivshmem series
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJWLfISAAoJENro4Ql1lpzlHOsP/AkCzg2ontAGsZx+M1fCUn92 e0rRC14QQFkRGt1DchqWDnP5tkWkKeCi/gcyKVOHI6QcjcscxLNM3WVU0ZPw41ps ZewbddKkDpTuv4yRGQGBe4BhcoMCYyuqfi1sfX19xqgM05SBjwk4kEGwSwZczz67 u1JSFAd4pjKj4Gfx8cLRk4GS4AyT5yvRW8GucrXKtF+Hhnk8Uq0wIvuBayHJvi9E O40Jfg4fTU0QXYMI0keuYWhxJ12hStaUFgXANgelcuKOiUY+c3RzdFLKyL729Jf2 8PjyixxdPXKJCETCB/RxuPpS9cTifyBVL/0exVbzLvGk/W/9FTl782NxOHFEPcNc CCnoZSEFUNtOzpvyf2K+xmbvuBYQ+5D272a7qvW1lMTgp0MvSfUMrh0qChrn/0j0 AJpAJOsf+Yverv5iY7/YcSAWbGCZWQypotPHQCd/9w0cXwQuY0V9Rm6PjSNc3SKi 3y7+5l6/sPyVBTDM6o23xd6Z9bRbliHzZd/zQEg6EYvlve2rtCJOlz5EBZAB/MTp 8SkHaKtTQVGFkw2YgF3HJGtc4EiqYwUh6vOV2CuFJO2yLhNrleKoCCXkBvtaX2ks G3C9fr1mlqZYyAC1kDkHf6TywWkatBvSiiJLUOeWFG6CJ8c2YXuJEb8RqPcJ0j9c pBBFeGc43sYxGIjdEQC9 =VOcb -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/elmarco/tags/ivshmem-pull-request' into staging ivshmem series # gpg: Signature made Mon 26 Oct 2015 09:27:46 GMT using RSA key ID 75969CE5 # gpg: Good signature from "Marc-André Lureau <marcandre.lureau@redhat.com>" # gpg: aka "Marc-André Lureau <marcandre.lureau@gmail.com>" # gpg: WARNING: This key is not certified with sufficiently trusted signatures! # gpg: It is not certain that the signature belongs to the owner. # Primary key fingerprint: 87A9 BD93 3F87 C606 D276 F62D DAE8 E109 7596 9CE5 * remotes/elmarco/tags/ivshmem-pull-request: (51 commits) doc: document ivshmem & hugepages ivshmem: use little-endian int64_t for the protocol ivshmem: use kvm irqfd for msi notifications ivshmem: rename MSI eventfd_table ivshmem: remove EventfdEntry.vector ivshmem: add hostmem backend ivshmem: use qemu_strtosz() ivshmem: do not keep shm_fd open tests: add ivshmem qtest qtest: add qtest_add_abrt_handler() msix: implement pba write (but read-only) contrib: remove unnecessary strdup() ivshmem: add check on protocol version in QEMU docs: update ivshmem device spec ivshmem-server: fix hugetlbfs support ivshmem-server: use a uint16 for client ID ivshmem-client: check the number of vectors contrib: add ivshmem client and server util: const event_notifier_get_fd() argument ivshmem: reset mask on device reset ... Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
251d7e6014
26 changed files with 3128 additions and 343 deletions
25
include/hw/misc/ivshmem.h
Normal file
25
include/hw/misc/ivshmem.h
Normal file
|
@ -0,0 +1,25 @@
|
|||
|
||||
/*
|
||||
* Inter-VM Shared Memory PCI device.
|
||||
*
|
||||
* Author:
|
||||
* Cam Macdonell <cam@cs.ualberta.ca>
|
||||
*
|
||||
* Based On: cirrus_vga.c
|
||||
* Copyright (c) 2004 Fabrice Bellard
|
||||
* Copyright (c) 2004 Makoto Suzuki (suzu)
|
||||
*
|
||||
* and rtl8139.c
|
||||
* Copyright (c) 2006 Igor Kovalenko
|
||||
*
|
||||
* This code is licensed under the GNU GPL v2.
|
||||
*
|
||||
* Contributions after 2012-01-13 are licensed under the terms of the
|
||||
* GNU GPL, version 2 or (at your option) any later version.
|
||||
*/
|
||||
#ifndef IVSHMEM_H
|
||||
#define IVSHMEM_H
|
||||
|
||||
#define IVSHMEM_PROTOCOL_VERSION 0
|
||||
|
||||
#endif /* IVSHMEM_H */
|
|
@ -46,12 +46,16 @@ void msix_unset_vector_notifiers(PCIDevice *dev);
|
|||
|
||||
extern const VMStateDescription vmstate_msix;
|
||||
|
||||
#define VMSTATE_MSIX(_field, _state) { \
|
||||
.name = (stringify(_field)), \
|
||||
.size = sizeof(PCIDevice), \
|
||||
.vmsd = &vmstate_msix, \
|
||||
.flags = VMS_STRUCT, \
|
||||
.offset = vmstate_offset_value(_state, _field, PCIDevice), \
|
||||
#define VMSTATE_MSIX_TEST(_field, _state, _test) { \
|
||||
.name = (stringify(_field)), \
|
||||
.size = sizeof(PCIDevice), \
|
||||
.vmsd = &vmstate_msix, \
|
||||
.flags = VMS_STRUCT, \
|
||||
.offset = vmstate_offset_value(_state, _field, PCIDevice), \
|
||||
.field_exists = (_test) \
|
||||
}
|
||||
|
||||
#define VMSTATE_MSIX(_f, _s) \
|
||||
VMSTATE_MSIX_TEST(_f, _s, NULL)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -38,7 +38,7 @@ int event_notifier_set_handler(EventNotifier *, EventNotifierHandler *);
|
|||
|
||||
#ifdef CONFIG_POSIX
|
||||
void event_notifier_init_fd(EventNotifier *, int fd);
|
||||
int event_notifier_get_fd(EventNotifier *);
|
||||
int event_notifier_get_fd(const EventNotifier *);
|
||||
#else
|
||||
HANDLE event_notifier_get_handle(EventNotifier *);
|
||||
#endif
|
||||
|
|
|
@ -128,10 +128,18 @@ CharDriverState *qemu_chr_new(const char *label, const char *filename,
|
|||
/**
|
||||
* @qemu_chr_delete:
|
||||
*
|
||||
* Destroy a character backend.
|
||||
* Destroy a character backend and remove it from the list of
|
||||
* identified character backends.
|
||||
*/
|
||||
void qemu_chr_delete(CharDriverState *chr);
|
||||
|
||||
/**
|
||||
* @qemu_chr_free:
|
||||
*
|
||||
* Destroy a character backend.
|
||||
*/
|
||||
void qemu_chr_free(CharDriverState *chr);
|
||||
|
||||
/**
|
||||
* @qemu_chr_fe_set_echo:
|
||||
*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue