On Mon, 2011-12-12 at 14:19 -0600, Anthony Liguori wrote:
This was doing something evil building a dt tree so we broke the device.
@@ -711,8 +711,12 @@ VIOsPAPRBus *spapr_vio_bus_init(void)
spapr_rtas_register("ibm,set-tce-bypass", rtas_set_tce_bypass);
spapr_rtas_register("quiesce", rtas_quiesce);
+#if 0
+ /* Evil and broken */
By which you mean: works fine, broken by your patch?
+
for (qinfo = device_info_list; qinfo; qinfo = qinfo->next) {
VIOsPAPRDeviceInfo *info = (VIOsPAPRDeviceInfo *)qinfo;
+ VIOsPAPRDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev);
if (qinfo->bus_info !=&spapr_vio_bus_info) {
continue;
@@ -722,6 +726,7 @@ VIOsPAPRBus *spapr_vio_bus_init(void)
info->hcalls(bus);
}
}
+#endif
It's registering hcalls for each class of device we find on the spapr
vio bus. I don't understand why that is evil, but what do you suggest we
do instead?