pci-spapr.h (928B)
1/* 2 * libqos PCI bindings for SPAPR 3 * 4 * This work is licensed under the terms of the GNU GPL, version 2 or later. 5 * See the COPYING file in the top-level directory. 6 */ 7 8#ifndef LIBQOS_PCI_SPAPR_H 9#define LIBQOS_PCI_SPAPR_H 10 11#include "malloc.h" 12#include "pci.h" 13#include "qgraph.h" 14 15/* From include/hw/pci-host/spapr.h */ 16 17typedef struct QPCIWindow { 18 uint64_t pci_base; /* window address in PCI space */ 19 uint64_t size; /* window size */ 20} QPCIWindow; 21 22typedef struct QPCIBusSPAPR { 23 QOSGraphObject obj; 24 QPCIBus bus; 25 QGuestAllocator *alloc; 26 27 uint64_t buid; 28 29 uint64_t pio_cpu_base; 30 QPCIWindow pio; 31 32 uint64_t mmio32_cpu_base; 33 QPCIWindow mmio32; 34} QPCIBusSPAPR; 35 36void qpci_init_spapr(QPCIBusSPAPR *ret, QTestState *qts, 37 QGuestAllocator *alloc); 38QPCIBus *qpci_new_spapr(QTestState *qts, QGuestAllocator *alloc); 39void qpci_free_spapr(QPCIBus *bus); 40 41#endif