xen_pt: Fix passthrough of device with ROM.
QEMU does not need and should not allocate memory for the ROM of a passthrough PCI device. So this patch initialize the particular region like any other PCI BAR of a passthrough device. When a guest will access the ROM, Xen will take care of the IO, QEMU will not be involved in it. Xen set a limit of memory available for each guest, allocating memory for a ROM can hit this limit. Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Reported-and-Tested-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
		
							parent
							
								
									fc33b9004c
								
							
						
					
					
						commit
						794798e36e
					
				| 
						 | 
				
			
			@ -440,8 +440,8 @@ static int xen_pt_register_regions(XenPCIPassthroughState *s)
 | 
			
		|||
 | 
			
		||||
        s->bases[PCI_ROM_SLOT].access.maddr = d->rom.base_addr;
 | 
			
		||||
 | 
			
		||||
        memory_region_init_rom_device(&s->rom, OBJECT(s), NULL, NULL,
 | 
			
		||||
                                      "xen-pci-pt-rom", d->rom.size);
 | 
			
		||||
        memory_region_init_io(&s->rom, OBJECT(s), &ops, &s->dev,
 | 
			
		||||
                              "xen-pci-pt-rom", d->rom.size);
 | 
			
		||||
        pci_register_bar(&s->dev, PCI_ROM_SLOT, PCI_BASE_ADDRESS_MEM_PREFETCH,
 | 
			
		||||
                         &s->rom);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue