qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Which functions of southbridges should be no-user?


From: Andreas Färber
Subject: Re: [Qemu-devel] Which functions of southbridges should be no-user?
Date: Tue, 15 Oct 2013 15:31:39 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.0

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]