Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp1703989ybh; Tue, 14 Jul 2020 05:17:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzLNdEXkyQdwoQfHeC/XaDwmOqMpkIjmax9Ia0QnPmx2d2DGZUbEct8HTpgQQRIHwxJUYmY X-Received: by 2002:a17:906:408c:: with SMTP id u12mr4141967ejj.162.1594729024832; Tue, 14 Jul 2020 05:17:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594729024; cv=none; d=google.com; s=arc-20160816; b=y2k8GoBF7PmXLlgaxhzcELiGDU04/xVbtPY30uS7PNjDhbvYI6MgijnsNgb/dlFupa dN80az/Jkcb7Mrvw5HQiUVG+gpXMknIzP6ZVf0P0R/3uPmvFr40EXcNHPStzooD1xpIq VwExkFqLrNTaHgxWG+tGcvOcsdgIO0uatWbbMrrqR6z1ijaBVObVqG1FwKYF8O+Zy1Zs aR9TpdliQtlaNeROuTWDIW/QcjwQMRieBSVUm4V6Fcpwac9+AeWdAN39HwKumSuA4jU6 cFNeLGRkpM0ZMHJifwts5c/zjmB2NW50rMal2dl3xDjc9nHTo2JrH0tZS6r1V5EMeDol svXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=2PYtV9Jqk8q46brNZyHF+xgEfdf2ONLAjUUPI2cIO3E=; b=YUS+1oTVvC7kRszd8Jok3tqSWGX5q3lO4sn6BcE/Hje99XP+Gwn1IGXNBFbkrponya eyqCTg4TrxzvvZJDdsOZxni7g4m0RecmUDYAtmx/idb99XpssUJfn1e+w4qpm2JVgKvM xsytKpeR6QWZLoR78KS/XgXEt3H3mecWpHx5Z/4S0CfbsABZ57YtuDPDUDpRBQT7YAxC bZSo4v/FRS4neQtzwM2nZ9XC3RkY/VWr5dYqlyw70dphe6PR4ghUPEd/Kut9zdLMTo/I WJPd9v5SMcFwSUyJGf2ibtb+t/OT3fW6uEbEYjsOU4QTQmCuOSMzDgxlcF6QqypOLdPC Vj7g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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. [23.128.96.18]) by mx.google.com with ESMTP id k27si10666817ejs.676.2020.07.14.05.16.39; Tue, 14 Jul 2020 05:17:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 S1728415AbgGNMLC (ORCPT + 99 others); Tue, 14 Jul 2020 08:11:02 -0400 Received: from 8bytes.org ([81.169.241.247]:53376 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728298AbgGNMKw (ORCPT ); Tue, 14 Jul 2020 08:10:52 -0400 Received: from cap.home.8bytes.org (p5b006776.dip0.t-ipconnect.de [91.0.103.118]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by theia.8bytes.org (Postfix) with ESMTPSA id A10D1D16; Tue, 14 Jul 2020 14:10:49 +0200 (CEST) From: Joerg Roedel To: x86@kernel.org Cc: Joerg Roedel , Joerg Roedel , hpa@zytor.com, Andy Lutomirski , Dave Hansen , Peter Zijlstra , Jiri Slaby , Dan Williams , Tom Lendacky , Juergen Gross , Kees Cook , David Rientjes , Cfir Cohen , Erdem Aktas , Masami Hiramatsu , Mike Stunes , Sean Christopherson , Martin Radev , linux-kernel@vger.kernel.org, kvm@vger.kernel.org, virtualization@lists.linux-foundation.org Subject: [PATCH v4 31/75] x86/head/64: Reload GDT after switch to virtual addresses Date: Tue, 14 Jul 2020 14:08:33 +0200 Message-Id: <20200714120917.11253-32-joro@8bytes.org> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200714120917.11253-1-joro@8bytes.org> References: <20200714120917.11253-1-joro@8bytes.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel Reload the GDT after switching to virtual addresses to make sure it will not go away when the lower mappings are removed. This will also reload the GDT for booting APs, which will need a working GDT too to handle #VC exceptions. Signed-off-by: Joerg Roedel --- arch/x86/kernel/head_64.S | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S index 473e60a12e2f..87ea9f540608 100644 --- a/arch/x86/kernel/head_64.S +++ b/arch/x86/kernel/head_64.S @@ -164,6 +164,11 @@ SYM_CODE_START(secondary_startup_64) 1: UNWIND_HINT_EMPTY + /* Setup boot GDT descriptor and load boot GDT */ + leaq boot_gdt(%rip), %rax + movq %rax, boot_gdt_descr+2(%rip) + lgdt boot_gdt_descr(%rip) + /* Check if nx is implemented */ movl $0x80000001, %eax cpuid -- 2.27.0