From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maran Wilson Subject: [PATCH v8 7/7] KVM: x86: Allow Qemu/KVM to use PVH entry point Date: Wed, 5 Dec 2018 22:06:35 -0800 Message-ID: <1544076395-22187-1-git-send-email-maran.wilson__48018.4071384885$1544076343$gmane$org@oracle.com> References: <1544076152-21637-1-git-send-email-maran.wilson@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUmoN-0007xQ-CM for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 06:06:59 +0000 In-Reply-To: <1544076152-21637-1-git-send-email-maran.wilson@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: x86@kernel.org, linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org, pbonzini@redhat.com, jgross@suse.com Cc: rkrcmar@redhat.com, maran.wilson@oracle.com, mingo@redhat.com, hpa@zytor.com, boris.ostrovsky@oracle.com, tglx@linutronix.de, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org Rm9yIGNlcnRhaW4gYXBwbGljYXRpb25zIGl0IGlzIGRlc2lyYWJsZSB0byByYXBpZGx5IGJvb3Qg YSBLVk0gdmlydHVhbAptYWNoaW5lLiBJbiBjYXNlcyB3aGVyZSBsZWdhY3kgaGFyZHdhcmUgYW5k IHNvZnR3YXJlIHN1cHBvcnQgd2l0aGluIHRoZQpndWVzdCBpcyBub3QgbmVlZGVkLCBRZW11IHNo b3VsZCBiZSBhYmxlIHRvIGJvb3QgZGlyZWN0bHkgaW50byB0aGUKdW5jb21wcmVzc2VkIExpbnV4 IGtlcm5lbCBiaW5hcnkgd2l0aG91dCB0aGUgbmVlZCB0byBydW4gZmlybXdhcmUuCgpUaGVyZSBh bHJlYWR5IGV4aXN0cyBhbiBBQkkgdG8gYWxsb3cgdGhpcyBmb3IgWGVuIFBWSCBndWVzdHMgYW5k IHRoZSBBQkkKaXMgc3VwcG9ydGVkIGJ5IExpbnV4IGFuZCBGcmVlQlNEOgoKICAgaHR0cHM6Ly94 ZW5iaXRzLnhlbi5vcmcvZG9jcy91bnN0YWJsZS9taXNjL3B2aC5odG1sCgpUaGlzIHBhdGNoIGVu YWJsZXMgUWVtdSB0byB1c2UgdGhhdCBzYW1lIGVudHJ5IHBvaW50IGZvciBib290aW5nIEtWTQpn dWVzdHMuCgpTaWduZWQtb2ZmLWJ5OiBNYXJhbiBXaWxzb24gPG1hcmFuLndpbHNvbkBvcmFjbGUu Y29tPgpTdWdnZXN0ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3Jh Y2xlLmNvbT4KU3VnZ2VzdGVkLWJ5OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBv cmFjbGUuY29tPgpUZXN0ZWQtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9y YWNsZS5jb20+ClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+Ci0t LQogYXJjaC94ODYvS2J1aWxkICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L0tj b25maWcgICAgICAgICAgICAgICAgICB8ICA4ICsrKysrKysrCiBhcmNoL3g4Ni9wbGF0Zm9ybS9w dmgvTWFrZWZpbGUgICAgfCAgNCArKy0tCiBhcmNoL3g4Ni9wbGF0Zm9ybS9wdmgvZW5saWdodGVu LmMgfCA0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDQgZmlsZXMg Y2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv YXJjaC94ODYvS2J1aWxkIGIvYXJjaC94ODYvS2J1aWxkCmluZGV4IDIwODllNDQxNDMwMC4uYzYy NWY1NzQ3MmY3IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9LYnVpbGQKKysrIGIvYXJjaC94ODYvS2J1 aWxkCkBAIC03LDcgKzcsNyBAQCBvYmotJChDT05GSUdfS1ZNKSArPSBrdm0vCiAjIFhlbiBwYXJh dmlydHVhbGl6YXRpb24gc3VwcG9ydAogb2JqLSQoQ09ORklHX1hFTikgKz0geGVuLwogCi1vYmot JChDT05GSUdfWEVOX1BWSCkgKz0gcGxhdGZvcm0vcHZoLworb2JqLSQoQ09ORklHX1BWSCkgKz0g cGxhdGZvcm0vcHZoLwogCiAjIEh5cGVyLVYgcGFyYXZpcnR1YWxpemF0aW9uIHN1cHBvcnQKIG9i ai0kKHN1YnN0IG0seSwkKENPTkZJR19IWVBFUlYpKSArPSBoeXBlcnYvCmRpZmYgLS1naXQgYS9h cmNoL3g4Ni9LY29uZmlnIGIvYXJjaC94ODYvS2NvbmZpZwppbmRleCBjMmEyMmE3NGFiZWUuLjYx ZDVlZTMwMDI3ZSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvS2NvbmZpZworKysgYi9hcmNoL3g4Ni9L Y29uZmlnCkBAIC04MDIsNiArODAyLDE0IEBAIGNvbmZpZyBQVkgKIAkgIFRoaXMgb3B0aW9uIGVu YWJsZXMgdGhlIFBWSCBlbnRyeSBwb2ludCBmb3IgZ3Vlc3QgdmlydHVhbCBtYWNoaW5lcwogCSAg YXMgc3BlY2lmaWVkIGluIHRoZSB4ODYvSFZNIGRpcmVjdCBib290IEFCSS4KIAorY29uZmlnIEtW TV9HVUVTVF9QVkgKKwlib29sICJTdXBwb3J0IGZvciBydW5uaW5nIGFzIGEgS1ZNIFBWSCBndWVz dCIKKwlkZXBlbmRzIG9uIEtWTV9HVUVTVAorCXNlbGVjdCBQVkgKKwktLS1oZWxwLS0tCisJICBU aGlzIG9wdGlvbiBlbmFibGVzIHN0YXJ0aW5nIEtWTSBndWVzdHMgdmlhIHRoZSBQVkggZW50cnkg cG9pbnQgYXMKKwkgIHNwZWNpZmllZCBpbiB0aGUgeDg2L0hWTSBkaXJlY3QgYm9vdCBBQkkuCisK IGNvbmZpZyBLVk1fREVCVUdfRlMKIAlib29sICJFbmFibGUgZGVidWcgaW5mb3JtYXRpb24gZm9y IEtWTSBHdWVzdHMgaW4gZGVidWdmcyIKIAlkZXBlbmRzIG9uIEtWTV9HVUVTVCAmJiBERUJVR19G UwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYvcGxhdGZvcm0vcHZoL01ha2VmaWxlIGIvYXJjaC94ODYv cGxhdGZvcm0vcHZoL01ha2VmaWxlCmluZGV4IDlmZDI1ZWZjZDJhMy4uNWRlYzUwNjdjOWZiIDEw MDY0NAotLS0gYS9hcmNoL3g4Ni9wbGF0Zm9ybS9wdmgvTWFrZWZpbGUKKysrIGIvYXJjaC94ODYv cGxhdGZvcm0vcHZoL01ha2VmaWxlCkBAIC0xLDUgKzEsNSBAQAogIyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMAogT0JKRUNUX0ZJTEVTX05PTl9TVEFOREFSRF9oZWFkLm8gOj0geQog Ci1vYmotJChDT05GSUdfWEVOX1BWSCkgKz0gZW5saWdodGVuLm8KLW9iai0kKENPTkZJR19YRU5f UFZIKSArPSBoZWFkLm8KK29iai0kKENPTkZJR19QVkgpICs9IGVubGlnaHRlbi5vCitvYmotJChD T05GSUdfUFZIKSArPSBoZWFkLm8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BsYXRmb3JtL3B2aC9l bmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3BsYXRmb3JtL3B2aC9lbmxpZ2h0ZW4uYwppbmRleCA4MDQw YjNmYmY1NDUuLjYyZjVjNzA0NTk0NCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvcGxhdGZvcm0vcHZo L2VubGlnaHRlbi5jCisrKyBiL2FyY2gveDg2L3BsYXRmb3JtL3B2aC9lbmxpZ2h0ZW4uYwpAQCAt OCw2ICs4LDggQEAKICNpbmNsdWRlIDxhc20vZTgyMC9hcGkuaD4KICNpbmNsdWRlIDxhc20veDg2 X2luaXQuaD4KIAorI2luY2x1ZGUgPGFzbS94ZW4vaW50ZXJmYWNlLmg+CisKICNpbmNsdWRlIDx4 ZW4veGVuLmg+CiAjaW5jbHVkZSA8eGVuL2ludGVyZmFjZS9odm0vc3RhcnRfaW5mby5oPgogCkBA IC00MCwxMSArNDIsMjggQEAgdm9pZCBfX2luaXQgX193ZWFrIG1lbV9tYXBfdmlhX2hjYWxsKHN0 cnVjdCBib290X3BhcmFtcyAqcHRyIF9fbWF5YmVfdW51c2VkKQogCUJVRygpOwogfQogCi1zdGF0 aWMgdm9pZCBfX2luaXQgaW5pdF9wdmhfYm9vdHBhcmFtcyh2b2lkKQorc3RhdGljIHZvaWQgX19p bml0IGluaXRfcHZoX2Jvb3RwYXJhbXMoYm9vbCB4ZW5fZ3Vlc3QpCiB7CiAJbWVtc2V0KCZwdmhf Ym9vdHBhcmFtcywgMCwgc2l6ZW9mKHB2aF9ib290cGFyYW1zKSk7CiAKLQltZW1fbWFwX3ZpYV9o Y2FsbCgmcHZoX2Jvb3RwYXJhbXMpOworCWlmICgocHZoX3N0YXJ0X2luZm8udmVyc2lvbiA+IDAp ICYmIChwdmhfc3RhcnRfaW5mby5tZW1tYXBfZW50cmllcykpIHsKKwkJc3RydWN0IGh2bV9tZW1t YXBfdGFibGVfZW50cnkgKmVwOworCQlpbnQgaTsKKworCQllcCA9IF9fdmEocHZoX3N0YXJ0X2lu Zm8ubWVtbWFwX3BhZGRyKTsKKwkJcHZoX2Jvb3RwYXJhbXMuZTgyMF9lbnRyaWVzID0gcHZoX3N0 YXJ0X2luZm8ubWVtbWFwX2VudHJpZXM7CisKKwkJZm9yIChpID0gMDsgaSA8IHB2aF9ib290cGFy YW1zLmU4MjBfZW50cmllcyA7IGkrKywgZXArKykgeworCQkJcHZoX2Jvb3RwYXJhbXMuZTgyMF90 YWJsZVtpXS5hZGRyID0gZXAtPmFkZHI7CisJCQlwdmhfYm9vdHBhcmFtcy5lODIwX3RhYmxlW2ld LnNpemUgPSBlcC0+c2l6ZTsKKwkJCXB2aF9ib290cGFyYW1zLmU4MjBfdGFibGVbaV0udHlwZSA9 IGVwLT50eXBlOworCQl9CisJfSBlbHNlIGlmICh4ZW5fZ3Vlc3QpIHsKKwkJbWVtX21hcF92aWFf aGNhbGwoJnB2aF9ib290cGFyYW1zKTsKKwl9IGVsc2UgeworCQkvKiBOb24teGVuIGd1ZXN0cyBh cmUgbm90IHN1cHBvcnRlZCBieSB2ZXJzaW9uIDAgKi8KKwkJQlVHKCk7CisJfQogCiAJaWYgKHB2 aF9ib290cGFyYW1zLmU4MjBfZW50cmllcyA8IEU4MjBfTUFYX0VOVFJJRVNfWkVST1BBR0UgLSAx KSB7CiAJCXB2aF9ib290cGFyYW1zLmU4MjBfdGFibGVbcHZoX2Jvb3RwYXJhbXMuZTgyMF9lbnRy aWVzXS5hZGRyID0KQEAgLTc1LDcgKzk0LDcgQEAgc3RhdGljIHZvaWQgX19pbml0IGluaXRfcHZo X2Jvb3RwYXJhbXModm9pZCkKIAkgKiBlbnZpcm9ubWVudCAoaS5lLiBoYXJkd2FyZV9zdWJhcmNo IDApLgogCSAqLwogCXB2aF9ib290cGFyYW1zLmhkci52ZXJzaW9uID0gKDIgPDwgOCkgfCAxMjsK LQlwdmhfYm9vdHBhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgPSAoOSA8PCA0KSB8IDA7IC8qIFhl biBsb2FkZXIgKi8KKwlwdmhfYm9vdHBhcmFtcy5oZHIudHlwZV9vZl9sb2FkZXIgPSAoKHhlbl9n dWVzdCA/IDB4OSA6IDB4YikgPDwgNCkgfCAwOwogCiAJeDg2X2luaXQuYWNwaS5nZXRfcm9vdF9w b2ludGVyID0gcHZoX2dldF9yb290X3BvaW50ZXI7CiB9CkBAIC05MCwxMyArMTA5LDEwIEBAIHZv aWQgX19pbml0IF9fd2VhayB4ZW5fcHZoX2luaXQodm9pZCkKIAlCVUcoKTsKIH0KIAotLyoKLSAq IFdoZW4gd2UgYWRkIHN1cHBvcnQgZm9yIG90aGVyIGh5cGVydmlzb3JzIGxpa2UgUWVtdS9LVk0s IHRoaXMgcm91dGluZSBjYW4KLSAqIHNlbGVjdGl2ZWx5IGludm9rZSB0aGUgYXBwcm9wcmlhdGUg aW5pdGlhbGl6YXRpb24gYmFzZWQgb24gZ3Vlc3QgdHlwZS4KLSAqLwotc3RhdGljIHZvaWQgaHlw ZXJ2aXNvcl9zcGVjaWZpY19pbml0KHZvaWQpCitzdGF0aWMgdm9pZCBoeXBlcnZpc29yX3NwZWNp ZmljX2luaXQoYm9vbCB4ZW5fZ3Vlc3QpCiB7Ci0JeGVuX3B2aF9pbml0KCk7CisJaWYgKHhlbl9n dWVzdCkKKwkJeGVuX3B2aF9pbml0KCk7CiB9CiAKIC8qCkBAIC0xMDUsMTMgKzEyMSwxNyBAQCBz dGF0aWMgdm9pZCBoeXBlcnZpc29yX3NwZWNpZmljX2luaXQodm9pZCkKICAqLwogdm9pZCBfX2lu aXQgeGVuX3ByZXBhcmVfcHZoKHZvaWQpCiB7CisKKwl1MzIgbXNyID0geGVuX2NwdWlkX2Jhc2Uo KTsKKwlib29sIHhlbl9ndWVzdCA9ICEhbXNyOworCiAJaWYgKHB2aF9zdGFydF9pbmZvLm1hZ2lj ICE9IFhFTl9IVk1fU1RBUlRfTUFHSUNfVkFMVUUpIHsKIAkJeGVuX3Jhd19wcmludGsoIkVycm9y OiBVbmV4cGVjdGVkIG1hZ2ljIHZhbHVlICgweCUwOHgpXG4iLAogCQkJCXB2aF9zdGFydF9pbmZv Lm1hZ2ljKTsKIAkJQlVHKCk7CiAJfQogCi0JaHlwZXJ2aXNvcl9zcGVjaWZpY19pbml0KCk7CisJ aHlwZXJ2aXNvcl9zcGVjaWZpY19pbml0KHhlbl9ndWVzdCk7CiAKLQlpbml0X3B2aF9ib290cGFy YW1zKCk7CisJaW5pdF9wdmhfYm9vdHBhcmFtcyh4ZW5fZ3Vlc3QpOwogfQotLSAKMi4xNi4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==