From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru Stefan ISAILA Subject: [PATCH v5] x86/altp2m: Aggregate get entry and populate into common funcs Date: Tue, 16 Apr 2019 08:45:44 +0000 Message-ID: <20190416084531.5084-1-aisaila@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGJix-0007r4-Dv for xen-devel@lists.xenproject.org; Tue, 16 Apr 2019 08:45:51 +0000 Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: "xen-devel@lists.xenproject.org" Cc: "tamas@tklengyel.com" , "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , George Dunlap , "jbeulich@suse.com" , Alexandru Stefan ISAILA , "roger.pau@citrix.com" List-Id: xen-devel@lists.xenproject.org VGhlIGNvZGUgZm9yIGdldHRpbmcgdGhlIGVudHJ5IGFuZCB0aGVuIHBvcHVsYXRpbmcgd2FzIHJl cGVhdGVkIGluDQpwMm1fY2hhbmdlX2FsdHAybV9nZm4oKSBhbmQgaW4gcDJtX3NldF9hbHRwMm1f bWVtX2FjY2VzcygpLg0KDQpUaGUgY29kZSBpcyBub3cgaW4gb25lIHBsYWNlIHdpdGggYSBib29s IHBhcmFtIHRoYXQgbGV0cyB0aGUgY2FsbGVyIGNob29zZQ0KaWYgaXQgcG9wdWxhdGVzIGFmdGVy IGdldF9lbnRyeSgpLg0KDQpJZiByZW1hcHBpbmcgaXMgYmVpbmcgZG9uZSB0aGVuIGJvdGggdGhl IG9sZCBhbmQgbmV3IGdmbidzIHNob3VsZCBiZQ0KdW5zaGFyZWQgaW4gdGhlIGhvc3RwMm0gZm9y IGtlZXBpbmcgdGhpbmdzIGNvbnNpc3RlbnQuIFRoZSBwYWdlIHR5cGUNCm9mIG9sZF9nZm4gd2Fz IGFscmVhZHkgY2hlY2tlZCB3aGV0aGVyIGl0J3MgcDJtX3JhbV9ydyBhbmQgYmFpbCBpZiBpdA0K d2Fzbid0IHNvIGZ1bmN0aW9uYWxpdHktd2lzZSB0aGlzIGp1c3Qgc2ltcGxpZmllcyB0aGluZ3Mg YXMgYSB1c2VyDQpkb2Vzbid0IGhhdmUgdG8gcmVxdWVzdCB1bnNoYXJpbmcgbWFudWFsbHkgYmVm b3JlIHJlbWFwcGluZy4NCk5vdywgaWYgdGhlIG5ld19nZm4gaXMgaW52YWxpZCBpdCBzaG91bGRu J3QgcXVlcnkgdGhlIGhvc3RwMm0gYXMNCnRoYXQgaXMgZWZmZWN0aXZlbHkgYSByZXF1ZXN0IHRv IHJlbW92ZSB0aGUgZW50cnkgZnJvbSB0aGUgYWx0cDJtLg0KQnV0IHByb3ZpZGVkIHRoYXQgc2Nl bmFyaW8gaXMgdXNlZCBvbmx5IHdoZW4gcmVtb3ZpbmcgZW50cmllcyB0aGF0DQp3ZXJlIHByZXZp b3VzbHkgcmVtYXBwZWQvY29waWVkIHRvIHRoZSBhbHRwMm0sIHRob3NlIGVudHJpZXMgYWxyZWFk eQ0Kd2VudCB0aHJvdWdoIFAyTV9BTExPQyB8IFAyTV9VTlNIQVJFIGJlZm9yZSwgc28gaXQgd29u J3QgaGF2ZSBhbg0KYWZmZWN0IHNvIHRoZSBjb3JlIGZ1bmN0aW9uIGdldF9hbHRwMm1fZW50cnko KSBpcyBjYWxsaW5nDQpfX2dldF9nZm5fdHlwZV9hY2Nlc3MoKSB3aXRoIFAyTV9BTExPQyB8IFAy TV9VTlNIQVJFLg0KDQphbHRwMm1fZ2V0X2VudHJ5X2RpcmVjdCgpIGlzIGFsc28gY2FsbGVkIGlu IHAybV9zZXRfc3VwcHJlc3NfdmUoKQ0KYmVjYXVzZSBvbiBhIG5ldyBhbHRwMm0gdmlldyB0aGUg ZnVuY3Rpb24gd2lsbCBmYWlsIHdpdGggaW52YWxpZCBtZm4gaWYNCnAybS0+c2V0X2VudHJ5KCkg d2FzIG5vdCBjYWxsZWQgYmVmb3JlLg0KDQpTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kcnUgSXNhaWxh IDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4NClNpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4NClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxn ZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+DQoNCi0tLQ0KQ2hhbmdlcyBzaW5jZSBWNDoNCgktIEFk ZCBhbHRwMm0gdG8gcGF0Y2ggbmFtZQ0KCS0gQ2hhbmdlIGZ1bmMgbmFtZSBmcm9tIGdldF9hbHRw Mm1fZW50cnkoKSB0bw0KYWx0cDJtX2dldF9lbnRyeSgpLg0KLS0tDQogeGVuL2FyY2gveDg2L21t L21lbV9hY2Nlc3MuYyB8IDMwICsrLS0tLS0tLS0tLS0NCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMg ICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wMm0uaCAgICB8IDE3ICsrKysrKysrDQogMyBmaWxlcyBjaGFuZ2VkLCA2 NiBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9tbS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jDQppbmRl eCBhMTQ0YmIwY2U0Li5kZGZlMDE2OWMwIDEwMDY0NA0KLS0tIGEveGVuL2FyY2gveDg2L21tL21l bV9hY2Nlc3MuYw0KKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYw0KQEAgLTI2Miwz NSArMjYyLDExIEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLA0KICAgICBtZm5fdCBtZm47DQogICAgIHAybV90 eXBlX3QgdDsNCiAgICAgcDJtX2FjY2Vzc190IG9sZF9hOw0KLSAgICB1bnNpZ25lZCBpbnQgcGFn ZV9vcmRlcjsNCi0gICAgdW5zaWduZWQgbG9uZyBnZm5fbCA9IGdmbl94KGdmbik7DQogICAgIGlu dCByYzsNCiANCi0gICAgbWZuID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdmbiwgJnQsICZvbGRf YSwgMCwgTlVMTCwgTlVMTCk7DQotDQotICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5vIHZhbGlk IGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KLSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApDQotICAg IHsNCi0NCi0gICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5fbCwg JnQsICZvbGRfYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxM T0MgfCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KLQ0KLSAgICAgICAgcmMgPSAtRVNS Q0g7DQotICAgICAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ICE9IHAybV9yYW1fcncgKQ0K LSAgICAgICAgICAgIHJldHVybiByYzsNCi0NCi0gICAgICAgIC8qIElmIHRoaXMgaXMgYSBzdXBl cnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KLSAgICAgICAgaWYgKCBwYWdlX29yZGVyICE9IFBB R0VfT1JERVJfNEsgKQ0KLSAgICAgICAgew0KLSAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWFz ayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOw0KLSAgICAgICAgICAgIGdmbl90IGdmbjIg PSBfZ2ZuKGdmbl9sICYgbWFzayk7DQotICAgICAgICAgICAgbWZuX3QgbWZuMiA9IF9tZm4obWZu X3gobWZuKSAmIG1hc2spOw0KLQ0KLSAgICAgICAgICAgIHJjID0gYXAybS0+c2V0X2VudHJ5KGFw Mm0sIGdmbjIsIG1mbjIsIHBhZ2Vfb3JkZXIsIHQsIG9sZF9hLCAxKTsNCi0gICAgICAgICAgICBp ZiAoIHJjICkNCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAgfQ0KLSAgICB9 DQorICAgIHJjID0gYWx0cDJtX2dldF9lbnRyeV9wcmVwb3B1bGF0ZShhcDJtLCBnZm4sICZtZm4s ICZ0LCAmb2xkX2EpOw0KKyAgICBpZiAoIHJjICkNCisgICAgICAgIHJldHVybiByYzsNCiANCiAg ICAgLyoNCiAgICAgICogSW5oZXJpdCB0aGUgb2xkIHN1cHByZXNzICNWRSBiaXQgdmFsdWUgaWYg aXQgaXMgYWxyZWFkeSBzZXQsIG9yIHNldCBpdA0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KaW5kZXggOWU4MWEzMGNjNC4uN2JlZGZk NTkzYiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KKysrIGIveGVuL2FyY2gv eDg2L21tL3AybS5jDQpAQCAtNDc4LDYgKzQ3OCw0MyBAQCB2b2lkIHAybV91bmxvY2tfYW5kX3Rs Yl9mbHVzaChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQ0KICAgICAgICAgbW1fd3JpdGVfdW5sb2Nr KCZwMm0tPmxvY2spOw0KIH0NCiANCitpbnQgYWx0cDJtX2dldF9lbnRyeShzdHJ1Y3QgcDJtX2Rv bWFpbiAqYXAybSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBtZm5f dCAqbWZuLCBwMm1fdHlwZV90ICp0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1f YWNjZXNzX3QgKmEsIGJvb2wgcHJlcG9wdWxhdGUpDQorew0KKyAgICAqbWZuID0gYXAybS0+Z2V0 X2VudHJ5KGFwMm0sIGdmbiwgdCwgYSwgMCwgTlVMTCwgTlVMTCk7DQorDQorICAgIC8qIENoZWNr IGhvc3QgcDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KKyAgICBpZiAoICFt Zm5fdmFsaWQoKm1mbikgJiYgIXAybV9pc19ob3N0cDJtKGFwMm0pICkNCisgICAgew0KKyAgICAg ICAgc3RydWN0IHAybV9kb21haW4gKmhwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oYXAybS0+ZG9tYWlu KTsNCisgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVyOw0KKyAgICAgICAgaW50IHJjOw0K Kw0KKyAgICAgICAgKm1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5feChnZm4p LCB0LCBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxMT0Mg fCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KKw0KKyAgICAgICAgcmMgPSAtRVNSQ0g7 DQorICAgICAgICBpZiAoICFtZm5fdmFsaWQoKm1mbikgfHwgKnQgIT0gcDJtX3JhbV9ydyApDQor ICAgICAgICAgICAgcmV0dXJuIHJjOw0KKw0KKyAgICAgICAgLyogSWYgdGhpcyBpcyBhIHN1cGVy cGFnZSwgY29weSB0aGF0IGZpcnN0ICovDQorICAgICAgICBpZiAoIHByZXBvcHVsYXRlICYmIHBh Z2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyApDQorICAgICAgICB7DQorICAgICAgICAgICAgdW5z aWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vfb3JkZXIpIC0gMSk7DQorICAgICAgICAg ICAgZ2ZuX3QgZ2ZuX2FsaWduZWQgPSBfZ2ZuKGdmbl94KGdmbikgJiBtYXNrKTsNCisgICAgICAg ICAgICBtZm5fdCBtZm5fYWxpZ25lZCA9IF9tZm4obWZuX3goKm1mbikgJiBtYXNrKTsNCisNCisg ICAgICAgICAgICByYyA9IGFwMm0tPnNldF9lbnRyeShhcDJtLCBnZm5fYWxpZ25lZCwgbWZuX2Fs aWduZWQsIHBhZ2Vfb3JkZXIsICp0LCAqYSwgMSk7DQorICAgICAgICAgICAgaWYgKCByYyApDQor ICAgICAgICAgICAgICAgIHJldHVybiByYzsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBy ZXR1cm4gMDsNCit9DQorDQorDQogbWZuX3QgX19nZXRfZ2ZuX3R5cGVfYWNjZXNzKHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuX2wsDQogICAgICAgICAgICAgICAgICAg ICBwMm1fdHlwZV90ICp0LCBwMm1fYWNjZXNzX3QgKmEsIHAybV9xdWVyeV90IHEsDQogICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vfb3JkZXIsIGJvb2xfdCBsb2NrZWQpDQpA QCAtMjYxOCw3ICsyNjU1LDYgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fYWNjZXNzX3QgYTsNCiAgICAgcDJt X3R5cGVfdCB0Ow0KICAgICBtZm5fdCBtZm47DQotICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVy Ow0KICAgICBpbnQgcmMgPSAtRUlOVkFMOw0KIA0KICAgICBpZiAoIGlkeCA+PSBNQVhfQUxUUDJN IHx8IGQtPmFyY2guYWx0cDJtX2VwdHBbaWR4XSA9PSBtZm5feChJTlZBTElEX01GTikgKQ0KQEAg LTI2MzAsNDcgKzI2NjYsMjEgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fbG9jayhocDJtKTsNCiAgICAgcDJt X2xvY2soYXAybSk7DQogDQotICAgIG1mbiA9IGFwMm0tPmdldF9lbnRyeShhcDJtLCBvbGRfZ2Zu LCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KLQ0KICAgICBpZiAoIGdmbl9lcShuZXdfZ2ZuLCBJ TlZBTElEX0dGTikgKQ0KICAgICB7DQorICAgICAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnkoYXAy bSwgb2xkX2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsNCiAgICAgICAgIGlmICggbWZuX3Zh bGlkKG1mbikgKQ0KICAgICAgICAgICAgIHAybV9yZW1vdmVfcGFnZShhcDJtLCBnZm5feChvbGRf Z2ZuKSwgbWZuX3gobWZuKSwgUEFHRV9PUkRFUl80Syk7DQogICAgICAgICByYyA9IDA7DQogICAg ICAgICBnb3RvIG91dDsNCiAgICAgfQ0KIA0KLSAgICAvKiBDaGVjayBob3N0IHAybSBpZiBubyB2 YWxpZCBlbnRyeSBpbiBhbHRlcm5hdGUgKi8NCi0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQ0K LSAgICB7DQotICAgICAgICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2ZuX3go b2xkX2dmbiksICZ0LCAmYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ Mk1fQUxMT0MsICZwYWdlX29yZGVyLCAwKTsNCi0NCi0gICAgICAgIGlmICggIW1mbl92YWxpZCht Zm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApDQotICAgICAgICAgICAgZ290byBvdXQ7DQotDQotICAg ICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5IHRoYXQgZmlyc3QgKi8NCi0gICAg ICAgIGlmICggcGFnZV9vcmRlciAhPSBQQUdFX09SREVSXzRLICkNCi0gICAgICAgIHsNCi0gICAg ICAgICAgICBnZm5fdCBnZm47DQotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrOw0KLQ0K LSAgICAgICAgICAgIG1hc2sgPSB+KCgxVUwgPDwgcGFnZV9vcmRlcikgLSAxKTsNCi0gICAgICAg ICAgICBnZm4gPSBfZ2ZuKGdmbl94KG9sZF9nZm4pICYgbWFzayk7DQotICAgICAgICAgICAgbWZu ID0gX21mbihtZm5feChtZm4pICYgbWFzayk7DQotDQotICAgICAgICAgICAgaWYgKCBhcDJtLT5z ZXRfZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIGEsIDEpICkNCi0gICAgICAg ICAgICAgICAgZ290byBvdXQ7DQotICAgICAgICB9DQotICAgIH0NCi0NCi0gICAgbWZuID0gYXAy bS0+Z2V0X2VudHJ5KGFwMm0sIG5ld19nZm4sICZ0LCAmYSwgMCwgTlVMTCwgTlVMTCk7DQotDQot ICAgIGlmICggIW1mbl92YWxpZChtZm4pICkNCi0gICAgICAgIG1mbiA9IGhwMm0tPmdldF9lbnRy eShocDJtLCBuZXdfZ2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KKyAgICByYyA9IGFsdHAy bV9nZXRfZW50cnlfcHJlcG9wdWxhdGUoYXAybSwgb2xkX2dmbiwgJm1mbiwgJnQsICZhKTsNCisg ICAgaWYgKCByYyApDQorICAgICAgICBnb3RvIG91dDsNCiANCi0gICAgLyogTm90ZTogY3VycmVu dGx5IGl0IGlzIG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQotICAgIGlm ICggIW1mbl92YWxpZChtZm4pIHx8ICh0ICE9IHAybV9yYW1fcncpICkNCisgICAgcmMgPSBhbHRw Mm1fZ2V0X2VudHJ5X2RpcmVjdChhcDJtLCBuZXdfZ2ZuLCAmbWZuLCAmdCwgJmEpOw0KKyAgICBp ZiAoIHJjICkNCiAgICAgICAgIGdvdG8gb3V0Ow0KIA0KICAgICBpZiAoICFhcDJtLT5zZXRfZW50 cnkoYXAybSwgb2xkX2dmbiwgbWZuLCBQQUdFX09SREVSXzRLLCB0LCBhLA0KQEAgLTMwMDIsMTIg KzMwMTIsMTAgQEAgaW50IHAybV9zZXRfc3VwcHJlc3NfdmUoc3RydWN0IGRvbWFpbiAqZCwgZ2Zu X3QgZ2ZuLCBib29sIHN1cHByZXNzX3ZlLA0KICAgICBpZiAoIGFwMm0gKQ0KICAgICAgICAgcDJt X2xvY2soYXAybSk7DQogDQotICAgIG1mbiA9IHAybS0+Z2V0X2VudHJ5KHAybSwgZ2ZuLCAmdCwg JmEsIDAsIE5VTEwsIE5VTEwpOw0KLSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApDQotICAgIHsN Ci0gICAgICAgIHJjID0gLUVTUkNIOw0KKyAgICByYyA9IGFsdHAybV9nZXRfZW50cnlfZGlyZWN0 KHAybSwgZ2ZuLCAmbWZuLCAmdCwgJmEpOw0KKw0KKyAgICBpZiAoIHJjICkNCiAgICAgICAgIGdv dG8gb3V0Ow0KLSAgICB9DQogDQogICAgIHJjID0gcDJtLT5zZXRfZW50cnkocDJtLCBnZm4sIG1m biwgUEFHRV9PUkRFUl80SywgdCwgYSwgc3VwcHJlc3NfdmUpOw0KIA0KZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oDQppbmRl eCAyODAxYThjY2NhLi44ZGM0MzUzNjQ1IDEwMDY0NA0KLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wMm0uaA0KKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaA0KQEAgLTUxNCw2ICs1MTQs MjMgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG1mbl90b19nZm4oc3RydWN0IGRvbWFp biAqZCwgbWZuX3QgbWZuKQ0KICAgICAgICAgcmV0dXJuIG1mbl94KG1mbik7DQogfQ0KIA0KK2lu dCBhbHRwMm1fZ2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICphcDJtLCBnZm5fdCBnZm4sIG1m bl90ICptZm4sDQorICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCAqdCwgcDJtX2FjY2Vz c190ICphLCBib29sIHByZXBvcHVsYXRlKTsNCisNCitzdGF0aWMgaW5saW5lIGludCBhbHRwMm1f Z2V0X2VudHJ5X2RpcmVjdChzdHJ1Y3QgcDJtX2RvbWFpbiAqYXAybSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBnZm4sIG1mbl90ICptZm4sDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCAqdCwgcDJt X2FjY2Vzc190ICphKQ0KK3sNCisgICAgcmV0dXJuIGFsdHAybV9nZXRfZW50cnkoYXAybSwgZ2Zu LCBtZm4sIHQsIGEsIGZhbHNlKTsNCit9DQorDQorc3RhdGljIGlubGluZSBpbnQgYWx0cDJtX2dl dF9lbnRyeV9wcmVwb3B1bGF0ZShzdHJ1Y3QgcDJtX2RvbWFpbiAqYXAybSwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbiwgbWZuX3QgKm1m biwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90 eXBlX3QgKnQsIHAybV9hY2Nlc3NfdCAqYSkNCit7DQorICAgIHJldHVybiBhbHRwMm1fZ2V0X2Vu dHJ5KGFwMm0sIGdmbiwgbWZuLCB0LCBhLCB0cnVlKTsNCit9DQorDQogLyogRGVhZGxvY2stYXZv aWRhbmNlIHNjaGVtZSB3aGVuIGNhbGxpbmcgZ2V0X2dmbiBvbiBkaWZmZXJlbnQgZ2ZuJ3MgKi8N CiBzdHJ1Y3QgdHdvX2dmbnMgew0KICAgICBzdHJ1Y3QgZG9tYWluICpmaXJzdF9kb21haW4sICpz ZWNvbmRfZG9tYWluOw0KLS0gDQoyLjE3LjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA== 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=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT 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 87D33C282DA for ; Tue, 16 Apr 2019 08:46:07 +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 4ABA42086A for ; Tue, 16 Apr 2019 08:46:07 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=bitdefender.onmicrosoft.com header.i=@bitdefender.onmicrosoft.com header.b="F7nJG8Nj" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 4ABA42086A Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=bitdefender.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 1hGJiy-0007rA-KN; Tue, 16 Apr 2019 08:45:52 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hGJix-0007r4-Dv for xen-devel@lists.xenproject.org; Tue, 16 Apr 2019 08:45:51 +0000 X-Inumbo-ID: 0814f73e-6024-11e9-92d7-bc764e045a96 Received: from EUR03-VE1-obe.outbound.protection.outlook.com (unknown [2a01:111:f400:fe09::711]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 0814f73e-6024-11e9-92d7-bc764e045a96; Tue, 16 Apr 2019 08:45:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bitdefender.onmicrosoft.com; s=selector1-bitdefender-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Jll3xnXvde/s/DDT6KqKnkY9tkGrOEB326pAjcL/MEI=; b=F7nJG8NjKH7JobeTv89fq4jiNYgZevxZnj+PnRG98C70GyKktUw/JzMUWJBNOPQtx2L6yAGySdXfe68GDy+rk3ObpNvVfxX4Zv+hd2CVCq76x0r/pEwYy1j4tm+3gZ4AWs0k6BlMdtpKoA27Ao0kuqKjqAxNYT+xb9gZ7IL5baQ= Received: from VI1PR0202MB2928.eurprd02.prod.outlook.com (10.171.103.139) by VI1PR0202MB3374.eurprd02.prod.outlook.com (52.134.16.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.19; Tue, 16 Apr 2019 08:45:45 +0000 Received: from VI1PR0202MB2928.eurprd02.prod.outlook.com ([fe80::8957:73b5:ea4e:f726]) by VI1PR0202MB2928.eurprd02.prod.outlook.com ([fe80::8957:73b5:ea4e:f726%10]) with mapi id 15.20.1792.018; Tue, 16 Apr 2019 08:45:45 +0000 From: Alexandru Stefan ISAILA To: "xen-devel@lists.xenproject.org" Thread-Topic: [PATCH v5] x86/altp2m: Aggregate get entry and populate into common funcs Thread-Index: AQHU9DDH6oc5DJYpnEKtehvBZ5FEHQ== Date: Tue, 16 Apr 2019 08:45:44 +0000 Message-ID: <20190416084531.5084-1-aisaila@bitdefender.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: AM6P195CA0032.EURP195.PROD.OUTLOOK.COM (2603:10a6:209:81::45) To VI1PR0202MB2928.eurprd02.prod.outlook.com (2603:10a6:800:de::11) authentication-results: spf=none (sender IP is ) smtp.mailfrom=aisaila@bitdefender.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [91.199.104.6] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 89b15e62-59ff-4c68-07bc-08d6c247ea1c x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600140)(711020)(4605104)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:VI1PR0202MB3374; x-ms-traffictypediagnostic: VI1PR0202MB3374:|VI1PR0202MB3374: x-microsoft-antispam-prvs: x-forefront-prvs: 000947967F x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(136003)(346002)(396003)(39860400002)(366004)(199004)(189003)(105586002)(6436002)(6486002)(52116002)(1076003)(478600001)(316002)(26005)(4326008)(81156014)(102836004)(6116002)(86362001)(476003)(14454004)(106356001)(2351001)(68736007)(2616005)(81166006)(486006)(25786009)(3846002)(6506007)(256004)(8936002)(305945005)(5660300002)(386003)(66066001)(5640700003)(186003)(2501003)(97736004)(8676002)(71200400001)(14444005)(7736002)(50226002)(2906002)(99286004)(53936002)(6512007)(54906003)(71190400001)(36756003)(6916009); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0202MB3374; H:VI1PR0202MB2928.eurprd02.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: bitdefender.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: uX1/pHydi20icKVHLO5sBgDO48knGvkUtb+hADd688ebpOJ6eCLiW4HvRzRrnMurp0G06lNohr6qvujj/vQhf899cX8HlLUSRwwmZezawOFO9g7Qv7+yS9hoHOIiXV1ZMJrfnYjohFXIxuCT4RYFagdHRrGodyg7T2AAjBgP5Udvk3zpMTq2OKATe1JULYS9N2khqU0hAE0yzhBxfEskZAn3ma0LGNCcZYRJfdc9WIuLrvS2iXzYKZWZGejgeyBT/sAr+Hz4DwSowZvoHO2P3auzXr2iKLC52wbYTDrirCgOqFYdytOdTmdTTSk9srpSKfE5Ge3oDeFoWx6L3TjaBuxUxn4ki5ZKd0EZ0gP1qCUeNwTWCmki9szQCZY3z0x96la67qDn+w/XWB8WdIwbPHWhLv3d5yq7zNJjA/SC3Js= MIME-Version: 1.0 X-OriginatorOrg: bitdefender.com X-MS-Exchange-CrossTenant-Network-Message-Id: 89b15e62-59ff-4c68-07bc-08d6c247ea1c X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2019 08:45:44.8988 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 487baf29-f1da-469a-9221-243f830c36f3 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0202MB3374 Subject: [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: "tamas@tklengyel.com" , "wei.liu2@citrix.com" , "rcojocaru@bitdefender.com" , "george.dunlap@eu.citrix.com" , "andrew.cooper3@citrix.com" , George Dunlap , "jbeulich@suse.com" , Alexandru Stefan ISAILA , "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: <20190416084544.VOei7LEQr7WlCcDyRDiGvXCvhYBeuZA24LABPE7gpiU@z> VGhlIGNvZGUgZm9yIGdldHRpbmcgdGhlIGVudHJ5IGFuZCB0aGVuIHBvcHVsYXRpbmcgd2FzIHJl cGVhdGVkIGluDQpwMm1fY2hhbmdlX2FsdHAybV9nZm4oKSBhbmQgaW4gcDJtX3NldF9hbHRwMm1f bWVtX2FjY2VzcygpLg0KDQpUaGUgY29kZSBpcyBub3cgaW4gb25lIHBsYWNlIHdpdGggYSBib29s IHBhcmFtIHRoYXQgbGV0cyB0aGUgY2FsbGVyIGNob29zZQ0KaWYgaXQgcG9wdWxhdGVzIGFmdGVy IGdldF9lbnRyeSgpLg0KDQpJZiByZW1hcHBpbmcgaXMgYmVpbmcgZG9uZSB0aGVuIGJvdGggdGhl IG9sZCBhbmQgbmV3IGdmbidzIHNob3VsZCBiZQ0KdW5zaGFyZWQgaW4gdGhlIGhvc3RwMm0gZm9y IGtlZXBpbmcgdGhpbmdzIGNvbnNpc3RlbnQuIFRoZSBwYWdlIHR5cGUNCm9mIG9sZF9nZm4gd2Fz IGFscmVhZHkgY2hlY2tlZCB3aGV0aGVyIGl0J3MgcDJtX3JhbV9ydyBhbmQgYmFpbCBpZiBpdA0K d2Fzbid0IHNvIGZ1bmN0aW9uYWxpdHktd2lzZSB0aGlzIGp1c3Qgc2ltcGxpZmllcyB0aGluZ3Mg YXMgYSB1c2VyDQpkb2Vzbid0IGhhdmUgdG8gcmVxdWVzdCB1bnNoYXJpbmcgbWFudWFsbHkgYmVm b3JlIHJlbWFwcGluZy4NCk5vdywgaWYgdGhlIG5ld19nZm4gaXMgaW52YWxpZCBpdCBzaG91bGRu J3QgcXVlcnkgdGhlIGhvc3RwMm0gYXMNCnRoYXQgaXMgZWZmZWN0aXZlbHkgYSByZXF1ZXN0IHRv IHJlbW92ZSB0aGUgZW50cnkgZnJvbSB0aGUgYWx0cDJtLg0KQnV0IHByb3ZpZGVkIHRoYXQgc2Nl bmFyaW8gaXMgdXNlZCBvbmx5IHdoZW4gcmVtb3ZpbmcgZW50cmllcyB0aGF0DQp3ZXJlIHByZXZp b3VzbHkgcmVtYXBwZWQvY29waWVkIHRvIHRoZSBhbHRwMm0sIHRob3NlIGVudHJpZXMgYWxyZWFk eQ0Kd2VudCB0aHJvdWdoIFAyTV9BTExPQyB8IFAyTV9VTlNIQVJFIGJlZm9yZSwgc28gaXQgd29u J3QgaGF2ZSBhbg0KYWZmZWN0IHNvIHRoZSBjb3JlIGZ1bmN0aW9uIGdldF9hbHRwMm1fZW50cnko KSBpcyBjYWxsaW5nDQpfX2dldF9nZm5fdHlwZV9hY2Nlc3MoKSB3aXRoIFAyTV9BTExPQyB8IFAy TV9VTlNIQVJFLg0KDQphbHRwMm1fZ2V0X2VudHJ5X2RpcmVjdCgpIGlzIGFsc28gY2FsbGVkIGlu IHAybV9zZXRfc3VwcHJlc3NfdmUoKQ0KYmVjYXVzZSBvbiBhIG5ldyBhbHRwMm0gdmlldyB0aGUg ZnVuY3Rpb24gd2lsbCBmYWlsIHdpdGggaW52YWxpZCBtZm4gaWYNCnAybS0+c2V0X2VudHJ5KCkg d2FzIG5vdCBjYWxsZWQgYmVmb3JlLg0KDQpTaWduZWQtb2ZmLWJ5OiBBbGV4YW5kcnUgSXNhaWxh IDxhaXNhaWxhQGJpdGRlZmVuZGVyLmNvbT4NClNpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5sYXAg PGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4NClJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxn ZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+DQoNCi0tLQ0KQ2hhbmdlcyBzaW5jZSBWNDoNCgktIEFk ZCBhbHRwMm0gdG8gcGF0Y2ggbmFtZQ0KCS0gQ2hhbmdlIGZ1bmMgbmFtZSBmcm9tIGdldF9hbHRw Mm1fZW50cnkoKSB0bw0KYWx0cDJtX2dldF9lbnRyeSgpLg0KLS0tDQogeGVuL2FyY2gveDg2L21t L21lbV9hY2Nlc3MuYyB8IDMwICsrLS0tLS0tLS0tLS0NCiB4ZW4vYXJjaC94ODYvbW0vcDJtLmMg ICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tDQogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9wMm0uaCAgICB8IDE3ICsrKysrKysrDQogMyBmaWxlcyBjaGFuZ2VkLCA2 NiBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9tbS9tZW1fYWNjZXNzLmMgYi94ZW4vYXJjaC94ODYvbW0vbWVtX2FjY2Vzcy5jDQppbmRl eCBhMTQ0YmIwY2U0Li5kZGZlMDE2OWMwIDEwMDY0NA0KLS0tIGEveGVuL2FyY2gveDg2L21tL21l bV9hY2Nlc3MuYw0KKysrIGIveGVuL2FyY2gveDg2L21tL21lbV9hY2Nlc3MuYw0KQEAgLTI2Miwz NSArMjYyLDExIEBAIGludCBwMm1fc2V0X2FsdHAybV9tZW1fYWNjZXNzKHN0cnVjdCBkb21haW4g KmQsIHN0cnVjdCBwMm1fZG9tYWluICpocDJtLA0KICAgICBtZm5fdCBtZm47DQogICAgIHAybV90 eXBlX3QgdDsNCiAgICAgcDJtX2FjY2Vzc190IG9sZF9hOw0KLSAgICB1bnNpZ25lZCBpbnQgcGFn ZV9vcmRlcjsNCi0gICAgdW5zaWduZWQgbG9uZyBnZm5fbCA9IGdmbl94KGdmbik7DQogICAgIGlu dCByYzsNCiANCi0gICAgbWZuID0gYXAybS0+Z2V0X2VudHJ5KGFwMm0sIGdmbiwgJnQsICZvbGRf YSwgMCwgTlVMTCwgTlVMTCk7DQotDQotICAgIC8qIENoZWNrIGhvc3QgcDJtIGlmIG5vIHZhbGlk IGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KLSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApDQotICAg IHsNCi0NCi0gICAgICAgIG1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5fbCwg JnQsICZvbGRfYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxM T0MgfCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KLQ0KLSAgICAgICAgcmMgPSAtRVNS Q0g7DQotICAgICAgICBpZiAoICFtZm5fdmFsaWQobWZuKSB8fCB0ICE9IHAybV9yYW1fcncgKQ0K LSAgICAgICAgICAgIHJldHVybiByYzsNCi0NCi0gICAgICAgIC8qIElmIHRoaXMgaXMgYSBzdXBl cnBhZ2UsIGNvcHkgdGhhdCBmaXJzdCAqLw0KLSAgICAgICAgaWYgKCBwYWdlX29yZGVyICE9IFBB R0VfT1JERVJfNEsgKQ0KLSAgICAgICAgew0KLSAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbWFz ayA9IH4oKDFVTCA8PCBwYWdlX29yZGVyKSAtIDEpOw0KLSAgICAgICAgICAgIGdmbl90IGdmbjIg PSBfZ2ZuKGdmbl9sICYgbWFzayk7DQotICAgICAgICAgICAgbWZuX3QgbWZuMiA9IF9tZm4obWZu X3gobWZuKSAmIG1hc2spOw0KLQ0KLSAgICAgICAgICAgIHJjID0gYXAybS0+c2V0X2VudHJ5KGFw Mm0sIGdmbjIsIG1mbjIsIHBhZ2Vfb3JkZXIsIHQsIG9sZF9hLCAxKTsNCi0gICAgICAgICAgICBp ZiAoIHJjICkNCi0gICAgICAgICAgICAgICAgcmV0dXJuIHJjOw0KLSAgICAgICAgfQ0KLSAgICB9 DQorICAgIHJjID0gYWx0cDJtX2dldF9lbnRyeV9wcmVwb3B1bGF0ZShhcDJtLCBnZm4sICZtZm4s ICZ0LCAmb2xkX2EpOw0KKyAgICBpZiAoIHJjICkNCisgICAgICAgIHJldHVybiByYzsNCiANCiAg ICAgLyoNCiAgICAgICogSW5oZXJpdCB0aGUgb2xkIHN1cHByZXNzICNWRSBiaXQgdmFsdWUgaWYg aXQgaXMgYWxyZWFkeSBzZXQsIG9yIHNldCBpdA0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9t bS9wMm0uYyBiL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KaW5kZXggOWU4MWEzMGNjNC4uN2JlZGZk NTkzYiAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9wMm0uYw0KKysrIGIveGVuL2FyY2gv eDg2L21tL3AybS5jDQpAQCAtNDc4LDYgKzQ3OCw0MyBAQCB2b2lkIHAybV91bmxvY2tfYW5kX3Rs Yl9mbHVzaChzdHJ1Y3QgcDJtX2RvbWFpbiAqcDJtKQ0KICAgICAgICAgbW1fd3JpdGVfdW5sb2Nr KCZwMm0tPmxvY2spOw0KIH0NCiANCitpbnQgYWx0cDJtX2dldF9lbnRyeShzdHJ1Y3QgcDJtX2Rv bWFpbiAqYXAybSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2ZuX3QgZ2ZuLCBtZm5f dCAqbWZuLCBwMm1fdHlwZV90ICp0LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwMm1f YWNjZXNzX3QgKmEsIGJvb2wgcHJlcG9wdWxhdGUpDQorew0KKyAgICAqbWZuID0gYXAybS0+Z2V0 X2VudHJ5KGFwMm0sIGdmbiwgdCwgYSwgMCwgTlVMTCwgTlVMTCk7DQorDQorICAgIC8qIENoZWNr IGhvc3QgcDJtIGlmIG5vIHZhbGlkIGVudHJ5IGluIGFsdGVybmF0ZSAqLw0KKyAgICBpZiAoICFt Zm5fdmFsaWQoKm1mbikgJiYgIXAybV9pc19ob3N0cDJtKGFwMm0pICkNCisgICAgew0KKyAgICAg ICAgc3RydWN0IHAybV9kb21haW4gKmhwMm0gPSBwMm1fZ2V0X2hvc3RwMm0oYXAybS0+ZG9tYWlu KTsNCisgICAgICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVyOw0KKyAgICAgICAgaW50IHJjOw0K Kw0KKyAgICAgICAgKm1mbiA9IF9fZ2V0X2dmbl90eXBlX2FjY2VzcyhocDJtLCBnZm5feChnZm4p LCB0LCBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQMk1fQUxMT0Mg fCBQMk1fVU5TSEFSRSwgJnBhZ2Vfb3JkZXIsIDApOw0KKw0KKyAgICAgICAgcmMgPSAtRVNSQ0g7 DQorICAgICAgICBpZiAoICFtZm5fdmFsaWQoKm1mbikgfHwgKnQgIT0gcDJtX3JhbV9ydyApDQor ICAgICAgICAgICAgcmV0dXJuIHJjOw0KKw0KKyAgICAgICAgLyogSWYgdGhpcyBpcyBhIHN1cGVy cGFnZSwgY29weSB0aGF0IGZpcnN0ICovDQorICAgICAgICBpZiAoIHByZXBvcHVsYXRlICYmIHBh Z2Vfb3JkZXIgIT0gUEFHRV9PUkRFUl80SyApDQorICAgICAgICB7DQorICAgICAgICAgICAgdW5z aWduZWQgbG9uZyBtYXNrID0gfigoMVVMIDw8IHBhZ2Vfb3JkZXIpIC0gMSk7DQorICAgICAgICAg ICAgZ2ZuX3QgZ2ZuX2FsaWduZWQgPSBfZ2ZuKGdmbl94KGdmbikgJiBtYXNrKTsNCisgICAgICAg ICAgICBtZm5fdCBtZm5fYWxpZ25lZCA9IF9tZm4obWZuX3goKm1mbikgJiBtYXNrKTsNCisNCisg ICAgICAgICAgICByYyA9IGFwMm0tPnNldF9lbnRyeShhcDJtLCBnZm5fYWxpZ25lZCwgbWZuX2Fs aWduZWQsIHBhZ2Vfb3JkZXIsICp0LCAqYSwgMSk7DQorICAgICAgICAgICAgaWYgKCByYyApDQor ICAgICAgICAgICAgICAgIHJldHVybiByYzsNCisgICAgICAgIH0NCisgICAgfQ0KKw0KKyAgICBy ZXR1cm4gMDsNCit9DQorDQorDQogbWZuX3QgX19nZXRfZ2ZuX3R5cGVfYWNjZXNzKHN0cnVjdCBw Mm1fZG9tYWluICpwMm0sIHVuc2lnbmVkIGxvbmcgZ2ZuX2wsDQogICAgICAgICAgICAgICAgICAg ICBwMm1fdHlwZV90ICp0LCBwMm1fYWNjZXNzX3QgKmEsIHAybV9xdWVyeV90IHEsDQogICAgICAg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgKnBhZ2Vfb3JkZXIsIGJvb2xfdCBsb2NrZWQpDQpA QCAtMjYxOCw3ICsyNjU1LDYgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fYWNjZXNzX3QgYTsNCiAgICAgcDJt X3R5cGVfdCB0Ow0KICAgICBtZm5fdCBtZm47DQotICAgIHVuc2lnbmVkIGludCBwYWdlX29yZGVy Ow0KICAgICBpbnQgcmMgPSAtRUlOVkFMOw0KIA0KICAgICBpZiAoIGlkeCA+PSBNQVhfQUxUUDJN IHx8IGQtPmFyY2guYWx0cDJtX2VwdHBbaWR4XSA9PSBtZm5feChJTlZBTElEX01GTikgKQ0KQEAg LTI2MzAsNDcgKzI2NjYsMjEgQEAgaW50IHAybV9jaGFuZ2VfYWx0cDJtX2dmbihzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgaWR4LA0KICAgICBwMm1fbG9jayhocDJtKTsNCiAgICAgcDJt X2xvY2soYXAybSk7DQogDQotICAgIG1mbiA9IGFwMm0tPmdldF9lbnRyeShhcDJtLCBvbGRfZ2Zu LCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KLQ0KICAgICBpZiAoIGdmbl9lcShuZXdfZ2ZuLCBJ TlZBTElEX0dGTikgKQ0KICAgICB7DQorICAgICAgICBtZm4gPSBhcDJtLT5nZXRfZW50cnkoYXAy bSwgb2xkX2dmbiwgJnQsICZhLCAwLCBOVUxMLCBOVUxMKTsNCiAgICAgICAgIGlmICggbWZuX3Zh bGlkKG1mbikgKQ0KICAgICAgICAgICAgIHAybV9yZW1vdmVfcGFnZShhcDJtLCBnZm5feChvbGRf Z2ZuKSwgbWZuX3gobWZuKSwgUEFHRV9PUkRFUl80Syk7DQogICAgICAgICByYyA9IDA7DQogICAg ICAgICBnb3RvIG91dDsNCiAgICAgfQ0KIA0KLSAgICAvKiBDaGVjayBob3N0IHAybSBpZiBubyB2 YWxpZCBlbnRyeSBpbiBhbHRlcm5hdGUgKi8NCi0gICAgaWYgKCAhbWZuX3ZhbGlkKG1mbikgKQ0K LSAgICB7DQotICAgICAgICBtZm4gPSBfX2dldF9nZm5fdHlwZV9hY2Nlc3MoaHAybSwgZ2ZuX3go b2xkX2dmbiksICZ0LCAmYSwNCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ Mk1fQUxMT0MsICZwYWdlX29yZGVyLCAwKTsNCi0NCi0gICAgICAgIGlmICggIW1mbl92YWxpZCht Zm4pIHx8IHQgIT0gcDJtX3JhbV9ydyApDQotICAgICAgICAgICAgZ290byBvdXQ7DQotDQotICAg ICAgICAvKiBJZiB0aGlzIGlzIGEgc3VwZXJwYWdlLCBjb3B5IHRoYXQgZmlyc3QgKi8NCi0gICAg ICAgIGlmICggcGFnZV9vcmRlciAhPSBQQUdFX09SREVSXzRLICkNCi0gICAgICAgIHsNCi0gICAg ICAgICAgICBnZm5fdCBnZm47DQotICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBtYXNrOw0KLQ0K LSAgICAgICAgICAgIG1hc2sgPSB+KCgxVUwgPDwgcGFnZV9vcmRlcikgLSAxKTsNCi0gICAgICAg ICAgICBnZm4gPSBfZ2ZuKGdmbl94KG9sZF9nZm4pICYgbWFzayk7DQotICAgICAgICAgICAgbWZu ID0gX21mbihtZm5feChtZm4pICYgbWFzayk7DQotDQotICAgICAgICAgICAgaWYgKCBhcDJtLT5z ZXRfZW50cnkoYXAybSwgZ2ZuLCBtZm4sIHBhZ2Vfb3JkZXIsIHQsIGEsIDEpICkNCi0gICAgICAg ICAgICAgICAgZ290byBvdXQ7DQotICAgICAgICB9DQotICAgIH0NCi0NCi0gICAgbWZuID0gYXAy bS0+Z2V0X2VudHJ5KGFwMm0sIG5ld19nZm4sICZ0LCAmYSwgMCwgTlVMTCwgTlVMTCk7DQotDQot ICAgIGlmICggIW1mbl92YWxpZChtZm4pICkNCi0gICAgICAgIG1mbiA9IGhwMm0tPmdldF9lbnRy eShocDJtLCBuZXdfZ2ZuLCAmdCwgJmEsIDAsIE5VTEwsIE5VTEwpOw0KKyAgICByYyA9IGFsdHAy bV9nZXRfZW50cnlfcHJlcG9wdWxhdGUoYXAybSwgb2xkX2dmbiwgJm1mbiwgJnQsICZhKTsNCisg ICAgaWYgKCByYyApDQorICAgICAgICBnb3RvIG91dDsNCiANCi0gICAgLyogTm90ZTogY3VycmVu dGx5IGl0IGlzIG5vdCBzYWZlIHRvIHJlbWFwIHRvIGEgc2hhcmVkIGVudHJ5ICovDQotICAgIGlm ICggIW1mbl92YWxpZChtZm4pIHx8ICh0ICE9IHAybV9yYW1fcncpICkNCisgICAgcmMgPSBhbHRw Mm1fZ2V0X2VudHJ5X2RpcmVjdChhcDJtLCBuZXdfZ2ZuLCAmbWZuLCAmdCwgJmEpOw0KKyAgICBp ZiAoIHJjICkNCiAgICAgICAgIGdvdG8gb3V0Ow0KIA0KICAgICBpZiAoICFhcDJtLT5zZXRfZW50 cnkoYXAybSwgb2xkX2dmbiwgbWZuLCBQQUdFX09SREVSXzRLLCB0LCBhLA0KQEAgLTMwMDIsMTIg KzMwMTIsMTAgQEAgaW50IHAybV9zZXRfc3VwcHJlc3NfdmUoc3RydWN0IGRvbWFpbiAqZCwgZ2Zu X3QgZ2ZuLCBib29sIHN1cHByZXNzX3ZlLA0KICAgICBpZiAoIGFwMm0gKQ0KICAgICAgICAgcDJt X2xvY2soYXAybSk7DQogDQotICAgIG1mbiA9IHAybS0+Z2V0X2VudHJ5KHAybSwgZ2ZuLCAmdCwg JmEsIDAsIE5VTEwsIE5VTEwpOw0KLSAgICBpZiAoICFtZm5fdmFsaWQobWZuKSApDQotICAgIHsN Ci0gICAgICAgIHJjID0gLUVTUkNIOw0KKyAgICByYyA9IGFsdHAybV9nZXRfZW50cnlfZGlyZWN0 KHAybSwgZ2ZuLCAmbWZuLCAmdCwgJmEpOw0KKw0KKyAgICBpZiAoIHJjICkNCiAgICAgICAgIGdv dG8gb3V0Ow0KLSAgICB9DQogDQogICAgIHJjID0gcDJtLT5zZXRfZW50cnkocDJtLCBnZm4sIG1m biwgUEFHRV9PUkRFUl80SywgdCwgYSwgc3VwcHJlc3NfdmUpOw0KIA0KZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYvcDJtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3AybS5oDQppbmRl eCAyODAxYThjY2NhLi44ZGM0MzUzNjQ1IDEwMDY0NA0KLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wMm0uaA0KKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wMm0uaA0KQEAgLTUxNCw2ICs1MTQs MjMgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIG1mbl90b19nZm4oc3RydWN0IGRvbWFp biAqZCwgbWZuX3QgbWZuKQ0KICAgICAgICAgcmV0dXJuIG1mbl94KG1mbik7DQogfQ0KIA0KK2lu dCBhbHRwMm1fZ2V0X2VudHJ5KHN0cnVjdCBwMm1fZG9tYWluICphcDJtLCBnZm5fdCBnZm4sIG1m bl90ICptZm4sDQorICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCAqdCwgcDJtX2FjY2Vz c190ICphLCBib29sIHByZXBvcHVsYXRlKTsNCisNCitzdGF0aWMgaW5saW5lIGludCBhbHRwMm1f Z2V0X2VudHJ5X2RpcmVjdChzdHJ1Y3QgcDJtX2RvbWFpbiAqYXAybSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZm5fdCBnZm4sIG1mbl90ICptZm4sDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcDJtX3R5cGVfdCAqdCwgcDJt X2FjY2Vzc190ICphKQ0KK3sNCisgICAgcmV0dXJuIGFsdHAybV9nZXRfZW50cnkoYXAybSwgZ2Zu LCBtZm4sIHQsIGEsIGZhbHNlKTsNCit9DQorDQorc3RhdGljIGlubGluZSBpbnQgYWx0cDJtX2dl dF9lbnRyeV9wcmVwb3B1bGF0ZShzdHJ1Y3QgcDJtX2RvbWFpbiAqYXAybSwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdmbl90IGdmbiwgbWZuX3QgKm1m biwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAybV90 eXBlX3QgKnQsIHAybV9hY2Nlc3NfdCAqYSkNCit7DQorICAgIHJldHVybiBhbHRwMm1fZ2V0X2Vu dHJ5KGFwMm0sIGdmbiwgbWZuLCB0LCBhLCB0cnVlKTsNCit9DQorDQogLyogRGVhZGxvY2stYXZv aWRhbmNlIHNjaGVtZSB3aGVuIGNhbGxpbmcgZ2V0X2dmbiBvbiBkaWZmZXJlbnQgZ2ZuJ3MgKi8N CiBzdHJ1Y3QgdHdvX2dmbnMgew0KICAgICBzdHJ1Y3QgZG9tYWluICpmaXJzdF9kb21haW4sICpz ZWNvbmRfZG9tYWluOw0KLS0gDQoyLjE3LjENCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xp c3RpbmZvL3hlbi1kZXZlbA==