From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: [PATCH v2 4/8] xen: Use the correctly the Xen memory terminologies Date: Tue, 4 Aug 2015 19:12:48 +0100 Message-ID: <1438711972-18752-5-git-send-email-julien.grall@citrix.com> References: <1438711972-18752-1-git-send-email-julien.grall@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1438711972-18752-1-git-send-email-julien.grall@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xenproject.org Cc: linux-fbdev@vger.kernel.org, "H. Peter Anvin" , Jiri Slaby , Thomas Gleixner , stefano.stabellini@eu.citrix.com, Russell King , linux-scsi@vger.kernel.org, x86@kernel.org, Tomi Valkeinen , linux-input@vger.kernel.org, Jean-Christophe Plagniol-Villard , ian.campbell@citrix.com, "James E.J. Bottomley" , Boris Ostrovsky , Ingo Molnar , linux-arm-kernel@lists.infradead.org, Juergen Gross , Wei Liu , Greg Kroah-Hartman , Dmitry Torokhov , linux-kernel@vger.kernel.org, Julien Grall , David Vrabel , netdev@vger.kernel.org, linuxppc-dev@lists.ozlabs.o List-Id: linux-input@vger.kernel.org QmFzZWQgb24gaW5jbHVkZS94ZW4vbW0uaCBbMV0sIExpbnV4IGlzIG1pc3Rha2VubHkgdXNpbmcg TUZOIHdoZW4gR0ZOCmlzIG1lYW50LCBJIHN1c3BlY3QgdGhpcyBpcyBiZWNhdXNlIHRoZSBmaXJz dCBzdXBwb3J0IGZvciBYZW4gd2FzIGZvcgpQVi4gVGhpcyByZXN1bHRlZCBpbiBzb21lIG1pc2lt cGxlbWVudGF0aW9uIG9mIGhlbHBlcnMgb24gQVJNIGFuZApjb25mdXNlZCBkZXZlbG9wZXJzIGFi b3V0IHRoZSBleHBlY3RlZCBiZWhhdmlvci4KCkZvciBpbnN0YW5jZSwgd2l0aCBwZm5fdG9fbWZu LCB3ZSBleHBlY3QgdG8gZ2V0IGFuIE1GTiBiYXNlZCBvbiB0aGUgbmFtZS4KQWx0aG91Z2gsIGlm IHdlIGxvb2sgYXQgdGhlIGltcGxlbWVudGF0aW9uIG9uIHg4NiwgaXQncyByZXR1cm5pbmcgYSBH Rk4uCgpGb3IgY2xhcml0eSBhbmQgYXZvaWQgbmV3IGNvbmZ1c2lvbiwgcmVwbGFjZSBhbnkgcmVm ZXJlbmNlIHRvIG1mbiB3aXRoCmdmbiBpbiBhbnkgaGVscGVycyB1c2VkIGJ5IFBWIGRyaXZlcnMu IFRoZSB4ODYgY29kZSB3aWxsIHN0aWxsIGtlZXAgc29tZQpyZWZlcmVuY2Ugb2YgcGZuX3RvX21m biBidXQgZXhjbHVzaXZlbHkgZm9yIFBWIChhIEJVR19PTiBoYXMgYmVlbiBhZGRlZAp0byBlbnN1 cmUgdGhpcykuIE5vIGNoYW5nZXMgYXMgYmVlbiBtYWRlIGluIHRoZSBoeXBlcmNhbGwgZmllbGQs IGV2ZW4KdGhvdWdoIHRoZXkgbWF5IGJlIGludmFsaWQsIGluIG9yZGVyIHRvIGtlZXAgdGhlIHNh bWUgYXMgdGhlIGRlZmludGlvbgppbiB4ZW4gcmVwby4KClRha2UgYWxzbyB0aGUgb3Bwb3J0dW5p dHkgdG8gc2ltcGxpZnkgc2ltcGxlIGNvbnN0cnVjdGlvbiBzdWNoCmFzIHBmbl90b19tZm4ocGFn ZV90b19wZm4ocGFnZSkpIGludG8gcGFnZV90b19nZm4uIE1vcmUgY29tcGxleCBjbGVhbiB1cAp3 aWxsIGNvbWUgaW4gZm9sbG93LXVwIHBhdGNoZXMuCgpbMV0gaHR0cDovL3hlbmJpdHMueGVuLm9y Zy9naXR3ZWIvP3A9eGVuLmdpdDthPWNvbW1pdGRpZmY7aD1lNzU4ZWQxNGYzOTAzNDI1MTM0MDVk ZDc2NmU4NzQ5MzQ1NzNlNmNiCgpTaWduZWQtb2ZmLWJ5OiBKdWxpZW4gR3JhbGwgPGp1bGllbi5n cmFsbEBjaXRyaXguY29tPgpDYzogU3RlZmFubyBTdGFiZWxsaW5pIDxzdGVmYW5vLnN0YWJlbGxp bmlAZXUuY2l0cml4LmNvbT4KQ2M6IFJ1c3NlbGwgS2luZyA8bGludXhAYXJtLmxpbnV4Lm9yZy51 az4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6 IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+CkNjOiBEYXZpZCBW cmFiZWwgPGRhdmlkLnZyYWJlbEBjaXRyaXguY29tPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4 QGxpbnV0cm9uaXguZGU+CkNjOiBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KQ2M6ICJI LiBQZXRlciBBbnZpbiIgPGhwYUB6eXRvci5jb20+CkNjOiB4ODZAa2VybmVsLm9yZwpDYzogIlJv Z2VyIFBhdSBNb25uw6kiIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KQ2M6IERtaXRyeSBUb3Jva2hv diA8ZG1pdHJ5LnRvcm9raG92QGdtYWlsLmNvbT4KQ2M6IElhbiBDYW1wYmVsbCA8aWFuLmNhbXBi ZWxsQGNpdHJpeC5jb20+CkNjOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDYzogSnVl cmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPgpDYzogIkphbWVzIEUuSi4gQm90dG9tbGV5IiA8 SkJvdHRvbWxleUBvZGluLmNvbT4KQ2M6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4 Zm91bmRhdGlvbi5vcmc+CkNjOiBKaXJpIFNsYWJ5IDxqc2xhYnlAc3VzZS5jb20+CkNjOiBKZWFu LUNocmlzdG9waGUgUGxhZ25pb2wtVmlsbGFyZCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgpDYzog VG9taSBWYWxrZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KQ2M6IGxpbnV4LWlucHV0QHZn ZXIua2VybmVsLm9yZwpDYzogbmV0ZGV2QHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtc2NzaUB2 Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4cHBjLWRldkBsaXN0cy5vemxhYnMub3JnCkNjOiBsaW51 eC1mYmRldkB2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFk ZWFkLm9yZwoKLS0tCiAgICBOb3RlIHRoYXQgSSd2ZSByZS1pbnRyb2R1Y2VkIG1mbl90b19wZm4g JiBjbyBvbmx5IGZvciB4ODYgUFYgY29kZS4KICAgIFRoZSBoZWxwZXJzIGNvbnRhaW4gYSBCVUdf T04gdG8gZW5zdXJlIHRoYXQgaXQncyBuZXZlciBjYWxsZWQgZm9yCiAgICBhdXRvLXRyYW5zbGF0 ZWQgZ3Vlc3RzLiBJIGRpZCBhcyBiZXN0IGFzIG15IGNhbiB0byBkZXRlcm1pbmUgd2hldGhlcgog ICAgbWZuIG9yIGdmbiBoZWxwZXJzIHNob3VsZCBiZSB1c2VkLiBBbHRob3VnaCwgSSBoYXZlbid0 IHRyaWVkIHRvIGJvb3QKICAgIGl0LgoKICAgIEl0IG1heSBiZSBwb3NzaWJsZSB0byBkbyBmdXJ0 aGVyIGNsZWFudXAgaW4gdGhlIG1tdS5jIHdoZXJlIEkgZm91bmQKICAgIHNvbWUgY2hlY2sgdG8g YXV0by10cmFuc2xhdGVkLiBJJ20gbm90IHN1cmUgd2h5IGdpdmVuIHRoYXQgdGhlIHB2bW11CiAg ICBjYWxsYmFjayBhcmUgb25seSB1c2VkIGZvciBub24tYXV0byB0cmFuc2xhdGVkIGd1ZXN0LgoK ICAgIEZpbmFsbHksIGdpdmVuIHRob3NlIGNoYW5nZXMsIEkgZGlkbid0IHJldGFpbiB0aGUgUmV2 aWV3ZWQtYnkvQWNrZWQtYnkuCgogICAgQ2hhbmdlcyBpbiB2MjoKICAgICAgICAtIEdpdmUgZGly ZWN0bHkgdGhlIFVSTCB0byB0aGUgY29tbWl0IHJhdGhlciB0aGFuIHRoZSBjb21taXQgSUQKICAg ICAgICAtIHhlbnN0b3JlZF9sb2NhbF9pbml0OiBrZWVwIHRoZSBjYXN0IHRvIHZvaWQgKgogICAg ICAgIC0gVHlwb2VzCiAgICAgICAgLSBLZWVwIHBmbl90b19tZm4gZm9yIHg4NiBhbmQgUFYtb25s eS4gVGhlICptZm4qIGhlbHBlcnMgYXJlCiAgICAgICAgdXNlZCBpbiBhcmNoL3g4Ni94ZW4gZm9y IGVubGlnaHRlbi5jLCBtbXUuYywgcDJtLmMsIHNldHVwLmMsCiAgICAgICAgc21wLmMgYW5kIG1t LmMKLS0tCiBhcmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vcGFnZS5oICAgICAgICAgfCAxMyArKysr KysrLS0tLS0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vcGFnZS5oICAgICAgICAgfCAzMyAr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGFyY2gveDg2L3hlbi9zbXAuYyAgICAg ICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jICAg ICAgICAgICAgfCAgNiArKystLS0KIGRyaXZlcnMvaW5wdXQvbWlzYy94ZW4ta2JkZnJvbnQuYyAg ICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2suYyAgICAgICB8 ICA0ICsrLS0KIGRyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jICAgICAgICAgICAgICB8ICA4ICsr KystLS0tCiBkcml2ZXJzL3Njc2kveGVuLXNjc2lmcm9udC5jICAgICAgICAgICAgfCAgOCArKyst LS0tLQogZHJpdmVycy90dHkvaHZjL2h2Y194ZW4uYyAgICAgICAgICAgICAgIHwgIDUgKysrLS0K IGRyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYyAgICAgICB8ICA0ICsrLS0KIGRyaXZl cnMveGVuL2JhbGxvb24uYyAgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL3hlbi9l dmVudHMvZXZlbnRzX2Jhc2UuYyAgICAgICAgfCAgMiArLQogZHJpdmVycy94ZW4vZXZlbnRzL2V2 ZW50c19maWZvLmMgICAgICAgIHwgIDQgKystLQogZHJpdmVycy94ZW4vZ250YWxsb2MuYyAgICAg ICAgICAgICAgICAgIHwgIDMgKystCiBkcml2ZXJzL3hlbi9tYW5hZ2UuYyAgICAgICAgICAgICAg ICAgICAgfCAgMiArLQogZHJpdmVycy94ZW4vdG1lbS5jICAgICAgICAgICAgICAgICAgICAgIHwg IDQgKystLQogZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19jbGllbnQuYyAgICAgIHwgIDIgKy0K IGRyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfZGV2X2JhY2tlbmQuYyB8ICAyICstCiBkcml2ZXJz L3hlbi94ZW5idXMveGVuYnVzX3Byb2JlLmMgICAgICAgfCAgOCArKystLS0tLQogaW5jbHVkZS94 ZW4vcGFnZS5oICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogMjAgZmlsZXMgY2hhbmdl ZCwgNjkgaW5zZXJ0aW9ucygrKSwgNTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vaW5jbHVkZS9hc20veGVuL3BhZ2UuaCBiL2FyY2gvYXJtL2luY2x1ZGUvYXNtL3hlbi9wYWdl LmgKaW5kZXggMDg3ZDg2ZS4uNTFlNWJmMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9h c20veGVuL3BhZ2UuaAorKysgYi9hcmNoL2FybS9pbmNsdWRlL2FzbS94ZW4vcGFnZS5oCkBAIC0z NCwxNCArMzQsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgeHBhZGRyIHsKIHVuc2lnbmVkIGxvbmcgX19w Zm5fdG9fbWZuKHVuc2lnbmVkIGxvbmcgcGZuKTsKIGV4dGVybiBzdHJ1Y3QgcmJfcm9vdCBwaHlz X3RvX21hY2g7CiAKLXN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwZm5fdG9fbWZuKHVuc2ln bmVkIGxvbmcgcGZuKQorLyogUHNldWRvLXBoeXNpY2FsIDwtPiBHdWVzdCBjb252ZXJzaW9uICov CitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgcGZuX3RvX2dmbih1bnNpZ25lZCBsb25nIHBm bikKIHsKIAlyZXR1cm4gcGZuOwogfQogCi1zdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgbWZu X3RvX3Bmbih1bnNpZ25lZCBsb25nIG1mbikKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBn Zm5fdG9fcGZuKHVuc2lnbmVkIGxvbmcgZ2ZuKQogewotCXJldHVybiBtZm47CisJcmV0dXJuIGdm bjsKIH0KIAogLyogUHNldWRvLXBoeXNpY2FsIDwtPiBCVVMgY29udmVyc2lvbiAqLwpAQCAtNjUs OSArNjYsOSBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYmZuX3RvX3Bmbih1bnNpZ25l ZCBsb25nIGJmbikKIAogI2RlZmluZSBiZm5fdG9fbG9jYWxfcGZuKGJmbikJYmZuX3RvX3Bmbihi Zm4pCiAKLS8qIFZJUlQgPC0+IE1BQ0hJTkUgY29udmVyc2lvbiAqLwotI2RlZmluZSB2aXJ0X3Rv X21mbih2KQkJKHBmbl90b19tZm4odmlydF90b19wZm4odikpKQotI2RlZmluZSBtZm5fdG9fdmly dChtKQkJKF9fdmEobWZuX3RvX3BmbihtKSA8PCBQQUdFX1NISUZUKSkKKy8qIFZJUlQgPC0+IEdV RVNUIGNvbnZlcnNpb24gKi8KKyNkZWZpbmUgdmlydF90b19nZm4odikJCShwZm5fdG9fZ2ZuKHZp cnRfdG9fcGZuKHYpKSkKKyNkZWZpbmUgZ2ZuX3RvX3ZpcnQobSkJCShfX3ZhKGdmbl90b19wZm4o bSkgPDwgUEFHRV9TSElGVCkpCiAKIC8qIE9ubHkgdXNlZCBpbiBQViBjb2RlLiBCdXQgQVJNIGd1 ZXN0cyBhcmUgYWx3YXlzIEhWTS4gKi8KIHN0YXRpYyBpbmxpbmUgeG1hZGRyX3QgYXJiaXRyYXJ5 X3ZpcnRfdG9fbWFjaGluZSh2b2lkICp2YWRkcikKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1 ZGUvYXNtL3hlbi9wYWdlLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ZW4vcGFnZS5oCmluZGV4 IDhiYTA0YjguLmMyZGE0MmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3hlbi9w YWdlLmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20veGVuL3BhZ2UuaApAQCAtMTAzLDggKzEw Myw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwZm5fdG9fbWZuKHVuc2lnbmVkIGxv bmcgcGZuKQogewogCXVuc2lnbmVkIGxvbmcgbWZuOwogCi0JaWYgKHhlbl9mZWF0dXJlKFhFTkZF QVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXApKQotCQlyZXR1cm4gcGZuOworCUJVR19PTih4ZW5f ZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSk7CiAKIAltZm4gPSBfX3Bm bl90b19tZm4ocGZuKTsKIApAQCAtMTQ5LDggKzE0OCw3IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWdu ZWQgbG9uZyBtZm5fdG9fcGZuKHVuc2lnbmVkIGxvbmcgbWZuKQogewogCXVuc2lnbmVkIGxvbmcg cGZuOwogCi0JaWYgKHhlbl9mZWF0dXJlKFhFTkZFQVRfYXV0b190cmFuc2xhdGVkX3BoeXNtYXAp KQotCQlyZXR1cm4gbWZuOworCUJVR19PTih4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNs YXRlZF9waHlzbWFwKSk7CiAKIAlwZm4gPSBtZm5fdG9fcGZuX25vX292ZXJyaWRlcyhtZm4pOwog CWlmIChfX3Bmbl90b19tZm4ocGZuKSAhPSBtZm4pCkBAIC0xNzgsOSArMTc2LDI2IEBAIHN0YXRp YyBpbmxpbmUgeHBhZGRyX3QgbWFjaGluZV90b19waHlzKHhtYWRkcl90IG1hY2hpbmUpCiAJcmV0 dXJuIFhQQUREUihQRk5fUEhZUyhtZm5fdG9fcGZuKFBGTl9ET1dOKG1hY2hpbmUubWFkZHIpKSkg fCBvZmZzZXQpOwogfQogCisvKiBQc2V1ZG8tcGh5c2ljYWwgPC0+IEd1ZXN0IGNvbnZlcnNpb24g Ki8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwZm5fdG9fZ2ZuKHVuc2lnbmVkIGxvbmcg cGZuKQoreworCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFw KSkKKwkJcmV0dXJuIHBmbjsKKwllbHNlCisJCXJldHVybiBwZm5fdG9fbWZuKHBmbik7Cit9CisK K3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZm5fdG9fcGZuKHVuc2lnbmVkIGxvbmcgZ2Zu KQoreworCWlmICh4ZW5fZmVhdHVyZShYRU5GRUFUX2F1dG9fdHJhbnNsYXRlZF9waHlzbWFwKSkK KwkJcmV0dXJuIGdmbjsKKwllbHNlCisJCXJldHVybiBtZm5fdG9fcGZuKGdmbik7Cit9CisKIC8q IFBzZXVkby1waHlzaWNhbCA8LT4gQnVzIGNvbnZlcnNpb24gKi8KLSNkZWZpbmUgcGZuX3RvX2Jm bihwZm4pCQlwZm5fdG9fbWZuKHBmbikKLSNkZWZpbmUgYmZuX3RvX3BmbihiZm4pCQltZm5fdG9f cGZuKGJmbikKKyNkZWZpbmUgcGZuX3RvX2JmbihwZm4pCQlwZm5fdG9fZ2ZuKHBmbikKKyNkZWZp bmUgYmZuX3RvX3BmbihiZm4pCQlnZm5fdG9fcGZuKGJmbikKIAogLyoKICAqIFdlIGRldGVjdCBz cGVjaWFsIG1hcHBpbmdzIGluIG9uZSBvZiB0d28gd2F5czoKQEAgLTIxNyw5ICsyMzIsMTMgQEAg c3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGJmbl90b19sb2NhbF9wZm4odW5zaWduZWQgbG9u ZyBtZm4pCiAKIC8qIFZJUlQgPC0+IE1BQ0hJTkUgY29udmVyc2lvbiAqLwogI2RlZmluZSB2aXJ0 X3RvX21hY2hpbmUodikJKHBoeXNfdG9fbWFjaGluZShYUEFERFIoX19wYSh2KSkpKQotI2RlZmlu ZSB2aXJ0X3RvX3Bmbih2KSAgICAgICAgICAoUEZOX0RPV04oX19wYSh2KSkpCiAjZGVmaW5lIHZp cnRfdG9fbWZuKHYpCQkocGZuX3RvX21mbih2aXJ0X3RvX3Bmbih2KSkpCiAjZGVmaW5lIG1mbl90 b192aXJ0KG0pCQkoX192YShtZm5fdG9fcGZuKG0pIDw8IFBBR0VfU0hJRlQpKQorI2RlZmluZSB2 aXJ0X3RvX3Bmbih2KSAgICAgICAgICAoUEZOX0RPV04oX19wYSh2KSkpCisKKy8qIFZJUlQgPC0+ IEdVRVNUIGNvbnZlcnNpb24gKi8KKyNkZWZpbmUgdmlydF90b19nZm4odikJCShwZm5fdG9fZ2Zu KHZpcnRfdG9fcGZuKHYpKSkKKyNkZWZpbmUgZ2ZuX3RvX3ZpcnQoZykJCShfX3ZhKGdmbl90b19w Zm4oZykgPDwgUEFHRV9TSElGVCkpCiAKIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBwdGVf bWZuKHB0ZV90IHB0ZSkKIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi9zbXAuYyBiL2FyY2gv eDg2L3hlbi9zbXAuYwppbmRleCA4NjQ4NDM4Li4xZTA5MzFiIDEwMDY0NAotLS0gYS9hcmNoL3g4 Ni94ZW4vc21wLmMKKysrIGIvYXJjaC94ODYveGVuL3NtcC5jCkBAIC00MjksNyArNDI5LDcgQEAg Y3B1X2luaXRpYWxpemVfY29udGV4dCh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgdGFza19zdHJ1 Y3QgKmlkbGUpCiAJfQogI2VuZGlmCiAJY3R4dC0+dXNlcl9yZWdzLmVzcCA9IGlkbGUtPnRocmVh ZC5zcDAgLSBzaXplb2Yoc3RydWN0IHB0X3JlZ3MpOwotCWN0eHQtPmN0cmxyZWdbM10gPSB4ZW5f cGZuX3RvX2NyMyh2aXJ0X3RvX21mbihzd2FwcGVyX3BnX2RpcikpOworCWN0eHQtPmN0cmxyZWdb M10gPSB4ZW5fcGZuX3RvX2NyMyh2aXJ0X3RvX2dmbihzd2FwcGVyX3BnX2RpcikpOwogCWlmIChI WVBFUlZJU09SX3ZjcHVfb3AoVkNQVU9QX2luaXRpYWxpc2UsIGNwdSwgY3R4dCkpCiAJCUJVRygp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jIGIvZHJpdmVycy9i bG9jay94ZW4tYmxrZnJvbnQuYwppbmRleCA2ZDg5ZWQzLi4yZTU0MWE0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2Jsb2NrL3hlbi1ibGtmcm9udC5jCisrKyBiL2RyaXZlcnMvYmxvY2sveGVuLWJsa2Zy b250LmMKQEAgLTI0Nyw3ICsyNDcsNyBAQCBzdGF0aWMgc3RydWN0IGdyYW50ICpnZXRfZ3JhbnQo Z3JhbnRfcmVmX3QgKmdyZWZfaGVhZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHJ1Y3QgYmxrZnJvbnRfaW5mbyAqaW5mbykKIHsKIAlzdHJ1Y3QgZ3JhbnQgKmdudF9saXN0X2Vu dHJ5OwotCXVuc2lnbmVkIGxvbmcgYnVmZmVyX21mbjsKKwl1bnNpZ25lZCBsb25nIGJ1ZmZlcl9n Zm47CiAKIAlCVUdfT04obGlzdF9lbXB0eSgmaW5mby0+Z3JhbnRzKSk7CiAJZ250X2xpc3RfZW50 cnkgPSBsaXN0X2ZpcnN0X2VudHJ5KCZpbmZvLT5ncmFudHMsIHN0cnVjdCBncmFudCwKQEAgLTI2 NiwxMCArMjY2LDEwIEBAIHN0YXRpYyBzdHJ1Y3QgZ3JhbnQgKmdldF9ncmFudChncmFudF9yZWZf dCAqZ3JlZl9oZWFkLAogCQlCVUdfT04oIXBmbik7CiAJCWdudF9saXN0X2VudHJ5LT5wZm4gPSBw Zm47CiAJfQotCWJ1ZmZlcl9tZm4gPSBwZm5fdG9fbWZuKGdudF9saXN0X2VudHJ5LT5wZm4pOwor CWJ1ZmZlcl9nZm4gPSBwZm5fdG9fZ2ZuKGdudF9saXN0X2VudHJ5LT5wZm4pOwogCWdudHRhYl9n cmFudF9mb3JlaWduX2FjY2Vzc19yZWYoZ250X2xpc3RfZW50cnktPmdyZWYsCiAJICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT54YmRldi0+b3RoZXJlbmRfaWQsCi0JICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXJfbWZuLCAwKTsKKwkgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJ1ZmZlcl9nZm4sIDApOwogCXJldHVybiBnbnRfbGlzdF9lbnRy eTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9pbnB1dC9taXNjL3hlbi1rYmRmcm9udC5jIGIv ZHJpdmVycy9pbnB1dC9taXNjL3hlbi1rYmRmcm9udC5jCmluZGV4IDk1NTk5ZTQuLjIzZDA1NDkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvaW5wdXQvbWlzYy94ZW4ta2JkZnJvbnQuYworKysgYi9kcml2 ZXJzL2lucHV0L21pc2MveGVuLWtiZGZyb250LmMKQEAgLTIzMiw3ICsyMzIsNyBAQCBzdGF0aWMg aW50IHhlbmtiZF9jb25uZWN0X2JhY2tlbmQoc3RydWN0IHhlbmJ1c19kZXZpY2UgKmRldiwKIAlz dHJ1Y3QgeGVuYnVzX3RyYW5zYWN0aW9uIHhidDsKIAogCXJldCA9IGdudHRhYl9ncmFudF9mb3Jl aWduX2FjY2VzcyhkZXYtPm90aGVyZW5kX2lkLAotCSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2aXJ0X3RvX21mbihpbmZvLT5wYWdlKSwgMCk7CisJICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZpcnRfdG9fZ2ZuKGluZm8tPnBhZ2UpLCAwKTsKIAlpZiAocmV0IDwg MCkKIAkJcmV0dXJuIHJldDsKIAlpbmZvLT5ncmVmID0gcmV0OwpAQCAtMjU1LDcgKzI1NSw3IEBA IHN0YXRpYyBpbnQgeGVua2JkX2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVuYnVzX2RldmljZSAq ZGV2LAogCQlnb3RvIGVycm9yX2lycWg7CiAJfQogCXJldCA9IHhlbmJ1c19wcmludGYoeGJ0LCBk ZXYtPm5vZGVuYW1lLCAicGFnZS1yZWYiLCAiJWx1IiwKLQkJCSAgICB2aXJ0X3RvX21mbihpbmZv LT5wYWdlKSk7CisJCQkgICAgdmlydF90b19nZm4oaW5mby0+cGFnZSkpOwogCWlmIChyZXQpCiAJ CWdvdG8gZXJyb3JfeGVuYnVzOwogCXJldCA9IHhlbmJ1c19wcmludGYoeGJ0LCBkZXYtPm5vZGVu YW1lLCAicGFnZS1ncmVmIiwgIiV1IiwgaW5mby0+Z3JlZik7CmRpZmYgLS1naXQgYS9kcml2ZXJz L25ldC94ZW4tbmV0YmFjay9uZXRiYWNrLmMgYi9kcml2ZXJzL25ldC94ZW4tbmV0YmFjay9uZXRi YWNrLmMKaW5kZXggN2Q1MDcxMS4uM2I3YjdjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9uZXQveGVu LW5ldGJhY2svbmV0YmFjay5jCisrKyBiL2RyaXZlcnMvbmV0L3hlbi1uZXRiYWNrL25ldGJhY2su YwpAQCAtMzE0LDcgKzMxNCw3IEBAIHN0YXRpYyB2b2lkIHhlbnZpZl9nb3BfZnJhZ19jb3B5KHN0 cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiCiAJCX0gZWxzZSB7 CiAJCQljb3B5X2dvcC0+c291cmNlLmRvbWlkID0gRE9NSURfU0VMRjsKIAkJCWNvcHlfZ29wLT5z b3VyY2UudS5nbWZuID0KLQkJCQl2aXJ0X3RvX21mbihwYWdlX2FkZHJlc3MocGFnZSkpOworCQkJ CXZpcnRfdG9fZ2ZuKHBhZ2VfYWRkcmVzcyhwYWdlKSk7CiAJCX0KIAkJY29weV9nb3AtPnNvdXJj ZS5vZmZzZXQgPSBvZmZzZXQ7CiAKQEAgLTEyODQsNyArMTI4NCw3IEBAIHN0YXRpYyB2b2lkIHhl bnZpZl90eF9idWlsZF9nb3BzKHN0cnVjdCB4ZW52aWZfcXVldWUgKnF1ZXVlLAogCQlxdWV1ZS0+ dHhfY29weV9vcHNbKmNvcHlfb3BzXS5zb3VyY2Uub2Zmc2V0ID0gdHhyZXEub2Zmc2V0OwogCiAJ CXF1ZXVlLT50eF9jb3B5X29wc1sqY29weV9vcHNdLmRlc3QudS5nbWZuID0KLQkJCXZpcnRfdG9f bWZuKHNrYi0+ZGF0YSk7CisJCQl2aXJ0X3RvX2dmbihza2ItPmRhdGEpOwogCQlxdWV1ZS0+dHhf Y29weV9vcHNbKmNvcHlfb3BzXS5kZXN0LmRvbWlkID0gRE9NSURfU0VMRjsKIAkJcXVldWUtPnR4 X2NvcHlfb3BzWypjb3B5X29wc10uZGVzdC5vZmZzZXQgPQogCQkJb2Zmc2V0X2luX3BhZ2Uoc2ti LT5kYXRhKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3hlbi1uZXRmcm9udC5jIGIvZHJpdmVy cy9uZXQveGVuLW5ldGZyb250LmMKaW5kZXggZjk0OGM0Ni4uNWNkYWI3MyAxMDA2NDQKLS0tIGEv ZHJpdmVycy9uZXQveGVuLW5ldGZyb250LmMKKysrIGIvZHJpdmVycy9uZXQveGVuLW5ldGZyb250 LmMKQEAgLTI5MSw3ICsyOTEsNyBAQCBzdGF0aWMgdm9pZCB4ZW5uZXRfYWxsb2NfcnhfYnVmZmVy cyhzdHJ1Y3QgbmV0ZnJvbnRfcXVldWUgKnF1ZXVlKQogCQlzdHJ1Y3Qgc2tfYnVmZiAqc2tiOwog CQl1bnNpZ25lZCBzaG9ydCBpZDsKIAkJZ3JhbnRfcmVmX3QgcmVmOwotCQl1bnNpZ25lZCBsb25n IHBmbjsKKwkJdW5zaWduZWQgbG9uZyBnZm47CiAJCXN0cnVjdCB4ZW5fbmV0aWZfcnhfcmVxdWVz dCAqcmVxOwogCiAJCXNrYiA9IHhlbm5ldF9hbGxvY19vbmVfcnhfYnVmZmVyKHF1ZXVlKTsKQEAg LTMwNywxMiArMzA3LDEyIEBAIHN0YXRpYyB2b2lkIHhlbm5ldF9hbGxvY19yeF9idWZmZXJzKHN0 cnVjdCBuZXRmcm9udF9xdWV1ZSAqcXVldWUpCiAJCUJVR19PTigoc2lnbmVkIHNob3J0KXJlZiA8 IDApOwogCQlxdWV1ZS0+Z3JhbnRfcnhfcmVmW2lkXSA9IHJlZjsKIAotCQlwZm4gPSBwYWdlX3Rv X3Bmbihza2JfZnJhZ19wYWdlKCZza2Jfc2hpbmZvKHNrYiktPmZyYWdzWzBdKSk7CisJCWdmbiA9 IHBhZ2VfdG9fZ2ZuKHNrYl9mcmFnX3BhZ2UoJnNrYl9zaGluZm8oc2tiKS0+ZnJhZ3NbMF0pKTsK IAogCQlyZXEgPSBSSU5HX0dFVF9SRVFVRVNUKCZxdWV1ZS0+cngsIHJlcV9wcm9kKTsKIAkJZ250 dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzX3JlZihyZWYsCiAJCQkJCQlxdWV1ZS0+aW5mby0+eGJk ZXYtPm90aGVyZW5kX2lkLAotCQkJCQkJcGZuX3RvX21mbihwZm4pLAorCQkJCQkJZ2ZuLAogCQkJ CQkJMCk7CiAKIAkJcmVxLT5pZCA9IGlkOwpAQCAtNDMxLDcgKzQzMSw3IEBAIHN0YXRpYyBzdHJ1 Y3QgeGVuX25ldGlmX3R4X3JlcXVlc3QgKnhlbm5ldF9tYWtlX29uZV90eHJlcSgKIAlCVUdfT04o KHNpZ25lZCBzaG9ydClyZWYgPCAwKTsKIAogCWdudHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzc19y ZWYocmVmLCBxdWV1ZS0+aW5mby0+eGJkZXYtPm90aGVyZW5kX2lkLAotCQkJCQlwYWdlX3RvX21m bihwYWdlKSwgR05UTUFQX3JlYWRvbmx5KTsKKwkJCQkJcGFnZV90b19nZm4ocGFnZSksIEdOVE1B UF9yZWFkb25seSk7CiAKIAlxdWV1ZS0+dHhfc2tic1tpZF0uc2tiID0gc2tiOwogCXF1ZXVlLT5n cmFudF90eF9wYWdlW2lkXSA9IHBhZ2U7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3Njc2kveGVuLXNj c2lmcm9udC5jIGIvZHJpdmVycy9zY3NpL3hlbi1zY3NpZnJvbnQuYwppbmRleCBmYWQyMmNhLi5j ZGYwMGQxIDEwMDY0NAotLS0gYS9kcml2ZXJzL3Njc2kveGVuLXNjc2lmcm9udC5jCisrKyBiL2Ry aXZlcnMvc2NzaS94ZW4tc2NzaWZyb250LmMKQEAgLTM3Nyw3ICszNzcsNiBAQCBzdGF0aWMgaW50 IG1hcF9kYXRhX2Zvcl9yZXF1ZXN0KHN0cnVjdCB2c2NzaWZybnRfaW5mbyAqaW5mbywKIAl1bnNp Z25lZCBpbnQgZGF0YV9sZW4gPSBzY3NpX2J1ZmZsZW4oc2MpOwogCXVuc2lnbmVkIGludCBkYXRh X2dyYW50cyA9IDAsIHNlZ19ncmFudHMgPSAwOwogCXN0cnVjdCBzY2F0dGVybGlzdCAqc2c7Ci0J dW5zaWduZWQgbG9uZyBtZm47CiAJc3RydWN0IHNjc2lpZl9yZXF1ZXN0X3NlZ21lbnQgKnNlZzsK IAogCXJpbmdfcmVxLT5ucl9zZWdtZW50cyA9IDA7CkBAIC00MjAsOSArNDE5LDggQEAgc3RhdGlj IGludCBtYXBfZGF0YV9mb3JfcmVxdWVzdChzdHJ1Y3QgdnNjc2lmcm50X2luZm8gKmluZm8sCiAJ CQlyZWYgPSBnbnR0YWJfY2xhaW1fZ3JhbnRfcmVmZXJlbmNlKCZncmVmX2hlYWQpOwogCQkJQlVH X09OKHJlZiA9PSAtRU5PU1BDKTsKIAotCQkJbWZuID0gcGZuX3RvX21mbihwYWdlX3RvX3Bmbihw YWdlKSk7CiAJCQlnbnR0YWJfZ3JhbnRfZm9yZWlnbl9hY2Nlc3NfcmVmKHJlZiwKLQkJCQlpbmZv LT5kZXYtPm90aGVyZW5kX2lkLCBtZm4sIDEpOworCQkJCWluZm8tPmRldi0+b3RoZXJlbmRfaWQs IHBhZ2VfdG9fZ2ZuKHBhZ2UpLCAxKTsKIAkJCXNoYWRvdy0+Z3JlZltyZWZfY250XSA9IHJlZjsK IAkJCXJpbmdfcmVxLT5zZWdbcmVmX2NudF0uZ3JlZiAgID0gcmVmOwogCQkJcmluZ19yZXEtPnNl Z1tyZWZfY250XS5vZmZzZXQgPSAodWludDE2X3Qpb2ZmOwpAQCAtNDU0LDkgKzQ1Miw5IEBAIHN0 YXRpYyBpbnQgbWFwX2RhdGFfZm9yX3JlcXVlc3Qoc3RydWN0IHZzY3NpZnJudF9pbmZvICppbmZv LAogCQkJcmVmID0gZ250dGFiX2NsYWltX2dyYW50X3JlZmVyZW5jZSgmZ3JlZl9oZWFkKTsKIAkJ CUJVR19PTihyZWYgPT0gLUVOT1NQQyk7CiAKLQkJCW1mbiA9IHBmbl90b19tZm4ocGFnZV90b19w Zm4ocGFnZSkpOwogCQkJZ250dGFiX2dyYW50X2ZvcmVpZ25fYWNjZXNzX3JlZihyZWYsCi0JCQkJ aW5mby0+ZGV2LT5vdGhlcmVuZF9pZCwgbWZuLCBncmFudF9ybyk7CisJCQkJaW5mby0+ZGV2LT5v dGhlcmVuZF9pZCwgcGFnZV90b19nZm4ocGFnZSksCisJCQkJZ3JhbnRfcm8pOwogCiAJCQlzaGFk b3ctPmdyZWZbcmVmX2NudF0gPSByZWY7CiAJCQlzZWctPmdyZWYgICA9IHJlZjsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvdHR5L2h2Yy9odmNfeGVuLmMgYi9kcml2ZXJzL3R0eS9odmMvaHZjX3hlbi5j CmluZGV4IGE5ZDgzN2YuLmVmZTUxMjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvdHR5L2h2Yy9odmNf eGVuLmMKKysrIGIvZHJpdmVycy90dHkvaHZjL2h2Y194ZW4uYwpAQCAtMjY1LDcgKzI2NSw4IEBA IHN0YXRpYyBpbnQgeGVuX3B2X2NvbnNvbGVfaW5pdCh2b2lkKQogCQlyZXR1cm4gMDsKIAl9CiAJ aW5mby0+ZXZ0Y2huID0geGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5ldnRjaG47Ci0JaW5m by0+aW50ZiA9IG1mbl90b192aXJ0KHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbVUubWZuKTsK KwkvKiBHRk4gPT0gTUZOIGZvciBQViBndWVzdCAqLworCWluZm8tPmludGYgPSBnZm5fdG9fdmly dCh4ZW5fc3RhcnRfaW5mby0+Y29uc29sZS5kb21VLm1mbik7CiAJaW5mby0+dnRlcm1ubyA9IEhW Q19DT09LSUU7CiAKIAlzcGluX2xvY2soJnhlbmNvbnNfbG9jayk7CkBAIC0zOTAsNyArMzkxLDcg QEAgc3RhdGljIGludCB4ZW5jb25zX2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVuYnVzX2Rldmlj ZSAqZGV2LAogCWlmIChJU19FUlIoaW5mby0+aHZjKSkKIAkJcmV0dXJuIFBUUl9FUlIoaW5mby0+ aHZjKTsKIAlpZiAoeGVuX3B2X2RvbWFpbigpKQotCQltZm4gPSB2aXJ0X3RvX21mbihpbmZvLT5p bnRmKTsKKwkJbWZuID0gdmlydF90b19nZm4oaW5mby0+aW50Zik7CiAJZWxzZQogCQltZm4gPSBf X3BhKGluZm8tPmludGYpID4+IFBBR0VfU0hJRlQ7CiAJcmV0ID0gZ250dGFiX2FsbG9jX2dyYW50 X3JlZmVyZW5jZXMoMSwgJmdyZWZfaGVhZCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3hlbi1mYmZyb250LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L3hlbi1mYmZyb250LmMKaW5k ZXggMDlkYzQ0Ny4uMjVlM2NjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi94ZW4t ZmJmcm9udC5jCisrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYveGVuLWZiZnJvbnQuYwpAQCAtNTM5 LDcgKzUzOSw3IEBAIHN0YXRpYyBpbnQgeGVuZmJfcmVtb3ZlKHN0cnVjdCB4ZW5idXNfZGV2aWNl ICpkZXYpCiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIHZtYWxsb2NfdG9fbWZuKHZvaWQgKmFkZHJl c3MpCiB7Ci0JcmV0dXJuIHBmbl90b19tZm4odm1hbGxvY190b19wZm4oYWRkcmVzcykpOworCXJl dHVybiBwZm5fdG9fZ2ZuKHZtYWxsb2NfdG9fcGZuKGFkZHJlc3MpKTsKIH0KIAogc3RhdGljIHZv aWQgeGVuZmJfaW5pdF9zaGFyZWRfcGFnZShzdHJ1Y3QgeGVuZmJfaW5mbyAqaW5mbywKQEAgLTU4 Niw3ICs1ODYsNyBAQCBzdGF0aWMgaW50IHhlbmZiX2Nvbm5lY3RfYmFja2VuZChzdHJ1Y3QgeGVu YnVzX2RldmljZSAqZGV2LAogCQlnb3RvIHVuYmluZF9pcnE7CiAJfQogCXJldCA9IHhlbmJ1c19w cmludGYoeGJ0LCBkZXYtPm5vZGVuYW1lLCAicGFnZS1yZWYiLCAiJWx1IiwKLQkJCSAgICB2aXJ0 X3RvX21mbihpbmZvLT5wYWdlKSk7CisJCQkgICAgdmlydF90b19nZm4oaW5mby0+cGFnZSkpOwog CWlmIChyZXQpCiAJCWdvdG8gZXJyb3JfeGVuYnVzOwogCXJldCA9IHhlbmJ1c19wcmludGYoeGJ0 LCBkZXYtPm5vZGVuYW1lLCAiZXZlbnQtY2hhbm5lbCIsICIldSIsCmRpZmYgLS1naXQgYS9kcml2 ZXJzL3hlbi9iYWxsb29uLmMgYi9kcml2ZXJzL3hlbi9iYWxsb29uLmMKaW5kZXggYmY0YTIzYy4u NWRmMjhjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vYmFsbG9vbi5jCisrKyBiL2RyaXZlcnMv eGVuL2JhbGxvb24uYwpAQCAtNDQxLDcgKzQ0MSw3IEBAIHN0YXRpYyBlbnVtIGJwX3N0YXRlIGRl Y3JlYXNlX3Jlc2VydmF0aW9uKHVuc2lnbmVkIGxvbmcgbnJfcGFnZXMsIGdmcF90IGdmcCkKIAkv KiBVcGRhdGUgZGlyZWN0IG1hcHBpbmcsIGludmFsaWRhdGUgUDJNLCBhbmQgYWRkIHRvIGJhbGxv b24uICovCiAJZm9yIChpID0gMDsgaSA8IG5yX3BhZ2VzOyBpKyspIHsKIAkJcGZuID0gZnJhbWVf bGlzdFtpXTsKLQkJZnJhbWVfbGlzdFtpXSA9IHBmbl90b19tZm4ocGZuKTsKKwkJZnJhbWVfbGlz dFtpXSA9IHBmbl90b19nZm4ocGZuKTsKIAkJcGFnZSA9IHBmbl90b19wYWdlKHBmbik7CiAKICNp ZmRlZiBDT05GSUdfWEVOX0hBVkVfUFZNTVUKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2V2ZW50 cy9ldmVudHNfYmFzZS5jIGIvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMKaW5kZXgg MTQ5NWVjYy4uMTBmZDljNiAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19i YXNlLmMKKysrIGIvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMKQEAgLTE2OTQsNyAr MTY5NCw3IEBAIHZvaWQgX19pbml0IHhlbl9pbml0X0lSUSh2b2lkKQogCQlzdHJ1Y3QgcGh5c2Rl dl9waXJxX2VvaV9nbWZuIGVvaV9nbWZuOwogCiAJCXBpcnFfZW9pX21hcCA9ICh2b2lkICopX19n ZXRfZnJlZV9wYWdlKEdGUF9LRVJORUx8X19HRlBfWkVSTyk7Ci0JCWVvaV9nbWZuLmdtZm4gPSB2 aXJ0X3RvX21mbihwaXJxX2VvaV9tYXApOworCQllb2lfZ21mbi5nbWZuID0gdmlydF90b19nZm4o cGlycV9lb2lfbWFwKTsKIAkJcmMgPSBIWVBFUlZJU09SX3BoeXNkZXZfb3AoUEhZU0RFVk9QX3Bp cnFfZW9pX2dtZm5fdjIsICZlb2lfZ21mbik7CiAJCS8qIFRPRE86IE5vIFBWSCBzdXBwb3J0IGZv ciBQSVJRIEVPSSAqLwogCQlpZiAocmMgIT0gMCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4v ZXZlbnRzL2V2ZW50c19maWZvLmMgYi9kcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzX2ZpZm8uYwpp bmRleCA2ZGY4YWFjLi4yZTU1ZTkwIDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9ldmVudHMvZXZl bnRzX2ZpZm8uYworKysgYi9kcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzX2ZpZm8uYwpAQCAtMTEx LDcgKzExMSw3IEBAIHN0YXRpYyBpbnQgaW5pdF9jb250cm9sX2Jsb2NrKGludCBjcHUsCiAJZm9y IChpID0gMDsgaSA8IEVWVENITl9GSUZPX01BWF9RVUVVRVM7IGkrKykKIAkJcS0+aGVhZFtpXSA9 IDA7CiAKLQlpbml0X2NvbnRyb2wuY29udHJvbF9nZm4gPSB2aXJ0X3RvX21mbihjb250cm9sX2Js b2NrKTsKKwlpbml0X2NvbnRyb2wuY29udHJvbF9nZm4gPSB2aXJ0X3RvX2dmbihjb250cm9sX2Js b2NrKTsKIAlpbml0X2NvbnRyb2wub2Zmc2V0ICAgICAgPSAwOwogCWluaXRfY29udHJvbC52Y3B1 ICAgICAgICA9IGNwdTsKIApAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbnQgZXZ0Y2huX2Zp Zm9fc2V0dXAoc3RydWN0IGlycV9pbmZvICppbmZvKQogCQkvKiBNYXNrIGFsbCBldmVudHMgaW4g dGhpcyBwYWdlIGJlZm9yZSBhZGRpbmcgaXQuICovCiAJCWluaXRfYXJyYXlfcGFnZShhcnJheV9w YWdlKTsKIAotCQlleHBhbmRfYXJyYXkuYXJyYXlfZ2ZuID0gdmlydF90b19tZm4oYXJyYXlfcGFn ZSk7CisJCWV4cGFuZF9hcnJheS5hcnJheV9nZm4gPSB2aXJ0X3RvX2dmbihhcnJheV9wYWdlKTsK IAogCQlyZXQgPSBIWVBFUlZJU09SX2V2ZW50X2NoYW5uZWxfb3AoRVZUQ0hOT1BfZXhwYW5kX2Fy cmF5LCAmZXhwYW5kX2FycmF5KTsKIAkJaWYgKHJldCA8IDApCmRpZmYgLS1naXQgYS9kcml2ZXJz L3hlbi9nbnRhbGxvYy5jIGIvZHJpdmVycy94ZW4vZ250YWxsb2MuYwppbmRleCBlNTNmZTE5Li4x M2UxNDU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL3hlbi9nbnRhbGxvYy5jCisrKyBiL2RyaXZlcnMv eGVuL2dudGFsbG9jLmMKQEAgLTE0Miw3ICsxNDIsOCBAQCBzdGF0aWMgaW50IGFkZF9ncmVmcyhz dHJ1Y3QgaW9jdGxfZ250YWxsb2NfYWxsb2NfZ3JlZiAqb3AsCiAKIAkJLyogR3JhbnQgZm9yZWln biBhY2Nlc3MgdG8gdGhlIHBhZ2UuICovCiAJCXJjID0gZ250dGFiX2dyYW50X2ZvcmVpZ25fYWNj ZXNzKG9wLT5kb21pZCwKLQkJCXBmbl90b19tZm4ocGFnZV90b19wZm4oZ3JlZi0+cGFnZSkpLCBy ZWFkb25seSk7CisJCQkJCQkgcGFnZV90b19nZm4oZ3JlZi0+cGFnZSksCisJCQkJCQkgcmVhZG9u bHkpOwogCQlpZiAocmMgPCAwKQogCQkJZ290byB1bmRvOwogCQlncmVmX2lkc1tpXSA9IGdyZWYt PmdyZWZfaWQgPSByYzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL21hbmFnZS5jIGIvZHJpdmVy cy94ZW4vbWFuYWdlLmMKaW5kZXggZDEwZWZmZS4uZTEyYmQzNiAxMDA2NDQKLS0tIGEvZHJpdmVy cy94ZW4vbWFuYWdlLmMKKysrIGIvZHJpdmVycy94ZW4vbWFuYWdlLmMKQEAgLTgwLDcgKzgwLDcg QEAgc3RhdGljIGludCB4ZW5fc3VzcGVuZCh2b2lkICpkYXRhKQogCSAqIGlzIHJlc3VtaW5nIGlu IGEgbmV3IGRvbWFpbi4KIAkgKi8KIAlzaS0+Y2FuY2VsbGVkID0gSFlQRVJWSVNPUl9zdXNwZW5k KHhlbl9wdl9kb21haW4oKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgID8gdmlydF90b19tZm4oeGVuX3N0YXJ0X2luZm8pCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPyB2aXJ0X3RvX2dmbih4ZW5fc3RhcnRfaW5mbykKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IDApOwogCiAJeGVuX2FyY2hf cG9zdF9zdXNwZW5kKHNpLT5jYW5jZWxsZWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vdG1l bS5jIGIvZHJpdmVycy94ZW4vdG1lbS5jCmluZGV4IDIzOTczOGYuLjI4Yzk3ZmYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMveGVuL3RtZW0uYworKysgYi9kcml2ZXJzL3hlbi90bWVtLmMKQEAgLTEzMSw3 ICsxMzEsNyBAQCBzdGF0aWMgaW50IHhlbl90bWVtX25ld19wb29sKHN0cnVjdCB0bWVtX3Bvb2xf dXVpZCB1dWlkLAogc3RhdGljIGludCB4ZW5fdG1lbV9wdXRfcGFnZSh1MzIgcG9vbF9pZCwgc3Ry dWN0IHRtZW1fb2lkIG9pZCwKIAkJCSAgICAgdTMyIGluZGV4LCB1bnNpZ25lZCBsb25nIHBmbikK IHsKLQl1bnNpZ25lZCBsb25nIGdtZm4gPSB4ZW5fcHZfZG9tYWluKCkgPyBwZm5fdG9fbWZuKHBm bikgOiBwZm47CisJdW5zaWduZWQgbG9uZyBnbWZuID0gcGZuX3RvX2dmbihwZm4pOwogCiAJcmV0 dXJuIHhlbl90bWVtX29wKFRNRU1fUFVUX1BBR0UsIHBvb2xfaWQsIG9pZCwgaW5kZXgsCiAJCWdt Zm4sIDAsIDAsIDApOwpAQCAtMTQwLDcgKzE0MCw3IEBAIHN0YXRpYyBpbnQgeGVuX3RtZW1fcHV0 X3BhZ2UodTMyIHBvb2xfaWQsIHN0cnVjdCB0bWVtX29pZCBvaWQsCiBzdGF0aWMgaW50IHhlbl90 bWVtX2dldF9wYWdlKHUzMiBwb29sX2lkLCBzdHJ1Y3QgdG1lbV9vaWQgb2lkLAogCQkJICAgICB1 MzIgaW5kZXgsIHVuc2lnbmVkIGxvbmcgcGZuKQogewotCXVuc2lnbmVkIGxvbmcgZ21mbiA9IHhl bl9wdl9kb21haW4oKSA/IHBmbl90b19tZm4ocGZuKSA6IHBmbjsKKwl1bnNpZ25lZCBsb25nIGdt Zm4gPSBwZm5fdG9fZ2ZuKHBmbik7CiAKIAlyZXR1cm4geGVuX3RtZW1fb3AoVE1FTV9HRVRfUEFH RSwgcG9vbF9pZCwgb2lkLCBpbmRleCwKIAkJZ21mbiwgMCwgMCwgMCk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jIGIvZHJpdmVycy94ZW4veGVuYnVzL3hl bmJ1c19jbGllbnQuYwppbmRleCA5YWQzMjcyLi5kYWEyNjdhIDEwMDY0NAotLS0gYS9kcml2ZXJz L3hlbi94ZW5idXMveGVuYnVzX2NsaWVudC5jCisrKyBiL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5i dXNfY2xpZW50LmMKQEAgLTM4MCw3ICszODAsNyBAQCBpbnQgeGVuYnVzX2dyYW50X3Jpbmcoc3Ry dWN0IHhlbmJ1c19kZXZpY2UgKmRldiwgdm9pZCAqdmFkZHIsCiAKIAlmb3IgKGkgPSAwOyBpIDwg bnJfcGFnZXM7IGkrKykgewogCQllcnIgPSBnbnR0YWJfZ3JhbnRfZm9yZWlnbl9hY2Nlc3MoZGV2 LT5vdGhlcmVuZF9pZCwKLQkJCQkJCSAgdmlydF90b19tZm4odmFkZHIpLCAwKTsKKwkJCQkJCSAg dmlydF90b19nZm4odmFkZHIpLCAwKTsKIAkJaWYgKGVyciA8IDApIHsKIAkJCXhlbmJ1c19kZXZf ZmF0YWwoZGV2LCBlcnIsCiAJCQkJCSAiZ3JhbnRpbmcgYWNjZXNzIHRvIHJpbmcgcGFnZSIpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19kZXZfYmFja2VuZC5jIGIvZHJp dmVycy94ZW4veGVuYnVzL3hlbmJ1c19kZXZfYmFja2VuZC5jCmluZGV4IGIxNzcwN2UuLmVlNmQ5 ZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfZGV2X2JhY2tlbmQuYwor KysgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX2Rldl9iYWNrZW5kLmMKQEAgLTQ5LDcgKzQ5 LDcgQEAgc3RhdGljIGxvbmcgeGVuYnVzX2FsbG9jKGRvbWlkX3QgZG9taWQpCiAJCWdvdG8gb3V0 X2VycjsKIAogCWdudHRhYl9ncmFudF9mb3JlaWduX2FjY2Vzc19yZWYoR05UVEFCX1JFU0VSVkVE X1hFTlNUT1JFLCBkb21pZCwKLQkJCXZpcnRfdG9fbWZuKHhlbl9zdG9yZV9pbnRlcmZhY2UpLCAw IC8qIHdyaXRhYmxlICovKTsKKwkJCXZpcnRfdG9fZ2ZuKHhlbl9zdG9yZV9pbnRlcmZhY2UpLCAw IC8qIHdyaXRhYmxlICovKTsKIAogCWFyZy5kb20gPSBET01JRF9TRUxGOwogCWFyZy5yZW1vdGVf ZG9tID0gZG9taWQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2Jl LmMgYi9kcml2ZXJzL3hlbi94ZW5idXMveGVuYnVzX3Byb2JlLmMKaW5kZXggNDMwOGZiMy4uYjM4 NzBmNCAxMDA2NDQKLS0tIGEvZHJpdmVycy94ZW4veGVuYnVzL3hlbmJ1c19wcm9iZS5jCisrKyBi L2RyaXZlcnMveGVuL3hlbmJ1cy94ZW5idXNfcHJvYmUuYwpAQCAtNzExLDkgKzcxMSw3IEBAIHN0 YXRpYyBpbnQgX19pbml0IHhlbnN0b3JlZF9sb2NhbF9pbml0KHZvaWQpCiAJaWYgKCFwYWdlKQog CQlnb3RvIG91dF9lcnI7CiAKLQl4ZW5fc3RvcmVfbWZuID0geGVuX3N0YXJ0X2luZm8tPnN0b3Jl X21mbiA9Ci0JCXBmbl90b19tZm4odmlydF90b19waHlzKCh2b2lkICopcGFnZSkgPj4KLQkJCSAg IFBBR0VfU0hJRlQpOworCXhlbl9zdG9yZV9tZm4gPSB4ZW5fc3RhcnRfaW5mby0+c3RvcmVfbWZu ID0gdmlydF90b19nZm4oKHZvaWQgKilwYWdlKTsKIAogCS8qIE5leHQgYWxsb2NhdGUgYSBsb2Nh bCBwb3J0IHdoaWNoIHhlbnN0b3JlZCBjYW4gYmluZCB0byAqLwogCWFsbG9jX3VuYm91bmQuZG9t ICAgICAgICA9IERPTUlEX1NFTEY7CkBAIC03ODcsMTIgKzc4NSwxMiBAQCBzdGF0aWMgaW50IF9f aW5pdCB4ZW5idXNfaW5pdCh2b2lkKQogCQllcnIgPSB4ZW5zdG9yZWRfbG9jYWxfaW5pdCgpOwog CQlpZiAoZXJyKQogCQkJZ290byBvdXRfZXJyb3I7Ci0JCXhlbl9zdG9yZV9pbnRlcmZhY2UgPSBt Zm5fdG9fdmlydCh4ZW5fc3RvcmVfbWZuKTsKKwkJeGVuX3N0b3JlX2ludGVyZmFjZSA9IGdmbl90 b192aXJ0KHhlbl9zdG9yZV9tZm4pOwogCQlicmVhazsKIAljYXNlIFhTX1BWOgogCQl4ZW5fc3Rv cmVfZXZ0Y2huID0geGVuX3N0YXJ0X2luZm8tPnN0b3JlX2V2dGNobjsKIAkJeGVuX3N0b3JlX21m biA9IHhlbl9zdGFydF9pbmZvLT5zdG9yZV9tZm47Ci0JCXhlbl9zdG9yZV9pbnRlcmZhY2UgPSBt Zm5fdG9fdmlydCh4ZW5fc3RvcmVfbWZuKTsKKwkJeGVuX3N0b3JlX2ludGVyZmFjZSA9IGdmbl90 b192aXJ0KHhlbl9zdG9yZV9tZm4pOwogCQlicmVhazsKIAljYXNlIFhTX0hWTToKIAkJZXJyID0g aHZtX2dldF9wYXJhbWV0ZXIoSFZNX1BBUkFNX1NUT1JFX0VWVENITiwgJnYpOwpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS94ZW4vcGFnZS5oIGIvaW5jbHVkZS94ZW4vcGFnZS5oCmluZGV4IGM1ZWQyMGIu LmU3ZTE0MjUgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUveGVuL3BhZ2UuaAorKysgYi9pbmNsdWRlL3hl bi9wYWdlLmgKQEAgLTMsOSArMyw5IEBACiAKICNpbmNsdWRlIDxhc20veGVuL3BhZ2UuaD4KIAot c3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHBhZ2VfdG9fbWZuKHN0cnVjdCBwYWdlICpwYWdl KQorc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIHBhZ2VfdG9fZ2ZuKHN0cnVjdCBwYWdlICpw YWdlKQogewotCXJldHVybiBwZm5fdG9fbWZuKHBhZ2VfdG9fcGZuKHBhZ2UpKTsKKwlyZXR1cm4g cGZuX3RvX2dmbihwYWdlX3RvX3BmbihwYWdlKSk7CiB9CiAKIHN0cnVjdCB4ZW5fbWVtb3J5X3Jl Z2lvbiB7Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcK aHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==