From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH 4/9] x86/pv: Implement pv_hypercall() in C Date: Tue, 02 Aug 2016 07:12:53 -0600 Message-ID: <57A0B8750200007800101C92@prv-mh.provo.novell.com> References: <1468835505-7278-1-git-send-email-andrew.cooper3@citrix.com> <1468835505-7278-5-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1468835505-7278-5-git-send-email-andrew.cooper3@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper Cc: Xen-devel List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDE4LjA3LjE2IGF0IDExOjUxLCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gK2xvbmcgcHZfaHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQo+ICt7 Cj4gKyAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQ7Cj4gKyNpZm5kZWYgTkRFQlVHCj4g KyAgICB1bnNpZ25lZCBsb25nIG9sZF9yaXAgPSByZWdzLT5yaXA7Cj4gKyNlbmRpZgo+ICsgICAg bG9uZyByZXQ7Cj4gKyAgICB1aW50MzJfdCBlYXggPSByZWdzLT5lYXg7Cj4gKwo+ICsgICAgQVNT RVJUKGN1cnItPmFyY2guZmxhZ3MgJiBURl9rZXJuZWxfbW9kZSk7CgpJJ20gYWZyYWlkIFRGX2tl cm5lbF9tb2RlIGNhbid0IGJlIHJlbGllZCBvbiBmb3IgMzItYml0IGd1ZXN0cywgc28KdGhpcyBu ZWVkcyB0byBtb3ZlIGludG8gdGhlIGlmKCkgYmVsb3cuCgo+ICsgICAgaWYgKCAoZWF4ID49IE5S X2h5cGVyY2FsbHMpIHx8ICFoeXBlcmNhbGxfdGFibGVbZWF4XSApCj4gKyAgICAgICAgIHJldHVy biAtRU5PU1lTOwo+ICsKPiArICAgIGlmICggIWlzX3B2XzMyYml0X3ZjcHUoY3VycikgKQo+ICsg ICAgewo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgcmRpID0gcmVncy0+cmRpOwo+ICsgICAgICAg IHVuc2lnbmVkIGxvbmcgcnNpID0gcmVncy0+cnNpOwo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcg cmR4ID0gcmVncy0+cmR4Owo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgcjEwID0gcmVncy0+cjEw Owo+ICsgICAgICAgIHVuc2lnbmVkIGxvbmcgcjggPSByZWdzLT5yODsKPiArICAgICAgICB1bnNp Z25lZCBsb25nIHI5ID0gcmVncy0+cjk7Cj4gKwo+ICsjaWZuZGVmIE5ERUJVRwo+ICsgICAgICAg IC8qIERlbGliZXJhdGVseSBjb3JydXB0IHBhcmFtZXRlciByZWdzIG5vdCB1c2VkIGJ5IHRoaXMg aHlwZXJjYWxsLiAqLwo+ICsgICAgICAgIHN3aXRjaCAoIGh5cGVyY2FsbF9hcmdzX3RhYmxlW2Vh eF0gKQo+ICsgICAgICAgIHsKPiArICAgICAgICBjYXNlIDA6IHJkaSA9IDB4ZGVhZGJlZWZkZWFk ZjAwZFVMOwo+ICsgICAgICAgIGNhc2UgMTogcnNpID0gMHhkZWFkYmVlZmRlYWRmMDBkVUw7Cj4g KyAgICAgICAgY2FzZSAyOiByZHggPSAweGRlYWRiZWVmZGVhZGYwMGRVTDsKPiArICAgICAgICBj YXNlIDM6IHIxMCA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+ICsgICAgICAgIGNhc2UgNDogcjgg PSAweGRlYWRiZWVmZGVhZGYwMGRVTDsKPiArICAgICAgICBjYXNlIDU6IHI5ID0gMHhkZWFkYmVl ZmRlYWRmMDBkVUw7CgpXaXRob3V0IGNvbW1lbnRzLCBhcmVuJ3QgdGhlc2UgZ29pbmcgdG8gYmVj b21lIDUgbmV3IENvdmVyaXR5Cmlzc3Vlcz8KCj4gKyAgICAgICAgfQo+ICsjZW5kaWYKPiArICAg ICAgICBpZiAoIHVubGlrZWx5KHRiX2luaXRfZG9uZSkgKQo+ICsgICAgICAgIHsKPiArICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBhcmdzWzZdID0geyByZGksIHJzaSwgcmR4LCByMTAsIHI4LCBy OSB9Owo+ICsKPiArICAgICAgICAgICAgX190cmFjZV9oeXBlcmNhbGwoVFJDX1BWX0hZUEVSQ0FM TF9WMiwgZWF4LCBhcmdzKTsKPiArICAgICAgICB9Cj4gKwo+ICsgICAgICAgIHJldCA9IGh5cGVy Y2FsbF90YWJsZVtlYXhdKHJkaSwgcnNpLCByZHgsIHIxMCwgcjgsIHI5KTsKPiArCj4gKyNpZm5k ZWYgTkRFQlVHCj4gKyAgICAgICAgaWYgKCByZWdzLT5yaXAgPT0gb2xkX3JpcCApCj4gKyAgICAg ICAgewo+ICsgICAgICAgICAgICAvKiBEZWxpYmVyYXRlbHkgY29ycnVwdCBwYXJhbWV0ZXIgcmVn cyB1c2VkIGJ5IHRoaXMgaHlwZXJjYWxsLiAqLwo+ICsgICAgICAgICAgICBzd2l0Y2ggKCBoeXBl cmNhbGxfYXJnc190YWJsZVtlYXhdICkKPiArICAgICAgICAgICAgewo+ICsgICAgICAgICAgICBj YXNlIDY6IHJlZ3MtPnI5ICA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+ICsgICAgICAgICAgICBj YXNlIDU6IHJlZ3MtPnI4ICA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+ICsgICAgICAgICAgICBj YXNlIDQ6IHJlZ3MtPnIxMCA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+ICsgICAgICAgICAgICBj YXNlIDM6IHJlZ3MtPmVkeCA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+ICsgICAgICAgICAgICBj YXNlIDI6IHJlZ3MtPmVzaSA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+ICsgICAgICAgICAgICBj YXNlIDE6IHJlZ3MtPmVkaSA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwoKRm9yIGNvbnNpc3RlbmN5 IHdpdGggZWFybGllciBjb2RlLCBsZWFzZSB1c2UgcmR4LCByc2ksIGFuZCByZGkgaGVyZS4KCj4g KyNpZm5kZWYgTkRFQlVHCj4gKyAgICAgICAgaWYgKCByZWdzLT5yaXAgPT0gb2xkX3JpcCApCj4g KyAgICAgICAgewo+ICsgICAgICAgICAgICAvKiBEZWxpYmVyYXRlbHkgY29ycnVwdCBwYXJhbWV0 ZXIgcmVncyB1c2VkIGJ5IHRoaXMgaHlwZXJjYWxsLiAqLwo+ICsgICAgICAgICAgICBzd2l0Y2gg KCBjb21wYXRfaHlwZXJjYWxsX2FyZ3NfdGFibGVbZWF4XSApCj4gKyAgICAgICAgICAgIHsKPiAr ICAgICAgICAgICAgY2FzZSA2OiByZWdzLT5lYnAgPSAweGRlYWRmMDBkOwo+ICsgICAgICAgICAg ICBjYXNlIDU6IHJlZ3MtPmVkaSA9IDB4ZGVhZGYwMGQ7Cj4gKyAgICAgICAgICAgIGNhc2UgNDog cmVncy0+ZXNpID0gMHhkZWFkZjAwZDsKPiArICAgICAgICAgICAgY2FzZSAzOiByZWdzLT5lZHgg PSAweGRlYWRmMDBkOwo+ICsgICAgICAgICAgICBjYXNlIDI6IHJlZ3MtPmVjeCA9IDB4ZGVhZGYw MGQ7Cj4gKyAgICAgICAgICAgIGNhc2UgMTogcmVncy0+ZWJ4ID0gMHhkZWFkZjAwZDsKClBsZWFz ZSB1c2UgMzItYml0IHN0b3JlcyBoZXJlLgoKPiAtLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2Nv bXBhdC9lbnRyeS5TCj4gKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwo+ IEBAIC0yNSw3MCArMjUsMTAgQEAgVU5MSUtFTFlfU1RBUlQobmUsIG1zaV9jaGVjaykKPiAgICAg ICAgICBMT0FEX0NfQ0xPQkJFUkVEIGNvbXBhdD0xIGF4PTAKPiAgVU5MSUtFTFlfRU5EKG1zaV9j aGVjaykKPiAgCj4gLSAgICAgICAgbW92bCAgVVJFR1NfcmF4KCVyc3ApLCVlYXgKPiAgICAgICAg ICBHRVRfQ1VSUkVOVChieCkKPiAgCj4gLSAgICAgICAgY21wbCAgJE5SX2h5cGVyY2FsbHMsJWVh eAo+IC0gICAgICAgIGphZSAgIGNvbXBhdF9iYWRfaHlwZXJjYWxsCj4gLSNpZm5kZWYgTkRFQlVH Cj4gLSAgICAgICAgLyogRGVsaWJlcmF0ZWx5IGNvcnJ1cHQgcGFyYW1ldGVyIHJlZ3Mgbm90IHVz ZWQgYnkgdGhpcyBoeXBlcmNhbGwuICovCj4gLSAgICAgICAgcHVzaHEgVVJFR1NfcmJ4KCVyc3Ap OyBwdXNocSAlcmN4OyBwdXNocSAlcmR4OyBwdXNocSAlcnNpOyBwdXNocSAlcmRpCj4gLSAgICAg ICAgcHVzaHEgVVJFR1NfcmJwKzUqOCglcnNwKQo+IC0gICAgICAgIGxlYXEgIGNvbXBhdF9oeXBl cmNhbGxfYXJnc190YWJsZSglcmlwKSwlcjEwCj4gLSAgICAgICAgbW92bCAgJDYsJWVjeAo+IC0g ICAgICAgIHN1YmIgICglcjEwLCVyYXgsMSksJWNsCj4gLSAgICAgICAgbW92cSAgJXJzcCwlcmRp Cj4gLSAgICAgICAgbW92bCAgJDB4REVBREJFRUYsJWVheAo+IC0gICAgICAgIHJlcCAgIHN0b3Nx Cj4gLSAgICAgICAgcG9wcSAgJXI4IDsgcG9wcSAgJXI5IDsgeGNoZ2wgJXI4ZCwlcjlkIC8qIEFy Z3MgNSY2OiB6ZXJvIGV4dGVuZCAqLwo+IC0gICAgICAgIHBvcHEgICVyZHg7IHBvcHEgICVyY3g7 IHhjaGdsICVlZHgsJWVjeCAvKiBBcmdzIDMmNDogemVybyBleHRlbmQgKi8KPiAtICAgICAgICBw b3BxICAlcmRpOyBwb3BxICAlcnNpOyB4Y2hnbCAlZWRpLCVlc2kgLyogQXJncyAxJjI6IHplcm8g ZXh0ZW5kICovCj4gLSAgICAgICAgbW92bCAgVVJFR1NfcmF4KCVyc3ApLCVlYXgKPiAtICAgICAg ICBwdXNocSAlcmF4Cj4gLSAgICAgICAgcHVzaHEgVVJFR1NfcmlwKzgoJXJzcCkKPiAtI2RlZmlu ZSBTSEFET1dfQllURVMgMTYgLyogU2hhZG93IEVJUCArIHNoYWRvdyBoeXBlcmNhbGwgIyAqLwo+ IC0jZWxzZQo+IC0gICAgICAgIC8qIFJlbG9jYXRlIGFyZ3VtZW50IHJlZ2lzdGVycyBhbmQgemVy by1leHRlbmQgdG8gNjQgYml0cy4gKi8KPiAtICAgICAgICB4Y2hnbCAlZWN4LCVlc2kgICAgICAg ICAgICAgIC8qIEFyZyAyLCBBcmcgNCAqLwo+IC0gICAgICAgIG1vdmwgICVlZHgsJWVkeCAgICAg ICAgICAgICAgLyogQXJnIDMgICAgICAgICovCj4gLSAgICAgICAgbW92bCAgJWVkaSwlcjhkICAg ICAgICAgICAgICAvKiBBcmcgNSAgICAgICAgKi8KPiAtICAgICAgICBtb3ZsICAlZWJwLCVyOWQg ICAgICAgICAgICAgIC8qIEFyZyA2ICAgICAgICAqLwo+IC0gICAgICAgIG1vdmwgIFVSRUdTX3Ji eCglcnNwKSwlZWRpICAgLyogQXJnIDEgICAgICAgICovCj4gLSNkZWZpbmUgU0hBRE9XX0JZVEVT IDAgIC8qIE5vIG9uLXN0YWNrIHNoYWRvdyBzdGF0ZSAqLwo+IC0jZW5kaWYKPiAtICAgICAgICBj bXBiICAkMCx0Yl9pbml0X2RvbmUoJXJpcCkKPiAtVU5MSUtFTFlfU1RBUlQobmUsIGNvbXBhdF90 cmFjZSkKPiAtICAgICAgICBjYWxsICBfX3RyYWNlX2h5cGVyY2FsbF9lbnRyeQo+IC0gICAgICAg IC8qIFJlc3RvcmUgdGhlIHJlZ2lzdGVycyB0aGF0IF9fdHJhY2VfaHlwZXJjYWxsX2VudHJ5IGNs b2JiZXJlZC4gKi8KPiAtICAgICAgICBtb3ZsICBVUkVHU19yYXgrU0hBRE9XX0JZVEVTKCVyc3Ap LCVlYXggICAvKiBIeXBlcmNhbGwgIyAgKi8KPiAtICAgICAgICBtb3ZsICBVUkVHU19yYngrU0hB RE9XX0JZVEVTKCVyc3ApLCVlZGkgICAvKiBBcmcgMSAgICAgICAgKi8KPiAtICAgICAgICBtb3Zs ICBVUkVHU19yY3grU0hBRE9XX0JZVEVTKCVyc3ApLCVlc2kgICAvKiBBcmcgMiAgICAgICAgKi8K PiAtICAgICAgICBtb3ZsICBVUkVHU19yZHgrU0hBRE9XX0JZVEVTKCVyc3ApLCVlZHggICAvKiBB cmcgMyAgICAgICAgKi8KPiAtICAgICAgICBtb3ZsICBVUkVHU19yc2krU0hBRE9XX0JZVEVTKCVy c3ApLCVlY3ggICAvKiBBcmcgNCAgICAgICAgKi8KPiAtICAgICAgICBtb3ZsICBVUkVHU19yZGkr U0hBRE9XX0JZVEVTKCVyc3ApLCVyOGQgICAvKiBBcmcgNSAgICAgICAgKi8KPiAtICAgICAgICBt b3ZsICBVUkVHU19yYnArU0hBRE9XX0JZVEVTKCVyc3ApLCVyOWQgICAvKiBBcmcgNiAgICAgICAg Ki8KPiAtI3VuZGVmIFNIQURPV19CWVRFUwo+IC1VTkxJS0VMWV9FTkQoY29tcGF0X3RyYWNlKQo+ IC0gICAgICAgIGxlYXEgIGNvbXBhdF9oeXBlcmNhbGxfdGFibGUoJXJpcCksJXIxMAo+IC0gICAg ICAgIFBFUkZDX0lOQ1IoaHlwZXJjYWxscywgJXJheCwgJXJieCkKPiAtICAgICAgICBjYWxscSAq KCVyMTAsJXJheCw4KQo+IC0jaWZuZGVmIE5ERUJVRwo+IC0gICAgICAgIC8qIERlbGliZXJhdGVs eSBjb3JydXB0IHBhcmFtZXRlciByZWdzIHVzZWQgYnkgdGhpcyBoeXBlcmNhbGwuICovCj4gLSAg ICAgICAgcG9wcSAgJXIxMCAgICAgICAgICMgU2hhZG93IFJJUAo+IC0gICAgICAgIGNtcHEgICVy MTAsVVJFR1NfcmlwKzgoJXJzcCkKPiAtICAgICAgICBwb3BxICAlcmN4ICAgICAgICAgIyBTaGFk b3cgaHlwZXJjYWxsIGluZGV4Cj4gLSAgICAgICAgam5lICAgY29tcGF0X3NraXBfY2xvYmJlciAv KiBJZiBSSVAgaGFzIGNoYW5nZWQgdGhlbiBkb24ndCBjbG9iYmVyLiAqLwo+IC0gICAgICAgIGxl YXEgIGNvbXBhdF9oeXBlcmNhbGxfYXJnc190YWJsZSglcmlwKSwlcjEwCj4gLSAgICAgICAgbW92 YiAgKCVyMTAsJXJjeCwxKSwlY2wKPiAtICAgICAgICBtb3ZsICAkMHhERUFEQkVFRiwlcjEwZAo+ IC0gICAgICAgIHRlc3RiICVjbCwlY2w7IGp6IGNvbXBhdF9za2lwX2Nsb2JiZXI7IG1vdmwgJXIx MGQsVVJFR1NfcmJ4KCVyc3ApCj4gLSAgICAgICAgY21wYiAgJDIsICVjbDsgamIgY29tcGF0X3Nr aXBfY2xvYmJlcjsgbW92bCAlcjEwZCxVUkVHU19yY3goJXJzcCkKPiAtICAgICAgICBjbXBiICAk MywgJWNsOyBqYiBjb21wYXRfc2tpcF9jbG9iYmVyOyBtb3ZsICVyMTBkLFVSRUdTX3JkeCglcnNw KQo+IC0gICAgICAgIGNtcGIgICQ0LCAlY2w7IGpiIGNvbXBhdF9za2lwX2Nsb2JiZXI7IG1vdmwg JXIxMGQsVVJFR1NfcnNpKCVyc3ApCj4gLSAgICAgICAgY21wYiAgJDUsICVjbDsgamIgY29tcGF0 X3NraXBfY2xvYmJlcjsgbW92bCAlcjEwZCxVUkVHU19yZGkoJXJzcCkKPiAtICAgICAgICBjbXBi ICAkNiwgJWNsOyBqYiBjb21wYXRfc2tpcF9jbG9iYmVyOyBtb3ZsICVyMTBkLFVSRUdTX3JicCgl cnNwKQo+IC1jb21wYXRfc2tpcF9jbG9iYmVyOgo+IC0jZW5kaWYKPiArICAgICAgICBtb3YgICAl cnNwLCAlcmRpCj4gKyAgICAgICAgY2FsbCAgcHZfaHlwZXJjYWxsCj4gICAgICAgICAgbW92bCAg JWVheCxVUkVHU19yYXgoJXJzcCkgICAgICAgIyBzYXZlIHRoZSByZXR1cm4gdmFsdWUKClRvIGZv bGxvdyB0aGUgSFZNIG1vZGVsLCB0aGlzIHNob3VsZCBhbHNvIG1vdmUgaW50byBDLgoKSmFuCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK