2011/11/23 Peter Maydell <peter.mayd...@linaro.org>

> 2011/11/22 Benoît Canet <benoit.ca...@gmail.com>:
> >  static int bonito_initfn(PCIDevice *dev)
> >  {
> >     PCIBonitoState *s = DO_UPCAST(PCIBonitoState, dev, dev);
> > +    SysBusDevice *sysbus = sysbus_from_qdev(&dev->qdev);
>
> This looks odd. The device here is a PCIBonitoState, which
> is-a PCIDevice, which is-a DeviceState. It's not a SysBusDevice
> and merely casting doesn't make it one.
>
> I'm not sure what should be being done here, but I'm pretty
> sure this won't work...
>

It would work using memory_region_add_subregion() and get_system_memory()
but
Avi previously noticed me that using get_system_memory() in devices is wrong
because it goes against one of the goals of the memory API : avoiding
global knowledge.
I think I need Avi's advices on this one.

Reply via email to