From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maran Wilson Subject: Re: [RFC PATCH] KVM: x86: Allow Qemu/KVM to use PVH entry point Date: Wed, 29 Nov 2017 09:24:10 -0800 Message-ID: References: <1511897682-32060-1-git-send-email-maran.wilson@oracle.com> <176188ca-51f9-ef12-6e93-46ab2d8b8cfc@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 1eK664-0004kV-DA for xen-devel@lists.xenproject.org; Wed, 29 Nov 2017 17:24:32 +0000 In-Reply-To: <176188ca-51f9-ef12-6e93-46ab2d8b8cfc@suse.com> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Juergen Gross , boris.ostrovsky@oracle.com, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com, x86@kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, roger.pau@citrix.com, rkrcmar@redhat.com, JBeulich@suse.com, andrew.cooper3@citrix.com, pbonzini@redhat.com, kvm@vger.kernel.org List-Id: xen-devel@lists.xenproject.org T24gMTEvMjkvMjAxNyAxMjoyMSBBTSwgSnVlcmdlbiBHcm9zcyB3cm90ZToKPiBPbiAyOC8xMS8x NyAyMDozNCwgTWFyYW4gV2lsc29uIHdyb3RlOgo+PiBGb3IgY2VydGFpbiBhcHBsaWNhdGlvbnMg aXQgaXMgZGVzaXJhYmxlIHRvIHJhcGlkbHkgYm9vdCBhIEtWTSB2aXJ0dWFsCj4+IG1hY2hpbmUu IEluIGNhc2VzIHdoZXJlIGxlZ2FjeSBoYXJkd2FyZSBhbmQgc29mdHdhcmUgc3VwcG9ydCB3aXRo aW4gdGhlCj4+IGd1ZXN0IGlzIG5vdCBuZWVkZWQsIFFlbXUgc2hvdWxkIGJlIGFibGUgdG8gYm9v dCBkaXJlY3RseSBpbnRvIHRoZQo+PiB1bmNvbXByZXNzZWQgTGludXgga2VybmVsIGJpbmFyeSB3 aXRob3V0IHRoZSBuZWVkIHRvIHJ1biBmaXJtd2FyZS4KPj4KPj4gVGhlcmUgYWxyZWFkeSBleGlz dHMgYW4gQUJJIHRvIGFsbG93IHRoaXMgZm9yIFhlbiBQVkggZ3Vlc3RzIGFuZCB0aGUgQUJJIGlz Cj4+IHN1cHBvcnRlZCBieSBMaW51eCBhbmQgRnJlZUJTRDoKPj4KPj4gICAgIGh0dHBzOi8veGVu Yml0cy54ZW4ub3JnL2RvY3MvdW5zdGFibGUvbWlzYy9odm1saXRlLmh0bWwKPj4KPj4gVGhpcyBQ b0MgcGF0Y2ggZW5hYmxlcyBRZW11IHRvIHVzZSB0aGF0IHNhbWUgZW50cnkgcG9pbnQgZm9yIGJv b3RpbmcgS1ZNCj4+IGd1ZXN0cy4KPj4KPj4gRXZlbiB0aG91Z2ggdGhlIGNvZGUgaXMgc3RpbGwg UG9DIHF1YWxpdHksIEknbSBzZW5kaW5nIHRoaXMgYXMgYW4gUkZDIG5vdwo+PiBzaW5jZSB0aGVy ZSBhcmUgYSBudW1iZXIgb2YgZGlmZmVyZW50IHdheXMgdGhlIHNwZWNpZmljIGltcGxlbWVudGF0 aW9uCj4+IGRldGFpbHMgY2FuIGJlIGhhbmRsZWQuIEkgY2hvc2UgYSBzaGFyZWQgY29kZSBwYXRo IGZvciBYZW4gYW5kIEtWTSBndWVzdHMKPj4gYnV0IGNvdWxkIGp1c3QgYXMgZWFzaWx5IGNyZWF0 ZSBhIHNlcGFyYXRlIGNvZGUgcGF0aCB0aGF0IGlzIGFkdmVydGlzZWQgYnkKPj4gYSBkaWZmZXJl bnQgRUxGIG5vdGUgZm9yIEtWTS4gVGhlcmUgYWxzbyBzZWVtcyB0byBiZSBzb21lIGZsZXhpYmls aXR5IGluCj4+IGhvdyB0aGUgZTgyMCB0YWJsZSBkYXRhIGlzIHBhc3NlZCBhbmQgaG93IChvciBp ZikgaXQgc2hvdWxkIGJlIGlkZW50aWZpZWQKPj4gYXMgZTgyMCBkYXRhLiBBcyBhIHN0YXJ0aW5n IHBvaW50LCBJJ3ZlIGNob3NlbiB0aGUgb3B0aW9ucyB0aGF0IHNlZW0gdG8KPj4gcmVzdWx0IGlu IHRoZSBzbWFsbGVzdCBwYXRjaCB3aXRoIG1pbmltYWwgdG8gbm8gY2hhbmdlcyByZXF1aXJlZCBv ZiB0aGUKPj4geDg2L0hWTSBkaXJlY3QgYm9vdCBBQkkuCj4gSSBsaWtlIHRoZSBpZGVhLgo+Cj4g SSdkIHJhdGhlciBzcGxpdCB1cCB0aGUgZGlmZmVyZW50IGh5cGVydmlzb3IgdHlwZXMgZWFybHkg YW5kIHVzZSBhCj4gY29tbW9uIHNldCBvZiBzZXJ2aWNlIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIHNw ZWNpYWwgY2FzaW5nIHhlbl9ndWVzdAo+IGV2ZXJ5d2hlcmUuIFRoaXMgd291bGQgbWFrZSBpdCBt dWNoIGVhc2llciB0byBzdXBwb3J0IHRoZSBLVk0gUFZICj4gYm9vdCB3aXRob3V0IHRoZSBuZWVk IHRvIGNvbmZpZ3VyZSB0aGUga2VybmVsIHdpdGggQ09ORklHX1hFTi4KClRoYW5rcyBmb3IgdGhl IGZlZWRiYWNrLiBJJ2xsIHRyeSBkb2luZyBzb21ldGhpbmcgbGlrZSB0aGF0IGFzIHRoaXMgCnBh dGNoIG1vdmVzIGZyb20gcHJvb2Ygb2YgY29uY2VwdCB0byBhIHJlYWwgcHJvcG9zYWwuCgo+IEFu b3RoZXIgb3B0aW9uIHdvdWxkIGJlIHRvIHVzZSB0aGUgc2FtZSBib290IHBhdGggYXMgd2l0aCBn cnViOiBzZXQKPiB0aGUgYm9vdCBwYXJhbXMgaW4gemVyb3BhZ2UgYW5kIHN0YXJ0IGF0IHN0YXJ0 dXBfMzIuCgpJIHRoaW5rIG90aGVycyBoYXZlIGFscmVhZHkgcmVzcG9uZGVkIGFib3V0IHRoYXQu IFRoZSBtYWluIHRoaW5nIEkgd2FzIAp0cnlpbmcgdG8gYXZvaWQsIHdhcyBhZGRpbmcgYW55IExp bnV4IE9TIHNwZWNpZmljIGluaXRpYWxpemF0aW9uIChsaWtlIAp6ZXJvcGFnZSkgdG8gUUVNVS4g RXNwZWNpYWxseSBzaW5jZSB0aGlzIFBWSCBlbnRyeSBwb2ludCBhbHJlYWR5IGV4aXN0cyAKaW4g TGludXguCgpUaGFua3MsCi1NYXJhbgoKPgo+IEp1ZXJnZW4KPgo+PiAtLS0KPj4gICBhcmNoL3g4 Ni94ZW4vZW5saWdodGVuX3B2aC5jIHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwgNTUgaW5zZXJ0aW9ucygrKSwgMTkg ZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2 aC5jIGIvYXJjaC94ODYveGVuL2VubGlnaHRlbl9wdmguYwo+PiBpbmRleCA5OGFiMTc2Li5kOTNm NzExIDEwMDY0NAo+PiAtLS0gYS9hcmNoL3g4Ni94ZW4vZW5saWdodGVuX3B2aC5jCj4+ICsrKyBi L2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW5fcHZoLmMKPj4gQEAgLTMxLDIxICszMSw0NiBAQCBzdGF0 aWMgdm9pZCB4ZW5fcHZoX2FyY2hfc2V0dXAodm9pZCkKPj4gICAJCWFjcGlfaXJxX21vZGVsID0g QUNQSV9JUlFfTU9ERUxfUExBVEZPUk07Cj4+ICAgfQo+PiAgIAo+PiAtc3RhdGljIHZvaWQgX19p bml0IGluaXRfcHZoX2Jvb3RwYXJhbXModm9pZCkKPj4gK3N0YXRpYyB2b2lkIF9faW5pdCBpbml0 X3B2aF9ib290cGFyYW1zKGJvb2wgeGVuX2d1ZXN0KQo+PiAgIHsKPj4gICAJc3RydWN0IHhlbl9t ZW1vcnlfbWFwIG1lbW1hcDsKPj4gICAJaW50IHJjOwo+PiAgIAo+PiAgIAltZW1zZXQoJnB2aF9i b290cGFyYW1zLCAwLCBzaXplb2YocHZoX2Jvb3RwYXJhbXMpKTsKPj4gICAKPj4gLQltZW1tYXAu bnJfZW50cmllcyA9IEFSUkFZX1NJWkUocHZoX2Jvb3RwYXJhbXMuZTgyMF90YWJsZSk7Cj4+IC0J c2V0X3hlbl9ndWVzdF9oYW5kbGUobWVtbWFwLmJ1ZmZlciwgcHZoX2Jvb3RwYXJhbXMuZTgyMF90 YWJsZSk7Cj4+IC0JcmMgPSBIWVBFUlZJU09SX21lbW9yeV9vcChYRU5NRU1fbWVtb3J5X21hcCwg Jm1lbW1hcCk7Cj4+IC0JaWYgKHJjKSB7Cj4+IC0JCXhlbl9yYXdfcHJpbnRrKCJYRU5NRU1fbWVt b3J5X21hcCBmYWlsZWQgKCVkKVxuIiwgcmMpOwo+PiAtCQlCVUcoKTsKPj4gKwlpZiAoeGVuX2d1 ZXN0KSB7Cj4+ICsJCW1lbW1hcC5ucl9lbnRyaWVzID0gQVJSQVlfU0laRShwdmhfYm9vdHBhcmFt cy5lODIwX3RhYmxlKTsKPj4gKwkJc2V0X3hlbl9ndWVzdF9oYW5kbGUobWVtbWFwLmJ1ZmZlciwg cHZoX2Jvb3RwYXJhbXMuZTgyMF90YWJsZSk7Cj4+ICsJCXJjID0gSFlQRVJWSVNPUl9tZW1vcnlf b3AoWEVOTUVNX21lbW9yeV9tYXAsICZtZW1tYXApOwo+PiArCQlpZiAocmMpIHsKPj4gKwkJCXhl bl9yYXdfcHJpbnRrKCJYRU5NRU1fbWVtb3J5X21hcCBmYWlsZWQgKCVkKVxuIiwgcmMpOwo+PiAr CQkJQlVHKCk7Cj4+ICsJCX0KPj4gKwkJcHZoX2Jvb3RwYXJhbXMuZTgyMF9lbnRyaWVzID0gbWVt bWFwLm5yX2VudHJpZXM7Cj4+ICsJfSBlbHNlIGlmIChwdmhfc3RhcnRfaW5mby5ucl9tb2R1bGVz ID4gMSkgewo+PiArCQkvKiBUaGUgc2Vjb25kIG1vZHVsZSBzaG91bGQgYmUgdGhlIGU4MjAgZGF0 YSBmb3IgS1ZNIGd1ZXN0cyAqLwo+PiArCQlzdHJ1Y3QgaHZtX21vZGxpc3RfZW50cnkgKm1vZGFk ZHI7Cj4+ICsJCWNoYXIgZTgyMF9zaWdbXSA9ICJlODIwIGRhdGEiOwo+PiArCQlzdHJ1Y3QgYm9v dF9lODIwX2VudHJ5ICplcDsKPj4gKwkJc3RydWN0IGU4MjBfdGFibGUgKnRwOwo+PiArCQljaGFy ICpjbWRsaW5lX3N0cjsKPj4gKwkJaW50IGlkeDsKPj4gKwo+PiArCQltb2RhZGRyID0gX192YShw dmhfc3RhcnRfaW5mby5tb2RsaXN0X3BhZGRyICsKPj4gKwkJCSAgICAgICBzaXplb2Yoc3RydWN0 IGh2bV9tb2RsaXN0X2VudHJ5KSk7Cj4+ICsJCWNtZGxpbmVfc3RyID0gX192YShtb2RhZGRyLT5j bWRsaW5lX3BhZGRyKTsKPj4gKwo+PiArCQlpZiAoKG1vZGFkZHItPmNtZGxpbmVfcGFkZHIpICYm Cj4+ICsJCSAgICAoIXN0cm5jbXAoZTgyMF9zaWcsIGNtZGxpbmVfc3RyLCBzaXplb2YoZTgyMF9z aWcpKSkpIHsKPj4gKwkJCXRwID0gX192YShtb2RhZGRyLT5wYWRkcik7Cj4+ICsJCQllcCA9IChz dHJ1Y3QgYm9vdF9lODIwX2VudHJ5ICopdHAtPmVudHJpZXM7Cj4+ICsKPj4gKwkJCXB2aF9ib290 cGFyYW1zLmU4MjBfZW50cmllcyA9IHRwLT5ucl9lbnRyaWVzOwo+PiArCj4+ICsJCQlmb3IgKGlk eCA9IDA7IGlkeCA8IHRwLT5ucl9lbnRyaWVzIDsgaWR4KyssIGVwKyspCj4+ICsJCQkJcHZoX2Jv b3RwYXJhbXMuZTgyMF90YWJsZVtpZHhdID0gKmVwOwo+PiArCQl9Cj4+ICAgCX0KPj4gLQlwdmhf Ym9vdHBhcmFtcy5lODIwX2VudHJpZXMgPSBtZW1tYXAubnJfZW50cmllczsKPj4gICAKPj4gICAJ aWYgKHB2aF9ib290cGFyYW1zLmU4MjBfZW50cmllcyA8IEU4MjBfTUFYX0VOVFJJRVNfWkVST1BB R0UgLSAxKSB7Cj4+ICAgCQlwdmhfYm9vdHBhcmFtcy5lODIwX3RhYmxlW3B2aF9ib290cGFyYW1z LmU4MjBfZW50cmllc10uYWRkciA9Cj4+IEBAIC01NSw4ICs4MCw5IEBAIHN0YXRpYyB2b2lkIF9f aW5pdCBpbml0X3B2aF9ib290cGFyYW1zKHZvaWQpCj4+ICAgCQlwdmhfYm9vdHBhcmFtcy5lODIw X3RhYmxlW3B2aF9ib290cGFyYW1zLmU4MjBfZW50cmllc10udHlwZSA9Cj4+ICAgCQkJRTgyMF9U WVBFX1JFU0VSVkVEOwo+PiAgIAkJcHZoX2Jvb3RwYXJhbXMuZTgyMF9lbnRyaWVzKys7Cj4+IC0J fSBlbHNlCj4+ICsJfSBlbHNlIGlmICh4ZW5fZ3Vlc3QpIHsKPj4gICAJCXhlbl9yYXdfcHJpbnRr KCJXYXJuaW5nOiBDYW4gZml0IElTQSByYW5nZSBpbnRvIGU4MjBcbiIpOwo+PiArCX0KPj4gICAK Pj4gICAJcHZoX2Jvb3RwYXJhbXMuaGRyLmNtZF9saW5lX3B0ciA9Cj4+ICAgCQlwdmhfc3RhcnRf aW5mby5jbWRsaW5lX3BhZGRyOwo+PiBAQCAtNzYsNyArMTAyLDcgQEAgc3RhdGljIHZvaWQgX19p bml0IGluaXRfcHZoX2Jvb3RwYXJhbXModm9pZCkKPj4gICAJICogZW52aXJvbm1lbnQgKGkuZS4g aGFyZHdhcmVfc3ViYXJjaCAwKS4KPj4gICAJICovCj4+ICAgCXB2aF9ib290cGFyYW1zLmhkci52 ZXJzaW9uID0gMHgyMTI7Cj4+IC0JcHZoX2Jvb3RwYXJhbXMuaGRyLnR5cGVfb2ZfbG9hZGVyID0g KDkgPDwgNCkgfCAwOyAvKiBYZW4gbG9hZGVyICovCj4+ICsJcHZoX2Jvb3RwYXJhbXMuaGRyLnR5 cGVfb2ZfbG9hZGVyID0gKCh4ZW5fZ3Vlc3QgPyAweDkgOiAweGIpIDw8IDQpIHwgMDsKPj4gICB9 Cj4+ICAgCj4+ICAgLyoKPj4gQEAgLTg1LDIyICsxMTEsMzIgQEAgc3RhdGljIHZvaWQgX19pbml0 IGluaXRfcHZoX2Jvb3RwYXJhbXModm9pZCkKPj4gICAgKi8KPj4gICB2b2lkIF9faW5pdCB4ZW5f cHJlcGFyZV9wdmgodm9pZCkKPj4gICB7Cj4+IC0JdTMyIG1zcjsKPj4gKwo+PiArCXUzMiBtc3Ig PSB4ZW5fY3B1aWRfYmFzZSgpOwo+PiAgIAl1NjQgcGZuOwo+PiArCWJvb2wgeGVuX2d1ZXN0ID0g bXNyID8gdHJ1ZSA6IGZhbHNlOwo+PiAgIAo+PiAgIAlpZiAocHZoX3N0YXJ0X2luZm8ubWFnaWMg IT0gWEVOX0hWTV9TVEFSVF9NQUdJQ19WQUxVRSkgewo+PiAtCQl4ZW5fcmF3X3ByaW50aygiRXJy b3I6IFVuZXhwZWN0ZWQgbWFnaWMgdmFsdWUgKDB4JTA4eClcbiIsCj4+IC0JCQkJcHZoX3N0YXJ0 X2luZm8ubWFnaWMpOwo+PiArCQlpZiAoeGVuX2d1ZXN0KQo+PiArCQkJeGVuX3Jhd19wcmludGso IkVycm9yOiBVbmV4cGVjdGVkIG1hZ2ljIHZhbHVlICgweCUwOHgpXG4iLAo+PiArCQkJCQlwdmhf c3RhcnRfaW5mby5tYWdpYyk7Cj4+ICAgCQlCVUcoKTsKPj4gICAJfQo+PiAgIAo+PiAtCXhlbl9w dmggPSAxOwo+PiArCWlmICh4ZW5fZ3Vlc3QpIHsKPj4gKwkJeGVuX3B2aCA9IDE7Cj4+ICsKPj4g KwkJbXNyID0gY3B1aWRfZWJ4KG1zciArIDIpOwo+PiArCQlwZm4gPSBfX3BhKGh5cGVyY2FsbF9w YWdlKTsKPj4gKwkJd3Jtc3Jfc2FmZShtc3IsICh1MzIpcGZuLCAodTMyKShwZm4gPj4gMzIpKTsK Pj4gKwo+PiArCX0gZWxzZSBpZiAoIWh5cGVydmlzb3JfY3B1aWRfYmFzZSgiS1ZNS1ZNS1ZNXDBc MFwwIiwgMCkpIHsKPj4gKwkJQlVHKCk7Cj4+ICsJfQo+PiAgIAo+PiAtCW1zciA9IGNwdWlkX2Vi eCh4ZW5fY3B1aWRfYmFzZSgpICsgMik7Cj4+IC0JcGZuID0gX19wYShoeXBlcmNhbGxfcGFnZSk7 Cj4+IC0Jd3Jtc3Jfc2FmZShtc3IsICh1MzIpcGZuLCAodTMyKShwZm4gPj4gMzIpKTsKPj4gKwlp bml0X3B2aF9ib290cGFyYW1zKHhlbl9ndWVzdCk7Cj4+ICAgCj4+IC0JaW5pdF9wdmhfYm9vdHBh cmFtcygpOwo+PiArCWlmICh4ZW5fZ3Vlc3QpCj4+ICsJCXg4Nl9pbml0Lm9lbS5hcmNoX3NldHVw ID0geGVuX3B2aF9hcmNoX3NldHVwOwo+PiAgIAo+PiAtCXg4Nl9pbml0Lm9lbS5hcmNoX3NldHVw ID0geGVuX3B2aF9hcmNoX3NldHVwOwo+PiAgIH0KPj4KCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs