On 09.07.2012, at 13:19, Markus Armbruster wrote: > Alexander Graf <[email protected]> writes: > >> On 09.07.2012, at 13:06, Markus Armbruster wrote: >> >>> Kevin Wolf <[email protected]> writes: >>> >>>> Am 09.07.2012 10:50, schrieb Markus Armbruster: >>>>> Alexander Graf <[email protected]> writes: >>>>> >>>>>> We've had support for creating AHCI devices using -device for a while >>>>>> now, >>>>>> but it's cumbersome to users. We really should provide an easier way for >>>>>> them to leverage the power of AHCI! >>>>>> >>>>>> So let's introduce a new if= option to -drive, giving users the same >>>>>> command line experience as for scsi or ide. >>>>>> >>>>>> Signed-off-by: Alexander Graf <[email protected]> >>>>>> >>>>>> --- >>>>>> >>>>>> v1 -> v2: >>>>>> >>>>>> - support more than a single drive per adapter >>>>>> - support index= option >>>>>> - treat IF_AHCI the same as IF_IDE >>>>> >>>>> Inhowfar? Not obvious to me from the patch, or the diff patch v1. >>>>> >>>>>> - add is_ata() helper to match AHCI || IDE >>>>> >>>>> Not addressed: >>>>> >>>>> Once we switch to q35, if=ahci will become a redundant wart: to add >>>>> drives to the board's AHCI controller, you'll have to use if=ide. >>>>> if=ahci will create new controllers, which is generally not what you >>>>> want. Ugh. >>>> >>>> Can we even make it the default with q35 as long as our AHCI controller >>>> doesn't also expose a legacy interface for compatibility? >>> >>> Err, what else could we do with if=ide with q35? >> >> We could create a cmd646 and attach drives to that. > > Naive use of the command line then connects your drives to some an old > and slow add-on controller instead of the perfectly servicable and fast > on-board controller. > > Let me rephrase my question: s/could/should/
Well, what I'm saying is that we should distinguish between -hda and if=ide. Make -hda attach the disk to the default controller. Make -cdrom attach the cdrom to the default controller. Make if=ide attach the disk to an IDE controller. If there's none in the system, spawn one. That way the "naive" use case of passing no -hda or -hda -hdb is guaranteed to be good and fast. The case where a user actually asks for an IDE device, he still gets what he asked for. Alex
