Received: by 10.223.176.46 with SMTP id f43csp993105wra; Wed, 24 Jan 2018 08:59:33 -0800 (PST) X-Google-Smtp-Source: AH8x225Ced4UiTxIOPvOEs5NYs1OHXYAbL/SIaWTMB4E+iiyQnevkGUbrRHZ8Q4AkCY/cbHYYitp X-Received: by 10.98.152.149 with SMTP id d21mr13531320pfk.108.1516813173455; Wed, 24 Jan 2018 08:59:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1516813173; cv=none; d=google.com; s=arc-20160816; b=bIjwH4y4yLlAhX0ky6PAIEv33WxrQEJ8N+6sHhbOglqeLRxBFGjRTiJKepDUBOP8DG JT96q7VlA2aE6cmJ6dnXEju8MK0n3r2DexEeQii416buwvWfvxdN8qIY+VqKUOSKqwav oc8/ZdQeqNsB3ogE6a/T2ZuCj7m9lfJYWHxUldoQGFnfUlqXWenHBAKU6o/2rWRAjGND xtM8v3nP+xfA0XjLU+PEx0F7ACMhmQA7HjhYAJlVhavcsfNHZR0JF/ET7hCSrw9QR68z MR26zkPq5nLJ7IamuyHeHpxcNJQtzEfiHY1SJ4ai2i/G7ouqM6SoUnAvse22kloNo7aw DfBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:to:from :dkim-signature:arc-authentication-results; bh=S3pJhEs+oNl+ahQGBo2pnXasS4PynMDPUdVYV35Hs10=; b=dx75S86gST3e2Wxxi8OtdysBe8x/oHxMw7XoWOjAGvnp32UcX5Yv7q+WLLOnunR1/X wrJ/gc+yf2yWSVdGygSwQ6pOWutrRX9fgjAQHkMIMGrUU3N3Tn52EXeNVQNNVkAgIPUk s9jhL3trOluke0GCr6JcVZgjKBAzKjZznIqImHEJCNgSj21H7blrQK2IXV+WuQsUOieU dn3hLQOqDCgCsQ1CcENWt3oodjtjOCdRm0a0xnuTkd2jgRT+UYTh1QGT/lh5C7b/q+mS 7OFtPknEc+5HlNAA3qe6m9klPj0MbqxpLRfjew6rKbQzp8GUpxMYhBkXNqC6F6ydEPfj RPwA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=rlZu35ju; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s24-v6si454995plp.220.2018.01.24.08.59.19; Wed, 24 Jan 2018 08:59:33 -0800 (PST) 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=pass header.i=@amazon.co.uk header.s=amazon201209 header.b=rlZu35ju; 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=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=amazon.co.uk Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934359AbeAXQ5g (ORCPT + 99 others); Wed, 24 Jan 2018 11:57:36 -0500 Received: from smtp-fw-4101.amazon.com ([72.21.198.25]:43126 "EHLO smtp-fw-4101.amazon.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934296AbeAXQ5e (ORCPT ); Wed, 24 Jan 2018 11:57:34 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt; s=amazon201209; t=1516813054; x=1548349054; h=from:to:subject:date:message-id; bh=S3pJhEs+oNl+ahQGBo2pnXasS4PynMDPUdVYV35Hs10=; b=rlZu35juOwFNZ2EwbYZFhhlay8ZopL3ZQ/MENKw3YFgURZOztRHJ3Bhd Gzy0kySKnoY/pQvY86b1wLtEykRdvC8AeKHq9cSX4t0bQMJSwHIZLXL3n n6e0ycFr5leY6winb0QMDaciqb0GSw94GyQOR3NAXf2B3+1d6wzAEBaEL 0=; X-IronPort-AV: E=Sophos;i="5.46,408,1511827200"; d="scan'208";a="705132967" Received: from iad6-co-svc-p1-lb1-vlan3.amazon.com (HELO email-inbound-relay-1e-a70de69e.us-east-1.amazon.com) ([10.124.125.6]) by smtp-border-fw-out-4101.iad4.amazon.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 24 Jan 2018 16:57:23 +0000 Received: from uc8d3ff76b9bc5848a9cc.ant.amazon.com (iad1-ws-svc-lb91-vlan2.amazon.com [10.0.103.146]) by email-inbound-relay-1e-a70de69e.us-east-1.amazon.com (8.14.7/8.14.7) with ESMTP id w0OGvEEF019108 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 24 Jan 2018 16:57:16 GMT Received: from uc8d3ff76b9bc5848a9cc.ant.amazon.com (localhost [127.0.0.1]) by uc8d3ff76b9bc5848a9cc.ant.amazon.com (8.15.2/8.15.2/Debian-3) with ESMTP id w0OGvDX2011163; Wed, 24 Jan 2018 16:57:13 GMT Received: (from dwmw@localhost) by uc8d3ff76b9bc5848a9cc.ant.amazon.com (8.15.2/8.15.2/Submit) id w0OGvCUL011157; Wed, 24 Jan 2018 16:57:12 GMT From: David Woodhouse To: arjan@linux.intel.com, tglx@linutronix.de, karahmed@amazon.de, x86@kernel.org, linux-kernel@vger.kernel.org, tim.c.chen@linux.intel.com, bp@alien8.de, peterz@infradead.org, pbonzini@redhat.com, ak@linux.intel.com, torvalds@linux-foundation.org, gregkh@linux-foundation.org, dave.hansen@intel.com, gnomes@lxorguk.ukuu.org.uk Subject: [PATCH v3 0/6] Basic Speculation Control feature support Date: Wed, 24 Jan 2018 16:56:59 +0000 Message-Id: <1516813025-10794-1-git-send-email-dwmw@amazon.co.uk> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Baby steps... this is just the basic CPUID and MSR definitions for AMD and Intel, followed by the complete no-brainer: Disable KPTI on Intel CPUs which set the RDCL_NO bit to say that they don't need it. Roll in the microcode blacklist patch as I'm about to send that out again anyway so it might as well be part of this. Treat it as an RFC perhaps. v2: Cleanups, add AMD bits for STIBP/SPEC_CTRL. v3: Add more CPUs to the exemption for KPTI and clean that up. Add microcode blacklist (RFC) David Woodhouse (6): x86/cpufeatures: Add CPUID_7_EDX CPUID leaf x86/cpufeatures: Add Intel feature bits for Speculation Control x86/cpufeatures: Add AMD feature bits for Speculation Control x86/msr: Add definitions for new speculation control MSRs x86/pti: Do not enable PTI on processors which are not vulnerable to Meltdown x86/cpufeature: Blacklist SPEC_CTRL on early Spectre v2 microcodes arch/x86/include/asm/cpufeature.h | 7 ++- arch/x86/include/asm/cpufeatures.h | 14 ++++-- arch/x86/include/asm/disabled-features.h | 3 +- arch/x86/include/asm/msr-index.h | 12 +++++ arch/x86/include/asm/required-features.h | 3 +- arch/x86/kernel/cpu/common.c | 35 ++++++++++++++- arch/x86/kernel/cpu/intel.c | 76 ++++++++++++++++++++++++++++++++ arch/x86/kernel/cpu/scattered.c | 2 - 8 files changed, 141 insertions(+), 11 deletions(-) -- 2.7.4