Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753029AbeAQOIN (ORCPT + 1 other); Wed, 17 Jan 2018 09:08:13 -0500 Received: from smtp.ctxuk.citrix.com ([185.25.65.24]:28904 "EHLO SMTP.EU.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752343AbeAQOIM (ORCPT ); Wed, 17 Jan 2018 09:08:12 -0500 X-IronPort-AV: E=Sophos;i="5.46,372,1511827200"; d="scan'208";a="66197472" Subject: Re: [PATCH 02/16] x86/entry/32: Enter the kernel via trampoline stack To: Joerg Roedel , Boris Ostrovsky CC: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , , , , Linus Torvalds , Andy Lutomirski , Dave Hansen , Josh Poimboeuf , Juergen Gross , Peter Zijlstra , Borislav Petkov , Jiri Kosina , Brian Gerst , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , Will Deacon , , , , , Andrea Arcangeli , Waiman Long , References: <1516120619-1159-1-git-send-email-joro@8bytes.org> <1516120619-1159-3-git-send-email-joro@8bytes.org> <476d7100-2414-d09e-abf1-5aa4d369a3b7@oracle.com> <20180117090238.GH28161@8bytes.org> From: Andrew Cooper Message-ID: <97298add-9484-7d83-50a3-1c668ce3107d@citrix.com> Date: Wed, 17 Jan 2018 14:04:22 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <20180117090238.GH28161@8bytes.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Language: en-GB X-ClientProxiedBy: AMSPEX02CAS02.citrite.net (10.69.22.113) To AMSPEX02CL01.citrite.net (10.69.22.125) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On 17/01/18 09:02, Joerg Roedel wrote: > Hi Boris, > > thanks for testing this :) > > On Tue, Jan 16, 2018 at 09:47:06PM -0500, Boris Ostrovsky wrote: >> On 01/16/2018 11:36 AM, Joerg Roedel wrote: >>> +.macro SWITCH_TO_KERNEL_STACK nr_regs=0 check_user=0 >> >> This (and next patch's SWITCH_TO_ENTRY_STACK) need X86_FEATURE_PTI check. >> >> With those macros fixed I was able to boot 32-bit Xen PV guest. > Hmm, on bare metal the stack switch happens regardless of the > X86_FEATURE_PTI feature being set, because we always program tss.sp0 > with the systenter stack. How is the kernel entry stack setup on xen-pv? > I think something is missing there instead. There is one single stack registered with Xen, on which you get a normal exception frame in all cases, even via the registered (virtual) syscall/sysenter/failsafe handlers. ~Andrew