From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jennifer Herbert Subject: Re: [PATCH v8 for-4.9 1/5] hvm/dmop: Box dmop_args rather than passing multiple parameters around Date: Fri, 21 Apr 2017 15:44:04 +0100 Message-ID: <58FA1AB4.4010100@citrix.com> References: <1492783552-29472-1-git-send-email-jennifer.herbert@citrix.com> <4d4b6746-8c64-868d-e92a-30015054c270@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <4d4b6746-8c64-868d-e92a-30015054c270@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Julien Grall , Xen-devel Cc: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org SGkgSnVsaWVuLAoKVGhpcyBpcyBleHRlbmRpbmcgYW4gZXhpc3RpbmcgZmVhdHVyZS4KT25jZSA0 LjkgaXMgcmVsZWFzZWQsIHRoZSBleGlzdGluZyBmZWF0dXJlIHdpbGwgYmUgZnJvemVuLCBhbmQg dGhlIG9ubHkgCndheSB0byBsYXRlciBnZXQgdGhlCmV4dHJhIGZ1bmN0aW9uYWxpdHkgd291bGQg YmUgdG8gY3JlYXRlZCBhIGNvbXBsZXRlbHkgbmV3IGRtX29wLCB3aGljaCAKZG9lcyBzb21ldGhp bmcgdmVyeSBzaW1pbGFyCnRvIGFuIGV4aXN0aW5nIG9uZS4gIEFsdGhvdWdoIG5vdCB0aGUgZW5k IG9mIHRoZSB3b3JsZCwgdGhpcyB3b3VsZG50IApsb29rIHNvIG5pY2UuCgpUaGUgYmVuZWZpdHMg b2YgdGhlIGZlYXR1cmUgYXJlIHRoYXQgYSBWTSBjYW4gcmVxdWVzdCBtdWx0aXBsZSBleHRlbnRz IAp0byBiZSBtYXJrZWQgYXMgbW9kaWZpZWQgYXQgb25jZSwKd2l0aG91dCBoYXZpbmcgdG8gbG9v cCB0aG91Z2ggdGhlbSwgY2FsbGluZyB0aGUgZXhpc3RpbmcgY2FsbCBtYW55IG1hbnkgCnRpbWVz LiAgVGhpcyB3aWxsIGJlIG1vcmUgZWZmaWNpZW50IGFuZCBmYXN0ZXIuCkFzIGFuIGV4dHJhLCBh ZGRpdGlvbmFsIGFjY2Vzc29ycyBoYXZlIGJlZW4gY3JlYXRlZCBmb3IgZG1fb3AgCm9wZXJhdGlv bnMsIHdoaWNoIG5ldyBkbV9vcHMgY2FuIHRha2UgYWR2YW50YWdlIG9mLgoKVGhlIGJlbmVmaXRz IG9mIGludHJvZHVjaW5nIHRoZSBmZWF0dXJlIGZvciA0LjkgYXMgb3Bwb3NlZCB0byBsYXRlciBp cyAKdGhhdCB3ZSB3b250JyBoYXZlIHRvIHN1cHBvcnQgdGhlIHNhbWUgZmVhdHVyZSwgd2l0aCBt dWx0aXBsZSBkbV9vcHRzIAp3aXRoIHZhcnlpbmcgcGFyYW1ldGVycyAtIHdoaWNoIGFzIHdlbGwg YXMgbG9va2luZyBsZXNzIGdvb2QsIGFsc28gCnVubmVzc2VzZXJpbHkgYmxvYXRzIHRoZSBjb2Rl LgoKSSB0aGluayByaXNrcyBhcmUgbG93LCB3aXRoIGEgbWlub3IsIGFmZmVjdGluZyBkbV9vcCBv cGVyYXRpb25zIG9ubHkuICAKVGhlIGNvcmUgY2hhbmdlLCBpbiA1LzUgd2lsbCBvbmx5IGFmZmVj dCB0aGUgbW9kaWZpZWQgbWVtb3J5IGNhbGwsIHdoaWNoIApoYXMgYmVlbiB0ZXN0ZWQuICBUaGUg cmVtYWluaW5nIHBhdGNoZXMgYXJlIHRvIHRpZHkgdXAgYW5kIGZpeCBleGlzdGluZyAKYmVoYXZp b3VyLgoKLWplbm55CgpPbiAyMS8wNC8xNyAxNToxNywgSnVsaWVuIEdyYWxsIHdyb3RlOgo+IEhp IEplbm5pZmVyLAo+Cj4gSSBkb24ndCBzZWUgYW55IGNvdmVyIGxldHRlciBmb3IgdGhpcyBzZXJp ZXMsIHNvIEkgd2lsbCBhbnN3ZXIgaGVyZS4KPgo+IExvb2tpbmcgYXQgdGhlIGNvZGUsIGl0IGxv b2tzIGxpa2UgYSBuZXcgZmVhdHVyZSByYXRoZXIgdGhhbiBhIGJ1ZyAKPiBmaXguIEFtIEkgcmln aHQ/Cj4KPiBDb3VsZCB5b3UgZXhwbGFpbiB3aGF0IHdvdWxkIGJlIHRoZSBiZW5lZml0cyBhbmQg cmlza3MgdG8gZ2V0IHRoaXMgCj4gY29kZSBpbiB0aGUgcmVsZWFzZT8KPgo+IEkgYWxzbyBsaWtl IHRvIGhlYXIgdGhlIG9waW5pb24gb2YgdGhlIHg4NiBtYWludGFpbmVycyBhYm91dCBnZXR0aW5n IAo+IHRoaXMgY29kZSBpbiBYZW4gNC45Lgo+Cj4gQ2hlZXJzLAo+Cj4gT24gMjEvMDQvMTcgMTU6 MDUsIGplbm5pZmVyLmhlcmJlcnRAY2l0cml4LmNvbSB3cm90ZToKPj4gRnJvbTogSmVubmlmZXIg SGVyYmVydCA8SmVubmlmZXIuSGVyYmVydEBjaXRyaXguY29tPgo+Pgo+PiBObyBmdW5jdGlvbmFs IGNoYW5nZS4KPj4KPj4gU2lnbmVkLW9mZi1ieTogSmVubmlmZXIgSGVyYmVydCA8SmVubmlmZXIu SGVyYmVydEBjaXRyaXguY29tPgo+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRy ZXcuY29vcGVyM0BjaXRyaXguY29tPgo+PiBSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVs aWNoQHN1c2UuY29tPgo+PiBSZXZpZXdlZC1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJhbnRA Y2l0cml4LmNvbT4KPj4KPj4gLS0gCj4+IENDOiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBj aXRyaXguY29tPgo+PiBDQzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNv bT4KPj4gQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KPj4gQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+Cj4+IC0tLQo+PiBObyBjaGFuZ2UuCj4+IC0tLQo+ PiAgeGVuL2FyY2gveDg2L2h2bS9kbS5jIHwgNDkgCj4+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAyOSBpbnNlcnRp b25zKCspLCAyMCBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9o dm0vZG0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwo+PiBpbmRleCBkNzJiN2JkLi5lNTgzZTQx IDEwMDY0NAo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMKPj4gKysrIGIveGVuL2FyY2gv eDg2L2h2bS9kbS5jCj4+IEBAIC0yNSw2ICsyNSwxMyBAQAo+Pgo+PiAgI2luY2x1ZGUgPHhzbS94 c20uaD4KPj4KPj4gK3N0cnVjdCBkbW9wX2FyZ3Mgewo+PiArICAgIGRvbWlkX3QgZG9taWQ7Cj4+ ICsgICAgdW5zaWduZWQgaW50IG5yX2J1ZnM7Cj4+ICsgICAgLyogUmVzZXJ2ZSBlbm91Z2ggYnVm IGVsZW1lbnRzIGZvciBhbGwgY3VycmVudCBoeXBlcmNhbGxzLiAqLwo+PiArICAgIHN0cnVjdCB4 ZW5fZG1fb3BfYnVmIGJ1ZlsyXTsKPj4gK307Cj4+ICsKPj4gIHN0YXRpYyBib29sIGNvcHlfYnVm X2Zyb21fZ3Vlc3QoY29uc3QgeGVuX2RtX29wX2J1Zl90IGJ1ZnNbXSwKPj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG5yX2J1ZnMsIHZvaWQgKmRzdCwKPj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGlkeCwgc2l6ZV90 IGRzdF9zaXplKQo+PiBAQCAtNTYsNyArNjMsNyBAQCBzdGF0aWMgYm9vbCBjb3B5X2J1Zl90b19n dWVzdChjb25zdCB4ZW5fZG1fb3BfYnVmX3QgCj4+IGJ1ZnNbXSwKPj4gIH0KPj4KPj4gIHN0YXRp YyBpbnQgdHJhY2tfZGlydHlfdnJhbShzdHJ1Y3QgZG9tYWluICpkLCB4ZW5fcGZuX3QgZmlyc3Rf cGZuLAo+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBuciwgc3Ry dWN0IHhlbl9kbV9vcF9idWYgKmJ1ZikKPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgbnIsIGNvbnN0IHN0cnVjdCAKPj4geGVuX2RtX29wX2J1ZiAqYnVmKQo+PiAg ewo+PiAgICAgIGlmICggbnIgPiAoR0IoMSkgPj4gUEFHRV9TSElGVCkgKQo+PiAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPj4gQEAgLTI4NywxNiArMjk0LDE0IEBAIHN0YXRpYyBpbnQgaW5qZWN0 X2V2ZW50KHN0cnVjdCBkb21haW4gKmQsCj4+ICAgICAgcmV0dXJuIDA7Cj4+ICB9Cj4+Cj4+IC1z dGF0aWMgaW50IGRtX29wKGRvbWlkX3QgZG9taWQsCj4+IC0gICAgICAgICAgICAgICAgIHVuc2ln bmVkIGludCBucl9idWZzLAo+PiAtICAgICAgICAgICAgICAgICB4ZW5fZG1fb3BfYnVmX3QgYnVm c1tdKQo+PiArc3RhdGljIGludCBkbV9vcChjb25zdCBzdHJ1Y3QgZG1vcF9hcmdzICpvcF9hcmdz KQo+PiAgewo+PiAgICAgIHN0cnVjdCBkb21haW4gKmQ7Cj4+ICAgICAgc3RydWN0IHhlbl9kbV9v cCBvcDsKPj4gICAgICBib29sIGNvbnN0X29wID0gdHJ1ZTsKPj4gICAgICBsb25nIHJjOwo+Pgo+ PiAtICAgIHJjID0gcmN1X2xvY2tfcmVtb3RlX2RvbWFpbl9ieV9pZChkb21pZCwgJmQpOwo+PiAr ICAgIHJjID0gcmN1X2xvY2tfcmVtb3RlX2RvbWFpbl9ieV9pZChvcF9hcmdzLT5kb21pZCwgJmQp Owo+PiAgICAgIGlmICggcmMgKQo+PiAgICAgICAgICByZXR1cm4gcmM7Cj4+Cj4+IEBAIC0zMDcs NyArMzEyLDcgQEAgc3RhdGljIGludCBkbV9vcChkb21pZF90IGRvbWlkLAo+PiAgICAgIGlmICgg cmMgKQo+PiAgICAgICAgICBnb3RvIG91dDsKPj4KPj4gLSAgICBpZiAoICFjb3B5X2J1Zl9mcm9t X2d1ZXN0KGJ1ZnMsIG5yX2J1ZnMsICZvcCwgMCwgc2l6ZW9mKG9wKSkgKQo+PiArICAgIGlmICgg IWNvcHlfYnVmX2Zyb21fZ3Vlc3QoJm9wX2FyZ3MtPmJ1ZlswXSwgb3BfYXJncy0+bnJfYnVmcywg Cj4+ICZvcCwgMCwgc2l6ZW9mKG9wKSkgKQo+PiAgICAgIHsKPj4gICAgICAgICAgcmMgPSAtRUZB VUxUOwo+PiAgICAgICAgICBnb3RvIG91dDsKPj4gQEAgLTQ2NiwxMCArNDcxLDEwIEBAIHN0YXRp YyBpbnQgZG1fb3AoZG9taWRfdCBkb21pZCwKPj4gICAgICAgICAgaWYgKCBkYXRhLT5wYWQgKQo+ PiAgICAgICAgICAgICAgYnJlYWs7Cj4+Cj4+IC0gICAgICAgIGlmICggbnJfYnVmcyA8IDIgKQo+ PiArICAgICAgICBpZiAoIG9wX2FyZ3MtPm5yX2J1ZnMgPCAyICkKPj4gICAgICAgICAgICAgIGJy ZWFrOwo+Pgo+PiAtICAgICAgICByYyA9IHRyYWNrX2RpcnR5X3ZyYW0oZCwgZGF0YS0+Zmlyc3Rf cGZuLCBkYXRhLT5uciwgJmJ1ZnNbMV0pOwo+PiArICAgICAgICByYyA9IHRyYWNrX2RpcnR5X3Zy YW0oZCwgZGF0YS0+Zmlyc3RfcGZuLCBkYXRhLT5uciwgCj4+ICZvcF9hcmdzLT5idWZbMV0pOwo+ PiAgICAgICAgICBicmVhazsKPj4gICAgICB9Cj4+Cj4+IEBAIC01NjQsNyArNTY5LDcgQEAgc3Rh dGljIGludCBkbV9vcChkb21pZF90IGRvbWlkLAo+Pgo+PiAgICAgIGlmICggKCFyYyB8fCByYyA9 PSAtRVJFU1RBUlQpICYmCj4+ICAgICAgICAgICAhY29uc3Rfb3AgJiYKPj4gLSAgICAgICAgICFj b3B5X2J1Zl90b19ndWVzdChidWZzLCBucl9idWZzLCAwLCAmb3AsIHNpemVvZihvcCkpICkKPj4g KyAgICAgICAgICFjb3B5X2J1Zl90b19ndWVzdCgmb3BfYXJncy0+YnVmWzBdLCBvcF9hcmdzLT5u cl9idWZzLCAwLCAKPj4gJm9wLCBzaXplb2Yob3ApKSApCj4+ICAgICAgICAgIHJjID0gLUVGQVVM VDsKPj4KPj4gICBvdXQ6Cj4+IEBAIC01ODcsMjAgKzU5MiwyMSBAQCBDSEVDS19kbV9vcF9zZXRf bWVtX3R5cGU7Cj4+ICBDSEVDS19kbV9vcF9pbmplY3RfZXZlbnQ7Cj4+ICBDSEVDS19kbV9vcF9p bmplY3RfbXNpOwo+Pgo+PiAtI2RlZmluZSBNQVhfTlJfQlVGUyAyCj4+IC0KPj4gIGludCBjb21w YXRfZG1fb3AoZG9taWRfdCBkb21pZCwKPj4gICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IG5yX2J1ZnMsCj4+ICAgICAgICAgICAgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9p ZCkgYnVmcykKPj4gIHsKPj4gLSAgICBzdHJ1Y3QgeGVuX2RtX29wX2J1ZiBuYXRbTUFYX05SX0JV RlNdOwo+PiArICAgIHN0cnVjdCBkbW9wX2FyZ3MgYXJnczsKPj4gICAgICB1bnNpZ25lZCBpbnQg aTsKPj4gICAgICBpbnQgcmM7Cj4+Cj4+IC0gICAgaWYgKCBucl9idWZzID4gTUFYX05SX0JVRlMg KQo+PiArICAgIGlmICggbnJfYnVmcyA+IEFSUkFZX1NJWkUoYXJncy5idWYpICkKPj4gICAgICAg ICAgcmV0dXJuIC1FMkJJRzsKPj4KPj4gLSAgICBmb3IgKCBpID0gMDsgaSA8IG5yX2J1ZnM7IGkr KyApCj4+ICsgICAgYXJncy5kb21pZCA9IGRvbWlkOwo+PiArICAgIGFyZ3MubnJfYnVmcyA9IG5y X2J1ZnM7Cj4+ICsKPj4gKyAgICBmb3IgKCBpID0gMDsgaSA8IGFyZ3MubnJfYnVmczsgaSsrICkK Pj4gICAgICB7Cj4+ICAgICAgICAgIHN0cnVjdCBjb21wYXRfZG1fb3BfYnVmIGNtcDsKPj4KPj4g QEAgLTYxMCwxMiArNjE2LDEyIEBAIGludCBjb21wYXRfZG1fb3AoZG9taWRfdCBkb21pZCwKPj4g ICNkZWZpbmUgWExBVF9kbV9vcF9idWZfSE5ETF9oKF9kXywgX3NfKSBcCj4+ICAgICAgICAgIGd1 ZXN0X2Zyb21fY29tcGF0X2hhbmRsZSgoX2RfKS0+aCwgKF9zXyktPmgpCj4+Cj4+IC0gICAgICAg IFhMQVRfZG1fb3BfYnVmKCZuYXRbaV0sICZjbXApOwo+PiArICAgICAgICBYTEFUX2RtX29wX2J1 ZigmYXJncy5idWZbaV0sICZjbXApOwo+Pgo+PiAgI3VuZGVmIFhMQVRfZG1fb3BfYnVmX0hORExf aAo+PiAgICAgIH0KPj4KPj4gLSAgICByYyA9IGRtX29wKGRvbWlkLCBucl9idWZzLCBuYXQpOwo+ PiArICAgIHJjID0gZG1fb3AoJmFyZ3MpOwo+Pgo+PiAgICAgIGlmICggcmMgPT0gLUVSRVNUQVJU ICkKPj4gICAgICAgICAgcmMgPSBoeXBlcmNhbGxfY3JlYXRlX2NvbnRpbnVhdGlvbihfX0hZUEVS VklTT1JfZG1fb3AsICJpaWgiLAo+PiBAQCAtNjI4LDE2ICs2MzQsMTkgQEAgbG9uZyBkb19kbV9v cChkb21pZF90IGRvbWlkLAo+PiAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbnJfYnVmcywK Pj4gICAgICAgICAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fZG1fb3BfYnVmX3Qp IGJ1ZnMpCj4+ICB7Cj4+IC0gICAgc3RydWN0IHhlbl9kbV9vcF9idWYgbmF0W01BWF9OUl9CVUZT XTsKPj4gKyAgICBzdHJ1Y3QgZG1vcF9hcmdzIGFyZ3M7Cj4+ICAgICAgaW50IHJjOwo+Pgo+PiAt ICAgIGlmICggbnJfYnVmcyA+IE1BWF9OUl9CVUZTICkKPj4gKyAgICBpZiAoIG5yX2J1ZnMgPiBB UlJBWV9TSVpFKGFyZ3MuYnVmKSApCj4+ICAgICAgICAgIHJldHVybiAtRTJCSUc7Cj4+Cj4+IC0g ICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3Rfb2Zmc2V0KG5hdCwgYnVmcywgMCwgbnJfYnVmcykgKQo+ PiArICAgIGFyZ3MuZG9taWQgPSBkb21pZDsKPj4gKyAgICBhcmdzLm5yX2J1ZnMgPSBucl9idWZz Owo+PiArCj4+ICsgICAgaWYgKCBjb3B5X2Zyb21fZ3Vlc3Rfb2Zmc2V0KCZhcmdzLmJ1ZlswXSwg YnVmcywgMCwgYXJncy5ucl9idWZzKSApCj4+ICAgICAgICAgIHJldHVybiAtRUZBVUxUOwo+Pgo+ PiAtICAgIHJjID0gZG1fb3AoZG9taWQsIG5yX2J1ZnMsIG5hdCk7Cj4+ICsgICAgcmMgPSBkbV9v cCgmYXJncyk7Cj4+Cj4+ICAgICAgaWYgKCByYyA9PSAtRVJFU1RBUlQgKQo+PiAgICAgICAgICBy YyA9IGh5cGVyY2FsbF9jcmVhdGVfY29udGludWF0aW9uKF9fSFlQRVJWSVNPUl9kbV9vcCwgImlp aCIsCj4+Cj4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK