From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NSFts-0004ZY-Rr for qemu-devel@nongnu.org; Tue, 05 Jan 2010 15:21:08 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NSFtn-0004Wk-JX for qemu-devel@nongnu.org; Tue, 05 Jan 2010 15:21:07 -0500 Received: from [199.232.76.173] (port=43178 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NSFVy-0003Hh-TO for qemu-devel@nongnu.org; Tue, 05 Jan 2010 14:56:26 -0500 Received: from mx20.gnu.org ([199.232.41.8]:36563) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1NSFVy-0005i4-Hu for qemu-devel@nongnu.org; Tue, 05 Jan 2010 14:56:26 -0500 Received: from mx1.redhat.com ([209.132.183.28]) by mx20.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NRuGt-0003NB-Ch for qemu-devel@nongnu.org; Mon, 04 Jan 2010 16:15:27 -0500 Date: Mon, 4 Jan 2010 23:12:08 +0200 From: "Michael S. Tsirkin" Subject: Re: [Qemu-devel] Re: [PATCH 1/6] Make config space accessor host bus trapable Message-ID: <20100104211208.GA21488@redhat.com> References: <20100103174430.GA8522@redhat.com> <41679128-EE37-47DA-82F6-830A4C364183@suse.de> <20100103180609.GB8522@redhat.com> <472F306A-0699-401C-8E6A-8E79B86E4C95@suse.de> <1262551822.2173.267.camel@pasglop> <19BFDDD5-85E0-42EC-9D71-391CECC023F5@suse.de> <20100104104516.GD4672@valinux.co.jp> <20100104110758.GE8522@redhat.com> <1262635858.2173.371.camel@pasglop> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1262635858.2173.371.camel@pasglop> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Benjamin Herrenschmidt Cc: Blue Swirl , Isaku Yamahata , Alexander Graf , Aurelien Jarno , QEMU Developers On Tue, Jan 05, 2010 at 07:10:58AM +1100, Benjamin Herrenschmidt wrote: > On Mon, 2010-01-04 at 13:07 +0200, Michael S. Tsirkin wrote: > > BTW, I think we really should think about the right way to address the > > swap/noswap issue without using a preprocessor. Maybe make pci host > > bridge explicitly specify whether to swap bytes? How about adding a > > field in PCIHostState to make it do this? > > No, this is a non issue if you get your design right. Just abstract out > the reference to a device in a struct like Alex is proposing and have > the host bridge specific code fill that up appropriately. I don't see > why there would be any need for swapping and in any case, this should go > away once the host bridge code knows how to interpret the write to > whatever config access registers it exposes. > > Ben. Well, the main issue if I understand correcttly is that basically the same hardware bridge can be connected to host in different ways. Yes, we can say "if it's connected differently it's a different device" but this is slightly ugly, device should not have to know how it's connected. It would be cleaner to have a "connector" device in the middle that swaps bytes. Even though yes, what you describe would be less ugly than using proprocessor as we do now. -- MST