From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH v4 04/34] HYPERCALL_version_op. New hypercall mirroring XENVER_ but sane. Date: Tue, 15 Mar 2016 18:29:12 +0000 Message-ID: <56E85478.5070408@citrix.com> References: <1458064616-23101-1-git-send-email-konrad.wilk@oracle.com> <1458064616-23101-5-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1aftiX-0000Ps-LV for xen-devel@lists.xenproject.org; Tue, 15 Mar 2016 18:29:17 +0000 In-Reply-To: <1458064616-23101-5-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk , xen-devel@lists.xenproject.org, ross.lagerwall@citrix.com, konrad@kernel.org, mpohlack@amazon.de, sasha.levin@oracle.com Cc: Wei Liu , Stefano Stabellini , Ian Jackson , Julien Grall , Stefano Stabellini , Jan Beulich , Keir Fraser , Daniel De Graaf List-Id: xen-devel@lists.xenproject.org T24gMTUvMDMvMTYgMTc6NTYsIEtvbnJhZCBSemVzenV0ZWsgV2lsayB3cm90ZToKPiBAQCAtMzg4 LDYgKzM5NSwxODggQEAgRE8oeGVuX3ZlcnNpb24pKGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVf UEFSQU0odm9pZCkgYXJnKQo+ICAgICAgcmV0dXJuIC1FTk9TWVM7Cj4gIH0KPiAgCj4gK3N0YXRp YyBjb25zdCBjaGFyICpjYXBhYmlsaXRpZXNfaW5mbyhzc2l6ZV90ICpsZW4pCj4gK3sKPiArICAg IHN0YXRpYyB4ZW5fY2FwYWJpbGl0aWVzX2luZm9fdCBjYWNoZWRfY2FwOwo+ICsgICAgc3RhdGlj IHVuc2lnbmVkIGludCBjYWNoZWRfY2FwX2xlbjsKPiArICAgIHN0YXRpYyBib29sX3QgY2FjaGVk Owo+ICsKPiArICAgIGlmICggY2FjaGVkICkKCkkgYW0gc3VycHJpc2VkIHRoYXQgQ292ZXJpdHkg ZGlkbid0IGNvbXBsYWluIGFib3V0IHRoaXMgYmVpbmcgdW51c2VkLi4uCgo+ICsgICAgewo+ICsg ICAgICAgICpsZW4gPSBjYWNoZWRfY2FwX2xlbjsKPiArICAgICAgICByZXR1cm4gY2FjaGVkX2Nh cDsKPiArICAgIH0KPiArICAgIGFyY2hfZ2V0X3hlbl9jYXBzKCZjYWNoZWRfY2FwKTsKPiArICAg IGNhY2hlZF9jYXBfbGVuID0gc3RybGVuKGNhY2hlZF9jYXApICsgMTsKPiArCj4gKyAgICAqbGVu ID0gY2FjaGVkX2NhcF9sZW47Cj4gKyAgICByZXR1cm4gY2FjaGVkX2NhcDsKCllvdSBjYW4gdHVy biB0aGUgbG9naWMgYXJvdW5kIGFzCgppZiAoIHVubGlrbGVseSghY2FjaGVkKSApCnsKICAgIGFy Y2hfZ2V0X3hlbl9jYXBzKCZjYWNoZWRfY2FwKTsKICAgIGNhY2hlZF9jYXBfbGVuID0gc3RybGVu KGNhY2hlZF9jYXApICsgMTsKICAgIGNhY2hlZCA9IDE7Cn0KCmFuZCBoYXZlIGEgc2luZ2xlIHJl dHVybiBwYXRoLgoKPiArfQo+ICsKPiArc3RhdGljIGludCBzaXplX29mX3N1Ym9wc19kYXRhKHVu c2lnbmVkIGludCBjbWQsIHNzaXplX3QgKnN6KQo+ICt7Cj4gKyAgICBpbnQgcmMgPSAwOwo+ICsg ICAgLyogQ29tcHV0ZSBzaXplLiAqLwo+ICsgICAgc3dpdGNoICggY21kICkKPiArICAgIHsKPiAr ICAgIGNhc2UgWEVOX1ZFUlNJT05fT1BfdmVyc2lvbjoKPiArICAgICAgICAqc3ogPSBzaXplb2Yo eGVuX3ZlcnNpb25fb3BfdmFsX3QpOwo+ICsgICAgICAgIGJyZWFrOwo+ICsKPiArICAgIGNhc2Ug WEVOX1ZFUlNJT05fT1BfZXh0cmF2ZXJzaW9uOgo+ICsgICAgICAgICpzeiA9IHN0cmxlbih4ZW5f ZXh0cmFfdmVyc2lvbigpKSArIDE7Cj4gKyAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgY2FzZSBY RU5fVkVSU0lPTl9PUF9jYXBhYmlsaXRpZXM6Cj4gKyAgICAgICAgY2FwYWJpbGl0aWVzX2luZm8o c3opOwo+ICsgICAgICAgIGJyZWFrOwo+ICsKPiArICAgIGNhc2UgWEVOX1ZFUlNJT05fT1BfcGxh dGZvcm1fcGFyYW1ldGVyczoKPiArICAgICAgICAqc3ogPSBzaXplb2YoeGVuX3ZlcnNpb25fb3Bf dmFsX3QpOwo+ICsgICAgICAgIGJyZWFrOwo+ICsKPiArICAgIGNhc2UgWEVOX1ZFUlNJT05fT1Bf Y2hhbmdlc2V0Ogo+ICsgICAgICAgICpzeiA9IHN0cmxlbih4ZW5fY2hhbmdlc2V0KCkpICsgMTsK PiArICAgICAgICBicmVhazsKPiArCj4gKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX2dldF9mZWF0 dXJlczoKPiArICAgICAgICAqc3ogPSBzaXplb2YoeGVuX2ZlYXR1cmVfaW5mb190KTsKPiArICAg ICAgICBicmVhazsKPiArCj4gKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX3BhZ2VzaXplOgo+ICsg ICAgICAgICpzeiA9IHNpemVvZih4ZW5fdmVyc2lvbl9vcF92YWxfdCk7Cj4gKyAgICAgICAgYnJl YWs7Cj4gKwo+ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9ndWVzdF9oYW5kbGU6Cj4gKyAgICAg ICAgKnN6ID0gQVJSQVlfU0laRShjdXJyZW50LT5kb21haW4tPmhhbmRsZSk7Cj4gKyAgICAgICAg YnJlYWs7Cj4gKwo+ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9jb21tYW5kbGluZToKPiArICAg ICAgICAqc3ogPSBBUlJBWV9TSVpFKHNhdmVkX2NtZGxpbmUpOwo+ICsgICAgICAgIGJyZWFrOwo+ ICsKPiArICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgcmMgPSAtRU5PU1lTOwo+ICsgICAgfQo+ICsK PiArICAgIHJldHVybiByYzsKPiArfQo+ICsKPiArLyoKPiArICogU2ltaWxhciB0byBIWVBFUlZJ U09SX3hlbl92ZXJzaW9uIGJ1dCB3aXRoIGEgc2FuZSBpbnRlcmZhY2UKPiArICogKGhhcyBhIGxl bmd0aCwgb25lIGNhbiBwcm9iZSBmb3IgdGhlIGxlbmd0aCkgYW5kIHdpdGggb25lIGxlc3Mgc3Vi LW9wczoKPiArICogbWlzc2luZyBYRU5WRVJfY29tcGlsZV9pbmZvLgo+ICsgKi8KPiArRE8odmVy c2lvbl9vcCkodW5zaWduZWQgaW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBh cmcsCj4gKyAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBsZW4pCj4gK3sKPiArICAgIHVuaW9u IHsKPiArICAgICAgICB4ZW5fdmVyc2lvbl9vcF92YWxfdCBuOwo+ICsgICAgICAgIHhlbl9mZWF0 dXJlX2luZm9fdCBmaTsKPiArICAgIH0gdTsKCj0ge307IGFuZCB5b3UgY2FuIGZvcmdvIHRoZSBl eHBsaWNpdCBtZW1zZXQoKSBiZWxvdy4KCj4gKyAgICBzc2l6ZV90IHN6ID0gMDsKPiArICAgIGNv bnN0IHZvaWQgKnB0ciA9IE5VTEw7Cj4gKyAgICBpbnQgcmMgPSB4c21fdmVyc2lvbl9vcChYU01f T1RIRVIsIGNtZCk7Cj4gKwo+ICsgICAgLyogV2UgY2FuIHNhZmVseSByZXR1cm4gLUVQRVJNISAq Lwo+ICsgICAgaWYgKCByYyApCj4gKyAgICAgICAgcmV0dXJuIHJjOwo+ICsKPiArICAgIHJjID0g c2l6ZV9vZl9zdWJvcHNfZGF0YShjbWQsICZzeik7Cj4gKyAgICBpZiAoIHJjICkKPiArICAgICAg ICByZXR1cm4gcmM7Cj4gKwo+ICsgICAgLyogU29tZSBvZiB0aGUgc3Vib3BzIG1heSBoYXZlIG5v IGRhdGEuICovCj4gKyAgICBpZiAoICFzeiApCj4gKyAgICAgICAgcmV0dXJuIDA7CgpSZWFsbHk/ IEkgd291bGQgaGF2ZSB0aG91Z2h0IGl0IHdvdWxkIGJlIHJlYXNvbmFibGUgdG8gYXNzZXJ0IHRo YXQKZWl0aGVyIHN6ICE9IDAgYWZ0ZXIgdGhlIHJjICE9IDAgcmV0dXJuLgoKPiArICAgIC8qCj4g KyAgICAgKiBUaGlzIGh5cGVyY2FsbCBhbHNvIGFsbG93cyB0aGUgY2xpZW50IHRvIHByb2JlLiBJ ZiBpdCBwcm92aWRlcwo+ICsgICAgICogYSBOVUxMIGFyZyB3ZSB3aWxsIHJldHVybiB0aGUgc2l6 ZSBvZiB0aGUgc3BhY2UgaXQgaGFzIHRvCj4gKyAgICAgKiBhbGxvY2F0ZSBmb3IgdGhlIHNwZWNp ZmljIHN1Yi1vcC4KPiArICAgICAqLwo+ICsgICAgaWYgKCBndWVzdF9oYW5kbGVfaXNfbnVsbChh cmcpICkKPiArICAgICAgICByZXR1cm4gc3o7Cj4gKwo+ICsgICAgbWVtc2V0KCZ1LCAwLCBzaXpl b2YodSkpOwo+ICsgICAgLyoKPiArICAgICAqIFRoZSBIWVBFUlZJU09SX3hlbl92ZXJzaW9uIGRp ZmZlcnMgaW4gdGhhdCBzb21lIHJldHVybiB0aGUgdmFsdWUsCj4gKyAgICAgKiBhbmQgc29tZSBj b3B5IGl0IG9uIGJhY2sgb24gYXJndW1lbnQuIFdlIGZvbGxvdyB0aGUgc2FtZSBydWxlIGZvciBh bGwKPiArICAgICAqIHN1Yi1vcHM6IHJldHVybiAwIG9uIHN1Y2Nlc3MsIHBvc2l0aXZlIHZhbHVl IG9mIGJ5dGVzIHJldHVybmVkLCBhbmQKPiArICAgICAqIGFsd2F5cyBjb3B5IHRoZSByZXN1bHQg aW4gYXJnLiBZZWV5IHNhbml0eSEKPiArICAgICAqLwo+ICsKPiArICAgIHJjID0gMDsKCnJjIGlz IGd1YXJhbnRlZWQgdG8gYmUgMCBhdCB0aGlzIHBvaW50LgoKPiArICAgIHN3aXRjaCAoIGNtZCAp Cj4gKyAgICB7Cj4gKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX3ZlcnNpb246Cj4gKyAgICAgICAg dS5uID0gKHhlbl9tYWpvcl92ZXJzaW9uKCkgPDwgMTYpIHwgeGVuX21pbm9yX3ZlcnNpb24oKTsK PiArICAgICAgICBicmVhazsKPiArCj4gKyAgICBjYXNlIFhFTl9WRVJTSU9OX09QX2V4dHJhdmVy c2lvbjoKPiArICAgICAgICBwdHIgPSB4ZW5fZXh0cmFfdmVyc2lvbigpOwo+ICsgICAgICAgIGJy ZWFrOwo+ICsKPiArICAgIGNhc2UgWEVOX1ZFUlNJT05fT1BfY2FwYWJpbGl0aWVzOgo+ICsgICAg ICAgIHB0ciA9IGNhcGFiaWxpdGllc19pbmZvKCZzeik7Cj4gKyAgICAgICAgYnJlYWs7Cj4gKwo+ ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9wbGF0Zm9ybV9wYXJhbWV0ZXJzOgo+ICsgICAgICAg IHUubiA9IEhZUEVSVklTT1JfVklSVF9TVEFSVDsKPiArICAgICAgICBicmVhazsKPiArCj4gKyAg ICBjYXNlIFhFTl9WRVJTSU9OX09QX2NoYW5nZXNldDoKPiArICAgICAgICBwdHIgPSB4ZW5fY2hh bmdlc2V0KCk7Cj4gKyAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9P UF9nZXRfZmVhdHVyZXM6Cj4gKyAgICAgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3QoJnUuZmksIGFy ZywgMSkgKQo+ICsgICAgICAgIHsKPiArICAgICAgICAgICAgcmMgPSAtRUZBVUxUOwo+ICsgICAg ICAgICAgICBicmVhazsKPiArICAgICAgICB9Cj4gKyAgICAgICAgcmMgPSBnZXRfZmVhdHVyZXMo Y3VycmVudC0+ZG9tYWluLCAmdS5maSk7Cj4gKyAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgY2Fz ZSBYRU5fVkVSU0lPTl9PUF9wYWdlc2l6ZToKPiArICAgICAgICB1Lm4gPSBQQUdFX1NJWkU7Cj4g KyAgICAgICAgYnJlYWs7Cj4gKwo+ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9ndWVzdF9oYW5k bGU6Cj4gKyAgICAgICAgcHRyID0gY3VycmVudC0+ZG9tYWluLT5oYW5kbGU7Cj4gKyAgICAgICAg YnJlYWs7Cj4gKwo+ICsgICAgY2FzZSBYRU5fVkVSU0lPTl9PUF9jb21tYW5kbGluZToKPiArICAg ICAgICBwdHIgPSBzYXZlZF9jbWRsaW5lOwo+ICsgICAgICAgIGJyZWFrOwo+ICsKPiArICAgIGRl ZmF1bHQ6Cj4gKyAgICAgICAgcmMgPSAtRU5PU1lTOwo+ICsgICAgfQo+ICsKPiArICAgIGlmICgg IXJjICkKPiArICAgIHsKPiArICAgICAgICBzc2l6ZV90IGJ5dGVzOwo+ICsKPiArICAgICAgICBp ZiAoIHN6ID4gbGVuICkKPiArICAgICAgICAgICAgYnl0ZXMgPSBsZW47Cj4gKyAgICAgICAgZWxz ZQo+ICsgICAgICAgICAgICBieXRlcyA9IHN6Owo+ICsKPiArICAgICAgICBpZiAoIGNvcHlfdG9f Z3Vlc3QoYXJnLCBwdHIgPyBwdHIgOiAmdSwgYnl0ZXMpICkKCkNhbiBiZSBzaG9ydGVuZWQgdG8g cHRyID86ICZ1Cgo+ICsgICAgICAgICAgICByYyA9IC1FRkFVTFQ7Cj4gKyAgICB9Cj4gKyAgICBp ZiAoICFyYyApCj4gKyAgICB7Cj4gKyAgICAgICAgLyoKPiArICAgICAgICAgKiBXZSByZXR1cm4g bGVuICh0cnVuY2F0ZSkgd29ydGggb2YgZGF0YSBldmVuIGlmIHdlIGZhaWwuCj4gKyAgICAgICAg ICovCj4gKyAgICAgICAgaWYgKCBzeiA+IGxlbiApCj4gKyAgICAgICAgICAgIHJjID0gLUVOT0JV RlM7CgpUaGlzIG5lZWRzIHRvIGJlIGluIHRoZSBwcmV2aW91cyBpZigpIGNsYXVzZSB0byBhdm9p ZCBvdmVycmlkaW5nIC1FRkFVTFQKd2l0aCAtRU5PQlVGUy4KCj4gKwo+ICsvKgo+ICsgKiBUaGUg SFlQRVJDQUxMX3ZlcnNpb25fb3AgaGFzIGEgc2V0IG9mIHN1Yi1vcHMgd2hpY2ggbWlycm9yIHRo ZQo+ICsgKiBzdWItb3BzIG9mIEhZUEVSQ0FMTF94ZW5fdmVyc2lvbi4gSG93ZXZlciB0aGlzIGh5 cGVyY2FsbCBkaWZmZXJzCj4gKyAqIHJhZGljYWxseSBmcm9tIHRoZSBmb3JtZXI6Cj4gKyAqICAt IEl0IHJldHVybnMgdGhlIGFtb3VudCBvZiBieXRlcyByZXR1cm5lZC4KPiArICogIC0gSXQgd2ls bCByZXR1cm4gLVhFTl9FUEVSTSBpZiB0aGUgZ3Vlc3QgaXMgbm90IHBlcm1pdHRlZC4KPiArICog IC0gSXQgd2lsbCByZXR1cm4gdGhlIHJlcXVlc3RlZCBkYXRhIGluIGFyZy4KPiArICogIC0gSXQg cmVxdWlyZXMgYW4gdGhpcmQgYXJndW1lbnQgKGxlbikgZm9yIHRoZSBsZW5ndGggb2YgdGhlCj4g KyAqICAgIGFyZy4gTmF0dXJhbGx5IHRoZSBhcmcgaGFzIHRvIGZpdCB0aGUgcmVxdWVzdGVkIGRh dGEgb3RoZXJ3aXNlCj4gKyAqICAgIC1YRU5fRU5PQlVGUyBpcyByZXR1cm5lZC4KPiArICoKPiAr ICogSXQgYWxzbyBvZmZlcnMgYW4gbWVjaGFuaXNtIHRvIHByb2JlIGZvciB0aGUgYW1vdW50IG9m IGJ5dGVzIGFuCj4gKyAqIHN1Yi1vcCB3aWxsIHJlcXVpcmUuIEhhdmluZyB0aGUgYXJnIGhhdmUg YW4gTlVMTCBwb2ludGVyIHdpbGwKPiArICogcmV0dXJuIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVx dWVzdGVkIGZvciB0aGUgb3BlcmF0aW9uLiBPciBhbgo+ICsgKiBuZWdhdGl2ZSB2YWx1ZSBpZiBh biBlcnJvciBpcyBlbmNvdW50ZXJlZC4KPiArICovCj4gKwo+ICt0eXBlZGVmIHVpbnQ2NF90IHhl bl92ZXJzaW9uX29wX3ZhbF90Owo+ICtERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fdmVyc2lv bl9vcF92YWxfdCk7Cj4gKwo+ICt0eXBlZGVmIHVuc2lnbmVkIGNoYXIgeGVuX3ZlcnNpb25fb3Bf YnVmX3RbXTsKPiArREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUoeGVuX3ZlcnNpb25fb3BfYnVmX3Qp OwoKU3RyaWN0bHkgc3BlYWtpbmcgdGhpcyBzaG91bGQgYmUgYSB2b2lkKiBndWVzdCBoYW5kbGUs IGFzIG5vdCBhbGwgZGF0YQppcyByZXR1cm5lZCB2aWEgdGhpcyBtZWNoYW5pc20gaXMgdW5zaWdu ZWQgY2hhci4KCj4gKwo+ICsvKiBhcmcgPT0gdmVyc2lvbl9vcF92YWxfdC4gRW5jb2RlZCBhcyBt YWpvcjptaW5vciAoMzEuLjE2OjE1Li4wKSAqLwo+ICsjZGVmaW5lIFhFTl9WRVJTSU9OX09QX3Zl cnNpb24gICAgICAwCj4gKwo+ICsvKiBhcmcgPT0gdmVyc2lvbl9vcF9idWYuICovCj4gKyNkZWZp bmUgWEVOX1ZFUlNJT05fT1BfZXh0cmF2ZXJzaW9uIDEKPiArCj4gKy8qIGFyZyA9PSB2ZXJzaW9u X29wX2J1ZiAqLwo+ICsjZGVmaW5lIFhFTl9WRVJTSU9OX09QX2NhcGFiaWxpdGllcyAzCj4gKwo+ ICsvKiBhcmcgPT0gdmVyc2lvbl9vcF9idWYgKi8KPiArI2RlZmluZSBYRU5fVkVSU0lPTl9PUF9j aGFuZ2VzZXQgNAoKTWlnaHQgYmUgd29ydGggc3RhdGluZyB0aGF0IHRoZXNlIHJldHVybiBOVUwg dGVybWluYXRlZCB1dGYtOCBzdHJpbmdzPwoKfkFuZHJldwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK