Code Review
/
kvmfornfv.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Adding breaktrace & disabling timer migration"
[kvmfornfv.git]
/
qemu
/
hw
/
ppc
/
spapr_vio.c
diff --git
a/qemu/hw/ppc/spapr_vio.c
b/qemu/hw/ppc/spapr_vio.c
index
c51eb8e
..
8aa021f
100644
(file)
--- a/
qemu/hw/ppc/spapr_vio.c
+++ b/
qemu/hw/ppc/spapr_vio.c
@@
-19,6
+19,8
@@
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
+#include "qemu/osdep.h"
+#include "qapi/error.h"
#include "hw/hw.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
#include "hw/hw.h"
#include "sysemu/sysemu.h"
#include "hw/boards.h"
@@
-388,7
+390,7
@@
static void rtas_quiesce(PowerPCCPU *cpu, sPAPRMachineState *spapr,
static VIOsPAPRDevice *reg_conflict(VIOsPAPRDevice *dev)
{
static VIOsPAPRDevice *reg_conflict(VIOsPAPRDevice *dev)
{
- VIOsPAPRBus *bus =
DO_UPCAST(VIOsPAPRBus, bus,
dev->qdev.parent_bus);
+ VIOsPAPRBus *bus =
SPAPR_VIO_BUS(
dev->qdev.parent_bus);
BusChild *kid;
VIOsPAPRDevice *other;
BusChild *kid;
VIOsPAPRDevice *other;
@@
-430,6
+432,7
@@
static void spapr_vio_busdev_realize(DeviceState *qdev, Error **errp)
VIOsPAPRDevice *dev = (VIOsPAPRDevice *)qdev;
VIOsPAPRDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev);
char *id;
VIOsPAPRDevice *dev = (VIOsPAPRDevice *)qdev;
VIOsPAPRDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev);
char *id;
+ Error *local_err = NULL;
if (dev->reg != -1) {
/*
if (dev->reg != -1) {
/*
@@
-449,7
+452,7
@@
static void spapr_vio_busdev_realize(DeviceState *qdev, Error **errp)
}
} else {
/* Need to assign an address */
}
} else {
/* Need to assign an address */
- VIOsPAPRBus *bus =
DO_UPCAST(VIOsPAPRBus, bus,
dev->qdev.parent_bus);
+ VIOsPAPRBus *bus =
SPAPR_VIO_BUS(
dev->qdev.parent_bus);
do {
dev->reg = bus->next_reg++;
do {
dev->reg = bus->next_reg++;
@@
-462,9
+465,9
@@
static void spapr_vio_busdev_realize(DeviceState *qdev, Error **errp)
dev->qdev.id = id;
}
dev->qdev.id = id;
}
- dev->irq = xics_alloc(spapr->icp, 0, dev->irq, false);
- if (
!dev->irq
) {
- error_
setg(errp, "can't allocate IRQ"
);
+ dev->irq = xics_alloc(spapr->icp, 0, dev->irq, false
, &local_err
);
+ if (
local_err
) {
+ error_
propagate(errp, local_err
);
return;
}
return;
}
@@
-523,13
+526,12
@@
VIOsPAPRBus *spapr_vio_bus_init(void)
DeviceState *dev;
/* Create bridge device */
DeviceState *dev;
/* Create bridge device */
- dev = qdev_create(NULL,
"spapr-vio-bridge"
);
+ dev = qdev_create(NULL,
TYPE_SPAPR_VIO_BRIDGE
);
qdev_init_nofail(dev);
/* Create bus on bridge device */
qdev_init_nofail(dev);
/* Create bus on bridge device */
-
qbus = qbus_create(TYPE_SPAPR_VIO_BUS, dev, "spapr-vio");
qbus = qbus_create(TYPE_SPAPR_VIO_BUS, dev, "spapr-vio");
- bus =
DO_UPCAST(VIOsPAPRBus, bus,
qbus);
+ bus =
SPAPR_VIO_BUS(
qbus);
bus->next_reg = 0x71000000;
/* hcall-vio */
bus->next_reg = 0x71000000;
/* hcall-vio */
@@
-567,9
+569,8
@@
static void spapr_vio_bridge_class_init(ObjectClass *klass, void *data)
}
static const TypeInfo spapr_vio_bridge_info = {
}
static const TypeInfo spapr_vio_bridge_info = {
- .name =
"spapr-vio-bridge"
,
+ .name =
TYPE_SPAPR_VIO_BRIDGE
,
.parent = TYPE_SYS_BUS_DEVICE,
.parent = TYPE_SYS_BUS_DEVICE,
- .instance_size = sizeof(SysBusDevice),
.class_init = spapr_vio_bridge_class_init,
};
.class_init = spapr_vio_bridge_class_init,
};