From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751729AbdHAXzX (ORCPT ); Tue, 1 Aug 2017 19:55:23 -0400 Received: from ppsw-40.csi.cam.ac.uk ([131.111.8.140]:54903 "EHLO ppsw-40.csi.cam.ac.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751554AbdHAXzW (ORCPT ); Tue, 1 Aug 2017 19:55:22 -0400 X-Greylist: delayed 944 seconds by postgrey-1.27 at vger.kernel.org; Tue, 01 Aug 2017 19:55:21 EDT X-Cam-AntiVirus: no malware found X-Cam-ScannerInfo: http://help.uis.cam.ac.uk/email-scanner-virus Subject: Re: [Xen-devel] [PATCH v2] xen: get rid of paravirt op adjust_exception_frame To: Andy Lutomirski , Juergen Gross Cc: X86 ML , "linux-kernel@vger.kernel.org" , Ingo Molnar , "H. Peter Anvin" , "xen-devel@lists.xenproject.org" , Boris Ostrovsky , Thomas Gleixner References: <20170801103954.23904-1-jgross@suse.com> From: Andrew Cooper Message-ID: <5c14a9a9-7b13-50d0-2338-2bccac7b7ac3@citrix.com> Date: Wed, 2 Aug 2017 00:38:59 +0100 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-GB Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/08/2017 20:45, Andy Lutomirski wrote: > Also, IMO it would be nice to fully finish the job. Remaining steps are: > > 1. Unsuck the SYSCALL entries on Xen PV. > 2. Unsuck the SYENTER entry on Xen PV. > 3. Make a xen_nmi that's actually correct (should be trivial) > > #1 is here: > > https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?h=x86/entry_syscall&id=14fee348e3e86c994400d68085217d1232a637d6 If the /* Zero-extending 32-bit regs, do not remove */ movl %eax, %eax comments are to be believed, then the entry logic needs reordering slightly to: GLOBAL(entry_*_compat_after_hwframe) movl %eax, %eax /* Zero-extending 32-bit regs, do not remove */ pushq %rax /* pt_regs->orig_ax */ ~Andrew (It is unfortunate this can't be simplified to pushq %eax)