16fbd84d6SJagannathan Raman /* 26fbd84d6SJagannathan Raman * PCI Host for remote device 36fbd84d6SJagannathan Raman * 46fbd84d6SJagannathan Raman * Copyright © 2018, 2021 Oracle and/or its affiliates. 56fbd84d6SJagannathan Raman * 66fbd84d6SJagannathan Raman * This work is licensed under the terms of the GNU GPL, version 2 or later. 76fbd84d6SJagannathan Raman * See the COPYING file in the top-level directory. 86fbd84d6SJagannathan Raman * 96fbd84d6SJagannathan Raman */ 106fbd84d6SJagannathan Raman 1152581c71SMarkus Armbruster #ifndef PCI_HOST_REMOTE_H 1252581c71SMarkus Armbruster #define PCI_HOST_REMOTE_H 136fbd84d6SJagannathan Raman 146fbd84d6SJagannathan Raman #include "exec/memory.h" 156fbd84d6SJagannathan Raman #include "hw/pci/pcie_host.h" 166fbd84d6SJagannathan Raman 176fbd84d6SJagannathan Raman #define TYPE_REMOTE_PCIHOST "remote-pcihost" 186fbd84d6SJagannathan Raman OBJECT_DECLARE_SIMPLE_TYPE(RemotePCIHost, REMOTE_PCIHOST) 196fbd84d6SJagannathan Raman 206fbd84d6SJagannathan Raman struct RemotePCIHost { 216fbd84d6SJagannathan Raman /*< private >*/ 226fbd84d6SJagannathan Raman PCIExpressHost parent_obj; 236fbd84d6SJagannathan Raman /*< public >*/ 246fbd84d6SJagannathan Raman 256fbd84d6SJagannathan Raman MemoryRegion *mr_pci_mem; 266fbd84d6SJagannathan Raman MemoryRegion *mr_sys_io; 273f0e7e57SJagannathan Raman MemoryRegion *mr_sys_mem; 286fbd84d6SJagannathan Raman }; 296fbd84d6SJagannathan Raman 306fbd84d6SJagannathan Raman #endif 31