From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH 4/9] x86/pv: Implement pv_hypercall() in C Date: Tue, 2 Aug 2016 15:06:03 +0100 Message-ID: <331cd9dd-c628-d8bb-b294-6d21a2b49256@citrix.com> References: <1468835505-7278-1-git-send-email-andrew.cooper3@citrix.com> <1468835505-7278-5-git-send-email-andrew.cooper3@citrix.com> <57A0B8750200007800101C92@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57A0B8750200007800101C92@prv-mh.provo.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Jan Beulich Cc: Xen-devel List-Id: xen-devel@lists.xenproject.org T24gMDIvMDgvMTYgMTQ6MTIsIEphbiBCZXVsaWNoIHdyb3RlOgo+Pj4+IE9uIDE4LjA3LjE2IGF0 IDExOjUxLCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6Cj4+ICtsb25nIHB2X2h5 cGVyY2FsbChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKPj4gK3sKPj4gKyAgICBzdHJ1Y3Qg dmNwdSAqY3VyciA9IGN1cnJlbnQ7Cj4+ICsjaWZuZGVmIE5ERUJVRwo+PiArICAgIHVuc2lnbmVk IGxvbmcgb2xkX3JpcCA9IHJlZ3MtPnJpcDsKPj4gKyNlbmRpZgo+PiArICAgIGxvbmcgcmV0Owo+ PiArICAgIHVpbnQzMl90IGVheCA9IHJlZ3MtPmVheDsKPj4gKwo+PiArICAgIEFTU0VSVChjdXJy LT5hcmNoLmZsYWdzICYgVEZfa2VybmVsX21vZGUpOwo+IEknbSBhZnJhaWQgVEZfa2VybmVsX21v ZGUgY2FuJ3QgYmUgcmVsaWVkIG9uIGZvciAzMi1iaXQgZ3Vlc3RzLCBzbwo+IHRoaXMgbmVlZHMg dG8gbW92ZSBpbnRvIHRoZSBpZigpIGJlbG93LgoKSW4gd2hpY2ggY2FzZSBpdCBzaG91bGQgYmVj b21lIEFTU0VSVChndWVzdF9tb2RlX2tlcm5lbChjdXJyLCByZWdzKSkKCj4KPj4gKyAgICBpZiAo IChlYXggPj0gTlJfaHlwZXJjYWxscykgfHwgIWh5cGVyY2FsbF90YWJsZVtlYXhdICkKPj4gKyAg ICAgICAgIHJldHVybiAtRU5PU1lTOwo+PiArCj4+ICsgICAgaWYgKCAhaXNfcHZfMzJiaXRfdmNw dShjdXJyKSApCj4+ICsgICAgewo+PiArICAgICAgICB1bnNpZ25lZCBsb25nIHJkaSA9IHJlZ3Mt PnJkaTsKPj4gKyAgICAgICAgdW5zaWduZWQgbG9uZyByc2kgPSByZWdzLT5yc2k7Cj4+ICsgICAg ICAgIHVuc2lnbmVkIGxvbmcgcmR4ID0gcmVncy0+cmR4Owo+PiArICAgICAgICB1bnNpZ25lZCBs b25nIHIxMCA9IHJlZ3MtPnIxMDsKPj4gKyAgICAgICAgdW5zaWduZWQgbG9uZyByOCA9IHJlZ3Mt PnI4Owo+PiArICAgICAgICB1bnNpZ25lZCBsb25nIHI5ID0gcmVncy0+cjk7Cj4+ICsKPj4gKyNp Zm5kZWYgTkRFQlVHCj4+ICsgICAgICAgIC8qIERlbGliZXJhdGVseSBjb3JydXB0IHBhcmFtZXRl ciByZWdzIG5vdCB1c2VkIGJ5IHRoaXMgaHlwZXJjYWxsLiAqLwo+PiArICAgICAgICBzd2l0Y2gg KCBoeXBlcmNhbGxfYXJnc190YWJsZVtlYXhdICkKPj4gKyAgICAgICAgewo+PiArICAgICAgICBj YXNlIDA6IHJkaSA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+PiArICAgICAgICBjYXNlIDE6IHJz aSA9IDB4ZGVhZGJlZWZkZWFkZjAwZFVMOwo+PiArICAgICAgICBjYXNlIDI6IHJkeCA9IDB4ZGVh ZGJlZWZkZWFkZjAwZFVMOwo+PiArICAgICAgICBjYXNlIDM6IHIxMCA9IDB4ZGVhZGJlZWZkZWFk ZjAwZFVMOwo+PiArICAgICAgICBjYXNlIDQ6IHI4ID0gMHhkZWFkYmVlZmRlYWRmMDBkVUw7Cj4+ ICsgICAgICAgIGNhc2UgNTogcjkgPSAweGRlYWRiZWVmZGVhZGYwMGRVTDsKPiBXaXRob3V0IGNv bW1lbnRzLCBhcmVuJ3QgdGhlc2UgZ29pbmcgdG8gYmVjb21lIDUgbmV3IENvdmVyaXR5Cj4gaXNz dWVzPwoKVGhlcmUgYXJlIG5vIGN1cnJlbnQgd2FybmluZ3MgZnJvbSB0aGUgSFZNIHNpZGUsIHNv IEkgZG91YnQgaXQuIApDb3Zlcml0aWVzJyBsb2dpYyBpcyByYXRoZXIgY29tcGxpY2F0ZWQsIGJ1 dCBpbiB0aGlzIGNhc2UgSSB0aGluayB0aGUKbGFjayBvZiBhbnkgYnJlYWsgc3RhdGVtZW50cyBh dCBhbGwgaXMgYSBzdWZmaWNpZW50IGhpbnQgdGhhdCBpdHMgZmluZS4KCj4KPj4gLS0tIGEveGVu L2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwo+PiArKysgYi94ZW4vYXJjaC94ODYveDg2 XzY0L2NvbXBhdC9lbnRyeS5TCj4+IEBAIC0yNSw3MCArMjUsMTAgQEAgVU5MSUtFTFlfU1RBUlQo bmUsIG1zaV9jaGVjaykKPj4gICAgICAgICAgTE9BRF9DX0NMT0JCRVJFRCBjb21wYXQ9MSBheD0w Cj4+ICBVTkxJS0VMWV9FTkQobXNpX2NoZWNrKQo+PiAgCj4+IC0gICAgICAgIG1vdmwgIFVSRUdT X3JheCglcnNwKSwlZWF4Cj4+ICAgICAgICAgIEdFVF9DVVJSRU5UKGJ4KQo+PiAgCj4+IC0gICAg ICAgIGNtcGwgICROUl9oeXBlcmNhbGxzLCVlYXgKPj4gLSAgICAgICAgamFlICAgY29tcGF0X2Jh ZF9oeXBlcmNhbGwKPj4gLSNpZm5kZWYgTkRFQlVHCj4+IC0gICAgICAgIC8qIERlbGliZXJhdGVs eSBjb3JydXB0IHBhcmFtZXRlciByZWdzIG5vdCB1c2VkIGJ5IHRoaXMgaHlwZXJjYWxsLiAqLwo+ PiAtICAgICAgICBwdXNocSBVUkVHU19yYngoJXJzcCk7IHB1c2hxICVyY3g7IHB1c2hxICVyZHg7 IHB1c2hxICVyc2k7IHB1c2hxICVyZGkKPj4gLSAgICAgICAgcHVzaHEgVVJFR1NfcmJwKzUqOCgl cnNwKQo+PiAtICAgICAgICBsZWFxICBjb21wYXRfaHlwZXJjYWxsX2FyZ3NfdGFibGUoJXJpcCks JXIxMAo+PiAtICAgICAgICBtb3ZsICAkNiwlZWN4Cj4+IC0gICAgICAgIHN1YmIgICglcjEwLCVy YXgsMSksJWNsCj4+IC0gICAgICAgIG1vdnEgICVyc3AsJXJkaQo+PiAtICAgICAgICBtb3ZsICAk MHhERUFEQkVFRiwlZWF4Cj4+IC0gICAgICAgIHJlcCAgIHN0b3NxCj4+IC0gICAgICAgIHBvcHEg ICVyOCA7IHBvcHEgICVyOSA7IHhjaGdsICVyOGQsJXI5ZCAvKiBBcmdzIDUmNjogemVybyBleHRl bmQgKi8KPj4gLSAgICAgICAgcG9wcSAgJXJkeDsgcG9wcSAgJXJjeDsgeGNoZ2wgJWVkeCwlZWN4 IC8qIEFyZ3MgMyY0OiB6ZXJvIGV4dGVuZCAqLwo+PiAtICAgICAgICBwb3BxICAlcmRpOyBwb3Bx ICAlcnNpOyB4Y2hnbCAlZWRpLCVlc2kgLyogQXJncyAxJjI6IHplcm8gZXh0ZW5kICovCj4+IC0g ICAgICAgIG1vdmwgIFVSRUdTX3JheCglcnNwKSwlZWF4Cj4+IC0gICAgICAgIHB1c2hxICVyYXgK Pj4gLSAgICAgICAgcHVzaHEgVVJFR1NfcmlwKzgoJXJzcCkKPj4gLSNkZWZpbmUgU0hBRE9XX0JZ VEVTIDE2IC8qIFNoYWRvdyBFSVAgKyBzaGFkb3cgaHlwZXJjYWxsICMgKi8KPj4gLSNlbHNlCj4+ IC0gICAgICAgIC8qIFJlbG9jYXRlIGFyZ3VtZW50IHJlZ2lzdGVycyBhbmQgemVyby1leHRlbmQg dG8gNjQgYml0cy4gKi8KPj4gLSAgICAgICAgeGNoZ2wgJWVjeCwlZXNpICAgICAgICAgICAgICAv KiBBcmcgMiwgQXJnIDQgKi8KPj4gLSAgICAgICAgbW92bCAgJWVkeCwlZWR4ICAgICAgICAgICAg ICAvKiBBcmcgMyAgICAgICAgKi8KPj4gLSAgICAgICAgbW92bCAgJWVkaSwlcjhkICAgICAgICAg ICAgICAvKiBBcmcgNSAgICAgICAgKi8KPj4gLSAgICAgICAgbW92bCAgJWVicCwlcjlkICAgICAg ICAgICAgICAvKiBBcmcgNiAgICAgICAgKi8KPj4gLSAgICAgICAgbW92bCAgVVJFR1NfcmJ4KCVy c3ApLCVlZGkgICAvKiBBcmcgMSAgICAgICAgKi8KPj4gLSNkZWZpbmUgU0hBRE9XX0JZVEVTIDAg IC8qIE5vIG9uLXN0YWNrIHNoYWRvdyBzdGF0ZSAqLwo+PiAtI2VuZGlmCj4+IC0gICAgICAgIGNt cGIgICQwLHRiX2luaXRfZG9uZSglcmlwKQo+PiAtVU5MSUtFTFlfU1RBUlQobmUsIGNvbXBhdF90 cmFjZSkKPj4gLSAgICAgICAgY2FsbCAgX190cmFjZV9oeXBlcmNhbGxfZW50cnkKPj4gLSAgICAg ICAgLyogUmVzdG9yZSB0aGUgcmVnaXN0ZXJzIHRoYXQgX190cmFjZV9oeXBlcmNhbGxfZW50cnkg Y2xvYmJlcmVkLiAqLwo+PiAtICAgICAgICBtb3ZsICBVUkVHU19yYXgrU0hBRE9XX0JZVEVTKCVy c3ApLCVlYXggICAvKiBIeXBlcmNhbGwgIyAgKi8KPj4gLSAgICAgICAgbW92bCAgVVJFR1NfcmJ4 K1NIQURPV19CWVRFUyglcnNwKSwlZWRpICAgLyogQXJnIDEgICAgICAgICovCj4+IC0gICAgICAg IG1vdmwgIFVSRUdTX3JjeCtTSEFET1dfQllURVMoJXJzcCksJWVzaSAgIC8qIEFyZyAyICAgICAg ICAqLwo+PiAtICAgICAgICBtb3ZsICBVUkVHU19yZHgrU0hBRE9XX0JZVEVTKCVyc3ApLCVlZHgg ICAvKiBBcmcgMyAgICAgICAgKi8KPj4gLSAgICAgICAgbW92bCAgVVJFR1NfcnNpK1NIQURPV19C WVRFUyglcnNwKSwlZWN4ICAgLyogQXJnIDQgICAgICAgICovCj4+IC0gICAgICAgIG1vdmwgIFVS RUdTX3JkaStTSEFET1dfQllURVMoJXJzcCksJXI4ZCAgIC8qIEFyZyA1ICAgICAgICAqLwo+PiAt ICAgICAgICBtb3ZsICBVUkVHU19yYnArU0hBRE9XX0JZVEVTKCVyc3ApLCVyOWQgICAvKiBBcmcg NiAgICAgICAgKi8KPj4gLSN1bmRlZiBTSEFET1dfQllURVMKPj4gLVVOTElLRUxZX0VORChjb21w YXRfdHJhY2UpCj4+IC0gICAgICAgIGxlYXEgIGNvbXBhdF9oeXBlcmNhbGxfdGFibGUoJXJpcCks JXIxMAo+PiAtICAgICAgICBQRVJGQ19JTkNSKGh5cGVyY2FsbHMsICVyYXgsICVyYngpCj4+IC0g ICAgICAgIGNhbGxxICooJXIxMCwlcmF4LDgpCj4+IC0jaWZuZGVmIE5ERUJVRwo+PiAtICAgICAg ICAvKiBEZWxpYmVyYXRlbHkgY29ycnVwdCBwYXJhbWV0ZXIgcmVncyB1c2VkIGJ5IHRoaXMgaHlw ZXJjYWxsLiAqLwo+PiAtICAgICAgICBwb3BxICAlcjEwICAgICAgICAgIyBTaGFkb3cgUklQCj4+ IC0gICAgICAgIGNtcHEgICVyMTAsVVJFR1NfcmlwKzgoJXJzcCkKPj4gLSAgICAgICAgcG9wcSAg JXJjeCAgICAgICAgICMgU2hhZG93IGh5cGVyY2FsbCBpbmRleAo+PiAtICAgICAgICBqbmUgICBj b21wYXRfc2tpcF9jbG9iYmVyIC8qIElmIFJJUCBoYXMgY2hhbmdlZCB0aGVuIGRvbid0IGNsb2Ji ZXIuICovCj4+IC0gICAgICAgIGxlYXEgIGNvbXBhdF9oeXBlcmNhbGxfYXJnc190YWJsZSglcmlw KSwlcjEwCj4+IC0gICAgICAgIG1vdmIgICglcjEwLCVyY3gsMSksJWNsCj4+IC0gICAgICAgIG1v dmwgICQweERFQURCRUVGLCVyMTBkCj4+IC0gICAgICAgIHRlc3RiICVjbCwlY2w7IGp6IGNvbXBh dF9za2lwX2Nsb2JiZXI7IG1vdmwgJXIxMGQsVVJFR1NfcmJ4KCVyc3ApCj4+IC0gICAgICAgIGNt cGIgICQyLCAlY2w7IGpiIGNvbXBhdF9za2lwX2Nsb2JiZXI7IG1vdmwgJXIxMGQsVVJFR1NfcmN4 KCVyc3ApCj4+IC0gICAgICAgIGNtcGIgICQzLCAlY2w7IGpiIGNvbXBhdF9za2lwX2Nsb2JiZXI7 IG1vdmwgJXIxMGQsVVJFR1NfcmR4KCVyc3ApCj4+IC0gICAgICAgIGNtcGIgICQ0LCAlY2w7IGpi IGNvbXBhdF9za2lwX2Nsb2JiZXI7IG1vdmwgJXIxMGQsVVJFR1NfcnNpKCVyc3ApCj4+IC0gICAg ICAgIGNtcGIgICQ1LCAlY2w7IGpiIGNvbXBhdF9za2lwX2Nsb2JiZXI7IG1vdmwgJXIxMGQsVVJF R1NfcmRpKCVyc3ApCj4+IC0gICAgICAgIGNtcGIgICQ2LCAlY2w7IGpiIGNvbXBhdF9za2lwX2Ns b2JiZXI7IG1vdmwgJXIxMGQsVVJFR1NfcmJwKCVyc3ApCj4+IC1jb21wYXRfc2tpcF9jbG9iYmVy Ogo+PiAtI2VuZGlmCj4+ICsgICAgICAgIG1vdiAgICVyc3AsICVyZGkKPj4gKyAgICAgICAgY2Fs bCAgcHZfaHlwZXJjYWxsCj4+ICAgICAgICAgIG1vdmwgICVlYXgsVVJFR1NfcmF4KCVyc3ApICAg ICAgICMgc2F2ZSB0aGUgcmV0dXJuIHZhbHVlCj4gVG8gZm9sbG93IHRoZSBIVk0gbW9kZWwsIHRo aXMgc2hvdWxkIGFsc28gbW92ZSBpbnRvIEMuCgpJIGNhbiBkbyBmb3Igbm93LgoKSSBoYXZlbid0 IHF1aXRlIGRlY2lkZWQgeWV0IHdoZXRoZXIgaXQgd291bGQgYmUgc2Vuc2libGUgc2ltcGxpZnkg dGhlCmNvbnRpbnVhdGlvbiBsb2dpYyBpbiB0aGUgdGFpbCBlbmQgb2YgQywgb3IgYnkgdXNpbmcg LUVSRVNUQVJUIGF0IHRoaXMKcG9pbnQuCgp+QW5kcmV3CgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK