From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1OBPYX-0004fK-Fb for qemu-devel@nongnu.org; Mon, 10 May 2010 05:45:45 -0400 Received: from [140.186.70.92] (port=39873 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OBPYI-0004Gt-EX for qemu-devel@nongnu.org; Mon, 10 May 2010 05:45:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OBPXz-0004D3-3Y for qemu-devel@nongnu.org; Mon, 10 May 2010 05:45:29 -0400 Received: from 8bytes.org ([88.198.83.132]:56716) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OBPXy-0004Bk-Tn for qemu-devel@nongnu.org; Mon, 10 May 2010 05:45:11 -0400 Date: Mon, 10 May 2010 11:45:08 +0200 From: Joerg Roedel Message-ID: <20100510094508.GA510@8bytes.org> References: <1945C1D2D39F43239CFD537CA66DA5F8@FSCPC> <4BE708D5.5080405@suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4BE708D5.5080405@suse.de> Subject: [Qemu-devel] Re: AHCI support integration List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alexander Graf Cc: =?utf-8?B?5LmU5bSH?= , teheo@suse.de, Elek Roland , qemu-devel@nongnu.org, Sebastian Herbszt On Sun, May 09, 2010 at 09:11:17PM +0200, Alexander Graf wrote: > Sebastian Herbszt wrote: > > The ICH6 AHCI implementation submitted by Chong is an all-in-one > > attempt (ahci.c). > > It includes all needed parts of the ICH6, AHCI, SATA and ATA > > specification. > > The code in hw/ide/* on the other hand is split (or could be split) > > into smaller parts like > > port based and bus master access, IDE and ATA core. > > I think it might be reasonable to split ahci.c into ICH6, AHCI and > > SATA parts and strip the > > limited ATA support and reuse it from the ide core. > > This would give us something like the following: > > > > hw/ide/piix.c (PIIX3 and PIIX4) > > hw/ide/pci.c and core.c (IDE, BM) > > hw/ata-core.c (ATA) > > hw/sata/ich6.c (ICH6) > > hw/sata-core.c (SATA) > > hw/ahci-core.c (AHCI) > > > > Should this be a goal or am i over-engineering here? > > [CC'ing Tejun - he volunteered to help out on this topic as well] > > I think there's no need to split sata and ahci. > Apart from that, I think we should take things incrementally. For now > there's no need to split IDE further until we hit a technical limit. I > have yet to see a patch trying to reuse the IDE command processing, so > depending on how the respective person implements that, I'm open to > suggenstions. > > So as far as I'm concerned, I'd prefer to model things after they're > developed. That way we know the pitfalls. Agreed. We should only split code if there is a good reason for doing so. I currently don't see the need to implement more SATA host controler emulations beside AHCI. So there is currently no point in splitting the code (for now). More important is completeness and support for as many guest operating systems as possible. Joerg