Received: by 10.192.165.156 with SMTP id m28csp772655imm; Mon, 16 Apr 2018 08:29:22 -0700 (PDT) X-Google-Smtp-Source: AIpwx496tA0uCH70dzL40e5bAbvo6f6/9tcjUXJ0NlRLb3TgaRHwILNtlmitKFb6xsNpX9I/DP9z X-Received: by 2002:a17:902:f44:: with SMTP id 62-v6mr15999000ply.318.1523892562520; Mon, 16 Apr 2018 08:29:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523892562; cv=none; d=google.com; s=arc-20160816; b=Uj/WkeC20djIlr12gQO/eDsVRibXUgUyui+1U9oycJUXj/+yX8UGlnLh3tvk7T9Xy/ fLrLHb52XqSru0UQgICAWq/B33fPRDGLNCONY9mMqLFpjSvPAVzPb2D9Id2BztGN0TJh 8RxKsITreG2h73eulSbg9x9Jir1iK+/3CMfFkHMavxBA6RIwR69FnocNmYXjJCCCAV4e dAjX2ugxZ4FKTHueFD2mlxc5yAObeLMmoUjC6+r+l6xQS/hZPQeQ3VmbLRaAysb52hxJ wP8fazgtVFaG3UzlvsmbMClmKYrVpCMV6ccrWgu4Ptr4PRsey2AAzUb2rlSHQWVhljPm KyZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=rTwp+7cyC+ifomD+bjEqgAZMZ9DruB4hIDWDUgoZRqs=; b=ocjZpdwIrNaYrKtWSjiEU+vZYh4wEEOb+ncaehWra5iNiW9Blxa9fm3MlmXX/5ax+M HG5N9PfQ5NZ/HuzjXczlOyNsSOuM6Dodmtn59r74MtcL7NAiCpRNiWmCpqZm3xluo1vw hNuAta6Rhp+BxMkKBtQlNP5HiKfXEYVKWzXv1C9oLlXn6NAZiqoHrP0SJ4CVHWQRJZNy oQtyxm8NwIAL9SBdVhJNMtEgFs3i9fttOH1pk/9pJW9r3OVzNxSpv/2/bfDw9QowqIKf ZuunIn8DNUN99N7vYqotecOUmSvb8s/djR1EVgy3pWfwnfhC8atLMJRgGJaldw33A1vC nA2A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@8bytes.org header.s=mail-1 header.b=NiCe9tU/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c4si5915016pgu.282.2018.04.16.08.29.08; Mon, 16 Apr 2018 08:29:22 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail (test mode) header.i=@8bytes.org header.s=mail-1 header.b=NiCe9tU/; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753016AbeDPPZx (ORCPT + 99 others); Mon, 16 Apr 2018 11:25:53 -0400 Received: from 8bytes.org ([81.169.241.247]:36152 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752882AbeDPPZo (ORCPT ); Mon, 16 Apr 2018 11:25:44 -0400 Received: by theia.8bytes.org (Postfix, from userid 1000) id 9694D7A8; Mon, 16 Apr 2018 17:25:38 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=8bytes.org; s=mail-1; t=1523892338; bh=JPXY5Mdkj2uEhvyp38oHEf74B22kdftqLK+rsl8y0M8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NiCe9tU/M+gX2PrW0LdZymIZF0LPqnOP915GRkUP31iVGIcnF3CSkziW8fRpjs9z3 q3DQee5wnUtMP7ECMb0yR++w281PYEM3vCUeZvrY+5p4/tk3t0WOYsLYZzGvY/X7Gw 8no8+ZstjYSiZOlwmtKRoyFOVVotATDSP1hXoEjOmnc7vWdzEwB7ZzwHPu8WvpO1I7 B1U9qjJvI277P4HzOrXxXP5houOTToj/9/9XqQxEvQ8G7DUR3dFw4Nd+OlgO8b+uPd kOW4zuGNiS5jnV+ONAZJlRURRyK31rxZRV3f4gJWZGvgFh3g5QK0Y6phE+HJPLFzTA NBlu8BR1szXhg== From: Joerg Roedel To: Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" Cc: x86@kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Linus Torvalds , Andy Lutomirski , Dave Hansen , Josh Poimboeuf , Juergen Gross , Peter Zijlstra , Borislav Petkov , Jiri Kosina , Boris Ostrovsky , Brian Gerst , David Laight , Denys Vlasenko , Eduardo Valentin , Greg KH , Will Deacon , aliguori@amazon.com, daniel.gruss@iaik.tugraz.at, hughd@google.com, keescook@google.com, Andrea Arcangeli , Waiman Long , Pavel Machek , "David H . Gutteridge" , jroedel@suse.de, joro@8bytes.org Subject: [PATCH 11/35] x86/entry/32: Simplify debug entry point Date: Mon, 16 Apr 2018 17:24:59 +0200 Message-Id: <1523892323-14741-12-git-send-email-joro@8bytes.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1523892323-14741-1-git-send-email-joro@8bytes.org> References: <1523892323-14741-1-git-send-email-joro@8bytes.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel The common exception entry code now handles the entry-from-sysenter stack situation and makes sure to leave with the same stack as it entered the kernel. So there is no need anymore for the special handling in the debug entry code. Signed-off-by: Joerg Roedel --- arch/x86/entry/entry_32.S | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/arch/x86/entry/entry_32.S b/arch/x86/entry/entry_32.S index b3477ff..71e1cb3 100644 --- a/arch/x86/entry/entry_32.S +++ b/arch/x86/entry/entry_32.S @@ -1231,41 +1231,12 @@ END(common_exception) ENTRY(debug) /* - * #DB can happen at the first instruction of - * entry_SYSENTER_32 or in Xen's SYSENTER prologue. If this - * happens, then we will be running on a very small stack. We - * need to detect this condition and switch to the thread - * stack before calling any C code at all. - * - * If you edit this code, keep in mind that NMIs can happen in here. + * Entry from sysenter is now handled in common_exception */ ASM_CLAC pushl $-1 # mark this as an int - - SAVE_ALL - ENCODE_FRAME_POINTER - xorl %edx, %edx # error code 0 - movl %esp, %eax # pt_regs pointer - - /* Are we currently on the SYSENTER stack? */ - movl PER_CPU_VAR(cpu_entry_area), %ecx - addl $CPU_ENTRY_AREA_entry_stack + SIZEOF_entry_stack, %ecx - subl %eax, %ecx /* ecx = (end of entry_stack) - esp */ - cmpl $SIZEOF_entry_stack, %ecx - jb .Ldebug_from_sysenter_stack - - TRACE_IRQS_OFF - call do_debug - jmp ret_from_exception - -.Ldebug_from_sysenter_stack: - /* We're on the SYSENTER stack. Switch off. */ - movl %esp, %ebx - movl PER_CPU_VAR(cpu_current_top_of_stack), %esp - TRACE_IRQS_OFF - call do_debug - movl %ebx, %esp - jmp ret_from_exception + pushl $do_debug + jmp common_exception END(debug) /* -- 2.7.4