85af0057e7
Add pci-bus-pc node, move QPCIBusPC struct declaration in its header (since it will be needed by other drivers) and introduce a setter method for drivers that do not need to allocate but have to initialize QPCIBusPC. Signed-off-by: Emanuele Giuseppe Esposito <e.emanuelegiuseppe@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
/*
|
|
* libqos PCI bindings for PC
|
|
*
|
|
* Copyright IBM, Corp. 2012-2013
|
|
*
|
|
* Authors:
|
|
* Anthony Liguori <aliguori@us.ibm.com>
|
|
*
|
|
* This work is licensed under the terms of the GNU GPL, version 2 or later.
|
|
* See the COPYING file in the top-level directory.
|
|
*/
|
|
|
|
#ifndef LIBQOS_PCI_PC_H
|
|
#define LIBQOS_PCI_PC_H
|
|
|
|
#include "libqos/pci.h"
|
|
#include "libqos/malloc.h"
|
|
#include "libqos/qgraph.h"
|
|
|
|
typedef struct QPCIBusPC {
|
|
QOSGraphObject obj;
|
|
QPCIBus bus;
|
|
} QPCIBusPC;
|
|
|
|
/* qpci_init_pc():
|
|
* @ret: A valid QPCIBusPC * pointer
|
|
* @qts: The %QTestState for this PC machine
|
|
* @alloc: A previously initialized @alloc providing memory for @qts
|
|
*
|
|
* This function initializes an already allocated
|
|
* QPCIBusPC object.
|
|
*/
|
|
void qpci_init_pc(QPCIBusPC *ret, QTestState *qts, QGuestAllocator *alloc);
|
|
|
|
/* qpci_pc_new():
|
|
* @qts: The %QTestState for this PC machine
|
|
* @alloc: A previously initialized @alloc providing memory for @qts
|
|
*
|
|
* This function creates a new QPCIBusPC object,
|
|
* and properly initialize its fields.
|
|
*
|
|
* Returns the QPCIBus *bus field of a newly
|
|
* allocated QPCIBusPC.
|
|
*/
|
|
QPCIBus *qpci_new_pc(QTestState *qts, QGuestAllocator *alloc);
|
|
|
|
void qpci_free_pc(QPCIBus *bus);
|
|
|
|
#endif
|