ived on the communication channel.
Signed-off-by: Jagannathan Raman
---
include/glib-compat.h | 4 +
include/io/proxy-link.h | 103 +++
io/Makefile.objs| 1 +
io/proxy-link.c | 263
4 files changed, 371 insertions(+)
cr
- Setup MemoryListener in QEMU to get all updates to sysmem, and
forward all RAM updates to remote device process
- Remote device process updates its "system_memory" container using
shared file descriptors provided by SYNC_SYSMEM message
Signed-off-by: Jagannathan Raman
---
hw/qe
- PCI host bridge is setup for the remote device process. It is
implemented using remote-pcihost object. It is an extension of the PCI
host bridge setup by QEMU.
- remote-pcihost configures a PCI bus which could be used by the remote
PCI device to latch on to.
Signed-off-by: Jagannathan
- remote-machine object sets up various subsystems of the remote device
process.
- PCI host bridge is instantiated
- RAM, IO & PCI memory regions are initialized
Signed-off-by: Jagannathan Raman
---
exec.c| 3 +-
hw/scsi/qemu-scsi-dev.c | 9 +
include/
- Makefile changes necessary to support the building of the remote device
process is added
- functions that are necessary to compile the code, but are not needed at
run-time are stubbed out
- main() function of remote SCSI device process is implemented
Signed-off-by: Jagannathan Raman
e. The process is granted access to the
file if the process's set is a superset of the file's set. This
enforcement can be used to separate multiple instances of devices in
the same class.
For example, if there are multiple disk devices provides to a
guest, each device emulation process
From: Elena Ufimtseva
Define PCI Device proxy object as a parent of TYPE_PCI_DEVICE.
PCI Proxy Object will register PCI BARs, MemoryRegionOps to handle
access to the BARs and forward those to the remote device.
PCI Proxy object intercepts config space reads and writes. In case
of pci config
-by: Jagannathan Raman
---
include/io/proxy-link.h | 9 +
include/remote/memory.h | 34 ++
remote/Makefile.objs| 1 +
remote/memory.c | 93 +
4 files changed, 137 insertions(+)
create mode 100644 include/remote/memory.h
Initialize remote process main loop and add the message
handling logic. Handle SYNC_SYSMEM message by updating
its "system_memory" container using shared file descriptors
received from QEMU.
Signed-off-by: Jagannathan Raman
---
hw/scsi/qemu-scsi-
resulting in the following
check to fail in the kernel. This is the cause of the above backtrace.
kvm_io_bus_register_dev():
if (bus->dev_count - bus->ioeventfd_count > NR_IOBUS_DEVS - 1)
return -ENOSPC;
Avoiding coalesced IO region update in the case of NOP fixes this issue.
J
Do not add/del coalesced IO ranges in the case where the
same FlatRanges are present in both old and new FlatViews
Fixes: 3ac7d43a6fbb ("memory: update coalesced_range on transaction_commit")
Signed-off-by: Jagannathan Raman
---
memory.c | 5 +
1 file changed, 1 insertion(+), 4
qemu_thread_cancel() added to destroy a given running thread.
This will be needed in the following patches.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
include/qemu/thread.h| 1 +
util/qemu-thread-posix.c | 10 ++
2 files
Add stub functions that are needed during compile time but not in
runtime.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
accel/stubs/kvm-stub.c| 5 +++
accel/stubs/tcg-stub.c| 85
Add a configuration option to separate multi-process code
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
configure | 11 +++
1 file changed, 11 insertions(+)
diff --git a/configure b/configure
index 714e7fb..b467441 100755
In some cases, for example MMIO read, QEMU has to wait for the remote to
complete a command before proceeding. An eventfd based mechanism is
added to synchronize QEMU & remote process.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
v1 -
Modify Makefile to support the building of the remote
device process. Implements main() function of remote
device process.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
Makefile| 2 ++
Makefile.objs | 22
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
hw/proxy/qemu-proxy.c | 80 +--
include/hw/proxy/qemu-proxy.h | 2 +-
2 files changed, 62 insertions
From: Elena Ufimtseva
Add functions to configure remote devices.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/proxy/qemu-proxy.c | 43 ++-
include/hw/proxy/qemu-proxy.h | 2 ++
include
Adds the handler to process message from QEMU,
Initialize remote process main loop, handles SYNC_SYSMEM
message by updating its "system_memory" container using
shared file descriptors received from QEMU.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: J
PCI host bridge is setup for the remote device process. It is
implemented using remote-pcihost object. It is an extension of the PCI
host bridge setup by QEMU.
Remote-pcihost configures a PCI bus which could be used by the remote
PCI device to latch on to.
Signed-off-by: Jagannathan Raman
From: Elena Ufimtseva
Receive by remote side the configuration messages and build the device
object from JSON device descriptions.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
v1 -> v2:
- for new command line suboptions with libvi
From: Elena Ufimtseva
Do not allow BAR,MMIO handlers and irq setup to run before
the configuration of the devices completes.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
remote/remote-main.c | 29 -
1 file
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
hw/proxy/qemu-proxy.c | 15 ---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/hw/proxy/qemu-proxy.c b/hw/proxy/qemu-proxy.c
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
qemu-options.hx | 21 +
1 file changed, 21 insertions(+)
diff --git a/qemu-options.hx b/qemu-options.hx
index 9621e93..e2dca3d 100644
From: Elena Ufimtseva
and reply back to proxy object.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
remote/remote-main.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/remote/remote-main.c b/remote/remote-main.c
index 5552712
Allow RAM MemoryRegion to be created from an offset in a file, instead
of allocating at offset of 0 by default. This is needed to synchronize
RAM between QEMU & remote process.
This will be needed for the following patches.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Si
Perform device reset in the remote process when QEMU performs
device reset. This is required to reset the internal state
(like registers, etc...) of emulated devices
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
hw/proxy
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
Changes in v3:
- since the changes were made to use existing device/drive options,
the document was modified to reflect this.
---
docs/qemu-multiprocess.txt | 86
Makefile changes necessary to compile QMP module for the remote process
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
Makefile.objs | 7 +++
Makefile.target | 20 +++-
hw/core
G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
hw/proxy/qemu-proxy.c | 13 -
include/hw/proxy/qemu-proxy.h | 1 +
qdev-monitor.c| 2 +-
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/hw/proxy/qemu-proxy.c b/hw/proxy/qemu-pro
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
Makefile.target | 1 +
hw/proxy/Makefile.objs| 1 -
hw/proxy/qemu-proxy.c | 64 +
include/hw/pci/pci_ids.h | 3 +
include/hw/proxy/qemu-proxy.h | 5 ++
include/io/proxy
From: Elena Ufimtseva
Add processing of command line options drive and device.
After remote devices are created along with their proxies,
signal the proxies to finish the configuration steps.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
From: Elena Ufimtseva
Add suport for multiple devices in one remote process.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
remote/remote-main.c | 140 ++-
1 file changed
Adds proxy-lsi53c895a object, as a derivative of the pci-proxy-dev
object. This object is the proxy for the lsi53c895a object
instantiated by the remote process.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
hw/proxy/Makefile.objs
From: Elena Ufimtseva
Can be used with -d rdebug command options when starting qemu.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
include/qemu/log.h | 1 +
util/log.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/include
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
Makefile.objs| 2 +
remote/Makefile.objs | 1 +
vl-parse.c | 157 +++
vl.c
Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
accel/stubs/tcg-stub.c | 10 +++
configure | 4 ++
include/qemu-common.h | 8 +++
stubs/gdbstub.c| 21 +++
stubs/migration.c | 162
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
vl.c | 117 +++
1 file changed, 117 insertions(+)
diff --git a/vl.c b/vl.c
index dc2558c
gned-off-by: Jagannathan Raman
---
New patch in v3
vl-parse.c | 92 ++
vl.c | 91 -
vl.h | 4 +++
3 files changed, 96 insertions(+), 91 deletions(-)
diff --git a/vl-pars
Trim down the list of HMP commands available for storage class of
remote processes.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
Makefile.objs | 2 +
Makefile.target| 14 +-
hmp-scsi-commands
he communication link to support multiple channels. MMIO
transactions are carried out in a separate channel.
- Fixed the bugs discovered during testing. Individual patches provide
the details of these fixes.
Following people contributed to this patchset:
John G Johnson
Jagannathan R
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
include/io/proxy-link.h | 3 +++
io/proxy-link.c | 37 -
2 files changed, 35 insertions(+), 5 deletions
. In case
of pci config write it forwards it to the remote device using
communication channel set by proxy-link object.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
hw/Makefile.objs | 2 +
hw/proxy/Makefile.objs| 1 +
hw
ived on the communication channel.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
v1 -> v2:
- Use default context for main loop instead of a new context
v2 -> v3:
- Enabled multi-channel support in the communication link
include/glib-compat
From: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
remote/remote-main.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/remote/remote-main.c b/remote/remote-main.c
index 3e92a83..e284d5f 100644
-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
Makefile.target | 2 +
include/io/proxy-link.h | 11 ++
include/remote/memory.h | 34 +
remote/memory.c | 99 +
4 files changed, 146
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Reviewed-by: Liam Merwick
---
New patch in v3
hw/proxy/qemu-proxy.c | 22 +++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/hw/proxy/qemu
process receives
the message and processes it in the handler for SYNC_SYSMEM message.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
v2 -> v3:
- Refactored code to obtain fd from host address, added
get_fd_from_hosta
From: Elena Ufimtseva
This is handled while parsing the command line options.
The parsed options are being sent to remote process
as the messgaes containing JSON strings.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
v1 -> v2:
- pa
From: Elena Ufimtseva
Add a signal handler for launched remote processes and set up
the heartbeat timer for remote processes.
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
hw/proxy/qemu-proxy.c | 101
-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/proxy/qemu-proxy.c | 50 +
include/hw/proxy/qemu-proxy.h | 5 +++
include/io/proxy-link.h | 12 +++
remote/remote-main.c | 73
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
remote/Makefile.objs | 1 +
remote/remote-main.c | 11 +
remote/remote-opts.c | 113 +++
remote
Introduce SCSI_PROCESS & REMOTE_PROCESS build flags to separate
code that applies only to remote processes.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
Makefile.target | 4
rules.mak | 2 +-
2 files change
From: John G Johnson
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
v2 -> v3:
- Updated with latest design of this project
docs/devel/qemu-multiprocess.txt | 627 +++
1 file changed, 627 inserti
Using a separate communication channel for MMIO helps
with improving Performance
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
hw/proxy/qemu-proxy.c | 38 ++
include/hw/proxy/qemu
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
remote/remote-main.c | 11 +++
remote/remote-opts.c | 10 ++
2 files changed, 21 insertions(+)
diff --git a/remote/remote-main.c b/remote/remote-main.c
index
remote-machine object sets up various subsystems of the remote device
process. Instantiate PCI host bridge object and initialize RAM, IO &
PCI memory regions.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
exec.c|
Modify Makefile to support the building of the remote
device process. Implements main() function of remote
device process.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
Makefile| 2 ++
Makefile.objs | 22
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
hw/proxy/qemu-proxy.c | 80 +--
include/hw/proxy/qemu-proxy.h | 2 +-
2 files changed, 62 insertions
Add stub functions that are needed during compile time but not in
runtime.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
accel/stubs/kvm-stub.c| 5 +++
accel/stubs/tcg-stub.c| 96
qemu_thread_cancel() added to destroy a given running thread.
This will be needed in the following patches.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
include/qemu/thread.h| 1 +
util/qemu-thread-posix.c | 10 ++
2 files
From: Elena Ufimtseva
In order to detect remote processes which are hung, the
proxy periodically sends heartbeat messages to confirm if
the remote process is alive
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
hw/proxy/qemu-proxy.c
From: Elena Ufimtseva
Add "targets" field to HMP command definition to select the targets
which would be supported by each command
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v4
hmp-commands-info.hx | 10 +
Collect the VMSD from remote process on the source and save
it to the channel leading to the destination
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v4
hw/proxy/qemu-proxy.c | 132
From: John G Johnson
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
---
v2 -> v3:
- Updated with latest design of this project
v3 -> v4:
- Updated document to RST format
docs/devel/index.rst |1 +
docs/deve
From: Elena Ufimtseva
Do not allow BAR,MMIO handlers and irq setup to run before
the configuration of the devices completes.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
remote/remote-main.c | 29 -
1 file
From: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
remote/remote-main.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/remote/remote-main.c b/remote/remote-main.c
index 5b3ffd8..cb2829e 100644
Build system changes to enable QMP module in the remote process
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
Makefile.objs | 9 +
Makefile.target| 34 +--
hmp-commands.hx
Add Makefile support to enable migration in remote process
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v4
Makefile.objs | 4
Makefile.target | 1 +
migration/Makefile.objs | 12 +++-
net
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
Makefile.objs| 2 +
remote/Makefile.objs | 1 +
vl-parse.c | 158 +++
vl.c
Using a separate communication channel for MMIO helps
with improving Performance
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
hw/proxy/qemu-proxy.c | 39 +++
include/hw/proxy
From: Elena Ufimtseva
Add processing of command line options drive and device.
After remote devices are created along with their proxies,
signal the proxies to finish the configuration steps.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
gned-off-by: Jagannathan Raman
---
New patch in v3
v3 -> v4
- Moved monitor related functions to monitor.c and chardev functions
to char.c
chardev/char.c| 14
include/chardev/char.h| 1 +
include/monitor/monitor.h | 2 ++
monitor/monitor.c
Introduce SCSI_PROCESS & REMOTE_PROCESS build flags to separate
code that applies only to remote processes.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
Makefile.target | 4
rules.mak | 2 +-
2 files change
ates the feedback
we received for v3 & adds support for live migrating the remote process.
Following people contributed to this patchset:
John G Johnson
Jagannathan Raman
Elena Ufimtseva
Kanth Ghatraju
For full concept writeup about QEMU disaggregation refer to
docs/devel/qemu-multipro
Add a configuration option to separate multi-process code
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
configure | 11 +++
1 file changed, 11 insertions(+)
diff --git a/configure b/configure
index 145fcab..135afa9 100755
From: Elena Ufimtseva
Can be used with -d rdebug command options when starting qemu.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
include/qemu/log.h | 1 +
util/log.c | 2 ++
2 files changed, 3 insertions(+)
diff --git a/include
Allow RAM MemoryRegion to be created from an offset in a file, instead
of allocating at offset of 0 by default. This is needed to synchronize
RAM between QEMU & remote process.
This will be needed for the following patches.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Si
G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
hw/proxy/qemu-proxy.c | 13 -
include/hw/proxy/qemu-proxy.h | 1 +
qdev-monitor.c| 2 +-
3 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/hw/proxy/qemu-proxy.c b/hw/proxy/qemu-pro
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
vl.c | 117 +++
1 file changed, 117 insertions(+)
diff --git a/vl.c b/vl.c
index 3fef694
From: Elena Ufimtseva
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
New patch in v3
remote/Makefile.objs | 1 +
remote/remote-main.c | 11 +
remote/remote-opts.c | 115 +++
remote
-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
Makefile.target | 2 +
include/io/mpqemu-link.h | 11 ++
include/remote/memory.h | 34 +
remote/memory.c | 99
4 files changed, 146
. In case
of pci config write it forwards it to the remote device using
communication channel set by proxy-link object.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
hw/Makefile.objs | 2 +
hw/proxy/Makefile.objs| 1 +
hw
PCI host bridge is setup for the remote device process. It is
implemented using remote-pcihost object. It is an extension of the PCI
host bridge setup by QEMU.
Remote-pcihost configures a PCI bus which could be used by the remote
PCI device to latch on to.
Signed-off-by: Jagannathan Raman
Adds proxy-lsi53c895a object, as a derivative of the pci-proxy-dev
object. This object is the proxy for the lsi53c895a object
instantiated by the remote process.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
hw/proxy/Makefile.objs
Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
accel/stubs/tcg-stub.c | 10 +++
configure | 4 ++
include/qemu-common.h | 8 +++
stubs/gdbstub.c| 21 +++
stubs/migration.c | 162
From: Elena Ufimtseva
If the remote process is alive, it responds to proxy's heartbeat
messages
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
remote/remote-main.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/remote/remote
From: Elena Ufimtseva
Add support to allow multiple devices to be configured in the
remote process
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v4
hw/proxy/qemu-proxy.c | 3 +++
include/hw/proxy/qemu-proxy.h | 3
process receives
the message and processes it in the handler for SYNC_SYSMEM message.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
v2 -> v3:
- Refactored code to obtain fd from host address, added
get_fd_from_hosta
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
Makefile.target | 1 +
hw/proxy/Makefile.objs| 1 -
hw/proxy/qemu-proxy.c | 54 ++
include/hw/pci/pci_ids.h | 3 +
include/hw/proxy/qemu-proxy.h | 5 ++
include/io/mpqemu
From: Elena Ufimtseva
This is handled while parsing the command line options.
The parsed options are being sent to remote process
as the messgaes containing JSON strings.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
v1 -> v2:
- pa
From: Elena Ufimtseva
Receive by remote side the configuration messages and build the device
object from JSON device descriptions.
Signed-off-by: Elena Ufimtseva
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
---
v1 -> v2:
- for new command line suboptions with libvi
ived on the communication channel.
Signed-off-by: Jagannathan Raman
Signed-off-by: John G Johnson
Signed-off-by: Elena Ufimtseva
---
v1 -> v2:
- Use default context for main loop instead of a new context
v2 -> v3:
- Enabled multi-channel support in the communication link
v3 -> v4:
- Ch
From: Elena Ufimtseva
runstate_check file is refactored into vl-parse.c
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v4
Makefile.objs | 2 ++
include/sysemu/runstate.h | 2 ++
runstate.c| 36
In some cases, for example MMIO read, QEMU has to wait for the remote to
complete a command before proceeding. An eventfd based mechanism is
added to synchronize QEMU & remote process.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
v1 -
From: Elena Ufimtseva
Synchronize the runstate of the remote process with that of QEMU
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v4
hw/proxy/qemu-proxy.c | 18 ++
include/hw/proxy/qemu-proxy.h
Perform device reset in the remote process when QEMU performs
device reset. This is required to reset the internal state
(like registers, etc...) of emulated devices
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
New patch in v3
hw/proxy
remote-machine object sets up various subsystems of the remote device
process. Instantiate PCI host bridge object and initialize RAM, IO &
PCI memory regions.
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
---
exec.c|
From: Elena Ufimtseva
Add functions to configure remote devices.
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
Signed-off-by: Jagannathan Raman
---
hw/proxy/qemu-proxy.c | 39 ++-
include/hw/proxy/qemu-proxy.h | 2 ++
include/io
-by: Jagannathan Raman
Signed-off-by: Elena Ufimtseva
Signed-off-by: John G Johnson
---
hw/proxy/qemu-proxy.c | 77 +++
include/hw/proxy/qemu-proxy.h | 21 ++--
include/io/mpqemu-link.h | 12 +++
remote/remote-main.c | 73
1 - 100 of 574 matches
Mail list logo