Markus Armbruster 
							
						 
					 
					
						
						
							
						
						fff0e451f3 
					 
					
						
						
							
							Remove superfluous ERRP_GUARD()  
						
						... 
						
						
						
						Macro ERRP_GUARD() is only needed when we want to dereference @errp or
pass it to error_prepend() or error_append_hint().  Delete superfluous
ones.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Message-Id: <20210720125408.387910-15-armbru@redhat.com >
Acked-by: Michael S. Tsirkin <mst@redhat.com > 
						
						
					 
					
						2021-08-26 17:15:28 +02:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						dcf20655ff 
					 
					
						
						
							
							multi-process: Avoid logical AND of mutually exclusive tests  
						
						... 
						
						
						
						Fixes an if statement that performs a logical AND of mutually exclusive
tests
Buglink: https://bugs.launchpad.net/qemu/+bug/1926995 
Reviewed-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Reviewed-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-Id: <1620402803-9237-1-git-send-email-jag.raman@oracle.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-13 18:15:32 +02:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						bd36adb8df 
					 
					
						
						
							
							multi-process: create IOHUB object to handle irq  
						
						... 
						
						
						
						IOHUB object is added to manage PCI IRQs. It uses KVM_IRQFD
ioctl to create irqfd to injecting PCI interrupts to the guest.
IOHUB object forwards the irqfd to the remote process. Remote process
uses this fd to directly send interrupts to the guest, bypassing QEMU.
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 51d5c3d54e28a68b002e3875c59599c9f5a424a1.1611938319.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						7ee3f82384 
					 
					
						
						
							
							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 > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00 
						 
				 
			
				
					
						
							
							
								Elena Ufimtseva 
							
						 
					 
					
						
						
							
						
						11ab872588 
					 
					
						
						
							
							multi-process: Forward PCI config space acceses to the remote process  
						
						... 
						
						
						
						The Proxy Object sends the PCI config space accesses as messages
to the remote process over the communication channel
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: d3c94f4618813234655356c60e6f0d0362ff42d6.1611938319.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00 
						 
				 
			
				
					
						
							
							
								Elena Ufimtseva 
							
						 
					 
					
						
						
							
						
						e7b2c9eaa2 
					 
					
						
						
							
							multi-process: add proxy communication functions  
						
						... 
						
						
						
						Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: d54edb4176361eed86b903e8f27058363b6c83b3.1611938319.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						ed5d001916 
					 
					
						
						
							
							multi-process: setup memory manager for remote device  
						
						... 
						
						
						
						SyncSysMemMsg message format is defined. It is used to send
file descriptors of the RAM regions to remote device.
RAM on the remote device is configured with a set of file descriptors.
Old RAM regions are deleted and new regions, each with an fd, is
added to the RAM.
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 7d2d1831d812e85f681e7a8ab99e032cf4704689.1611938319.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00 
						 
				 
			
				
					
						
							
							
								Elena Ufimtseva 
							
						 
					 
					
						
						
							
						
						ad22c3088b 
					 
					
						
						
							
							multi-process: define MPQemuMsg format and transmission functions  
						
						... 
						
						
						
						Defines MPQemuMsg, which is the message that is sent to the remote
process. This message is sent over QIOChannel and is used to
command the remote process to perform various tasks.
Define transmission functions used by proxy and by remote.
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 56ca8bcf95195b2b195b08f6b9565b6d7410bce5.1611938319.git.jag.raman@oracle.com 
[Replace struct iovec send[2] = {0} with {} to make clang happy as
suggested by Peter Maydell <peter.maydell@linaro.org >.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00