Am 09.07.2012 11:36, schrieb Alexander Graf: > > On 09.07.2012, at 11:27, Kevin Wolf wrote: > >> Am 09.07.2012 11:13, schrieb Alexander Graf: >>> >>> On 09.07.2012, at 11:11, Kevin Wolf wrote: >>>> Can we even make it the default with q35 as long as our AHCI controller >>>> doesn't also expose a legacy interface for compatibility? >>> >>> What legacy interface? The ICH-9 can be controlled by the _BIOS_ to switch >>> between 2 PCI IDs. One for IDE mode, one for AHCI mode. I don't think that >>> would help us here, would it? >> >> I didn't actually look into this much. I just supposed that the >> existence of an AHCI Enable bit in the GHC register implies that some >> compatibility mechanism can be implemented that is transparent to older >> OSes. > > Yeah, I was hoping the same too when I read the spec back then. > Unfortunately, it's really a firmware configuration bit which doesn't help us > at all. > > I think there is a hack in some driver somewhere that on bootup checks if the > AHCI bit is disabled and then forcefully enables it, so that the device > during OS boot magically changes its ID and semantics. But I don't think we > really want to rely on that. IIRC it never went upstream and I doubt Windows > does it.
Meh. So once again hardware doesn't work as you would expect. >> If it can't, then I guess we can't change the meaning of -hda as long as >> we claim that the command line is a stable API (or at least not if q35 >> is meant to become the default machine type at some point) > > If -hda has the semantics of "create an IDE device", then no, we can't change > it. It doesn't however. IIRC on -M pseries -hda creates SCSI devices. On s390 > -hda creates virtio devices. So if on -M q35 -hda would create if=ahci, I > don't see how that breaks the CLI. It doesn't per se, that is as long as you need to explicitly specify -M q35. But then changing the default machine from the existing pc to q35 would break the command line. Kevin