> On Mar 9, 2022, at 2:34 PM, Alex Williamson
> wrote:
>
> On Tue, 11 Jan 2022 16:43:37 -0800
> John Johnson wrote:
>>
>> +
>> +VFIO region type cap header
>> +"""""""""""""
> On Dec 13, 2022, at 5:48 AM, Cédric Le Goater wrote:
>
> On 11/9/22 00:13, John Johnson wrote:
>>
>> +
>> +static struct cap_entry ver_0_0[] = {
>> +{ VFIO_USER_CAP, check_cap },
>> +{ NULL }
>> +};
>> +
>> +static int
> On Dec 16, 2022, at 3:31 AM, Cédric Le Goater wrote:
>
> On 11/9/22 00:13, John Johnson wrote:
>> Hello,
>> This is the 6th revision of the vfio-user client implementation.
>> It is the first patch series (the previous revisions were RFCs)
>> First of all,
> On Dec 13, 2022, at 8:39 AM, Cédric Le Goater wrote:
>
> On 11/9/22 00:13, John Johnson wrote:
>>
>> diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
>> index 7abe44e..be39a4e 100644
>> --- a/hw/vfio/pci.c
>> +++ b/hw/vfio/pci.c
>> @@ -713,7 +713,8 @@
> On Dec 12, 2022, at 3:42 AM, Philippe Mathieu-Daudé wrote:
>
> On 9/11/22 00:13, John Johnson wrote:
>> cache VFIO_DEVICE_GET_REGION_INFO results to reduce
>> memory alloc/free cycles and as prep work for vfio-user
>> Signed-off-by: John G Johnson
>&g
Add an abstract base class both the kernel driver
and user socket implementations can use to share code.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 16 +++--
hw/vfio/pci.c | 106 +++-
From: Thanos Makatos
This patch introduces the vfio-user protocol specification (formerly
known as VFIO-over-socket), which is designed to allow devices to be
emulated outside QEMU, in a separate process. vfio-user reuses the
existing VFIO defines, structs and concepts.
It has been earlier discu
add user.c & user.h files for vfio-user code
add proxy struct to handle comms with remote server
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 78 +++
include/hw/vfio/vfio-common.h | 2 +
hw/
cache VFIO_DEVICE_GET_REGION_INFO results to reduce
memory alloc/free cycles and as prep work for vfio-user
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
include/hw/vfio/vfio-common.h | 2 ++
hw/vfio/ccw.c | 5 -
hw/vfio
Message to tell the server to reset the device.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 2 ++
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 4 ++--
hw/vfio/user-pci.c | 15 +++
hw/vfio/user.c | 1
Also negotiate protocol version with remote server
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/user-protocol.h | 62 ++
hw/vfio/user.h | 9 +
hw/vfio/user-pci.c | 16 ++
hw/vfio/user.c | 512 ++
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 6 +-
include/hw/vfio/vfio-common.h | 10 +++
hw/vfio/common.c | 100 ---
hw/vfio/user-pci.c| 12 +++-
hw/vfio/u
Add new message to send multiple writes to server.
Prevents the outgoing queue from overflowing when
a long latency operation is followed by a series
of posted writes.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 2
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
include/hw/vfio/vfio-common.h | 1 +
hw/vfio/common.c | 45 ++-
hw/vfio/user.c| 24 +++
3 files changed, 61
PCI BARs read from remote device
PCI config reads/writes sent to remote server
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 9 ++
hw/vfio/pci.c | 257 ++---
hw/vfio/
.
We also have upstreamed a patch series that implement a server using QEMU.
Contributors:
John G Johnson
John Levon
Thanos Makatos
Elena Ufimtseva
Jagannathan Raman
Changes fron v1:
John Johnson (22):
vfio-user: add VFIO base abstract class
rename VFIOKernPCIDevice to VFIOKernelPCIDevice
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 12 ++
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 3 +++
hw/vfio/common.c | 23 +++---
hw/vfio/user-pci.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h | 1 +
hw/vfio/user-pci.c | 4
hw/vfio/user.c | 7 ---
3 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/hw/vfio/user.h b/hw/vfio/user.h
index b7a9f57..
Force remote process to use DMA r/w messages instead
of directly mapping guest memory.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h | 1 +
hw/vfio/user-pci.c | 5 +
hw/vfio/user.c | 2 +-
3 files changed, 7 inserti
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 24
hw/vfio/common.c | 128 --
2 files changed, 110 insertions(
Add per-region FD to support mmap() of remote device regions
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 14 +
hw/vfio/user.h| 2 ++
include/hw/vfio/vfio-common.h | 5 +++-
hw/vfio/a
Add support for posted writes on remote devices
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 12 +
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 3 +-
hw/vfio/common.c
New class for vfio-user with its class and instance
constructors and destructors, and its pci ops.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 7 +++
hw/vfio/pci.c | 12 +++---
hw/vfio/user-pci.c | 121 ++
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 14 +
hw/vfio/ap.c | 1 +
hw/vfio/ccw.c | 1 +
hw/vfio/common.c | 85 +
Messages from server to client that peform device DMA.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 11 +
hw/vfio/user.h | 3 ++
hw/vfio/user-pci.c | 110
Server holds device current device pending state
Use irq masking commands in socket case
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
include/hw/vfio/vfio-common.h | 3 ++
hw/vfio/ccw.c
Add infrastructure needed to receive incoming messages
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 54 +++
hw/vfio/user.h | 8 +
hw/vfio/user-pci.c | 11 ++
hw/vfio/user.c | 408 +
Add ability to do async operations during memory transactions
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/user-protocol.h | 32 ++
include/hw/vfio/vfio-common.h | 4 +-
hw/vfio/common.c | 64 +---
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 25 +
hw/vfio/pci.c | 3 +-
hw/vfio/user.c | 140
hw/vfio/trace-events| 2 +
4 files c
> On Jan 26, 2022, at 2:17 AM, Thanos Makatos
> wrote:
>
>>
>> +static int wait_time = 1000; /* wait 1 sec for replies */
>
> Could we make this configurable via the command line as it helps debugging?
>
Yes, I can add a CLI option.
JJ
> On Feb 4, 2022, at 4:42 AM, Thanos Makatos wrote:
>
>> -Original Message-
>> From: Qemu-devel > bounces+thanos.makatos=nutanix@nongnu.org> On Behalf Of Thanos
>> Makatos
>> Sent: 03 February 2022 21:54
>> To: John Johnson ; qemu-deve
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 14
include/hw/vfio/vfio-common.h | 4 +++-
hw/vfio/common.c | 30 +-
hw/vfio/user.c| 50 +
PCI BARs read from remote device
PCI config reads/writes sent to remote server
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.c | 89 ++-
1 file changed, 88 insertions(+), 1 d
Also negotiate version with remote server
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/user-protocol.h | 23 +++
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 11 ++
hw/vfio/user.c | 411 ++
worked on implementing a server with QEMU that is a separate
patch series.
Contributors:
John G Johnson
John Levon
Thanos Makatos
Elena Ufimtseva
Jagannathan Raman
Changes from v2->v3:
John Johnson (18):
vfio-user: add VFIO base abstract class
Moved common vfio pci cli options to b
Add an abstract base class both the kernel driver
and user socket implementations can use to share code.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 16 +++--
hw/vfio/pci.c | 112 +++-
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 28
hw/vfio/common.c | 159 ++
hw/vfio/pci.c |
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 13 +
hw/vfio/user.h | 2 ++
hw/vfio/pci.c | 19 +++
hw/vfio/user.c | 40
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/pci.h | 1 +
hw/vfio/user-protocol.h | 32 +++
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 4 +
hw/vfio/common.c | 76
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 78 +++
include/hw/vfio/vfio-common.h | 2 +
hw/vfio/pci.c | 20 +
hw/vfio/user.c| 170 ++
Validates cases where the return values aren't fully trusted
(prep work for vfio-user, where the return values from the
remote process aren't trusted)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 21 ++
hw/vfio/pci.c | 67 +
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 25 ++
hw/vfio/pci.c | 9 +++-
hw/vfio/user.c | 128
3 files changed, 160 insertions(+), 2 d
New class for vfio-user with its class and instance
constructors and destructors, and its pci ops.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 9 ++
hw/vfio/pci.c | 97 +++
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/user-protocol.h | 12 +
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 1 +
hw/vfio/common.c | 7 +
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 11 +
hw/vfio/user.h | 4 ++
hw/vfio/pci.c | 105
hw/vfio/user.c | 78
Add infrastructure needed to receive incoming messages
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 2 +-
hw/vfio/user-protocol.h | 62 +
hw/vfio/user.h | 9 +-
hw/vfio/pci.c | 12 +-
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 15 +++
hw/vfio/user.c | 12
3 files changed, 28 insertions(+)
diff --git a/hw/vfio/user.h b/hw/vfio/user.h
index e6c1091..7504681
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 34 +++
hw/vfio/common.c | 131 --
2 files changed, 123 insertio
From: Thanos Makatos
This patch introduces the vfio-user protocol specification (formerly
known as VFIO-over-socket), which is designed to allow devices to be
emulated outside QEMU, in a separate process. vfio-user reuses the
existing VFIO defines, structs and concepts.
This patch is sourced fro
bug fix: only set qemu file error if there is a file
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 18 +
hw/vfio/migration.c | 34 +++
hw/vfio/pci.c | 7
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 3 ++
hw/vfio/common.c | 98 +++
hw/vfio/pci.c | 24 +
Add an abstract base class both the kernel driver
and user socket implementations can use to share code.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 16 +++--
hw/vfio/pci.c | 106 +++-
Also negotiate protocol version with remote server
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/pci.h | 1 +
hw/vfio/user-protocol.h | 41 +
hw/vfio/user.h | 2 +
hw/vfio/pci.c | 16 ++
hw/vfio/
Add support for posted writes on remote devices
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/user-protocol.h | 12 +
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common
New class for vfio-user with its class and instance
constructors and destructors, and its pci ops.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h| 8 +
hw/vfio/common.c | 5
hw/vfio/pci.c| 90 ++
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 27
hw/vfio/common.c | 107 +++-
hw/vfio/pci.c | 140 ++
cache VFIO_DEVICE_GET_REGION_INFO results to reduce
memory alloc/free cycles and as prep work for vfio-user
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
include/hw/vfio/vfio-common.h | 2 ++
hw/vfio/ccw.c | 5 -
hw/vfio
Add per-region FD to support mmap() of remote device regions
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 14 ++
include/hw/vfio/vfio-common.h | 8 +++---
hw/vfio/common.c | 32 ++
the file exists
New patch with just this fix found during vfio-user development
Removed from v4:
Add validation ops vector
Generic checking moved to the corresponding vfio-user function
Changes from v2->v3:
John Johnson (18):
vfio-user: add VFIO base abstract class
Moved common v
PCI BARs read from remote device
PCI config reads/writes sent to remote server
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.c | 275 --
1 file changed, 172 insertions(+), 10
From: Thanos Makatos
This patch introduces the vfio-user protocol specification (formerly
known as VFIO-over-socket), which is designed to allow devices to be
emulated outside QEMU, in a separate process. vfio-user reuses the
existing VFIO defines, structs and concepts.
It has been earlier discu
Messages from server to client that peform device DMA.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 11 +
hw/vfio/user.h | 4 ++
hw/vfio/pci.c | 105
add user.c & user.h files for vfio-user code
add proxy struct to handle comms with remote server
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 78 +++
include/hw/vfio/vfio-common.h | 2 +
hw/
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/migration.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index df63f5c..e72241d 100644
--- a/hw/vfio/migration.c
+++ b/hw
Message to tell the server to reset the device.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 15 +++
hw/vfio/user.c | 12
3 files changed, 28 insertions(+)
diff --git a/hw/vfi
Secure DMA forces the remote process to use DMA r/w messages
instead of directly mapping guest memeory.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 4
hw/vfio/user.c | 2 +-
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 33 +++
hw/vfio/common.c | 126 --
2 files changed, 117 insertio
Add infrastructure needed to receive incoming messages
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 54
hw/vfio/user.h | 6 +
hw/vfio/pci.c | 6 +
hw/vfio/user.c | 327 +
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 3 ++
hw/vfio/common.c | 105 ++
hw/vfio/pci.c | 25 ++
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 14 ++
hw/vfio/user.h | 2 ++
hw/vfio/pci.c | 26 ++
hw/vfio/user.c | 44 +
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 25 +
hw/vfio/pci.c | 9 +++-
hw/vfio/user.c | 131
3 files changed, 163 insertions(+), 2 de
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 18 +
hw/vfio/migration.c | 30 +--
hw/vfio/pci.c | 7 +++
hw/vfio/user.c | 54
Add ability to do async operations during memory transactions
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/user-protocol.h | 32 +++
include/hw/vfio/vfio-common.h | 9 +-
hw/vfio/common.c | 63 +---
> On Feb 11, 2022, at 5:31 AM, Thanos Makatos
> wrote:
>
>
>> -Original Message-
>> From: Qemu-devel > bounces+thanos.makatos=nutanix....@nongnu.org> On Behalf Of John
>> Johnson
>> Sent: 12 January 2022 00:44
>> To: qemu-devel
> On Feb 15, 2022, at 6:50 AM, Thanos Makatos
> wrote:
>
>>>
>
> On second thought, should we dump the entire header in case of such errors?
> If not by default then at least in debug builds?
I was thinking of adding qemu tracepoints in the recv and send paths
for your other debug
From: Thanos Makatos
This patch introduces the vfio-user protocol specification (formerly
known as VFIO-over-socket), which is designed to allow devices to be
emulated outside QEMU, in a separate process. vfio-user reuses the
existing VFIO defines, structs and concepts.
It has been earlier discu
Secure DMA forces the remote process to use DMA r/w messages
instead of directly mapping guest memeory.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 4
hw/vfio/user.c | 2 +-
Also negotiate protocol version with remote server
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/pci.h | 1 +
hw/vfio/user-protocol.h | 41 +
hw/vfio/user.h | 2 +
hw/vfio/pci.c | 16 ++
hw/vfio/
Add infrastructure needed to receive incoming messages
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 54 +++
hw/vfio/user.h | 8 +
hw/vfio/pci.c | 6 +
hw/vfio/user.c | 404 ++
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 25 +
hw/vfio/pci.c | 9 +++-
hw/vfio/user.c | 131
3 files changed, 163 insertions(+), 2 de
add user.c & user.h files for vfio-user code
add proxy struct to handle comms with remote server
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 78 +++
include/hw/vfio/vfio-common.h | 2 +
hw/
cache VFIO_DEVICE_GET_REGION_INFO results to reduce
memory alloc/free cycles and as prep work for vfio-user
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
include/hw/vfio/vfio-common.h | 2 ++
hw/vfio/ccw.c | 5 -
hw/vfio
Add support for posted writes on remote devices
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/user-protocol.h | 12 +
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 27
hw/vfio/common.c | 107 +++-
hw/vfio/pci.c | 140 ++
PCI BARs read from remote device
PCI config reads/writes sent to remote server
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.c | 275 --
1 file changed, 172 insertions(+), 10
Server holds device current device pending state
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/pci.c | 112 ++
2 files changed, 113 insertions(+)
diff --g
Add per-region FD to support mmap() of remote device regions
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 14 ++
include/hw/vfio/vfio-common.h | 8 +++---
hw/vfio/common.c | 32 ++
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 1 +
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 4
hw/vfio/user.c | 7 ---
4 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/hw/vfio/pci.h b/hw/vfio/pci.h
index
Used for communication with VFIO driver
(prep work for vfio-user, which will communicate over a socket)
Signed-off-by: John G Johnson
---
include/hw/vfio/vfio-common.h | 33 +++
hw/vfio/common.c | 126 --
2 files changed, 117 insertio
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 14 +
hw/vfio/user.h | 2 ++
hw/vfio/pci.c | 26
hw/vfio/user.c | 54
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.c | 8
hw/vfio/trace-events | 5 +
2 files changed, 13 insertions(+)
diff --git a/hw/vfio/user.c b/hw/vfio/user.c
index ec2d89b..a3e4dc8 100644
--- a/hw/vfio/user.c
Hello,
This is the 5th revision of the vfio-user client implementation.
First of all, thank you for your time reviewing the previous versions.
The vfio-user framework consists of 3 parts:
1) The VFIO user protocol specification.
2) A client - the VFIO device in QEMU that encapsulates VFIO mess
Add ability to do async operations during memory transactions
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/vfio/user-protocol.h | 32 +++
include/hw/vfio/vfio-common.h | 9 +-
hw/vfio/common.c | 63 +---
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/hw/vfio/user.c b/hw/vfio/user.c
index a3e4dc8..eb79785 100644
--- a/hw/vfio/user.c
+++ b/hw/vfio/user.c
@@ -1626,6 +16
Add an abstract base class both the kernel driver
and user socket implementations can use to share code.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h | 16 +++--
hw/vfio/pci.c | 106 +++-
Messages from server to client that peform device DMA.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user-protocol.h | 11 ++
hw/vfio/user.h | 4 ++
hw/vfio/pci.c | 100 +++
Message to tell the server to reset the device.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h | 1 +
hw/vfio/pci.c | 15 +++
hw/vfio/user.c | 12
3 files changed, 28 insertions(+)
diff --git a/hw/vfi
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/user.h| 1 +
include/hw/vfio/vfio-common.h | 3 ++
hw/vfio/common.c | 105 ++
hw/vfio/pci.c | 25 ++
New class for vfio-user with its class and instance
constructors and destructors, and its pci ops.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.h| 8 +
hw/vfio/common.c | 5
hw/vfio/pci.c| 90 ++
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/vfio/pci.c | 4
hw/vfio/pci.h | 1 +
hw/vfio/user.c | 7 +--
hw/vfio/user.h | 1 +
4 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index
1 - 100 of 171 matches
Mail list logo