|
@@ -316,7 +316,6 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
|
|
if (!qdev_realize(DEVICE(xsrc), NULL, errp)) {
|
|
if (!qdev_realize(DEVICE(xsrc), NULL, errp)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* Initialize the END ESB source
|
|
* Initialize the END ESB source
|
|
@@ -328,7 +327,6 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
|
|
if (!qdev_realize(DEVICE(end_xsrc), NULL, errp)) {
|
|
if (!qdev_realize(DEVICE(end_xsrc), NULL, errp)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
|
|
|
|
|
|
|
|
/* Set the mapping address of the END ESB pages after the source ESBs */
|
|
/* Set the mapping address of the END ESB pages after the source ESBs */
|
|
xive->end_base = xive->vc_base + xive_source_esb_len(xsrc);
|
|
xive->end_base = xive->vc_base + xive_source_esb_len(xsrc);
|
|
@@ -347,14 +345,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp)
|
|
/* TIMA initialization */
|
|
/* TIMA initialization */
|
|
memory_region_init_io(&xive->tm_mmio, OBJECT(xive), &spapr_xive_tm_ops,
|
|
memory_region_init_io(&xive->tm_mmio, OBJECT(xive), &spapr_xive_tm_ops,
|
|
xive, "xive.tima", 4ull << TM_SHIFT);
|
|
xive, "xive.tima", 4ull << TM_SHIFT);
|
|
- sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
|
|
|
|
|
|
|
|
/*
|
|
/*
|
|
* Map all regions. These will be enabled or disabled at reset and
|
|
* Map all regions. These will be enabled or disabled at reset and
|
|
* can also be overridden by KVM memory regions if active
|
|
* can also be overridden by KVM memory regions if active
|
|
*/
|
|
*/
|
|
|
|
+ sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xsrc->esb_mmio);
|
|
sysbus_mmio_map(SYS_BUS_DEVICE(xive), 0, xive->vc_base);
|
|
sysbus_mmio_map(SYS_BUS_DEVICE(xive), 0, xive->vc_base);
|
|
|
|
+ sysbus_init_mmio(SYS_BUS_DEVICE(xive), &end_xsrc->esb_mmio);
|
|
sysbus_mmio_map(SYS_BUS_DEVICE(xive), 1, xive->end_base);
|
|
sysbus_mmio_map(SYS_BUS_DEVICE(xive), 1, xive->end_base);
|
|
|
|
+ sysbus_init_mmio(SYS_BUS_DEVICE(xive), &xive->tm_mmio);
|
|
sysbus_mmio_map(SYS_BUS_DEVICE(xive), 2, xive->tm_base);
|
|
sysbus_mmio_map(SYS_BUS_DEVICE(xive), 2, xive->tm_base);
|
|
}
|
|
}
|
|
|
|
|