From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755287AbeASMTC (ORCPT ); Fri, 19 Jan 2018 07:19:02 -0500 Received: from mga05.intel.com ([192.55.52.43]:34046 "EHLO mga05.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754542AbeASMSq (ORCPT ); Fri, 19 Jan 2018 07:18:46 -0500 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,381,1511856000"; d="scan'208";a="11010530" From: "Kirill A. Shutemov" To: Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , x86@kernel.org Cc: linux-kernel@vger.kernel.org, Dave Hansen , "Kirill A. Shutemov" Subject: [PATCH 0/3] Drop pv_cpu_ops::wbinvd() and bring support of WBNOINVD Date: Fri, 19 Jan 2018 15:18:18 +0300 Message-Id: <20180119121821.77018-1-kirill.shutemov@linux.intel.com> X-Mailer: git-send-email 2.15.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Instruction Set Extensions and Future Features Programming Reference[1] v031 introduces new WBNOINVD instruction. The WBNOINVD instruction writes back all modified cache lines in the processor’s internal cache to main memory and does not invalidate (flush) the internal caches. The patchset removes WBINVD-related dead code, add CPUID flag for the new instruction and instrumentation to call it. No users for the code introduced, but we are planning to use it for Multi-Key Total Memory Encryption[2] enabling. [1] https://software.intel.com/sites/default/files/managed/c5/15/architecture-instruction-set-extensions-programming-reference.pdf [2] https://software.intel.com/sites/default/files/managed/a5/16/Multi-Key-Total-Memory-Encryption-Spec.pdf Kirill A. Shutemov (3): x86/paravirt: Drop pv_cpu_ops::wbinvd() x86/cpufeatures: Add WBNOINVD cpufeature x86/asm: Add support for WBNOINVD instruction arch/x86/include/asm/cpufeatures.h | 3 ++- arch/x86/include/asm/paravirt.h | 5 ----- arch/x86/include/asm/paravirt_types.h | 1 - arch/x86/include/asm/smp.h | 10 ++++++++++ arch/x86/include/asm/special_insns.h | 12 ++++++------ arch/x86/kernel/paravirt.c | 1 - arch/x86/kernel/paravirt_patch_64.c | 2 -- arch/x86/lib/cache-smp.c | 17 +++++++++++++++++ arch/x86/xen/enlighten_pv.c | 2 -- 9 files changed, 35 insertions(+), 18 deletions(-) -- 2.15.1