From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH v5] x86/altp2m: Aggregate get entry and populate into common funcs Date: Tue, 16 Apr 2019 16:07:47 +0100 Message-ID: References: <20190416084531.5084-1-aisaila@bitdefender.com> <51aac97d-3773-f3df-204d-55912f5915db@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGPgm-0007lh-So for xen-devel@lists.xenproject.org; Tue, 16 Apr 2019 15:08:00 +0000 In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Tamas K Lengyel Cc: "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , Alexandru Stefan ISAILA , "xen-devel@lists.xenproject.org" , "roger.pau@citrix.com" List-Id: xen-devel@lists.xenproject.org T24gNC8xNi8xOSAzOjE5IFBNLCBUYW1hcyBLIExlbmd5ZWwgd3JvdGU6Cj4gT24gVHVlLCBBcHIg MTYsIDIwMTkgYXQgODowMiBBTSBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5j b20+IHdyb3RlOgo+Pgo+PiBPbiA0LzE2LzE5IDI6NDQgUE0sIFRhbWFzIEsgTGVuZ3llbCB3cm90 ZToKPj4+IE9uIFR1ZSwgQXByIDE2LCAyMDE5IGF0IDI6NDUgQU0gQWxleGFuZHJ1IFN0ZWZhbiBJ U0FJTEEKPj4+IDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4gd3JvdGU6Cj4+Pj4KPj4+PiBUaGUg Y29kZSBmb3IgZ2V0dGluZyB0aGUgZW50cnkgYW5kIHRoZW4gcG9wdWxhdGluZyB3YXMgcmVwZWF0 ZWQgaW4KPj4+PiBwMm1fY2hhbmdlX2FsdHAybV9nZm4oKSBhbmQgaW4gcDJtX3NldF9hbHRwMm1f bWVtX2FjY2VzcygpLgo+Pj4+Cj4+Pj4gVGhlIGNvZGUgaXMgbm93IGluIG9uZSBwbGFjZSB3aXRo IGEgYm9vbCBwYXJhbSB0aGF0IGxldHMgdGhlIGNhbGxlciBjaG9vc2UKPj4+PiBpZiBpdCBwb3B1 bGF0ZXMgYWZ0ZXIgZ2V0X2VudHJ5KCkuCj4+Pj4KPj4+PiBJZiByZW1hcHBpbmcgaXMgYmVpbmcg ZG9uZSB0aGVuIGJvdGggdGhlIG9sZCBhbmQgbmV3IGdmbidzIHNob3VsZCBiZQo+Pj4+IHVuc2hh cmVkIGluIHRoZSBob3N0cDJtIGZvciBrZWVwaW5nIHRoaW5ncyBjb25zaXN0ZW50LiBUaGUgcGFn ZSB0eXBlCj4+Pj4gb2Ygb2xkX2dmbiB3YXMgYWxyZWFkeSBjaGVja2VkIHdoZXRoZXIgaXQncyBw Mm1fcmFtX3J3IGFuZCBiYWlsIGlmIGl0Cj4+Pj4gd2Fzbid0IHNvIGZ1bmN0aW9uYWxpdHktd2lz ZSB0aGlzIGp1c3Qgc2ltcGxpZmllcyB0aGluZ3MgYXMgYSB1c2VyCj4+Pj4gZG9lc24ndCBoYXZl IHRvIHJlcXVlc3QgdW5zaGFyaW5nIG1hbnVhbGx5IGJlZm9yZSByZW1hcHBpbmcuCj4+Pj4gTm93 LCBpZiB0aGUgbmV3X2dmbiBpcyBpbnZhbGlkIGl0IHNob3VsZG4ndCBxdWVyeSB0aGUgaG9zdHAy bSBhcwo+Pj4+IHRoYXQgaXMgZWZmZWN0aXZlbHkgYSByZXF1ZXN0IHRvIHJlbW92ZSB0aGUgZW50 cnkgZnJvbSB0aGUgYWx0cDJtLgo+Pj4+IEJ1dCBwcm92aWRlZCB0aGF0IHNjZW5hcmlvIGlzIHVz ZWQgb25seSB3aGVuIHJlbW92aW5nIGVudHJpZXMgdGhhdAo+Pj4+IHdlcmUgcHJldmlvdXNseSBy ZW1hcHBlZC9jb3BpZWQgdG8gdGhlIGFsdHAybSwgdGhvc2UgZW50cmllcyBhbHJlYWR5Cj4+Pj4g d2VudCB0aHJvdWdoIFAyTV9BTExPQyB8IFAyTV9VTlNIQVJFIGJlZm9yZSwgc28gaXQgd29uJ3Qg aGF2ZSBhbgo+Pj4+IGFmZmVjdCBzbyB0aGUgY29yZSBmdW5jdGlvbiBnZXRfYWx0cDJtX2VudHJ5 KCkgaXMgY2FsbGluZwo+Pj4+IF9fZ2V0X2dmbl90eXBlX2FjY2VzcygpIHdpdGggUDJNX0FMTE9D IHwgUDJNX1VOU0hBUkUuCj4+Pj4KPj4+PiBhbHRwMm1fZ2V0X2VudHJ5X2RpcmVjdCgpIGlzIGFs c28gY2FsbGVkIGluIHAybV9zZXRfc3VwcHJlc3NfdmUoKQo+Pj4+IGJlY2F1c2Ugb24gYSBuZXcg YWx0cDJtIHZpZXcgdGhlIGZ1bmN0aW9uIHdpbGwgZmFpbCB3aXRoIGludmFsaWQgbWZuIGlmCj4+ Pj4gcDJtLT5zZXRfZW50cnkoKSB3YXMgbm90IGNhbGxlZCBiZWZvcmUuCj4+Pj4KPj4+PiBTaWdu ZWQtb2ZmLWJ5OiBBbGV4YW5kcnUgSXNhaWxhIDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4KPj4+ PiBTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+ Cj4+Pj4gUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNv bT4KPj4+Pgo+Pj4+IC0tLQo+Pj4+IENoYW5nZXMgc2luY2UgVjQ6Cj4+Pj4gICAgICAgICAtIEFk ZCBhbHRwMm0gdG8gcGF0Y2ggbmFtZQo+Pj4+ICAgICAgICAgLSBDaGFuZ2UgZnVuYyBuYW1lIGZy b20gZ2V0X2FsdHAybV9lbnRyeSgpIHRvCj4+Pj4gYWx0cDJtX2dldF9lbnRyeSgpLgo+Pj4+IC0t LQo+Pj4+ICB4ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jIHwgMzAgKystLS0tLS0tLS0tLQo+ Pj4+ICB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tCj4+Pj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggICAgfCAx NyArKysrKysrKwo+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDY1IGRl bGV0aW9ucygtKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNj ZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jCj4+Pj4gaW5kZXggYTE0NGJiMGNl NC4uZGRmZTAxNjljMCAxMDA2NDQKPj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vz cy5jCj4+Pj4gKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYwo+Pj4+IEBAIC0yNjIs MzUgKzI2MiwxMSBAQCBpbnQgcDJtX3NldF9hbHRwMm1fbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWlu ICpkLCBzdHJ1Y3QgcDJtX2RvbWFpbiAqaHAybSwKPj4+PiAgICAgIG1mbl90IG1mbjsKPj4+PiAg ICAgIHAybV90eXBlX3QgdDsKPj4+PiAgICAgIHAybV9hY2Nlc3NfdCBvbGRfYTsKPj4+PiAtICAg IHVuc2lnbmVkIGludCBwYWdlX29yZGVyOwo+Pj4+IC0gICAgdW5zaWduZWQgbG9uZyBnZm5fbCA9 IGdmbl94KGdmbik7Cj4+Pj4gICAgICBpbnQgcmM7Cj4+Pj4KPj4+PiAtICAgIG1mbiA9IGFwMm0t PmdldF9lbnRyeShhcDJtLCBnZm4sICZ0LCAmb2xkX2EsIDAsIE5VTEwsIE5VTEwpOwo+Pj4+IC0K Pj4+PiAtICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0 ZSAqLwo+Pj4+IC0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQo+Pj4+IC0gICAgewo+Pj4+IC0K Pj4+PiAtICAgICAgICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2ZuX2wsICZ0 LCAmb2xkX2EsCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFAyTV9B TExPQyB8IFAyTV9VTlNIQVJFLCAmcGFnZV9vcmRlciwgMCk7Cj4+Pj4gLQo+Pj4+IC0gICAgICAg IHJjID0gLUVTUkNIOwo+Pj4+IC0gICAgICAgIGlmICggIW1mbl92YWxpZChtZm4pIHx8IHQgIT0g cDJtX3JhbV9ydyApCj4+Pj4gLSAgICAgICAgICAgIHJldHVybiByYzsKPj4+PiAtCj4+Pj4gLSAg ICAgICAgLyogSWYgdGhpcyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovCj4+Pj4g LSAgICAgICAgaWYgKCBwYWdlX29yZGVyICE9IFBBR0VfT1JERVJfNEsgKQo+Pj4+IC0gICAgICAg IHsKPj4+PiAtICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vf b3JkZXIpIC0gMSk7Cj4+Pj4gLSAgICAgICAgICAgIGdmbl90IGdmbjIgPSBfZ2ZuKGdmbl9sICYg bWFzayk7Cj4+Pj4gLSAgICAgICAgICAgIG1mbl90IG1mbjIgPSBfbWZuKG1mbl94KG1mbikgJiBt YXNrKTsKPj4+PiAtCj4+Pj4gLSAgICAgICAgICAgIHJjID0gYXAybS0+c2V0X2VudHJ5KGFwMm0s IGdmbjIsIG1mbjIsIHBhZ2Vfb3JkZXIsIHQsIG9sZF9hLCAxKTsKPj4+PiAtICAgICAgICAgICAg aWYgKCByYyApCj4+Pj4gLSAgICAgICAgICAgICAgICByZXR1cm4gcmM7Cj4+Pj4gLSAgICAgICAg fQo+Pj4+IC0gICAgfQo+Pj4+ICsgICAgcmMgPSBhbHRwMm1fZ2V0X2VudHJ5X3ByZXBvcHVsYXRl KGFwMm0sIGdmbiwgJm1mbiwgJnQsICZvbGRfYSk7Cj4+Pj4gKyAgICBpZiAoIHJjICkKPj4+PiAr ICAgICAgICByZXR1cm4gcmM7Cj4+Pj4KPj4+PiAgICAgIC8qCj4+Pj4gICAgICAgKiBJbmhlcml0 IHRoZSBvbGQgc3VwcHJlc3MgI1ZFIGJpdCB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldCwgb3Ig c2V0IGl0Cj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNo L3g4Ni9tbS9wMm0uYwo+Pj4+IGluZGV4IDllODFhMzBjYzQuLjdiZWRmZDU5M2IgMTAwNjQ0Cj4+ Pj4gLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCj4+Pj4gKysrIGIveGVuL2FyY2gveDg2L21t L3AybS5jCj4+Pgo+Pj4gV291bGRuJ3QgaXQgbWFrZSBtb3JlIHNlbnNlIHRvIHN0YXJ0IGFkZGlu ZyBuZXcgYWx0cDJtIGZ1bmN0aW9ucyB0bwo+Pj4gbW0vYWx0cDJtLmMgaW5zdGVhZD8gUHJvYmFi bHkgdGhlIGFsdHAybSBmdW5jdGlvbnMgZnJvbSBtbS9wMm0uYyBjb3VsZAo+Pj4gYWxzbyBiZSBy ZWxvY2F0ZWQgdGhlcmUgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLgo+Pj4KPj4+PiBAQCAt NDc4LDYgKzQ3OCw0MyBAQCB2b2lkIHAybV91bmxvY2tfYW5kX3RsYl9mbHVzaChzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtKQo+Pj4+ICAgICAgICAgIG1tX3dyaXRlX3VubG9jaygmcDJtLT5sb2NrKTsK Pj4+PiAgfQo+Pj4+Cj4+Pj4gK2ludCBhbHRwMm1fZ2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWlu ICphcDJtLAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBtZm5f dCAqbWZuLCBwMm1fdHlwZV90ICp0LAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg cDJtX2FjY2Vzc190ICphLCBib29sIHByZXBvcHVsYXRlKQo+Pj4+ICt7Cj4+Pj4gKyAgICAqbWZu ID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdmbiwgdCwgYSwgMCwgTlVMTCwgTlVMTCk7Cj4+Pj4g Kwo+Pj4+ICsgICAgLyogQ2hlY2sgaG9zdCBwMm0gaWYgbm8gdmFsaWQgZW50cnkgaW4gYWx0ZXJu YXRlICovCj4+Pj4gKyAgICBpZiAoICFtZm5fdmFsaWQoKm1mbikgJiYgIXAybV9pc19ob3N0cDJt KGFwMm0pICkKPj4+PiArICAgIHsKPj4+PiArICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqaHAy bSA9IHAybV9nZXRfaG9zdHAybShhcDJtLT5kb21haW4pOwo+Pj4+ICsgICAgICAgIHVuc2lnbmVk IGludCBwYWdlX29yZGVyOwo+Pj4+ICsgICAgICAgIGludCByYzsKPj4+PiArCj4+Pj4gKyAgICAg ICAgKm1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5feChnZm4pLCB0LCBhLAo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUDJNX0FMTE9DIHwgUDJN X1VOU0hBUkUsICZwYWdlX29yZGVyLCAwKTsKPj4+Cj4+PiBTbyBkZXNwaXRlIHRoZSBuYW1lIGJl aW5nIGFsdHAybV9nZXRfZW50cnkgeW91IG5vdyByZXR1cm4gYW4gZW50cnkKPj4+IGZyb20gdGhl IGhvc3RwMm0sIGV2ZW4gaWYgcHJlcG9wdWxhdGUgaXMgZmFsc2UuIElmIHRoZSBjYWxsZXIga25v d3MgaXQKPj4+IGRvZXNuJ3Qgd2FudCB0aGF0IGVudHJ5IHRvIGJlIGNvcGllZCBpbnRvIHRoZSBh bHRwMm0sIHdoeSBub3QgaGF2ZSBpdAo+Pj4gY2FsbCBfX2dldF9nZm5fdHlwZV9hY2Nlc3MgaXRz ZWxmIGZvciB0aGUgaG9zdHAybT8gSU1ITyB0aGlzIGlzIGp1c3QKPj4+IGNvbmZ1c2luZyBhbmQg ZG9lc24ndCBoZWxwIHJlYWRhYmlsaXR5IG9mIHRoZSBhbHRwMm0gY29kZS4KPj4KPj4gWW91IHJl dHVybiB0aGUgYXAybSBlbnRyeSBpZiBpdCdzIHByZXNlbnQsIG9yIHRoZSBocDJtIGVudHJ5IGlm IGl0J3MKPj4gbm90LiAgSXQncyBub3QgYSBsb3Qgb2YgZHVwbGljYXRpb24sIGJ1dCBpdCBtYWtl cyB0aGUgbG9naWMgY2xlYW5lciBJCj4+IHRoaW5rOyB3aHkgbm90IGRlZHVwbGljYXRlIGl0Pwo+ IAo+IEkgaGF2ZSBubyBwcm9ibGVtIHdpdGggbWFraW5nIHRoZSBjb2RlIG1vcmUgc3RyZWFtbGlu ZWQuIFRoZSBwcm9ibGVtIEkKPiBoYXZlIGlzIHRoYXQgdGhlIGZ1bmN0aW9uJ3MgbmFtZSBkb2Vz bid0IHN1Z2dlc3QgaXQgd291bGQgZ2V0IHlvdQo+IGFueXRoaW5nIGJ1dCB0aGUgZW50cnkgZnJv bSB0aGUgc3BlY2lmaWVkIGFsdHAybS4gU28geW91IGNvdWxkIGJlCj4gcmVhZGluZyB0aGUgY29k ZSBhc3N1bWluZyB5b3UgYXJlIGRlYWxpbmcgd2l0aCBhbiBlbnRyeSBmcm9tIHRoYXQKPiBzcGVj aWZpZWQgdGFibGUgd2hlbiBpbiBmYWN0IHlvdSBhcmUgbm90LiBUaGF0IGlzIG5vdCBhbiBleHBl Y3RlZAo+IGJlaGF2aW9yIGJhc2VkIG9uIGp1c3QgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uLiBU aGlzIGlzIGdvaW5nIHRvIG1ha2UKPiByZWFkaW5nIHRoZSBhbHRwMm0gY29kZSB0aGF0IG11Y2gg aGFyZGVyIGluIHRoZSBmdXR1cmUuCgpSaWdodCAtLSBJIHdhc24ndCBhIGh1Z2UgZmFuIG9mICdk aXJlY3QnIGVpdGhlcjsgaXQgZGlkbid0IHJlYWxseSBjb252ZXkKdG8gbWUgMTAwJSB3aGF0IHRo ZSBmdW5jdGlvbiBkaWQuICBNeSBQb0MgaGFkICJzZWV0aHJvdWdoIiwgYnV0IHRoYXQKd2Fzbid0 IHRoYXQgZ3JlYXQgZWl0aGVyLiAgIlBlZWsiPyAgQW55IG90aGVyIHN1Z2dlc3Rpb25zPwoKT3Ro ZXIgb3B0aW9uczoKCiogSWYgd2UgaGF2ZSBhIHNpbmdsZSBmdW5jdGlvbiB3aXRoIGEgI2RlZmlu ZSwgdGhpcyBtaWdodCBnZXQgYSBiaXQKZWFzaWVyOyAgd2UgY291bGQgaGF2ZSBvbmUgYmUgQVAy TUdFVF9kb250X3ByZXBvcHVsYXRlIG9yIHNvbWV0aGluZy4KCiggV2UgY291bGQgaGF2ZSB0aGUg ImNvcmUiIGZ1bmN0aW9uIG5hbWVkIF9hbHRwMm1fZ2V0X2VudHJ5LCBhbmQgaGF2ZQphbHRwMm1f Z2V0X2VudHJ5KCkgY2FsbCB3aXRoIHByZXBvcHVsYXRlID0gZmFsc2UsIGFuZAphbHRwMm1fZ2V0 X2VudHJ5X3ByZXBvcHVsYXRlKCkgY2FsbCBpdCB3aXRoIHByZXBvcHVsYXRlID0gdHJ1ZS4KClRo b3VnaHRzPwoKIC1HZW9yZ2UKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86BBBC10F13 for ; Tue, 16 Apr 2019 15:08:30 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 54A5D204FD for ; Tue, 16 Apr 2019 15:08:30 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 54A5D204FD Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=citrix.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGPgn-0007lm-MQ; Tue, 16 Apr 2019 15:08:01 +0000 Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGPgm-0007lh-So for xen-devel@lists.xenproject.org; Tue, 16 Apr 2019 15:08:00 +0000 X-Inumbo-ID: 69fdf3aa-6059-11e9-88b7-836f88bd584a Received: from SMTP03.CITRIX.COM (unknown [162.221.156.55]) by us1-amaz-eas2.inumbo.com (Halon) with ESMTPS id 69fdf3aa-6059-11e9-88b7-836f88bd584a; Tue, 16 Apr 2019 15:07:57 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.60,358,1549929600"; d="scan'208";a="83700520" To: Tamas K Lengyel References: <20190416084531.5084-1-aisaila@bitdefender.com> <51aac97d-3773-f3df-204d-55912f5915db@citrix.com> From: George Dunlap Openpgp: preference=signencrypt Autocrypt: addr=george.dunlap@citrix.com; prefer-encrypt=mutual; keydata= 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 rIFfe2Dk+lD9A9BVd2rfoHA= Message-ID: Date: Tue, 16 Apr 2019 16:07:47 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US Subject: Re: [Xen-devel] [PATCH v5] x86/altp2m: Aggregate get entry and populate into common funcs X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , "jbeulich@suse.com" , Alexandru Stefan ISAILA , "xen-devel@lists.xenproject.org" , "roger.pau@citrix.com" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190416150747.1F4t9a9wlGh4E2Z4m1V0GSoYK3N6vXZVvoWvot7T840@z> T24gNC8xNi8xOSAzOjE5IFBNLCBUYW1hcyBLIExlbmd5ZWwgd3JvdGU6Cj4gT24gVHVlLCBBcHIg MTYsIDIwMTkgYXQgODowMiBBTSBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5j b20+IHdyb3RlOgo+Pgo+PiBPbiA0LzE2LzE5IDI6NDQgUE0sIFRhbWFzIEsgTGVuZ3llbCB3cm90 ZToKPj4+IE9uIFR1ZSwgQXByIDE2LCAyMDE5IGF0IDI6NDUgQU0gQWxleGFuZHJ1IFN0ZWZhbiBJ U0FJTEEKPj4+IDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4gd3JvdGU6Cj4+Pj4KPj4+PiBUaGUg Y29kZSBmb3IgZ2V0dGluZyB0aGUgZW50cnkgYW5kIHRoZW4gcG9wdWxhdGluZyB3YXMgcmVwZWF0 ZWQgaW4KPj4+PiBwMm1fY2hhbmdlX2FsdHAybV9nZm4oKSBhbmQgaW4gcDJtX3NldF9hbHRwMm1f bWVtX2FjY2VzcygpLgo+Pj4+Cj4+Pj4gVGhlIGNvZGUgaXMgbm93IGluIG9uZSBwbGFjZSB3aXRo IGEgYm9vbCBwYXJhbSB0aGF0IGxldHMgdGhlIGNhbGxlciBjaG9vc2UKPj4+PiBpZiBpdCBwb3B1 bGF0ZXMgYWZ0ZXIgZ2V0X2VudHJ5KCkuCj4+Pj4KPj4+PiBJZiByZW1hcHBpbmcgaXMgYmVpbmcg ZG9uZSB0aGVuIGJvdGggdGhlIG9sZCBhbmQgbmV3IGdmbidzIHNob3VsZCBiZQo+Pj4+IHVuc2hh cmVkIGluIHRoZSBob3N0cDJtIGZvciBrZWVwaW5nIHRoaW5ncyBjb25zaXN0ZW50LiBUaGUgcGFn ZSB0eXBlCj4+Pj4gb2Ygb2xkX2dmbiB3YXMgYWxyZWFkeSBjaGVja2VkIHdoZXRoZXIgaXQncyBw Mm1fcmFtX3J3IGFuZCBiYWlsIGlmIGl0Cj4+Pj4gd2Fzbid0IHNvIGZ1bmN0aW9uYWxpdHktd2lz ZSB0aGlzIGp1c3Qgc2ltcGxpZmllcyB0aGluZ3MgYXMgYSB1c2VyCj4+Pj4gZG9lc24ndCBoYXZl IHRvIHJlcXVlc3QgdW5zaGFyaW5nIG1hbnVhbGx5IGJlZm9yZSByZW1hcHBpbmcuCj4+Pj4gTm93 LCBpZiB0aGUgbmV3X2dmbiBpcyBpbnZhbGlkIGl0IHNob3VsZG4ndCBxdWVyeSB0aGUgaG9zdHAy bSBhcwo+Pj4+IHRoYXQgaXMgZWZmZWN0aXZlbHkgYSByZXF1ZXN0IHRvIHJlbW92ZSB0aGUgZW50 cnkgZnJvbSB0aGUgYWx0cDJtLgo+Pj4+IEJ1dCBwcm92aWRlZCB0aGF0IHNjZW5hcmlvIGlzIHVz ZWQgb25seSB3aGVuIHJlbW92aW5nIGVudHJpZXMgdGhhdAo+Pj4+IHdlcmUgcHJldmlvdXNseSBy ZW1hcHBlZC9jb3BpZWQgdG8gdGhlIGFsdHAybSwgdGhvc2UgZW50cmllcyBhbHJlYWR5Cj4+Pj4g d2VudCB0aHJvdWdoIFAyTV9BTExPQyB8IFAyTV9VTlNIQVJFIGJlZm9yZSwgc28gaXQgd29uJ3Qg aGF2ZSBhbgo+Pj4+IGFmZmVjdCBzbyB0aGUgY29yZSBmdW5jdGlvbiBnZXRfYWx0cDJtX2VudHJ5 KCkgaXMgY2FsbGluZwo+Pj4+IF9fZ2V0X2dmbl90eXBlX2FjY2VzcygpIHdpdGggUDJNX0FMTE9D IHwgUDJNX1VOU0hBUkUuCj4+Pj4KPj4+PiBhbHRwMm1fZ2V0X2VudHJ5X2RpcmVjdCgpIGlzIGFs c28gY2FsbGVkIGluIHAybV9zZXRfc3VwcHJlc3NfdmUoKQo+Pj4+IGJlY2F1c2Ugb24gYSBuZXcg YWx0cDJtIHZpZXcgdGhlIGZ1bmN0aW9uIHdpbGwgZmFpbCB3aXRoIGludmFsaWQgbWZuIGlmCj4+ Pj4gcDJtLT5zZXRfZW50cnkoKSB3YXMgbm90IGNhbGxlZCBiZWZvcmUuCj4+Pj4KPj4+PiBTaWdu ZWQtb2ZmLWJ5OiBBbGV4YW5kcnUgSXNhaWxhIDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4KPj4+ PiBTaWduZWQtb2ZmLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+ Cj4+Pj4gUmV2aWV3ZWQtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNv bT4KPj4+Pgo+Pj4+IC0tLQo+Pj4+IENoYW5nZXMgc2luY2UgVjQ6Cj4+Pj4gICAgICAgICAtIEFk ZCBhbHRwMm0gdG8gcGF0Y2ggbmFtZQo+Pj4+ICAgICAgICAgLSBDaGFuZ2UgZnVuYyBuYW1lIGZy b20gZ2V0X2FsdHAybV9lbnRyeSgpIHRvCj4+Pj4gYWx0cDJtX2dldF9lbnRyeSgpLgo+Pj4+IC0t LQo+Pj4+ICB4ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jIHwgMzAgKystLS0tLS0tLS0tLQo+ Pj4+ICB4ZW4vYXJjaC94ODYvbW0vcDJtLmMgICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tCj4+Pj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvcDJtLmggICAgfCAx NyArKysrKysrKwo+Pj4+ICAzIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDY1IGRl bGV0aW9ucygtKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9tZW1fYWNj ZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jCj4+Pj4gaW5kZXggYTE0NGJiMGNl NC4uZGRmZTAxNjljMCAxMDA2NDQKPj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vz cy5jCj4+Pj4gKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYwo+Pj4+IEBAIC0yNjIs MzUgKzI2MiwxMSBAQCBpbnQgcDJtX3NldF9hbHRwMm1fbWVtX2FjY2VzcyhzdHJ1Y3QgZG9tYWlu ICpkLCBzdHJ1Y3QgcDJtX2RvbWFpbiAqaHAybSwKPj4+PiAgICAgIG1mbl90IG1mbjsKPj4+PiAg ICAgIHAybV90eXBlX3QgdDsKPj4+PiAgICAgIHAybV9hY2Nlc3NfdCBvbGRfYTsKPj4+PiAtICAg IHVuc2lnbmVkIGludCBwYWdlX29yZGVyOwo+Pj4+IC0gICAgdW5zaWduZWQgbG9uZyBnZm5fbCA9 IGdmbl94KGdmbik7Cj4+Pj4gICAgICBpbnQgcmM7Cj4+Pj4KPj4+PiAtICAgIG1mbiA9IGFwMm0t PmdldF9lbnRyeShhcDJtLCBnZm4sICZ0LCAmb2xkX2EsIDAsIE5VTEwsIE5VTEwpOwo+Pj4+IC0K Pj4+PiAtICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0 ZSAqLwo+Pj4+IC0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQo+Pj4+IC0gICAgewo+Pj4+IC0K Pj4+PiAtICAgICAgICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2ZuX2wsICZ0 LCAmb2xkX2EsCj4+Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFAyTV9B TExPQyB8IFAyTV9VTlNIQVJFLCAmcGFnZV9vcmRlciwgMCk7Cj4+Pj4gLQo+Pj4+IC0gICAgICAg IHJjID0gLUVTUkNIOwo+Pj4+IC0gICAgICAgIGlmICggIW1mbl92YWxpZChtZm4pIHx8IHQgIT0g cDJtX3JhbV9ydyApCj4+Pj4gLSAgICAgICAgICAgIHJldHVybiByYzsKPj4+PiAtCj4+Pj4gLSAg ICAgICAgLyogSWYgdGhpcyBpcyBhIHN1cGVycGFnZSwgY29weSB0aGF0IGZpcnN0ICovCj4+Pj4g LSAgICAgICAgaWYgKCBwYWdlX29yZGVyICE9IFBBR0VfT1JERVJfNEsgKQo+Pj4+IC0gICAgICAg IHsKPj4+PiAtICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vf b3JkZXIpIC0gMSk7Cj4+Pj4gLSAgICAgICAgICAgIGdmbl90IGdmbjIgPSBfZ2ZuKGdmbl9sICYg bWFzayk7Cj4+Pj4gLSAgICAgICAgICAgIG1mbl90IG1mbjIgPSBfbWZuKG1mbl94KG1mbikgJiBt YXNrKTsKPj4+PiAtCj4+Pj4gLSAgICAgICAgICAgIHJjID0gYXAybS0+c2V0X2VudHJ5KGFwMm0s IGdmbjIsIG1mbjIsIHBhZ2Vfb3JkZXIsIHQsIG9sZF9hLCAxKTsKPj4+PiAtICAgICAgICAgICAg aWYgKCByYyApCj4+Pj4gLSAgICAgICAgICAgICAgICByZXR1cm4gcmM7Cj4+Pj4gLSAgICAgICAg fQo+Pj4+IC0gICAgfQo+Pj4+ICsgICAgcmMgPSBhbHRwMm1fZ2V0X2VudHJ5X3ByZXBvcHVsYXRl KGFwMm0sIGdmbiwgJm1mbiwgJnQsICZvbGRfYSk7Cj4+Pj4gKyAgICBpZiAoIHJjICkKPj4+PiAr ICAgICAgICByZXR1cm4gcmM7Cj4+Pj4KPj4+PiAgICAgIC8qCj4+Pj4gICAgICAgKiBJbmhlcml0 IHRoZSBvbGQgc3VwcHJlc3MgI1ZFIGJpdCB2YWx1ZSBpZiBpdCBpcyBhbHJlYWR5IHNldCwgb3Ig c2V0IGl0Cj4+Pj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYyBiL3hlbi9hcmNo L3g4Ni9tbS9wMm0uYwo+Pj4+IGluZGV4IDllODFhMzBjYzQuLjdiZWRmZDU5M2IgMTAwNjQ0Cj4+ Pj4gLS0tIGEveGVuL2FyY2gveDg2L21tL3AybS5jCj4+Pj4gKysrIGIveGVuL2FyY2gveDg2L21t L3AybS5jCj4+Pgo+Pj4gV291bGRuJ3QgaXQgbWFrZSBtb3JlIHNlbnNlIHRvIHN0YXJ0IGFkZGlu ZyBuZXcgYWx0cDJtIGZ1bmN0aW9ucyB0bwo+Pj4gbW0vYWx0cDJtLmMgaW5zdGVhZD8gUHJvYmFi bHkgdGhlIGFsdHAybSBmdW5jdGlvbnMgZnJvbSBtbS9wMm0uYyBjb3VsZAo+Pj4gYWxzbyBiZSBy ZWxvY2F0ZWQgdGhlcmUgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLgo+Pj4KPj4+PiBAQCAt NDc4LDYgKzQ3OCw0MyBAQCB2b2lkIHAybV91bmxvY2tfYW5kX3RsYl9mbHVzaChzdHJ1Y3QgcDJt X2RvbWFpbiAqcDJtKQo+Pj4+ICAgICAgICAgIG1tX3dyaXRlX3VubG9jaygmcDJtLT5sb2NrKTsK Pj4+PiAgfQo+Pj4+Cj4+Pj4gK2ludCBhbHRwMm1fZ2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWlu ICphcDJtLAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBtZm5f dCAqbWZuLCBwMm1fdHlwZV90ICp0LAo+Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg cDJtX2FjY2Vzc190ICphLCBib29sIHByZXBvcHVsYXRlKQo+Pj4+ICt7Cj4+Pj4gKyAgICAqbWZu ID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdmbiwgdCwgYSwgMCwgTlVMTCwgTlVMTCk7Cj4+Pj4g Kwo+Pj4+ICsgICAgLyogQ2hlY2sgaG9zdCBwMm0gaWYgbm8gdmFsaWQgZW50cnkgaW4gYWx0ZXJu YXRlICovCj4+Pj4gKyAgICBpZiAoICFtZm5fdmFsaWQoKm1mbikgJiYgIXAybV9pc19ob3N0cDJt KGFwMm0pICkKPj4+PiArICAgIHsKPj4+PiArICAgICAgICBzdHJ1Y3QgcDJtX2RvbWFpbiAqaHAy bSA9IHAybV9nZXRfaG9zdHAybShhcDJtLT5kb21haW4pOwo+Pj4+ICsgICAgICAgIHVuc2lnbmVk IGludCBwYWdlX29yZGVyOwo+Pj4+ICsgICAgICAgIGludCByYzsKPj4+PiArCj4+Pj4gKyAgICAg ICAgKm1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5feChnZm4pLCB0LCBhLAo+ Pj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUDJNX0FMTE9DIHwgUDJN X1VOU0hBUkUsICZwYWdlX29yZGVyLCAwKTsKPj4+Cj4+PiBTbyBkZXNwaXRlIHRoZSBuYW1lIGJl aW5nIGFsdHAybV9nZXRfZW50cnkgeW91IG5vdyByZXR1cm4gYW4gZW50cnkKPj4+IGZyb20gdGhl IGhvc3RwMm0sIGV2ZW4gaWYgcHJlcG9wdWxhdGUgaXMgZmFsc2UuIElmIHRoZSBjYWxsZXIga25v d3MgaXQKPj4+IGRvZXNuJ3Qgd2FudCB0aGF0IGVudHJ5IHRvIGJlIGNvcGllZCBpbnRvIHRoZSBh bHRwMm0sIHdoeSBub3QgaGF2ZSBpdAo+Pj4gY2FsbCBfX2dldF9nZm5fdHlwZV9hY2Nlc3MgaXRz ZWxmIGZvciB0aGUgaG9zdHAybT8gSU1ITyB0aGlzIGlzIGp1c3QKPj4+IGNvbmZ1c2luZyBhbmQg ZG9lc24ndCBoZWxwIHJlYWRhYmlsaXR5IG9mIHRoZSBhbHRwMm0gY29kZS4KPj4KPj4gWW91IHJl dHVybiB0aGUgYXAybSBlbnRyeSBpZiBpdCdzIHByZXNlbnQsIG9yIHRoZSBocDJtIGVudHJ5IGlm IGl0J3MKPj4gbm90LiAgSXQncyBub3QgYSBsb3Qgb2YgZHVwbGljYXRpb24sIGJ1dCBpdCBtYWtl cyB0aGUgbG9naWMgY2xlYW5lciBJCj4+IHRoaW5rOyB3aHkgbm90IGRlZHVwbGljYXRlIGl0Pwo+ IAo+IEkgaGF2ZSBubyBwcm9ibGVtIHdpdGggbWFraW5nIHRoZSBjb2RlIG1vcmUgc3RyZWFtbGlu ZWQuIFRoZSBwcm9ibGVtIEkKPiBoYXZlIGlzIHRoYXQgdGhlIGZ1bmN0aW9uJ3MgbmFtZSBkb2Vz bid0IHN1Z2dlc3QgaXQgd291bGQgZ2V0IHlvdQo+IGFueXRoaW5nIGJ1dCB0aGUgZW50cnkgZnJv bSB0aGUgc3BlY2lmaWVkIGFsdHAybS4gU28geW91IGNvdWxkIGJlCj4gcmVhZGluZyB0aGUgY29k ZSBhc3N1bWluZyB5b3UgYXJlIGRlYWxpbmcgd2l0aCBhbiBlbnRyeSBmcm9tIHRoYXQKPiBzcGVj aWZpZWQgdGFibGUgd2hlbiBpbiBmYWN0IHlvdSBhcmUgbm90LiBUaGF0IGlzIG5vdCBhbiBleHBl Y3RlZAo+IGJlaGF2aW9yIGJhc2VkIG9uIGp1c3QgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uLiBU aGlzIGlzIGdvaW5nIHRvIG1ha2UKPiByZWFkaW5nIHRoZSBhbHRwMm0gY29kZSB0aGF0IG11Y2gg aGFyZGVyIGluIHRoZSBmdXR1cmUuCgpSaWdodCAtLSBJIHdhc24ndCBhIGh1Z2UgZmFuIG9mICdk aXJlY3QnIGVpdGhlcjsgaXQgZGlkbid0IHJlYWxseSBjb252ZXkKdG8gbWUgMTAwJSB3aGF0IHRo ZSBmdW5jdGlvbiBkaWQuICBNeSBQb0MgaGFkICJzZWV0aHJvdWdoIiwgYnV0IHRoYXQKd2Fzbid0 IHRoYXQgZ3JlYXQgZWl0aGVyLiAgIlBlZWsiPyAgQW55IG90aGVyIHN1Z2dlc3Rpb25zPwoKT3Ro ZXIgb3B0aW9uczoKCiogSWYgd2UgaGF2ZSBhIHNpbmdsZSBmdW5jdGlvbiB3aXRoIGEgI2RlZmlu ZSwgdGhpcyBtaWdodCBnZXQgYSBiaXQKZWFzaWVyOyAgd2UgY291bGQgaGF2ZSBvbmUgYmUgQVAy TUdFVF9kb250X3ByZXBvcHVsYXRlIG9yIHNvbWV0aGluZy4KCiggV2UgY291bGQgaGF2ZSB0aGUg ImNvcmUiIGZ1bmN0aW9uIG5hbWVkIF9hbHRwMm1fZ2V0X2VudHJ5LCBhbmQgaGF2ZQphbHRwMm1f Z2V0X2VudHJ5KCkgY2FsbCB3aXRoIHByZXBvcHVsYXRlID0gZmFsc2UsIGFuZAphbHRwMm1fZ2V0 X2VudHJ5X3ByZXBvcHVsYXRlKCkgY2FsbCBpdCB3aXRoIHByZXBvcHVsYXRlID0gdHJ1ZS4KClRo b3VnaHRzPwoKIC1HZW9yZ2UKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4t ZGV2ZWw=