From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965513AbbLOUku (ORCPT ); Tue, 15 Dec 2015 15:40:50 -0500 Received: from smtp.citrix.com ([66.165.176.89]:33861 "EHLO SMTP.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965419AbbLOUks (ORCPT ); Tue, 15 Dec 2015 15:40:48 -0500 X-IronPort-AV: E=Sophos;i="5.20,434,1444694400"; d="scan'208";a="319105467" Subject: Re: [Xen-devel] [PATCH v2 0/3] Fix and cleanup for 32-bit PV sysexit To: Andy Lutomirski , Boris Ostrovsky References: <1447970147-1733-1-git-send-email-boris.ostrovsky@oracle.com> CC: "linux-kernel@vger.kernel.org" , "Linux Virtualization" , Ingo Molnar , David Vrabel , Andrew Lutomirski , "H. Peter Anvin" , "xen-devel@lists.xenproject.org" , "Thomas Gleixner" , Borislav Petkov From: Andrew Cooper X-Enigmail-Draft-Status: N1110 Message-ID: <56707ACE.9060809@citrix.com> Date: Tue, 15 Dec 2015 20:40:46 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-DLP: MIA1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 19/11/15 22:07, Andy Lutomirski wrote: > On Thu, Nov 19, 2015 at 1:55 PM, Boris Ostrovsky > wrote: >> The first patch fixes Xen PV regression introduced by 32-bit rewrite. Unlike the >> earlier version it uses ALTERNATIVE instruction and avoids using xen_sysexit >> (and sysret32 in compat mode) pv ops, as suggested by Andy. >> >> As result of this patch irq_enable_sysexit and usergs_sysret32 pv ops are not >> used anymore by anyone and so can be removed. > This whole series is: > > Acked-by: Andy Lutomirski > > Now I just have to sucker someone into getting rid of > PARAVIRT_ADJUST_EXCEPTION_FRAME (by using stub entries) and the > overcomplicated syscall entry stuff. :) Looking at this, it should be quite easy now. ALTERNATIVE "", "pop %rcx; %pop %11", X86_FEATURE_XENPV (Completely untested) > And whoever gets rid of > PARAVIRT_ADJUST_EXCEPTION_FRAME gets to wonder why it doesn't crash > and burn for NMIs on Xen, since I'm reasonably confident that it can't > possibly be correct. The Xen PV ABI only has a single kernel stack pointer which may be registered. There is no equivalent of an IST, so if a second fault occurs, it is delivered normally on the current stack. By the looks of it, the other NMI handling is ambivalent to the fact that it isn't really on an IST stack under Xen. ~Andrew