Am 15.10.2013 15:21, schrieb Markus Armbruster: > Andreas, > > To go beyond RFC with this series, I need to explain why the IDE > controller functions of southbridges piix3-ide, piix3-ide-xen, piix4-ide > and via-ide cannot_instantiate_with_device_add_yet, or drop that. I'd > appreciate your help. > > Our modelling of PCI devices is weird, to put it politely. One of many > weird things is that we don't distinguish between a function and a > complete device: our "function models" are actually PCI device models, > and can be used as such, even though they only exist as functions of a > multifunction device in the real world. We permit collecting aribitrary > PCI devices into multifunction devices. > > One instance of multifunction PCI devices are southbridges. For > example, the ICH9 southbridge's PCI device 00:1F consists of ISA bridge > ("ICH9 LPC"), IDE controller ("ich9-ahci"), SMB controller ("ICH9 SMB"), > and Thermal Subsystem (which we don't implement). The PIIX3 southbridge > consists of ISA bridge ("PIIX3", IDE controller ("piix3-ide"), USB > controller ("piix3-usb-uhci", can be suppressed), and SMB controller > ("PIIX4_PM", can be suppressed). > > Some functions of southbridges still need to be wired up in code ("ICH9 > LPC", "ICH9 SMB", "PIIX4_PM", "PIIX4", "PIIX3", "PIIX3-xen", see PATCH > 5-6/9), thus cannot_instantiate_with_device_add_yet. > > The IDE controller functions have always been > cannot_instantiate_with_device_add_yet, but it's not obvious to me why. > > The other functions are available with device-add. Users device-add'ing > them would of course be odd, but if it works... I don't actually know > whether it works for all of them. > > Should all southbridge functions be made unavailable with device-add for > consistency, at least for now? > > Or should all functions be made available, except for the ones that > cannot possibly work with device-add? > > If the latter, can you think of any specific reason why the IDE > controllers couldn't work?
I would've thought you and Kevin know more about IDE than me. ;) No idea why it is how it is. Two aspects: 1) PCI devices/functions can technically be hotplugged. 2) Drivers might not expect such devices to be hot-added/removed. I would tend for the latter proposal. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg