diff options
author | Jagannathan Raman <jag.raman@oracle.com> | 2021-01-29 11:46:17 -0500 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2021-02-10 09:23:28 +0000 |
commit | 7ee3f82384f07e84f1d2e26a0ab1e5efa7e7f822 (patch) | |
tree | ea9a7b872ac3d6ee0fbb8d2fe7496e0aed0318a8 /include/hw/remote/proxy.h | |
parent | 11ab872588335918ddc83c73957077bb85a38a6d (diff) | |
download | qemu-7ee3f82384f07e84f1d2e26a0ab1e5efa7e7f822.zip qemu-7ee3f82384f07e84f1d2e26a0ab1e5efa7e7f822.tar.gz qemu-7ee3f82384f07e84f1d2e26a0ab1e5efa7e7f822.tar.bz2 |
multi-process: PCI BAR read/write handling for proxy & remote endpoints
Proxy device object implements handler for PCI BAR writes and reads.
The handler uses BAR_WRITE/BAR_READ message to communicate to the
remote process with the BAR address and value to be written/read.
The remote process implements handler for BAR_WRITE/BAR_READ
message.
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com>
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Signed-off-by: John G Johnson <john.g.johnson@oracle.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: a8b76714a9688be5552c4c92d089bc9e8a4707ff.1611938319.git.jag.raman@oracle.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'include/hw/remote/proxy.h')
-rw-r--r-- | include/hw/remote/proxy.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/hw/remote/proxy.h b/include/hw/remote/proxy.h index faa9c4d..ea7fa4f 100644 --- a/include/hw/remote/proxy.h +++ b/include/hw/remote/proxy.h @@ -15,6 +15,14 @@ #define TYPE_PCI_PROXY_DEV "x-pci-proxy-dev" OBJECT_DECLARE_SIMPLE_TYPE(PCIProxyDev, PCI_PROXY_DEV) +typedef struct ProxyMemoryRegion { + PCIProxyDev *dev; + MemoryRegion mr; + bool memory; + bool present; + uint8_t type; +} ProxyMemoryRegion; + struct PCIProxyDev { PCIDevice parent_dev; char *fd; @@ -28,6 +36,7 @@ struct PCIProxyDev { QemuMutex io_mutex; QIOChannel *ioc; Error *migration_blocker; + ProxyMemoryRegion region[PCI_NUM_REGIONS]; }; #endif /* PROXY_H */ |