Markus Armbruster 
							
						 
					 
					
						
						
							
						
						a67dfa660b 
					 
					
						
						
							
							Drop duplicate #include  
						
						... 
						
						
						
						Tracked down with the help of scripts/clean-includes.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com >
Reviewed-by: Greg Kurz <groug@kaod.org >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20230202133830.2152150-21-armbru@redhat.com > 
						
						
					 
					
						2023-02-08 07:28:05 +01:00 
						 
				 
			
				
					
						
							
							
								Bernhard Beschow 
							
						 
					 
					
						
						
							
						
						f021f4e9d2 
					 
					
						
						
							
							hw/pci/pci: Factor out pci_bus_map_irqs() from pci_bus_irqs()  
						
						... 
						
						
						
						pci_bus_irqs() coupled together the assignment of pci_set_irq_fn and
pci_map_irq_fn to a PCI bus. This coupling gets in the way when the
pci_map_irq_fn is board-specific while the pci_set_irq_fn is device-
specific.
For example, both of QEMU's PIIX south bridge models have different
pci_map_irq_fn implementations which are board-specific rather than
device-specific. These implementations should therefore reside in board
code. The pci_set_irq_fn's, however, should stay in the device models
because they access memory internal to the model.
Factoring out pci_bus_map_irqs() from pci_bus_irqs() allows the
assignments to be decoupled, resolving the problem described above.
Note also how pci_vpb_realize() which gets touched in this commit
assigns different pci_map_irq_fn's depending on the board.
Signed-off-by: Bernhard Beschow <shentey@gmail.com >
Reviewed-by: Michael S. Tsirkin <mst@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org >
Message-Id: <20230109172347.1830-5-shentey@gmail.com >
[PMD: Factor out in vfu_object_set_bus_irq()]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org > 
						
						
					 
					
						2023-01-13 16:22:57 +01:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						08cf3dc611 
					 
					
						
						
							
							vfio-user: handle device interrupts  
						
						... 
						
						
						
						Forward remote device's interrupts to the guest
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Message-id: 9523479eaafe050677f4de2af5dd0df18c27cfd9.1655151679.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2022-06-15 16:43:42 +01:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						15ccf9bee7 
					 
					
						
						
							
							vfio-user: handle DMA mappings  
						
						... 
						
						
						
						Define and register callbacks to manage the RAM regions used for
device DMA
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: faacbcd45c4d02c591f0dbfdc19041fbb3eae7eb.1655151679.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2022-06-15 16:43:42 +01:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						253007d147 
					 
					
						
						
							
							vfio-user: IOMMU support for remote device  
						
						... 
						
						
						
						Assign separate address space for each device in the remote processes.
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: afe0b0a97582cdad42b5b25636a29c523265a10a.1655151679.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2022-06-15 16:43:42 +01:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						8f9a9259d3 
					 
					
						
						
							
							vfio-user: define vfio-user-server object  
						
						... 
						
						
						
						Define vfio-user object which is remote process server for QEMU. Setup
object initialization functions and properties necessary to instantiate
the object
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: e45a17001e9b38f451543a664ababdf860e5f2f2.1655151679.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2022-06-15 16:43:42 +01:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						9b5b473eae 
					 
					
						
						
							
							remote/machine: add vfio-user property  
						
						... 
						
						
						
						Add vfio-user to x-remote machine. It is a boolean, which indicates if
the machine supports vfio-user protocol. The machine configures the bus
differently vfio-user and multiprocess protocols, so this property
informs it on how to configure the bus.
This property should be short lived. Once vfio-user fully replaces
multiprocess, this property could be removed.
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 5d51a152a419cbda35d070b8e49b772b60a7230a.1655151679.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2022-06-15 14:50:41 +01:00 
						 
				 
			
				
					
						
							
							
								Jagannathan Raman 
							
						 
					 
					
						
						
							
						
						661e21c48e 
					 
					
						
						
							
							remote/machine: add HotplugHandler for remote machine  
						
						... 
						
						
						
						Allow hotplugging of PCI(e) devices to remote machine
Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com >
Signed-off-by: John G Johnson <john.g.johnson@oracle.com >
Signed-off-by: Jagannathan Raman <jag.raman@oracle.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: d1e6cfa0afb528ad343758f9b1d918be0175c5e5.1655151679.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2022-06-15 14:50:41 +01:00 
						 
				 
			
				
					
						
							
							
								Marc-André Lureau 
							
						 
					 
					
						
						
							
						
						0f9668e0c1 
					 
					
						
						
							
							Remove qemu-common.h include from most units  
						
						... 
						
						
						
						Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-Id: <20220323155743.1585078-33-marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com > 
						
						
					 
					
						2022-04-06 14:31:55 +02:00 
						 
				 
			
				
					
						
							
							
								Thomas Huth 
							
						 
					 
					
						
						
							
						
						ee86213aa3 
					 
					
						
						
							
							Do not include exec/address-spaces.h if it's not really necessary  
						
						... 
						
						
						
						Stop including exec/address-spaces.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-5-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu > 
						
						
					 
					
						2021-05-02 17:24:51 +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 
							
						 
					 
					
						
						
							
						
						3f0e7e57a3 
					 
					
						
						
							
							multi-process: setup a machine object for remote device process  
						
						... 
						
						
						
						x-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 <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: c537f38d17f90453ca610c6b70cf3480274e0ba1.1611938319.git.jag.raman@oracle.com 
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com > 
						
						
					 
					
						2021-02-10 09:23:28 +00:00