From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: Re: APIC rework Date: Tue, 24 Nov 2009 14:44:01 -0500 Message-ID: <20091124194401.GA29566@phenom.dumpdata.com> References: <706158FABBBA044BAD4FE898A02E4BC201CD3207E0@pdsmsx503.ccr.corp.intel.com> <706158FABBBA044BAD4FE898A02E4BC201CD3A074E@pdsmsx503.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <706158FABBBA044BAD4FE898A02E4BC201CD3A074E@pdsmsx503.ccr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Zhang, Xiantao" Cc: Jeremy Fitzhardinge , Xen-devel , "Han, Weidong" , Keir Fraser , "Jiang, Yunhong" List-Id: xen-devel@lists.xenproject.org > At least dom0 parses this info from DSDT, so we can't have the assuption whether it is used or not, I think. And I also agree to add a new physdev_op to handle this case, and it should be better way to go. > Based on this idea, I worked out the patch, attached! In this patch, we introduced a new physdev_op PHYSDEVOP_setup_gsi for each GSI setup, and each domain can require to map each GSI in this case. > In addition, I believe it is very safe to port the hypervisor patch to xen-3.4-x tree and keeps pv_ops dom0 running on it, since no logic is changed. BTW, I also tested apic and non-apic cases, they works fine after applying the patches. But I don't think you tested PCI front and PCI back. Mainly these lines worry me (can you inline the patch next time too, please): + map_irq.domid = DOMID_SELF; + map_irq.type = MAP_PIRQ_TYPE_GSI; + map_irq.index = gsi; + map_irq.pirq = irq; + rc = HYPERVISOR_physdev_op(PHYSDEVOP_map_pirq, &map_irq); For PCI passthrough to work, the domid needs to be for the guest domain, while in this case it is set to Dom0. There is already a method of extracting the domain id for PCI devices passed to the guest. Look in the 'xen_create_msi_irq' function.