From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:41211) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoAYb-0005KT-Mi for qemu-devel@nongnu.org; Mon, 09 Jul 2012 05:47:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SoAYR-0003AV-MF for qemu-devel@nongnu.org; Mon, 09 Jul 2012 05:47:05 -0400 Received: from mx1.redhat.com ([209.132.183.28]:35580) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SoAYR-0003AQ-E5 for qemu-devel@nongnu.org; Mon, 09 Jul 2012 05:46:55 -0400 Date: Mon, 9 Jul 2012 12:46:51 +0300 From: Gleb Natapov Message-ID: <20120709094651.GJ15459@redhat.com> References: <1340714974-25489-1-git-send-email-agraf@suse.de> <4FFAA03D.6020302@redhat.com> <4FFAA40E.4070901@redhat.com> <583552B4-7D4C-4030-8792-203BB922000E@suse.de> <20120709094126.GI15459@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Subject: Re: [Qemu-devel] [PATCH v2] ahci: add -drive support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: Kevin Wolf , Markus Armbruster , qemu-devel qemu-devel On Mon, Jul 09, 2012 at 11:44:11AM +0200, Alexander Graf wrote: > > On 09.07.2012, at 11:41, Gleb Natapov wrote: > > > On Mon, Jul 09, 2012 at 11:36:47AM +0200, Alexander Graf wrote: > >> > >> 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: > >>>> > >>>>> Am 09.07.2012 10:50, schrieb Markus Armbruster: > >>>>>> Alexander Graf 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 > >>>>>>> > >>>>>>> --- > >>>>>>> > >>>>>>> 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? > >>>> > >>>> 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. > >> > > Doesn't enabling the bit change PCI bars size/number? > > Don't remember, but I think so. It makes it a completely different device. > Yeah, so pci addr space should be reinitialized to. Definitely hacky. -- Gleb.