From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751712AbdJDQBm (ORCPT ); Wed, 4 Oct 2017 12:01:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:49952 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751396AbdJDP6n (ORCPT ); Wed, 4 Oct 2017 11:58:43 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 6C131C059B7A Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx08.extmail.prod.ext.phx2.redhat.com; spf=fail smtp.mailfrom=jpoimboe@redhat.com From: Josh Poimboeuf To: x86@kernel.org Cc: linux-kernel@vger.kernel.org, Juergen Gross , Andy Lutomirski , Linus Torvalds , Sasha Levin , live-patching@vger.kernel.org, Jiri Slaby , Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra , Mike Galbraith , Chris Wright , Alok Kataria , Rusty Russell , virtualization@lists.linux-foundation.org, Boris Ostrovsky , xen-devel@lists.xenproject.org, Thomas Gleixner , Borislav Petkov Subject: [PATCH 01/13] x86/paravirt: remove wbinvd() paravirt interface Date: Wed, 4 Oct 2017 10:58:22 -0500 Message-Id: <3f9bf17f6372ee92d984f6c7fd13e0cb14bc0e0a.1507128293.git.jpoimboe@redhat.com> In-Reply-To: References: X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Wed, 04 Oct 2017 15:58:43 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since lguest was removed, only the native version of wbinvd() is used. The paravirt interface is no longer needed. Signed-off-by: Josh Poimboeuf --- arch/x86/include/asm/paravirt.h | 5 ----- arch/x86/include/asm/paravirt_types.h | 1 - arch/x86/include/asm/special_insns.h | 7 +------ arch/x86/kernel/paravirt.c | 1 - arch/x86/kernel/paravirt_patch_64.c | 2 -- arch/x86/xen/enlighten_pv.c | 2 -- 6 files changed, 1 insertion(+), 17 deletions(-) diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h index 12deec722cf0..2f51fbf175da 100644 --- a/arch/x86/include/asm/paravirt.h +++ b/arch/x86/include/asm/paravirt.h @@ -98,11 +98,6 @@ static inline void halt(void) PVOP_VCALL0(pv_irq_ops.halt); } -static inline void wbinvd(void) -{ - PVOP_VCALL0(pv_cpu_ops.wbinvd); -} - #define get_kernel_rpl() (pv_info.kernel_rpl) static inline u64 paravirt_read_msr(unsigned msr) diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h index 280d94c36dad..0e112f279514 100644 --- a/arch/x86/include/asm/paravirt_types.h +++ b/arch/x86/include/asm/paravirt_types.h @@ -137,7 +137,6 @@ struct pv_cpu_ops { void (*set_iopl_mask)(unsigned mask); - void (*wbinvd)(void); void (*io_delay)(void); /* cpuid emulation, mostly so that caps bits can be disabled */ diff --git a/arch/x86/include/asm/special_insns.h b/arch/x86/include/asm/special_insns.h index a24dfcf79f4a..ac402c6fc24b 100644 --- a/arch/x86/include/asm/special_insns.h +++ b/arch/x86/include/asm/special_insns.h @@ -128,7 +128,7 @@ static inline void __write_pkru(u32 pkru) } #endif -static inline void native_wbinvd(void) +static inline void wbinvd(void) { asm volatile("wbinvd": : :"memory"); } @@ -183,11 +183,6 @@ static inline void __write_cr4(unsigned long x) native_write_cr4(x); } -static inline void wbinvd(void) -{ - native_wbinvd(); -} - #ifdef CONFIG_X86_64 static inline unsigned long read_cr8(void) diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c index 19a3e8f961c7..3fead3a50723 100644 --- a/arch/x86/kernel/paravirt.c +++ b/arch/x86/kernel/paravirt.c @@ -332,7 +332,6 @@ __visible struct pv_cpu_ops pv_cpu_ops = { .read_cr8 = native_read_cr8, .write_cr8 = native_write_cr8, #endif - .wbinvd = native_wbinvd, .read_msr = native_read_msr, .write_msr = native_write_msr, .read_msr_safe = native_read_msr_safe, diff --git a/arch/x86/kernel/paravirt_patch_64.c b/arch/x86/kernel/paravirt_patch_64.c index 11aaf1eaa0e4..0a1ba3f80cbf 100644 --- a/arch/x86/kernel/paravirt_patch_64.c +++ b/arch/x86/kernel/paravirt_patch_64.c @@ -10,7 +10,6 @@ DEF_NATIVE(pv_mmu_ops, read_cr2, "movq %cr2, %rax"); DEF_NATIVE(pv_mmu_ops, read_cr3, "movq %cr3, %rax"); DEF_NATIVE(pv_mmu_ops, write_cr3, "movq %rdi, %cr3"); DEF_NATIVE(pv_mmu_ops, flush_tlb_single, "invlpg (%rdi)"); -DEF_NATIVE(pv_cpu_ops, wbinvd, "wbinvd"); DEF_NATIVE(pv_cpu_ops, usergs_sysret64, "swapgs; sysretq"); DEF_NATIVE(pv_cpu_ops, swapgs, "swapgs"); @@ -60,7 +59,6 @@ unsigned native_patch(u8 type, u16 clobbers, void *ibuf, PATCH_SITE(pv_mmu_ops, read_cr3); PATCH_SITE(pv_mmu_ops, write_cr3); PATCH_SITE(pv_mmu_ops, flush_tlb_single); - PATCH_SITE(pv_cpu_ops, wbinvd); #if defined(CONFIG_PARAVIRT_SPINLOCKS) case PARAVIRT_PATCH(pv_lock_ops.queued_spin_unlock): if (pv_is_native_spin_unlock()) { diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c index 73f809a6ca87..c0cb5c2bfd92 100644 --- a/arch/x86/xen/enlighten_pv.c +++ b/arch/x86/xen/enlighten_pv.c @@ -1045,8 +1045,6 @@ static const struct pv_cpu_ops xen_cpu_ops __initconst = { .write_cr8 = xen_write_cr8, #endif - .wbinvd = native_wbinvd, - .read_msr = xen_read_msr, .write_msr = xen_write_msr, -- 2.13.6 From mboxrd@z Thu Jan 1 00:00:00 1970 From: Josh Poimboeuf Subject: [PATCH 01/13] x86/paravirt: remove wbinvd() paravirt interface Date: Wed, 4 Oct 2017 10:58:22 -0500 Message-ID: <3f9bf17f6372ee92d984f6c7fd13e0cb14bc0e0a.1507128293.git.jpoimboe@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzm4P-0008RS-Nk for xen-devel@lists.xenproject.org; Wed, 04 Oct 2017 15:58:49 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: x86@kernel.org Cc: Juergen Gross , Rusty Russell , xen-devel@lists.xenproject.org, Peter Zijlstra , Jiri Slaby , Boris Ostrovsky , Mike Galbraith , linux-kernel@vger.kernel.org, Sasha Levin , Chris Wright , Thomas Gleixner , Andy Lutomirski , "H. Peter Anvin" , Borislav Petkov , live-patching@vger.kernel.org, Alok Kataria , virtualization@lists.linux-foundation.org, Linus Torvalds , Ingo Molnar List-Id: xen-devel@lists.xenproject.org U2luY2UgbGd1ZXN0IHdhcyByZW1vdmVkLCBvbmx5IHRoZSBuYXRpdmUgdmVyc2lvbiBvZiB3Ymlu dmQoKSBpcyB1c2VkLgpUaGUgcGFyYXZpcnQgaW50ZXJmYWNlIGlzIG5vIGxvbmdlciBuZWVkZWQu CgpTaWduZWQtb2ZmLWJ5OiBKb3NoIFBvaW1ib2V1ZiA8anBvaW1ib2VAcmVkaGF0LmNvbT4KLS0t CiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oICAgICAgIHwgNSAtLS0tLQogYXJjaC94 ODYvaW5jbHVkZS9hc20vcGFyYXZpcnRfdHlwZXMuaCB8IDEgLQogYXJjaC94ODYvaW5jbHVkZS9h c20vc3BlY2lhbF9pbnNucy5oICB8IDcgKy0tLS0tLQogYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0 LmMgICAgICAgICAgICB8IDEgLQogYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0X3BhdGNoXzY0LmMg ICB8IDIgLS0KIGFyY2gveDg2L3hlbi9lbmxpZ2h0ZW5fcHYuYyAgICAgICAgICAgfCAyIC0tCiA2 IGZpbGVzIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oIGIvYXJjaC94ODYvaW5jbHVkZS9h c20vcGFyYXZpcnQuaAppbmRleCAxMmRlZWM3MjJjZjAuLjJmNTFmYmYxNzVkYSAxMDA2NDQKLS0t IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRl L2FzbS9wYXJhdmlydC5oCkBAIC05OCwxMSArOTgsNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgaGFs dCh2b2lkKQogCVBWT1BfVkNBTEwwKHB2X2lycV9vcHMuaGFsdCk7CiB9CiAKLXN0YXRpYyBpbmxp bmUgdm9pZCB3YmludmQodm9pZCkKLXsKLQlQVk9QX1ZDQUxMMChwdl9jcHVfb3BzLndiaW52ZCk7 Ci19Ci0KICNkZWZpbmUgZ2V0X2tlcm5lbF9ycGwoKSAgKHB2X2luZm8ua2VybmVsX3JwbCkKIAog c3RhdGljIGlubGluZSB1NjQgcGFyYXZpcnRfcmVhZF9tc3IodW5zaWduZWQgbXNyKQpkaWZmIC0t Z2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnRfdHlwZXMuaCBiL2FyY2gveDg2L2lu Y2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKaW5kZXggMjgwZDk0YzM2ZGFkLi4wZTExMmYyNzk1 MTQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKKysr IGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnRfdHlwZXMuaApAQCAtMTM3LDcgKzEzNyw2 IEBAIHN0cnVjdCBwdl9jcHVfb3BzIHsKIAogCXZvaWQgKCpzZXRfaW9wbF9tYXNrKSh1bnNpZ25l ZCBtYXNrKTsKIAotCXZvaWQgKCp3YmludmQpKHZvaWQpOwogCXZvaWQgKCppb19kZWxheSkodm9p ZCk7CiAKIAkvKiBjcHVpZCBlbXVsYXRpb24sIG1vc3RseSBzbyB0aGF0IGNhcHMgYml0cyBjYW4g YmUgZGlzYWJsZWQgKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3NwZWNpYWxf aW5zbnMuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3NwZWNpYWxfaW5zbnMuaAppbmRleCBhMjRk ZmNmNzlmNGEuLmFjNDAyYzZmYzI0YiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20v c3BlY2lhbF9pbnNucy5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3NwZWNpYWxfaW5zbnMu aApAQCAtMTI4LDcgKzEyOCw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX3dyaXRlX3BrcnUodTMy IHBrcnUpCiB9CiAjZW5kaWYKIAotc3RhdGljIGlubGluZSB2b2lkIG5hdGl2ZV93YmludmQodm9p ZCkKK3N0YXRpYyBpbmxpbmUgdm9pZCB3YmludmQodm9pZCkKIHsKIAlhc20gdm9sYXRpbGUoIndi aW52ZCI6IDogOiJtZW1vcnkiKTsKIH0KQEAgLTE4MywxMSArMTgzLDYgQEAgc3RhdGljIGlubGlu ZSB2b2lkIF9fd3JpdGVfY3I0KHVuc2lnbmVkIGxvbmcgeCkKIAluYXRpdmVfd3JpdGVfY3I0KHgp OwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgd2JpbnZkKHZvaWQpCi17Ci0JbmF0aXZlX3diaW52 ZCgpOwotfQotCiAjaWZkZWYgQ09ORklHX1g4Nl82NAogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVk IGxvbmcgcmVhZF9jcjgodm9pZCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmly dC5jIGIvYXJjaC94ODYva2VybmVsL3BhcmF2aXJ0LmMKaW5kZXggMTlhM2U4Zjk2MWM3Li4zZmVh ZDNhNTA3MjMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCisrKyBiL2Fy Y2gveDg2L2tlcm5lbC9wYXJhdmlydC5jCkBAIC0zMzIsNyArMzMyLDYgQEAgX192aXNpYmxlIHN0 cnVjdCBwdl9jcHVfb3BzIHB2X2NwdV9vcHMgPSB7CiAJLnJlYWRfY3I4ID0gbmF0aXZlX3JlYWRf Y3I4LAogCS53cml0ZV9jcjggPSBuYXRpdmVfd3JpdGVfY3I4LAogI2VuZGlmCi0JLndiaW52ZCA9 IG5hdGl2ZV93YmludmQsCiAJLnJlYWRfbXNyID0gbmF0aXZlX3JlYWRfbXNyLAogCS53cml0ZV9t c3IgPSBuYXRpdmVfd3JpdGVfbXNyLAogCS5yZWFkX21zcl9zYWZlID0gbmF0aXZlX3JlYWRfbXNy X3NhZmUsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYyBi L2FyY2gveDg2L2tlcm5lbC9wYXJhdmlydF9wYXRjaF82NC5jCmluZGV4IDExYWFmMWVhYTBlNC4u MGExYmEzZjgwY2JmIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hf NjQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvcGFyYXZpcnRfcGF0Y2hfNjQuYwpAQCAtMTAsNyAr MTAsNiBAQCBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHJlYWRfY3IyLCAibW92cSAlY3IyLCAlcmF4 Iik7CiBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHJlYWRfY3IzLCAibW92cSAlY3IzLCAlcmF4Iik7 CiBERUZfTkFUSVZFKHB2X21tdV9vcHMsIHdyaXRlX2NyMywgIm1vdnEgJXJkaSwgJWNyMyIpOwog REVGX05BVElWRShwdl9tbXVfb3BzLCBmbHVzaF90bGJfc2luZ2xlLCAiaW52bHBnICglcmRpKSIp OwotREVGX05BVElWRShwdl9jcHVfb3BzLCB3YmludmQsICJ3YmludmQiKTsKIAogREVGX05BVElW RShwdl9jcHVfb3BzLCB1c2VyZ3Nfc3lzcmV0NjQsICJzd2FwZ3M7IHN5c3JldHEiKTsKIERFRl9O QVRJVkUocHZfY3B1X29wcywgc3dhcGdzLCAic3dhcGdzIik7CkBAIC02MCw3ICs1OSw2IEBAIHVu c2lnbmVkIG5hdGl2ZV9wYXRjaCh1OCB0eXBlLCB1MTYgY2xvYmJlcnMsIHZvaWQgKmlidWYsCiAJ CVBBVENIX1NJVEUocHZfbW11X29wcywgcmVhZF9jcjMpOwogCQlQQVRDSF9TSVRFKHB2X21tdV9v cHMsIHdyaXRlX2NyMyk7CiAJCVBBVENIX1NJVEUocHZfbW11X29wcywgZmx1c2hfdGxiX3Npbmds ZSk7Ci0JCVBBVENIX1NJVEUocHZfY3B1X29wcywgd2JpbnZkKTsKICNpZiBkZWZpbmVkKENPTkZJ R19QQVJBVklSVF9TUElOTE9DS1MpCiAJCWNhc2UgUEFSQVZJUlRfUEFUQ0gocHZfbG9ja19vcHMu cXVldWVkX3NwaW5fdW5sb2NrKToKIAkJCWlmIChwdl9pc19uYXRpdmVfc3Bpbl91bmxvY2soKSkg ewpkaWZmIC0tZ2l0IGEvYXJjaC94ODYveGVuL2VubGlnaHRlbl9wdi5jIGIvYXJjaC94ODYveGVu L2VubGlnaHRlbl9wdi5jCmluZGV4IDczZjgwOWE2Y2E4Ny4uYzBjYjVjMmJmZDkyIDEwMDY0NAot LS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2LmMKKysrIGIvYXJjaC94ODYveGVuL2VubGln aHRlbl9wdi5jCkBAIC0xMDQ1LDggKzEwNDUsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHB2X2Nw dV9vcHMgeGVuX2NwdV9vcHMgX19pbml0Y29uc3QgPSB7CiAJLndyaXRlX2NyOCA9IHhlbl93cml0 ZV9jcjgsCiAjZW5kaWYKIAotCS53YmludmQgPSBuYXRpdmVfd2JpbnZkLAotCiAJLnJlYWRfbXNy ID0geGVuX3JlYWRfbXNyLAogCS53cml0ZV9tc3IgPSB4ZW5fd3JpdGVfbXNyLAogCi0tIAoyLjEz LjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK