From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=41921 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PDHPp-0006LS-FD for qemu-devel@nongnu.org; Tue, 02 Nov 2010 10:00:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PDHPl-0007G6-CU for qemu-devel@nongnu.org; Tue, 02 Nov 2010 10:00:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:46421) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PDHPl-0007Fz-24 for qemu-devel@nongnu.org; Tue, 02 Nov 2010 10:00:41 -0400 From: Alex Williamson In-Reply-To: <20101102092508.GA3390@redhat.com> References: <20101102053544.10424.42769.stgit@s20.home> <20101102053751.10424.7525.stgit@s20.home> <20101102092508.GA3390@redhat.com> Content-Type: text/plain; charset="UTF-8" Date: Tue, 02 Nov 2010 08:00:38 -0600 Message-ID: <1288706438.3045.7.camel@x201> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH 3/3] msi: Store the capability size in PCIDevice List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Michael S. Tsirkin" Cc: yamahata@valinux.co.jp, qemu-devel@nongnu.org On Tue, 2010-11-02 at 11:25 +0200, Michael S. Tsirkin wrote: > On Mon, Nov 01, 2010 at 11:37:53PM -0600, Alex Williamson wrote: > > Avoid needing to get the MSI capability flags every time we need to > > check the capability length. This also makes it accessible outside > > of msi.c, making it easier for users to filter config space writes > > using msi_cap and msi_cap_size. > > I think for this last use-case, we are better off with returning a > boolean from msi_write_config which tells us whether the write is in > range. This has the advantage in that it will also work well for other > capabilities. Or second best, if that is insufficient for some reason, > export an msi_cap_size function. Returning whether the write was in range isn't enough. For device assignment, I need to know whether the capability was enabled or disabled. This currently means checking the enable state before and after calling msi_write_config and doing the appropriate backend setup. I think the only way I could blindly call the msi/x write config routines is if we init the capability with enable/disable callbacks. I'd be ok with an msi_cap_size function if we don't want to go that far too. What do you prefer? Thanks, Alex