Hi All, I have a bit of a chicken and egg problem trying to refactor Jans AT24 I2C EEPROM model. I'm trying to migrate static class properties up to the class level rather than down on the device property level (as we did for EHCI in the sysbusification a while back). Problem is the device model has part autodetection logic based on the size of the backing image - you can instantiate the "abstract" class and selection of what part it is depends on the backing file size. And so if we go for one class for each separate part, we don't actually know what concrete class to instantiate until we have a handle on the bdrv at realize time which is way to late. Any Ideas?
Can you safely change a devices type at realize time? realize() { ... OBJECT(dev)->class = the_now_known_correct_child_class; ... } Obviously this would need an API call in QOM to sanity check it. Regards, Peter