From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH] fix XSA-46 regression with xend/xm Date: Fri, 24 May 2013 13:26:04 +0100 Message-ID: <519F5C5C.2050006@eu.citrix.com> References: "\"<519B4F1102000078000D789D@nat28.tlf.novell.com>" <1369126587.21246.32.camel@zakaz.uk.xensource.com>" <519D2FBB.7000309@bobich.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Gordan Bobic Cc: Steven Haigh , Ian Campbell , Ian Jackson , Andreas Falck , xen-devel , Stefano Stabellini , Jan Beulich List-Id: xen-devel@lists.xenproject.org On 24/05/13 12:41, Gordan Bobic wrote: > On Fri, 24 May 2013 12:19:32 +0100, George Dunlap > wrote: >> On Wed, May 22, 2013 at 9:51 PM, Gordan Bobic wrote: >>> On 05/21/2013 09:56 AM, Ian Campbell wrote: >>>> >>>> On Tue, 2013-05-21 at 09:40 +0100, Jan Beulich wrote: >>>>> >>>>> The hypervisor side changes for XSA-46 require the tool stack to now >>>>> always map the guest pIRQ before granting access permission to the >>>>> underlying host IRQ (GSI). This in particular requires that pciif.py >>>>> no longer can skip this step (assuming qemu would do it) for HVM >>>>> guests. >>>>> >>>>> This in turn exposes, however, an inconsistency between xend and >>>>> qemu: >>>>> The former wants to always establish 1:1 mappings between pIRQ and >>>>> host >>>>> IRQ (for non-MSI only of course), while the latter always wants to >>>>> allocate an arbitrary mapping. Since the whole tool stack obviously >>>>> should always agree on the mapping model, make libxc enforce the 1:1 >>>>> mapping as the more natural one (as well as being the one that allows >>>>> for easier debugging, since there no need to find out the extra >>>>> mapping). Users of libxc that want to establish a particular (rather >>>>> than an allocated) mapping are still free to do so, as well as tool >>>>> stacks not based on libxc wanting to implement an allocation based >>>>> model (which is why it's not the hypervisor that's being changed to >>>>> enforce either model). >>>>> >>>>> Since libxl, like xend, already uses a 1:1 model, it's unaffected by >>>>> the libxc change (and it being unaffected by the original hypervisor >>>>> side changes is - afaict - simply due to qemu getting spawned at a >>>>> later point in time compared to the xend event flow). >>>>> >>>>> Signed-off-by: Jan Beulich >>>>> Tested-by: Andreas Falck (on 4.1) >>>>> Tested-by: Gordan Bobic (on 4.2) >>>> >>>> >>>> In both cases tested with xend rather than xl or both? >>> >>> >>> I can confirm that my VMs start fine with xl with this patch applied. >> >> ...and they are HVM guests with devices passed through? > > Yes, HVM guests with PCI passthrough NIC, VGA passthrough, and USB > passthrough. Great, thanks! I'll check this off my list. -George