Date: Mon, 6 Feb 2017 13:54:28 +0000 From: Liuyingdong <liuyingdong@huawei.com> To: freebsd xen <roger.pau@citrix.com> Cc: "freebsd-xen@freebsd.org" <freebsd-xen@freebsd.org>, Suoben <suoben@huawei.com>, "Zhaojun (Euler)" <zhao.zhaojun@huawei.com>, Wanglinkai <wanglinkai@huawei.com>, chuzhaosong <chuzhaosong@huawei.com>, "Wangchunfeng (Ivan)" <chunfeng.wang@huawei.com>, "Gaoxiaodong (Leo)" <leo.gaoxiaodong@huawei.com> Subject: =?gb2312?B?tPC4tDogW1BBVENIXW5ldGZyb250OiBuZWVkIHJlbGVhc2UgYWxsIHJlc291?= =?gb2312?B?cmNlcyBhZnRlciBhZGRpbmcgYW5kIHJlbW92aW5nIE5JQ3MgdGltZSBhbmQg?= =?gb2312?Q?again?= Message-ID: <3655E9A8B903724782E1F75DCFD74E6B0122A336E3@szxema506-mbs.china.huawei.com>
next in thread | raw e-mail | index | archive | help
--_004_3655E9A8B903724782E1F75DCFD74E6B0122A336E3szxema506mbsc_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SGVsbG8gUm9nZXIsDQoJSSB3YW50IHRvIGtub3cgd2hhdCBhYm91dCB0aGVzZSBwYXRjaCwgUGxl YXNlIGxldCBtZSBrbm93IGlmIHlvdSBoYXZlIGFueSBxdWVzdGlvbnMuIA0KCUlmIHlvdSB0aGlu ayB0aGVzZSBwYXRjaCBhcmUgZmluZSwgSSB3YW50IHRvIHlvdXIgY2hlY2tpbmctaW4gcGxhbi4g VGhhbmtzIQ0KDQotLS0tLdPKvP7Urbz+LS0tLS0NCreivP7IyzogTGl1eWluZ2RvbmcgDQq3osvN yrG85DogMjAxN8TqMtTCMsjVIDIxOjE1DQrK1bz+yMs6ICdmcmVlYnNkIHhlbicgPHJvZ2VyLnBh dUBjaXRyaXguY29tPg0Ks63LzTogZnJlZWJzZC14ZW5AZnJlZWJzZC5vcmc7IFN1b2JlbiA8c3Vv YmVuQGh1YXdlaS5jb20+OyBaaGFvanVuIChFdWxlcikgPHpoYW8uemhhb2p1bkBodWF3ZWkuY29t PjsgV2FuZ2xpbmthaSA8d2FuZ2xpbmthaUBodWF3ZWkuY29tPjsgY2h1emhhb3NvbmcgPGNodXpo YW9zb25nQGh1YXdlaS5jb20+OyBXYW5nY2h1bmZlbmcgKEl2YW4pIDxjaHVuZmVuZy53YW5nQGh1 YXdlaS5jb20+DQrW98ziOiBSZTogW1BBVENIXW5ldGZyb250OiBuZWVkIHJlbGVhc2UgYWxsIHJl c291cmNlcyBhZnRlciBhZGRpbmcgYW5kIHJlbW92aW5nIE5JQ3MgdGltZSBhbmQgYWdhaW4NCg0K SGVsbG8gUm9nZXIsDQoJVGhhbmsgeW91IGZvciB0aGUgdGltZSBhbmQgcGF0aWVuY2UgeW91IGRl dm90ZWQgdG8gcmVhZGluZyBteSBtZXNzYWdlcyBhbmQgZS1tYWlscy4gSSByZWFsbHkgYXBwcmVj aWF0ZSB0aGF0Lg0KCURlcGVuZCBvbiB5b3VyIHJlcGx5LCBJIHN1Ym1pdCB0aG9zZSBhZ2FpbnN0 IGN1cnJlbnQgSEVBRCAob3JpZ2luL21hc3RlcikuDQoNCjEuIDAwMDEgcGF0Y2g6IGludHJvZHVj ZSBzdXNwZW5kX2NhbmNlbCBtZWNoYW5pc20gZm9yIGZyb250ZW5kIGRldmljZXMuDQoxLjEgT24g YSBjYW5jZWxsZWQgc3VzcGVuZCwgeGVuIGZyb250ZW5kIGRldmljZXMgbmVlZCBrbm93IHRoZWly IHN0YXRlIGlzIGludmFyaWFudC4NCjEuMiBPbiBhIGNhbmNlbGxlZCBzdXNwZW5kIHRoZSB2Y3B1 X2luZm8gbG9jYXRpb24gZG9lcyBub3QgY2hhbmdlIChpdCdzIHN0aWxsIGluIHRoZSBwZXItY3B1 IGFyZWEgcmVnaXN0ZXJlZCBieSB4ZW5faHZtX2NwdV9pbml0KCkpLiBTbyBkbyBub3QgY2FsbCB4 ZW5faHZtX2luaXRfc2hhcmVkX2luZm9fcGFnZSgpIHdoaWNoIHdvdWxkIG1ha2UgdGhlIGtlcm5l bCB0aGluayBpdHMgYmFjayBpbiB0aGUgc2hhcmVkIGluZm8uIFdpdGggdGhlIHdyb25nIHZjcHVf aW5mbywgZXZlbnRzIGNhbm5vdCBiZSByZWNlaXZlZCBhbmQgdGhlIGRvbWFpbiB3aWxsIGhhbmcg YWZ0ZXIgYSBjYW5jZWxsZWQgc3VzcGVuZC4NCg0KSSBkZWNsYXJlIGEgZ2xvYmFsIHN1c3BlbmRf Y2FuY2VsbGVkIHZhcmlhYmxlIGluIHhlbi94ZW5idXMveGVuYnVzdmFyLmggYW5kIGV4cG9ydCB0 aGF0IHRvIGFsbCB0aGUgZnJvbnRlbmRzIHRoYXQgbmVlZCBpdC4gSXQgc2hvdWxkIGFsc28gYmUg YSBib29sIHR5cGUgaW5zdGVhZCBvZiBpbnQuIEkgbWVyZ2UgdG9nZXRoZXIgd2l0aCBhIF9zZXRf c3VzcGVuZF9jYW5jZWxsZWQoKSBmdW5jdGlvbi4NCg0KMi4gMDAwMiBwYXRjaDogYSB1c2Vyc3Bh Y2UgYXBwbGljYXRpb24gbmVlZCB3YWl0IHVudGlsIHN0b3BfYWxsX3Byb2MgaGFzIGZpbmlzaGVk IGR1cmluZyBsaXZlIG1pZ3JhdGlvbi4NCklmIHRoZXJlIGlzIGEgdXNlciBwcm9jZXNzIHdoaWNo IG1heWJlIG9mdGVuIHJlYWRzIGFuZCB3cml0ZXMgeGVuc3RvcmUsIHRoZSBhcHBsaWNhdGlvbiBo YXMgYmVlbiBzdXNwZW5kZWQgYWZ0ZXIgc3RvcF9hbGxfcHJvYyBpcyBjYWxsZWQuIEl0IGhlbGQg eHMucmVxdWVzdF9tdXRleCBsb2NrIGJ1dCBpbiB0aGUgeGN0cmxfc3VzcGVuZCgpIGZ1bmN0aW9u IHhzX3dyaXRlIGFuZCB4c19zdXNwZW5kIHdpbGwgbm90IG9idGFpbiB0aGlzIGxvY2suIFNvIHRo ZSBWTSB3aWxsIGhhbmcuIEluIG9yZGVyIHRvIHByZXZlbnQgdGhpcyBmcm9tIGhhcHBlbmluZywg dGhpcyBwcm9jZXNzIG5lZWQgd2FpdCB1bnRpbCBzdG9wX2FsbF9wcm9jIGhhcyBmaW5pc2hlZCBk dXJpbmcgbGl2ZSBtaWdyYXRpb24uDQoNCjMuIDAwMDMgcGF0Y2g6IHdyb25nIG9yZGVyIG9mIGRl dmljZSByZXN1bWUgY2F1c2VzIHZpcnR1YWwgbWFjaGluZSB0byBiZWNvbWUgdW5yZXNwb25zaXZl IGFmdGVyIGxpdmUgbWlncmF0aW9uLg0KQmVjYXVzZSB3cm9uZyBvcmRlciBvZiBkZXZpY2UgcmVz dW1lLCBWTSB3aWxsIGhhbmcgYWZ0ZXIgbGl2ZSBtaWdyYXRpb24uIGF0dGFjaCB0aGUgWGVuIFBW IHRpbWVyIHRvIHRoZSBuZXh1cyBkaXJlY3RseSBhcyBpdCB3YXMgZG9uZSBiZWZvcmUuDQoNCglJ biBteSBsYWJvcmF0b3J5LCBGcmVlQlNEIFZNcyB1bmRlciBubyBsb2FkIGFuZCBoaWdoIGxvYWQo Y3B1IDgwJSBhbmQgbWVtb3J5IDgwJSkgd2VyZSBhbGl2ZSBhZnRlciBtYWRlIHRoZSBsaXZlIG1p Z3JhdGlvbiBiYWNrIGFuZCBmb3J0aCAxMDAwIHRpbWVzLg0KCUkgd2FudCB0byBrbm93IHdoYXQg YWJvdXQgdGhlc2UgcGF0Y2gsIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgaGF2ZSBhbnkgcXVl c3Rpb25zLiBUaGFua3MhDQoNCi0tLS0t08q8/tStvP4tLS0tLQ0Kt6K8/sjLOiBmcmVlYnNkIHhl biBbbWFpbHRvOnJvZ2VyLnBhdUBjaXRyaXguY29tXQ0Kt6LLzcqxvOQ6IDIwMTfE6jHUwjbI1SAx NDo0NA0KytW8/sjLOiBMaXV5aW5nZG9uZyA8bGl1eWluZ2RvbmdAaHVhd2VpLmNvbT4NCrOty806 IGZyZWVic2QteGVuQGZyZWVic2Qub3JnOyBaaGFvanVuIChFdWxlcikgPHpoYW8uemhhb2p1bkBo dWF3ZWkuY29tPjsgU3VvYmVuIDxzdW9iZW5AaHVhd2VpLmNvbT47IE91eWFuZ3poYW93ZWkgKENo YXJsZXMpIDxvdXlhbmd6aGFvd2VpQGh1YXdlaS5jb20+OyBjaHV6aGFvc29uZyA8Y2h1emhhb3Nv bmdAaHVhd2VpLmNvbT47IFdhbmdsaW5rYWkgPHdhbmdsaW5rYWlAaHVhd2VpLmNvbT4NCtb3zOI6 IFJlOiBbUEFUQ0hdbmV0ZnJvbnQ6IG5lZWQgcmVsZWFzZSBhbGwgcmVzb3VyY2VzIGFmdGVyIGFk ZGluZyBhbmQgcmVtb3ZpbmcgTklDcyB0aW1lIGFuZCBhZ2Fpbg0KDQpPbiBUaHUsIERlYyAxNSwg MjAxNiBhdCAwMjowMDo1M0FNICswMDAwLCBMaXV5aW5nZG9uZyB3cm90ZToNCj4gSGVsbG8gUm9n ZXIsDQo+IAlUaGFuayB5b3UgZm9yIHRoZSB0aW1lIGFuZCBwYXRpZW5jZSB5b3UgZGV2b3RlZCB0 byByZWFkaW5nIG15IG1lc3NhZ2VzIGFuZCBlLW1haWxzLiBJIHJlYWxseSBhcHByZWNpYXRlIHRo YXQuDQo+IAlJIGNhbid0IHVzZSBnaXQgc2VuZC1lbWFpbCBzbyBJIGF0dGFjaCB0aGUgcGF0Y2hl cyBkaXJlY3RseS4gSW4gdGhlIDAwMDEgcGF0Y2ggSSBpbnRyb2R1Y2Ugc3VzcGVuZF9jYW5jZWwg bWVjaGFuaXNtIGZvciBmcm9udGVuZCBkZXZpY2VzIGFuZCBpbiB0aGUgMDAwMiBwYXRjaCBJIHJl bGVhc2UgYWxsIHJlc291cmNlcyBhZnRlciBob3QgdW5wbHVnIE5JQ3MuDQo+IA0KPiAgICAgTm90 ZTogVGhlc2UgdHdvIHBhdGNoZXMgaXMgb24gdGhlIGJhc2Ugb2YgdGhlIG9yaWdpbi9yZWxlYXNl LzEwLjIuMCBicmFuY2ggYW5kIHRoZSAwMDAyIHBhdGNoIGlzIG1hZGUgYWZ0ZXIgdGhlIDAwMDEg cGF0Y2guDQoNCkhlbGxvLA0KDQpUaGFua3MgZm9yIHRoZSBwYXRjaGVzLCBub3cgdGhleSBsb29r IGZpbmUuIFlvdSB3aWxsIGhvd2V2ZXIgbmVlZCB0byBzdWJtaXQgdGhvc2UgYWdhaW5zdCBjdXJy ZW50IEhFQUQgKG9yaWdpbi9tYXN0ZXIpLCBhbmQgdGhlbiBJIHdpbGwgZG8gdGhlIGJhY2twb3J0 IHRvDQpzdGFibGUvMTAgYW5kIHN0YWJsZS8xMS4gSSBjYW5ub3QgYXBwbHkgYSBwYXRjaCBkaXJl Y3RseSB0byBzdGFibGUgYnJhbmNoZXMgd2l0aG91dCBpdCBiZWluZyBpbiBIRUFEIGZpcnN0IHVu bGVzcyB0aGVyZSdzIGEgZ29vZCByZWFzb24gZm9yIGl0Lg0KDQpSZXBseWluZyB0byBib3RoIHBh dGNoZXMgaGVyZSBpbmxpbmUuDQoNCi0tLTg8LS0tDQo+IEZyb20gZmM4NWFjN2ViYTU1YTVmMTRm NWY3ZDgxZjBlMWZjN2ZiZjZhNzQ0NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCj4gRnJvbTog WWluZ2RvbmcgTGl1IDxsaXV5aW5nZG9uZ0BodWF3ZWkuY29tPg0KPiBEYXRlOiBUdWUsIDEzIERl YyAyMDE2IDIxOjUzOjI1ICswODAwDQo+IFN1YmplY3Q6IFtQQVRDSF0gaW50cm9kdWNlIHN1c3Bl bmQgY2FuY2VsIG1lY2hhbmlzbSBmb3IgZnJvbnRlbmQgDQo+IGRldmljZXMNCj4gDQoNCkNhbiB5 b3UgZWxhYm9yYXRlIGEgbGl0dGxlIGJpdCBtb3JlIG9uIHRoZSBjb21taXQgbWVzc2FnZSBoZXJl PyBXaGF0IGlzc3VlcyBhcmUgeW91IHNlZWluZyB3aXRob3V0IHRoaXMgcGF0Y2ggYXBwbGllZD8g V2hhdCBpcyB0aGUgcmVzdWx0IGFmdGVyIGFwcGx5aW5nIHRoZSBwYXRjaD8NCg0KQ29tbWl0IG1l c3NhZ2VzIGFyZSB2ZXJ5IGltcG9ydGFudCBpbiBvcmRlciB0byBrbm93IHdoeSBhIGNoYW5nZSBp cyBuZWVkZWQsIHNwZWNpYWxseSB3aGVuIHlvdSBsb29rIGF0IHRoZW0gaW4gZm9yIGV4YW1wbGUg MyB5ZWFycyB0aW1lLg0KDQo+IC0tLQ0KPiAgc3lzL2Rldi94ZW4vYmxrZnJvbnQvYmxrZnJvbnQu YyB8IDEzICsrKysrKysrKysrDQo+ICBzeXMvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYyAgIHwg IDkgKysrKysrLQ0KPiAgc3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYyB8IDUyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tDQo+ICBzeXMveDg2L3hlbi9odm0u YyAgICAgICAgICAgICAgIHwgMTYgKysrKysrKystLS0tLQ0KPiAgc3lzL3hlbi94ZW5idXMveGVu YnVzYi5jICAgICAgICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQo+ ICBzeXMveGVuL3hlbmJ1cy94ZW5idXN2YXIuaCAgICAgIHwgIDQgKysrKw0KPiAgNiBmaWxlcyBj aGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgMzcgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t Z2l0IGEvc3lzL2Rldi94ZW4vYmxrZnJvbnQvYmxrZnJvbnQuYyANCj4gYi9zeXMvZGV2L3hlbi9i bGtmcm9udC9ibGtmcm9udC5jIGluZGV4IGE3MTI1MWQuLjhkN2MzMmEgMTAwNjQ0DQo+IC0tLSBh L3N5cy9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMNCj4gKysrIGIvc3lzL2Rldi94ZW4vYmxr ZnJvbnQvYmxrZnJvbnQuYw0KPiBAQCAtNjgsNiArNjgsOCBAQCBfX0ZCU0RJRCgiJEZyZWVCU0Qk Iik7DQo+ICANCj4gICNpbmNsdWRlICJ4ZW5idXNfaWYuaCINCj4gIA0KPiArc3RhdGljIGludCBi bGtmcm9udF9zdXNwZW5kX2NhbmNlbGxlZCA9IDA7DQoNCkkgc2VlIHRoYXQgeW91IGFkZCBvbmUg b2YgdGhvc2UgdG8gZWFjaCBmcm9udGVuZCB5b3UgYWRkIGNhbmNlbCBzdXNwZW5kIHN1cHBvcnQs IHRvZ2V0aGVyIHdpdGggYSAqX3NldF9zdXNwZW5kX2NhbmNlbCBmdW5jdGlvbi4gV291bGRuJ3Qg aXQgYmUgZWFzaWVyIHRvIGRlY2xhcmUgYSBnbG9iYWwgc3VzcGVuZF9jYW5jZWxsZWQgdmFyaWFi bGUgaW4geGVuL2NvbnRyb2wuYyBhbmQgZXhwb3J0IHRoYXQgdG8gYWxsIHRoZSBmcm9udGVuZHMg dGhhdCBuZWVkIGl0PyBJdCBzaG91bGQgYWxzbyBiZSBhIGJvb2wgdHlwZSBpbnN0ZWFkIG9mIGlu dC4NCg0KWW91IGNhbiBjbGVhciB0aGF0IHZhcmlhYmxlIGFmdGVyIERFVklDRV9SRVNVTUUgaGFz IGZpbmlzaGVkLg0KDQo+ICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3J3YXJkIERl Y2xhcmF0aW9ucyANCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8gIHN0YXRpYyB2b2lk IHhiZF9jbG9zaW5nKGRldmljZV90KTsgDQo+IHN0YXRpYyB2b2lkIHhiZF9zdGFydGlvKHN0cnVj dCB4YmRfc29mdGMgKnNjKTsgQEAgLTE0MTcsMTAgKzE0MTksMjEgQEAgDQo+IHhiZF9zdXNwZW5k KGRldmljZV90IGRldikNCj4gIAlyZXR1cm4gKHJldHZhbCk7DQo+ICB9DQo+ICANCj4gK3ZvaWQg eGJkX3NldF9zdXNwZW5kX2NhbmNlbCh2b2lkKQ0KPiArew0KPiArCWJsa2Zyb250X3N1c3BlbmRf Y2FuY2VsbGVkID0gMTsNCj4gK30NCj4gKw0KPiAgc3RhdGljIGludA0KPiAgeGJkX3Jlc3VtZShk ZXZpY2VfdCBkZXYpDQo+ICB7DQo+ICAJc3RydWN0IHhiZF9zb2Z0YyAqc2MgPSBkZXZpY2VfZ2V0 X3NvZnRjKGRldik7DQo+ICsJDQoNClN0cmF5IHRhYi4NCg0KPiArCWlmKGJsa2Zyb250X3N1c3Bl bmRfY2FuY2VsbGVkID09IDEpIHsNCiAgICAgICAgICBeIG1pc3Npbmcgc3BhY2UgYmV0d2VlbiAi aWYiIGFuZCAiKCIuDQoNCj4gKwkJc2MtPnhiZF9zdGF0ZSA9IFhCRF9TVEFURV9DT05ORUNURUQ7 DQo+ICsJCWJsa2Zyb250X3N1c3BlbmRfY2FuY2VsbGVkID0gMDsNCj4gKwkJcmV0dXJuICgwKTsN Cj4gKwl9DQo+ICANCj4gIAlEUFJJTlRLKCJ4YmRfcmVzdW1lOiAlc1xuIiwgeGVuYnVzX2dldF9u b2RlKGRldikpOw0KPiAgDQo+IGRpZmYgLS1naXQgYS9zeXMvZGV2L3hlbi9jb250cm9sL2NvbnRy b2wuYyANCj4gYi9zeXMvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYyBpbmRleCBiYzA2MDlkLi5i NTAwMTAwIDEwMDY0NA0KPiAtLS0gYS9zeXMvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYw0KPiAr KysgYi9zeXMvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYw0KPiBAQCAtNDAwLDcgKzQwMCw5IEBA IHhjdHJsX3N1c3BlbmQoKQ0KPiAgCS8qDQo+ICAJICogUmVzZXQgZ3JhbnQgdGFibGUgaW5mby4N Cj4gIAkgKi8NCj4gLQlnbnR0YWJfcmVzdW1lKCk7DQo+ICsJaWYoc3VzcGVuZF9jYW5jZWxsZWQg PT0gMCkgew0KICAgICAgICAgIF4gbWlzc2luZyBzcGFjZS4NCg0KPiArCQlnbnR0YWJfcmVzdW1l KCk7DQo+ICsJfQ0KPiAgDQo+ICAjaWZkZWYgU01QDQo+ICAJaWYgKHNtcF9zdGFydGVkICYmICFD UFVfRU1QVFkoJmNwdV9zdXNwZW5kX21hcCkpIHsgQEAgLTQxNiw2ICs0MTgsMTEgDQo+IEBAIHhj dHJsX3N1c3BlbmQoKQ0KPiAgCSAqIEZyZWVCU0QgcmVhbGx5IG5lZWRzIHRvIGFkZCBERVZJQ0Vf U1VTUEVORF9DQU5DRUwgb3INCj4gIAkgKiBzaW1pbGFyLg0KPiAgCSAqLw0KPiArCWlmKHN1c3Bl bmRfY2FuY2VsbGVkID09IDEpIHsNCj4gKwkJeGVuYnVzYl9zZXRfc3VzcGVuZF9jYW5jZWwoKTsN Cj4gKwkJeGJkX3NldF9zdXNwZW5kX2NhbmNlbCgpOw0KPiArCQl4bl9zZXRfc3VzcGVuZF9jYW5j ZWwoKTsNCj4gKwl9DQoNCklmIHlvdSBtYWtlIHN1c3BlbmRfY2FuY2VsbGVkIGdsb2JhbCB5b3Ug d291bGRuJ3QgbmVlZCB0byBjYWxsIGFsbCBvZiB0aG9zZSBmdW5jdGlvbnMuDQoNCj4gIAltdHhf bG9jaygmR2lhbnQpOw0KPiAgCURFVklDRV9SRVNVTUUocm9vdF9idXMpOw0KPiAgCW10eF91bmxv Y2soJkdpYW50KTsNCj4gZGlmZiAtLWdpdCBhL3N5cy9kZXYveGVuL25ldGZyb250L25ldGZyb250 LmMgDQo+IGIvc3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYyBpbmRleCBkODljMGUwLi4w Y2FhYTJjIDEwMDY0NA0KPiAtLS0gYS9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jDQo+ ICsrKyBiL3N5cy9kZXYveGVuL25ldGZyb250L25ldGZyb250LmMNCj4gQEAgLTk4LDYgKzk4LDgg QEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOyAgI2RlZmluZSBORVRfVFhfUklOR19TSVpFIA0KPiBf X1JJTkdfU0laRSgobmV0aWZfdHhfc3JpbmdfdCAqKTAsIFBBR0VfU0laRSkgICNkZWZpbmUgDQo+ IE5FVF9SWF9SSU5HX1NJWkUgX19SSU5HX1NJWkUoKG5ldGlmX3J4X3NyaW5nX3QgKikwLCBQQUdF X1NJWkUpDQo+ICANCj4gK3N0YXRpYyBpbnQgbmV0ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPSAw Ow0KPiArDQo+ICAjaWYgX19GcmVlQlNEX3ZlcnNpb24gPj0gNzAwMDAwDQo+ICAvKg0KPiAgICog U2hvdWxkIHRoZSBkcml2ZXIgZG8gTFJPIG9uIHRoZSBSWCBlbmQgQEAgLTE5Miw2ICsxOTQsMTAg QEAgc3RhdGljIA0KPiBpbnQgeGVubmV0X2dldF9yZXNwb25zZXMoc3RydWN0IG5ldGZyb250X2lu Zm8gKm5wLA0KPiAgCXN0cnVjdCBuZXRmcm9udF9yeF9pbmZvICpyaW5mbywgUklOR19JRFggcnAs IFJJTkdfSURYICpjb25zLA0KPiAgCXN0cnVjdCBtYnVmICoqbGlzdCwgaW50ICpwYWdlc19mbGlw cGVkX3ApOw0KPiAgDQo+ICsjaWZkZWYgSU5FVA0KPiArc3RhdGljIHZvaWQgbmV0ZnJvbnRfc2Vu ZF9mYWtlX2FycChkZXZpY2VfdCBkZXYsIHN0cnVjdCBuZXRmcm9udF9pbmZvIA0KPiArKmluZm8p OyAjZW5kaWYNCj4gKw0KPiAgI2RlZmluZSB2aXJ0X3RvX21mbih4KSAodnRvbWFjaCh4KSA+PiBQ QUdFX1NISUZUKQ0KPiAgDQo+ICAjZGVmaW5lIElOVkFMSURfUDJNX0VOVFJZICh+MFVMKQ0KPiBA QCAtNDkzLDYgKzQ5OSwxMSBAQCBuZXRmcm9udF9zdXNwZW5kKGRldmljZV90IGRldikNCj4gIAly ZXR1cm4gKDApOw0KPiAgfQ0KPiAgDQo+ICt2b2lkIHhuX3NldF9zdXNwZW5kX2NhbmNlbCh2b2lk KQ0KPiArew0KPiArCW5ldGZyb250X3N1c3BlbmRfY2FuY2VsbGVkID0gMTsNCj4gK30NCj4gKw0K PiAgLyoqDQo+ICAgKiBXZSBhcmUgcmVjb25uZWN0aW5nIHRvIHRoZSBiYWNrZW5kLCBkdWUgdG8g YSBzdXNwZW5kL3Jlc3VtZSwgb3IgYSBiYWNrZW5kDQo+ICAgKiBkcml2ZXIgcmVzdGFydC4gIFdl IHRlYXIgZG93biBvdXIgbmV0aWYgc3RydWN0dXJlIGFuZCByZWNyZWF0ZSBpdCwgDQo+IGJ1dCBA QCAtNTA0LDYgKzUxNSwxOSBAQCBuZXRmcm9udF9yZXN1bWUoZGV2aWNlX3QgZGV2KSAgew0KPiAg CXN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvID0gZGV2aWNlX2dldF9zb2Z0YyhkZXYpOw0KPiAg DQo+ICsJaWYobmV0ZnJvbnRfc3VzcGVuZF9jYW5jZWxsZWQgPT0gMSkgew0KPiArCQlpbmZvLT54 bl9yZXN1bWUgPSB0cnVlOw0KPiArCQlYTl9SWF9MT0NLKGluZm8pOw0KPiArCQlYTl9UWF9MT0NL KGluZm8pOw0KPiArCQluZXRmcm9udF9jYXJyaWVyX29uKGluZm8pOw0KPiArCQlYTl9UWF9VTkxP Q0soaW5mbyk7DQo+ICsJCVhOX1JYX1VOTE9DSyhpbmZvKTsNCj4gKyNpZmRlZiBJTkVUDQo+ICsJ CW5ldGZyb250X3NlbmRfZmFrZV9hcnAoZGV2LCBpbmZvKTsNCj4gKyNlbmRpZg0KDQpJIGRvbid0 IHRoaW5rIHlvdSBuZWVkIHRvIHNlbmQgYW4gQVJQIG9uIGEgY2FuY2VsbGVkIHN1c3BlbmQsIHRo ZSBicmlkZ2Ugc2hvdWxkIGFscmVhZHkgaGF2ZSB0aGUgbWFjIGFkZHJlc3Mgb2YgdGhlIHZpcnR1 YWwgaW50ZXJmYWNlIGluIGl0J3MgY2FjaGUgcmlnaHQ/DQoNCj4gKwkJbmV0ZnJvbnRfc3VzcGVu ZF9jYW5jZWxsZWQgPSAwOw0KPiArCQlyZXR1cm4gKDApOw0KPiArCX0NCj4gIAlpbmZvLT54bl9y ZXN1bWUgPSB0cnVlOw0KPiAgCW5ldGlmX2Rpc2Nvbm5lY3RfYmFja2VuZChpbmZvKTsNCj4gIAly ZXR1cm4gKDApOw0KPiBAQCAtMjEwOCwyNiArMjEzMiwyNiBAQCBjcmVhdGVfbmV0ZGV2KGRldmlj ZV90IGRldikNCj4gIAkNCj4gIAkvKiBTZXQgdXAgaWZuZXQgc3RydWN0dXJlICovDQo+ICAJaWZw ID0gbnAtPnhuX2lmcCA9IGlmX2FsbG9jKElGVF9FVEhFUik7DQo+IC0gICAgCWlmcC0+aWZfc29m dGMgPSBucDsNCj4gLSAgICAJaWZfaW5pdG5hbWUoaWZwLCAieG4iLCAgZGV2aWNlX2dldF91bml0 KGRldikpOw0KPiAtICAgIAlpZnAtPmlmX2ZsYWdzID0gSUZGX0JST0FEQ0FTVCB8IElGRl9TSU1Q TEVYIHwgSUZGX01VTFRJQ0FTVDsNCj4gLSAgICAJaWZwLT5pZl9pb2N0bCA9IHhuX2lvY3RsOw0K PiAtICAgIAlpZnAtPmlmX291dHB1dCA9IGV0aGVyX291dHB1dDsNCj4gLSAgICAJaWZwLT5pZl9z dGFydCA9IHhuX3N0YXJ0Ow0KPiArCWlmcC0+aWZfc29mdGMgPSBucDsNCj4gKwlpZl9pbml0bmFt ZShpZnAsICJ4biIsICBkZXZpY2VfZ2V0X3VuaXQoZGV2KSk7DQo+ICsJaWZwLT5pZl9mbGFncyA9 IElGRl9CUk9BRENBU1QgfCBJRkZfU0lNUExFWCB8IElGRl9NVUxUSUNBU1Q7DQo+ICsJaWZwLT5p Zl9pb2N0bCA9IHhuX2lvY3RsOw0KPiArCWlmcC0+aWZfb3V0cHV0ID0gZXRoZXJfb3V0cHV0Ow0K PiArCWlmcC0+aWZfc3RhcnQgPSB4bl9zdGFydDsNCj4gICNpZmRlZiBub3R5ZXQNCj4gLSAgICAJ aWZwLT5pZl93YXRjaGRvZyA9IHhuX3dhdGNoZG9nOw0KPiArCWlmcC0+aWZfd2F0Y2hkb2cgPSB4 bl93YXRjaGRvZzsNCj4gICNlbmRpZg0KPiAtICAgIAlpZnAtPmlmX2luaXQgPSB4bl9pZmluaXQ7 DQo+IC0gICAgCWlmcC0+aWZfc25kLmlmcV9tYXhsZW4gPSBORVRfVFhfUklOR19TSVpFIC0gMTsN Cj4gLQkNCj4gLSAgICAJaWZwLT5pZl9od2Fzc2lzdCA9IFhOX0NTVU1fRkVBVFVSRVM7DQo+IC0g ICAgCWlmcC0+aWZfY2FwYWJpbGl0aWVzID0gSUZDQVBfSFdDU1VNOw0KPiArCWlmcC0+aWZfaW5p dCA9IHhuX2lmaW5pdDsNCj4gKwlpZnAtPmlmX3NuZC5pZnFfbWF4bGVuID0gTkVUX1RYX1JJTkdf U0laRSAtIDE7DQo+ICsNCj4gKwlpZnAtPmlmX2h3YXNzaXN0ID0gWE5fQ1NVTV9GRUFUVVJFUzsN Cj4gKwlpZnAtPmlmX2NhcGFiaWxpdGllcyA9IElGQ0FQX0hXQ1NVTTsNCj4gIAlpZnAtPmlmX2h3 X3Rzb21heCA9IDY1NTM2IC0gKEVUSEVSX0hEUl9MRU4gKyBFVEhFUl9WTEFOX0VOQ0FQX0xFTik7 DQo+ICAJaWZwLT5pZl9od190c29tYXhzZWdjb3VudCA9IE1BWF9UWF9SRVFfRlJBR1M7DQo+ICAJ aWZwLT5pZl9od190c29tYXhzZWdzaXplID0gUEFHRV9TSVpFOw0KPiAgCQ0KPiAtICAgIAlldGhl cl9pZmF0dGFjaChpZnAsIG5wLT5tYWMpOw0KPiAtICAgIAljYWxsb3V0X2luaXQoJm5wLT54bl9z dGF0X2NoLCBDQUxMT1VUX01QU0FGRSk7DQo+ICsJZXRoZXJfaWZhdHRhY2goaWZwLCBucC0+bWFj KTsNCj4gKwljYWxsb3V0X2luaXQoJm5wLT54bl9zdGF0X2NoLCBDQUxMT1VUX01QU0FGRSk7DQo+ ICAJbmV0ZnJvbnRfY2Fycmllcl9vZmYobnApOw0KDQpUaGlzIGNodW5rIHNlZW1zIGNvbXBsZXRl bHkgdW5yZWxhdGVkIHRvIHRoZSBwYXRjaCBpdHNlbGYsIGlzIHRoaXMgc29tZSBraW5kIG9mIGNv ZGUgZm9ybWF0dGluZyBjbGVhbnVwPyBJZiBzbywgdGhpcyBzaG91bGQgYmUgc2VudCBpbiBhIHNl cGFyYXRlIHBhdGNoLg0KDQo+ICAJcmV0dXJuICgwKTsNCj4gZGlmZiAtLWdpdCBhL3N5cy94ODYv eGVuL2h2bS5jIGIvc3lzL3g4Ni94ZW4vaHZtLmMgaW5kZXggDQo+IGMzODY5NTMuLjFjMmJhOWQg MTAwNjQ0DQo+IC0tLSBhL3N5cy94ODYveGVuL2h2bS5jDQo+ICsrKyBiL3N5cy94ODYveGVuL2h2 bS5jDQo+IEBAIC01MTcsMTAgKzUxNyw5IEBAIHhlbl9odm1faW5pdChlbnVtIHhlbl9odm1faW5p dF90eXBlIGluaXRfdHlwZSkNCj4gIAlpbnQgZXJyb3I7DQo+ICAJaW50IGk7DQo+ICANCj4gLQlp ZiAoaW5pdF90eXBlID09IFhFTl9IVk1fSU5JVF9DQU5DRUxMRURfU1VTUEVORCkNCj4gLQkJcmV0 dXJuOw0KPiAtDQo+IC0JZXJyb3IgPSB4ZW5faHZtX2luaXRfaHlwZXJjYWxsX3N0dWJzKCk7DQo+ ICsJaWYgKGluaXRfdHlwZSAhPSBYRU5fSFZNX0lOSVRfQ0FOQ0VMTEVEX1NVU1BFTkQpIHsNCj4g KwkJZXJyb3IgPSB4ZW5faHZtX2luaXRfaHlwZXJjYWxsX3N0dWJzKCk7DQo+ICsJfQ0KPiAgDQo+ ICAJc3dpdGNoIChpbml0X3R5cGUpIHsNCj4gIAljYXNlIFhFTl9IVk1fSU5JVF9DT0xEOg0KPiBA QCAtNTQxLDEzICs1NDAsMTcgQEAgeGVuX2h2bV9pbml0KGVudW0geGVuX2h2bV9pbml0X3R5cGUg aW5pdF90eXBlKQ0KPiAgCQlDUFVfRk9SRUFDSChpKQ0KPiAgCQkJRFBDUFVfSURfU0VUKGksIHZj cHVfaW5mbywgTlVMTCk7DQo+ICAJCWJyZWFrOw0KPiArCWNhc2UgWEVOX0hWTV9JTklUX0NBTkNF TExFRF9TVVNQRU5EOg0KPiArCQlicmVhazsNCj4gIAlkZWZhdWx0Og0KPiAgCQlwYW5pYygiVW5z dXBwb3J0ZWQgSFZNIGluaXRpYWxpemF0aW9uIHR5cGUiKTsNCj4gIAl9DQo+ICANCj4gIAl4ZW5f dmVjdG9yX2NhbGxiYWNrX2VuYWJsZWQgPSAwOw0KPiAgCXhlbl9kb21haW5fdHlwZSA9IFhFTl9I Vk1fRE9NQUlOOw0KPiAtCXhlbl9odm1faW5pdF9zaGFyZWRfaW5mb19wYWdlKCk7DQo+ICsJaWYg KGluaXRfdHlwZSAhPSBYRU5fSFZNX0lOSVRfQ0FOQ0VMTEVEX1NVU1BFTkQpIHsNCj4gKwkJeGVu X2h2bV9pbml0X3NoYXJlZF9pbmZvX3BhZ2UoKTsNCj4gKwl9DQo+ICAJeGVuX2h2bV9zZXRfY2Fs bGJhY2soTlVMTCk7DQo+ICAJeGVuX2h2bV9kaXNhYmxlX2VtdWxhdGVkX2RldmljZXMoKTsNCg0K SSdtIG5vdCBzdXJlIEkgZm9sbG93IHdoeSB0aGlzIGNoYW5nZSB0byB4ZW5faHZtX2luaXQgaXMg bmVlZGVkLCBvbiBhIGNhbmNlbGxlZCBzdXNwZW5kIHlvdSBzaG91bGRuJ3QgbmVlZCB0byByZS1z ZXQgdGhlIGNhbGxiYWNrIHZlY3RvciBvciB1bnBsdWcgYW55IGVtdWxhdGVkIGRldmljZXMuDQoN Cj4gIH0NCj4gQEAgLTU2NSw3ICs1NjgsOCBAQCB4ZW5faHZtX3Jlc3VtZShib29sIHN1c3BlbmRf Y2FuY2VsbGVkKQ0KPiAgCSAgICBYRU5fSFZNX0lOSVRfQ0FOQ0VMTEVEX1NVU1BFTkQgOiBYRU5f SFZNX0lOSVRfUkVTVU1FKTsNCj4gIA0KPiAgCS8qIFJlZ2lzdGVyIHZjcHVfaW5mbyBhcmVhIGZv ciBDUFUjMC4gKi8NCj4gLQl4ZW5faHZtX2NwdV9pbml0KCk7DQo+ICsJaWYoIXN1c3BlbmRfY2Fu Y2VsbGVkKQ0KPiArCQl4ZW5faHZtX2NwdV9pbml0KCk7DQo+ICB9DQoNClNlZWluZyB0aGlzIGhl cmUsIHdoeSBkb24ndCB3ZSBqdXN0IGF2b2lkIGNhbGxpbmcgeGVuX2h2bV9yZXN1bWUgZnJvbSB4 Y3RybF9zdXNwZW5kIG9uIGEgY2FuY2VsbGVkIHN1c3BlbmQ/DQoNCj4gIHN0YXRpYyB2b2lkDQo+ IGRpZmYgLS1naXQgYS9zeXMveGVuL3hlbmJ1cy94ZW5idXNiLmMgYi9zeXMveGVuL3hlbmJ1cy94 ZW5idXNiLmMgaW5kZXggDQo+IDFmODQ3OTUuLmNjZTgzY2QgMTAwNjQ0DQo+IC0tLSBhL3N5cy94 ZW4veGVuYnVzL3hlbmJ1c2IuYw0KPiArKysgYi9zeXMveGVuL3hlbmJ1cy94ZW5idXNiLmMNCj4g QEAgLTc1LDYgKzc1LDggQEAgX19GQlNESUQoIiRGcmVlQlNEJCIpOyAgI2luY2x1ZGUgDQo+IDx4 ZW4veGVuYnVzL3hlbmJ1c2IuaD4gICNpbmNsdWRlIDx4ZW4veGVuYnVzL3hlbmJ1c3Zhci5oPg0K PiAgDQo+ICtzdGF0aWMgaW50IHhlbmJ1c2Jfc3VzcGVuZF9jYW5jZWxsZWQgPSAwOw0KPiArDQo+ ICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUHJpdmF0ZSBGdW5jdGlvbnMgDQo+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCj4gIC8qKg0KPiAgICogXGJyaWVmIERlYWxs b2NhdGUgWGVuQnVzIGRldmljZSBpbnN0YW5jZSB2YXJpYWJsZXMuDQo+IEBAIC03NzYsNiArNzc4 LDExIEBAIHhlbmJ1c2JfYXR0YWNoKGRldmljZV90IGRldiwgY2hhciAqYnVzX25vZGUsIHVfaW50 IGlkX2NvbXBvbmVudHMpDQo+ICAJcmV0dXJuICgwKTsNCj4gIH0NCj4gIA0KPiArdm9pZCB4ZW5i dXNiX3NldF9zdXNwZW5kX2NhbmNlbCh2b2lkKSB7DQo+ICsJeGVuYnVzYl9zdXNwZW5kX2NhbmNl bGxlZCA9IDE7DQo+ICt9DQo+ICsNCj4gIGludA0KPiAgeGVuYnVzYl9yZXN1bWUoZGV2aWNlX3Qg ZGV2KQ0KPiAgew0KPiBAQCAtNzkzLDI5ICs4MDAsMzIgQEAgeGVuYnVzYl9yZXN1bWUoZGV2aWNl X3QgZGV2KQ0KPiAgCQkJaWYgKGRldmljZV9nZXRfc3RhdGUoa2lkc1tpXSkgPT0gRFNfTk9UUFJF U0VOVCkNCj4gIAkJCQljb250aW51ZTsNCj4gIA0KPiAtCQkJaXZhcnMgPSBkZXZpY2VfZ2V0X2l2 YXJzKGtpZHNbaV0pOw0KPiArCQkJaWYoeGVuYnVzYl9zdXNwZW5kX2NhbmNlbGxlZCA9PSAwKSB7 DQo+ICsJCQkJaXZhcnMgPSBkZXZpY2VfZ2V0X2l2YXJzKGtpZHNbaV0pOw0KPiAgDQo+IC0JCQl4 c191bnJlZ2lzdGVyX3dhdGNoKCZpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gpOw0KPiAtCQkJeGVu YnVzX3NldF9zdGF0ZShraWRzW2ldLCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7DQo+ICsJCQkJ eHNfdW5yZWdpc3Rlcl93YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoKTsNCj4gKwkJCQl4 ZW5idXNfc2V0X3N0YXRlKGtpZHNbaV0sIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nKTsNCj4gIA0K PiAtCQkJLyoNCj4gLQkJCSAqIEZpbmQgdGhlIG5ldyBiYWNrZW5kIGRldGFpbHMgYW5kDQo+IC0J CQkgKiByZS1yZWdpc3RlciBvdXIgd2F0Y2guDQo+IC0JCQkgKi8NCj4gLQkJCWVycm9yID0gWEVO QlVTQl9HRVRfT1RIRVJFTkRfTk9ERShkZXYsIGl2YXJzKTsNCj4gLQkJCWlmIChlcnJvcikNCj4g LQkJCQlyZXR1cm4gKGVycm9yKTsNCj4gKwkJCQkvKg0KPiArCQkJCSAqIEZpbmQgdGhlIG5ldyBi YWNrZW5kIGRldGFpbHMgYW5kDQo+ICsJCQkJICogcmUtcmVnaXN0ZXIgb3VyIHdhdGNoLg0KPiAr CQkJCSAqLw0KPiArCQkJCWVycm9yID0gWEVOQlVTQl9HRVRfT1RIRVJFTkRfTk9ERShkZXYsIGl2 YXJzKTsNCj4gKwkJCQlpZiAoZXJyb3IpDQo+ICsJCQkJCXJldHVybiAoZXJyb3IpOw0KPiAgDQo+ IC0JCQlzdGF0ZXBhdGggPSBtYWxsb2MoaXZhcnMtPnhkX290aGVyZW5kX3BhdGhfbGVuDQo+IC0J CQkgICAgKyBzdHJsZW4oIi9zdGF0ZSIpICsgMSwgTV9YRU5CVVMsIE1fV0FJVE9LKTsNCj4gLQkJ CXNwcmludGYoc3RhdGVwYXRoLCAiJXMvc3RhdGUiLCBpdmFycy0+eGRfb3RoZXJlbmRfcGF0aCk7 DQo+ICsJCQkJc3RhdGVwYXRoID0gbWFsbG9jKGl2YXJzLT54ZF9vdGhlcmVuZF9wYXRoX2xlbg0K PiArCQkJCSAgICArIHN0cmxlbigiL3N0YXRlIikgKyAxLCBNX1hFTkJVUywgTV9XQUlUT0spOw0K PiArCQkJCXNwcmludGYoc3RhdGVwYXRoLCAiJXMvc3RhdGUiLCBpdmFycy0+eGRfb3RoZXJlbmRf cGF0aCk7DQo+ICANCj4gLQkJCWZyZWUoaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoLm5vZGUsIE1f WEVOQlVTKTsNCj4gLQkJCWl2YXJzLT54ZF9vdGhlcmVuZF93YXRjaC5ub2RlID0gc3RhdGVwYXRo Ow0KPiArCQkJCWZyZWUoaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoLm5vZGUsIE1fWEVOQlVTKTsN Cj4gKwkJCQlpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gubm9kZSA9IHN0YXRlcGF0aDsNCj4gKwkJ CX0NCj4gIA0KPiAgCQkJREVWSUNFX1JFU1VNRShraWRzW2ldKTsNCj4gIA0KPiAtCQkJeHNfcmVn aXN0ZXJfd2F0Y2goJml2YXJzLT54ZF9vdGhlcmVuZF93YXRjaCk7DQo+ICsJCQlpZih4ZW5idXNi X3N1c3BlbmRfY2FuY2VsbGVkID09IDApDQo+ICsJCQkJeHNfcmVnaXN0ZXJfd2F0Y2goJml2YXJz LT54ZF9vdGhlcmVuZF93YXRjaCk7DQoNCldoeSBkb24ndCB5b3UganVzdCBhZGQ6DQoNCmlmICh4 ZW5idXNiX3N1c3BlbmRfY2FuY2VsbGVkID09IDEpIHsNCglERVZJQ0VfUkVTVU1FKGtpZHNbaV0p Ow0KCWNvbnRpbnVlOw0KfQ0KDQpUbyB0aGUgdG9wIG9mIHRoZSBsb29wPyBUaGlzIHdvdWxkIHBy ZXNlbnQgYWRkaW5nIGEgYnVuY2ggb2YgbmVzdGVkIGNvbmRpdGlvbmFscy4NCg0KPiAgI2lmIDAN Cj4gIAkJCS8qDQo+ICAJCQkgKiBDYW4ndCBkbyB0aGlzIHlldCBzaW5jZSB3ZSBhcmUgcnVubmlu ZyBpbiBAQCAtODM0LDYgKzg0NCw5IEBAIA0KPiB4ZW5idXNiX3Jlc3VtZShkZXZpY2VfdCBkZXYp DQo+ICAJCWZyZWUoa2lkcywgTV9URU1QKTsNCj4gIAl9DQo+ICANCj4gKwlpZih4ZW5idXNiX3N1 c3BlbmRfY2FuY2VsbGVkID09IDEpDQo+ICsJCXhlbmJ1c2Jfc3VzcGVuZF9jYW5jZWxsZWQgPSAw Ow0KPiArCQ0KPiAgCXJldHVybiAoMCk7DQo+ICB9DQo+ICANCj4gZGlmZiAtLWdpdCBhL3N5cy94 ZW4veGVuYnVzL3hlbmJ1c3Zhci5oIGIvc3lzL3hlbi94ZW5idXMveGVuYnVzdmFyLmggDQo+IGlu ZGV4IGFiNWQwMWYuLmFmZjNiNjAgMTAwNjQ0DQo+IC0tLSBhL3N5cy94ZW4veGVuYnVzL3hlbmJ1 c3Zhci5oDQo+ICsrKyBiL3N5cy94ZW4veGVuYnVzL3hlbmJ1c3Zhci5oDQo+IEBAIC0yNzIsNCAr MjcyLDggQEAgdm9pZCB4ZW5idXNfbG9jYWxlbmRfY2hhbmdlZChkZXZpY2VfdCBkZXYsIGNvbnN0 IA0KPiBjaGFyICpwYXRoKTsNCj4gIA0KPiAgI2luY2x1ZGUgInhlbmJ1c19pZi5oIg0KPiAgDQo+ ICt2b2lkIHhlbmJ1c2Jfc2V0X3N1c3BlbmRfY2FuY2VsKHZvaWQpOyB2b2lkIA0KPiAreGJkX3Nl dF9zdXNwZW5kX2NhbmNlbCh2b2lkKTsgdm9pZCB4bl9zZXRfc3VzcGVuZF9jYW5jZWwodm9pZCk7 DQo+ICsNCj4gICNlbmRpZiAvKiBfWEVOX1hFTkJVU19YRU5CVVNWQVJfSCAqLw0KPiAtLQ0KPiAx LjguMy40DQo+DQo+IEZyb20gNDIzYTk1OWEyNjhiMjA1YzA0ODQ4OWU2YWRkZWJhNWRiNDQ5ZTMy MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDENCj4gRnJvbTogWWluZ2RvbmcgTGl1IDxsaXV5aW5n ZG9uZ0BodWF3ZWkuY29tPg0KPiBEYXRlOiBUaHUsIDE1IERlYyAyMDE2IDA5OjA5OjE2ICswODAw DQo+IFN1YmplY3Q6IFtQQVRDSF0gW1BBVENIXW5ldGZyb250OiBuZWVkIHJlbGVhc2UgYWxsIHJl c291cmNlcyBhZnRlciANCj4gYWRkaW5nIGFuZCAgcmVtb3ZpbmcgTklDcyB0aW1lIGFuZCBhZ2Fp bg0KPiANCj4gLS0tDQo+ICBzeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jIHwgNDYNCj4g KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gIDEgZmlsZSBjaGFu Z2VkLCA0NiBpbnNlcnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvc3lzL2Rldi94ZW4vbmV0 ZnJvbnQvbmV0ZnJvbnQuYyANCj4gYi9zeXMvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jIGlu ZGV4IDBjYWFhMmMuLjViNjdlMTIgMTAwNjQ0DQo+IC0tLSBhL3N5cy9kZXYveGVuL25ldGZyb250 L25ldGZyb250LmMNCj4gKysrIGIvc3lzL2Rldi94ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYw0KPiBA QCAtMjE5Niw2ICsyMTk2LDQ2IEBAIG5ldGZyb250X2RldGFjaChkZXZpY2VfdCBkZXYpICB9DQo+ ICANCj4gIHN0YXRpYyB2b2lkDQo+ICtuZXRpZl9yZWxlYXNlX3J4X2J1ZnNfY29weShzdHJ1Y3Qg bmV0ZnJvbnRfaW5mbyAqbnApIHsNCj4gKwlzdHJ1Y3QgbWJ1ZiAqbTsNCj4gKwlpbnQgaSwgcmVm Ow0KPiArCWludCBidXN5ID0gMCwgaW51c2UgPSAwOw0KPiArDQo+ICsJWE5fUlhfTE9DSyhucCk7 DQo+ICsNCj4gKwlmb3IgKGkgPSAwOyBpIDwgTkVUX1JYX1JJTkdfU0laRTsgaSsrKSB7DQo+ICsJ CXJlZiA9IG5wLT5ncmFudF9yeF9yZWZbaV07DQo+ICsNCj4gKwkJaWYgKHJlZiA9PSBHUkFOVF9S RUZfSU5WQUxJRCkNCj4gKwkJCWNvbnRpbnVlOw0KPiArDQo+ICsJCWludXNlKys7DQo+ICsNCj4g KwkJbSA9IG5wLT5yeF9tYnVmc1tpXTsNCj4gKw0KPiArCQlpZiAoIWdudHRhYl9lbmRfZm9yZWln bl9hY2Nlc3NfcmVmKHJlZikpDQo+ICsJCXsNCj4gKwkJCWJ1c3krKzsNCj4gKwkJCWNvbnRpbnVl Ow0KPiArCQl9DQo+ICsNCj4gKwkJZ250dGFiX3JlbGVhc2VfZ3JhbnRfcmVmZXJlbmNlKCZucC0+ Z3JlZl9yeF9oZWFkLCByZWYpOw0KPiArCQlucC0+Z3JhbnRfcnhfcmVmW2ldID0gR1JBTlRfUkVG X0lOVkFMSUQ7DQo+ICsJCWFkZF9pZF90b19mcmVlbGlzdChucC0+cnhfbWJ1ZnMsIGkpOw0KPiAr DQo+ICsJCW1fZnJlZW0obSk7DQo+ICsJfQ0KPiArDQo+ICsJaWYgKGJ1c3kpDQo+ICsJCWRldmlj ZV9wcmludGYobnAtPnhiZGV2LCAiVW5hYmxlIHRvIHJlbGVhc2UgJWQgb2YgJWQgIg0KPiArCQkJ ImludXNlIGdyYW50IHJlZmVyZW5jZXMgb3V0IG9mICVsZCB0b3RhbC5cbiIsDQo+ICsJCQlidXN5 LCBpbnVzZSwgTkVUX1JYX1JJTkdfU0laRSk7DQo+ICsJDQoNClN0cmF5IHRhYi4NCg0KPiArCVhO X1JYX1VOTE9DSyhucCk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyB2b2lkDQo+ICBuZXRpZl9mcmVl KHN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvKSAgew0KPiAgCVhOX0xPQ0soaW5mbyk7DQo+IEBA IC0yMjA5LDYgKzIyNDksMTIgQEAgbmV0aWZfZnJlZShzdHJ1Y3QgbmV0ZnJvbnRfaW5mbyAqaW5m bykNCj4gIAkJaW5mby0+eG5faWZwID0gTlVMTDsNCj4gIAl9DQo+ICAJaWZtZWRpYV9yZW1vdmVh bGwoJmluZm8tPnNjX21lZGlhKTsNCj4gKwluZXRpZl9yZWxlYXNlX3R4X2J1ZnMoaW5mbyk7DQo+ ICsJaWYgKGluZm8tPmNvcHlpbmdfcmVjZWl2ZXIpDQo+ICsJCW5ldGlmX3JlbGVhc2VfcnhfYnVm c19jb3B5KGluZm8pOw0KPiArDQo+ICsJZ250dGFiX2ZyZWVfZ3JhbnRfcmVmZXJlbmNlcyhpbmZv LT5ncmVmX3R4X2hlYWQpOw0KPiArCWdudHRhYl9mcmVlX2dyYW50X3JlZmVyZW5jZXMoaW5mby0+ Z3JlZl9yeF9oZWFkKTsNCj4gIH0NCg0KVGhpcyBwYXRjaCBsb29rcyBmaW5lLCBidXQgaXQgbmVl ZHMgdG8gYmUgcmViYXNlZCBvbiB0b3Agb2YgSEVBRCBpbiBvcmRlciB0byBiZSBhcHBsaWVkLg0K DQpSb2dlci4NCg== --_004_3655E9A8B903724782E1F75DCFD74E6B0122A336E3szxema506mbsc_ Content-Type: application/octet-stream; name="0002-a userspace application need wait until stop_all_proc has finished during live migration.patch" Content-Description: 0002-a userspace application need wait until stop_all_proc has finished during live migration.patch Content-Disposition: attachment; filename="0002-a userspace application need wait until stop_all_proc has finished during live migration.patch"; size=3397; creation-date="Thu, 02 Feb 2017 17:57:58 GMT"; modification-date="Mon, 06 Feb 2017 11:20:59 GMT" Content-Transfer-Encoding: base64 RnJvbSBmNGEwNjYwY2U3N2Y3MmUwZDBjMDhmMzMxNmVkNGQ4Zjc4ZjFiOGFiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogbGl1eWluZ2RvbmcgPGxpdXlpbmdkb25nQGh1YXdlaS5jb20+ DQpEYXRlOiBUaHUsIDIgRmViIDIwMTcgMTg6NTE6MDggKzAyMDANClN1YmplY3Q6IElmIHRoZXJl IGlzIGEgdXNlciBwcm9jZXNzIHdoaWNoIG1heWJlIG9mdGVuIHJlYWRzIGFuZCB3cml0ZXMgeGVu c3RvcmUsIHRoZSBhcHBsaWNhdGlvbiBoYXMgYmVlbiBzdXNwZW5kZWQgDQphZnRlciBzdG9wX2Fs bF9wcm9jIGlzIGNhbGxlZC4gSXQgaGVsZCB4cy5yZXF1ZXN0X211dGV4IGxvY2sgYnV0IGluIHRo ZSBmb2xsb3dpbmcgZnVuY3Rpb25zIA0KeHNfd3JpdGUgYW5kIHhzX3N1c3BlbmQgd2lsbCBub3Qg Z2V0IHRoZSBsb2NrLiBTbyB0aGUgVk0gd2lsbCBoYW5nLiANCkluIG9yZGVyIHRvIHByZXZlbnQg dGhpcyBmcm9tIGhhcHBlbmluZywgdGhpcyBwcm9jZXNzIG5lZWQgd2FpdCANCnVudGlsIHN0b3Bf YWxsX3Byb2MgaGFzIGZpbmlzaGVkIGR1cmluZyBsaXZlIG1pZ3JhdGlvbi4NCg0KLS0tDQogZGV2 L3hlbi9jb250cm9sL2NvbnRyb2wuYyAgICAgICAgfCAgMiArKw0KIGRldi94ZW4veGVuc3RvcmUv eGVuc3RvcmUuYyAgICAgIHwgMzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIGRl di94ZW4veGVuc3RvcmUveGVuc3RvcmVfZGV2LmMgIHwgIDcgKysrKysrKw0KIHhlbi94ZW5zdG9y ZS94ZW5zdG9yZV9pbnRlcm5hbC5oIHwgIDQgKysrKw0KIDQgZmlsZXMgY2hhbmdlZCwgNDQgaW5z ZXJ0aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvZGV2L3hlbi9jb250cm9sL2NvbnRyb2wuYyBiL2Rl di94ZW4vY29udHJvbC9jb250cm9sLmMNCmluZGV4IGFlMTNjNmMuLjU4ZmVmY2MgMTAwNjQ0DQot LS0gYS9kZXYveGVuL2NvbnRyb2wvY29udHJvbC5jDQorKysgYi9kZXYveGVuL2NvbnRyb2wvY29u dHJvbC5jDQpAQCAtMTQ3LDYgKzE0Nyw3IEBAIF9fRkJTRElEKCIkRnJlZUJTRCQiKTsNCiAjaW5j bHVkZSA8eGVuL2ludGVyZmFjZS9ncmFudF90YWJsZS5oPg0KIA0KICNpbmNsdWRlIDx4ZW4veGVu YnVzL3hlbmJ1c3Zhci5oPg0KKyNpbmNsdWRlIDx4ZW4veGVuc3RvcmUveGVuc3RvcmVfaW50ZXJu YWwuaD4NCiANCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGb3J3YXJkIERlY2xhcmF0 aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQogLyoqIEZ1bmN0aW9uIHNpZ25hdHVy ZSBmb3Igc2h1dGRvd24gZXZlbnQgaGFuZGxlcnMuICovDQpAQCAtMTk5LDcgKzE5OSw5IEBAIHhj dHJsX3N1c3BlbmQoKQ0KIAlpbnQgc3VzcGVuZF9jYW5jZWxsZWQ7DQogDQogCUVWRU5USEFORExF Ul9JTlZPS0UocG93ZXJfc3VzcGVuZF9lYXJseSk7DQorCXhzX2xvY2soKTsNCiAJc3RvcF9hbGxf cHJvYygpOw0KKwl4c191bmxvY2soKTsNCiAJRVZFTlRIQU5ETEVSX0lOVk9LRShwb3dlcl9zdXNw ZW5kKTsNCiANCiAjaWZkZWYgRUFSTFlfQVBfU1RBUlRVUA0KZGlmZiAtLWdpdCBhL2Rldi94ZW4v eGVuc3RvcmUveGVuc3RvcmUuYyBiL2Rldi94ZW4veGVuc3RvcmUveGVuc3RvcmUuYw0KaW5kZXgg NGY4OWI3NC4uZDQ0ZjA2NCAxMDA2NDQNCi0tLSBhL2Rldi94ZW4veGVuc3RvcmUveGVuc3RvcmUu Yw0KKysrIGIvZGV2L3hlbi94ZW5zdG9yZS94ZW5zdG9yZS5jDQpAQCAtMTI1NSw2ICsxMjU1LDM3 IEBAIHhzX3N1c3BlbmQoZGV2aWNlX3QgZGV2KQ0KIAlyZXR1cm4gKDApOw0KIH0NCiANCitpbnQN Cit4c190cnlfbG9jayh2b2lkKQ0KK3sNCisJLyoNCisJc3hfdHJ5X3Nsb2NrKCkgYW5kIHN4X3Ry eV94bG9jaygpIHdpbGwgcmV0dXJuIDAgaWYgdGhlIHNoYXJlZC9leGNsdXNpdmUNCisJCSBsb2Nr IGNhbm5vdCBiZSBhY3F1aXJlZCBpbW1lZGlhdGVseTsgb3RoZXJ3aXNlIHRoZSBzaGFyZWQvZXhj bHVzaXZlIGxvY2sNCisJCSB3aWxsIGJlIGFjcXVpcmVkIGFuZCBhIG5vbi16ZXJvIHZhbHVlIHdp bGwgYmUgcmV0dXJuZWQuDQorCSovDQorCXJldHVybiBzeF90cnlfeGxvY2soJnhzLnJlcXVlc3Rf bXV0ZXgpOw0KK30NCisNCisvKioNCisgeHNfbG9jayBiZWZvcmUgc3RvcF9hbGxfcHJvYw0KKyAq Lw0KK3ZvaWQNCit4c19sb2NrKHZvaWQpDQorew0KKwlzeF94bG9jaygmeHMucmVxdWVzdF9tdXRl eCk7DQorCXJldHVybjsNCit9DQorDQorLyoqDQorIHhzX3VubG9jayBhZnRlciBzdG9wX2FsbF9w cm9jDQorICovDQordm9pZA0KK3hzX3VubG9jayh2b2lkKQ0KK3sNCisJc3hfeHVubG9jaygmeHMu cmVxdWVzdF9tdXRleCk7DQorCXJldHVybjsNCit9DQorDQogLyoqDQogICogUmVzdW1lIFhlblN0 b3JlIG9wZXJhdGlvbnMgYWZ0ZXIgdGhpcyBWTSBpcyByZXN1bWVkLg0KICAqLw0KZGlmZiAtLWdp dCBhL2Rldi94ZW4veGVuc3RvcmUveGVuc3RvcmVfZGV2LmMgYi9kZXYveGVuL3hlbnN0b3JlL3hl bnN0b3JlX2Rldi5jDQppbmRleCBjZTYyMTQwLi5kNmI5N2MwIDEwMDY0NA0KLS0tIGEvZGV2L3hl bi94ZW5zdG9yZS94ZW5zdG9yZV9kZXYuYw0KKysrIGIvZGV2L3hlbi94ZW5zdG9yZS94ZW5zdG9y ZV9kZXYuYw0KQEAgLTEyOCw2ICsxMjgsMTMgQEAgeHNfZGV2X3dyaXRlKHN0cnVjdCBjZGV2ICpk ZXYsIHN0cnVjdCB1aW8gKnVpbywgaW50IGlvZmxhZykNCiAJaWYgKGVycm9yICE9IDApDQogCQly ZXR1cm4gKGVycm9yKTsNCiANCisJd2hpbGUoIXhzX3RyeV9sb2NrKCkpIHsNCisJCWVycm9yID0g dHNsZWVwKHUsIFBDQVRDSCwgInhzZHdyaXRlIiwgaHovMTApOw0KKwkJaWYgKGVycm9yICYmIGVy cm9yICE9IEVXT1VMREJMT0NLKQ0KKwkJCXJldHVybiAoZXJyb3IpOw0KKwl9DQorCXhzX3VubG9j aygpOw0KKw0KIAlpZiAoKGxlbiArIHUtPmxlbikgPiBzaXplb2YodS0+dS5idWZmZXIpKQ0KIAkJ cmV0dXJuIChFSU5WQUwpOw0KIA0KZGlmZiAtLWdpdCBhL3hlbi94ZW5zdG9yZS94ZW5zdG9yZV9p bnRlcm5hbC5oIGIveGVuL3hlbnN0b3JlL3hlbnN0b3JlX2ludGVybmFsLmgNCmluZGV4IDMzNTVj MjcuLjMxZGI5MzUgMTAwNjQ0DQotLS0gYS94ZW4veGVuc3RvcmUveGVuc3RvcmVfaW50ZXJuYWwu aA0KKysrIGIveGVuL3hlbnN0b3JlL3hlbnN0b3JlX2ludGVybmFsLmgNCkBAIC0zNCwzICszNCw3 IEBADQogDQogLyogVXNlZCBieSB0aGUgWGVuU3RvcmUgY2hhcmFjdGVyIGRldmljZSB0byBib3Jy b3cga2VybmVsJ3Mgc3RvcmUgY29ubmVjdGlvbi4gKi8NCiBpbnQgeHNfZGV2X3JlcXVlc3RfYW5k X3JlcGx5KHN0cnVjdCB4c2Rfc29ja21zZyAqbXNnLCB2b2lkICoqcmVzdWx0KTsNCisNCitpbnQg eHNfdHJ5X2xvY2sodm9pZCk7DQordm9pZCB4c19sb2NrKHZvaWQpOw0KK3ZvaWQgeHNfdW5sb2Nr KHZvaWQpOw0KLS0gDQoyLjExLjAud2luZG93cy4zDQoNCg== --_004_3655E9A8B903724782E1F75DCFD74E6B0122A336E3szxema506mbsc_ Content-Type: application/octet-stream; name="0003-wrong order of device resume causes virtual machine to become unresponsive after live migration.patch" Content-Description: 0003-wrong order of device resume causes virtual machine to become unresponsive after live migration.patch Content-Disposition: attachment; filename="0003-wrong order of device resume causes virtual machine to become unresponsive after live migration.patch"; size=886; creation-date="Thu, 02 Feb 2017 17:58:01 GMT"; modification-date="Thu, 02 Feb 2017 18:38:29 GMT" Content-Transfer-Encoding: base64 RnJvbSA3ODIxNWMwYjExN2ZiN2I2NTFjZjdlNTdhNmEzMjM0MDc0MTNkZGRlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXV5aW5nZG9uZyA8bGl1eWluZ2RvbmdAaHVhd2VpLmNvbT4K RGF0ZTogVGh1LCAyIEZlYiAyMDE3IDE5OjUyOjMzICswMjAwClN1YmplY3Q6IEJlY2F1c2Ugd3Jv bmcgb3JkZXIgb2YgZGV2aWNlIHJlc3VtZSwgVk0gd2lsbCBoYW5nIGFmdGVyIGxpdmUgbWlncmF0 aW9uLiAKYXR0YWNoIHRoZSBYZW4gUFYgdGltZXIgdG8gdGhlIG5leHVzIGRpcmVjdGx5IGFzIGl0 IHdhcyBkb25lIGJlZm9yZS4KCi0tLQogZGV2L3hlbi90aW1lci90aW1lci5jIHwgNCArKy0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2Rldi94ZW4vdGltZXIvdGltZXIuYyBiL2Rldi94ZW4vdGltZXIvdGltZXIuYwppbmRleCAw YjI2ODQ3Li5hZThmNjAzIDEwMDY0NAotLS0gYS9kZXYveGVuL3RpbWVyL3RpbWVyLmMKKysrIGIv ZGV2L3hlbi90aW1lci90aW1lci5jCkBAIC01NDYsNSArNTQ2LDUgQEAgc3RhdGljIGRyaXZlcl90 IHhlbnRpbWVyX2RyaXZlciA9IHsKIAlzaXplb2Yoc3RydWN0IHhlbnRpbWVyX3NvZnRjKSwKIH07 CiAKLURSSVZFUl9NT0RVTEUoeGVudGltZXIsIHhlbnB2LCB4ZW50aW1lcl9kcml2ZXIsIHhlbnRp bWVyX2RldmNsYXNzLCAwLCAwKTsKLU1PRFVMRV9ERVBFTkQoeGVudGltZXIsIHhlbnB2LCAxLCAx LCAxKTsKK0RSSVZFUl9NT0RVTEUoeGVudGltZXIsIG5leHVzLCB4ZW50aW1lcl9kcml2ZXIsIHhl bnRpbWVyX2RldmNsYXNzLCAwLCAwKTsKK01PRFVMRV9ERVBFTkQoeGVudGltZXIsIG5leHVzLCAx LCAxLCAxKTsKLS0gCjIuMTEuMC53aW5kb3dzLjMKCg== --_004_3655E9A8B903724782E1F75DCFD74E6B0122A336E3szxema506mbsc_ Content-Type: application/octet-stream; name="0001-introduce suspend_cancel mechanism for frontend devices.patch" Content-Description: 0001-introduce suspend_cancel mechanism for frontend devices.patch Content-Disposition: attachment; filename="0001-introduce suspend_cancel mechanism for frontend devices.patch"; size=6886; creation-date="Thu, 02 Feb 2017 17:58:05 GMT"; modification-date="Thu, 02 Feb 2017 18:43:43 GMT" Content-Transfer-Encoding: base64 RnJvbSAwYWYwNWFjMDFiZTg1MzM0MGIzYjUzODYyZGU5ODUzZDhkNDRjMGM2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBsaXV5aW5nZG9uZyA8bGl1eWluZ2RvbmdAaHVhd2VpLmNvbT4K RGF0ZTogVGh1LCAyIEZlYiAyMDE3IDE5OjQwOjQ4ICswMjAwClN1YmplY3Q6IGludHJvZHVjZSBz dXNwZW5kX2NhbmNlbCBtZWNoYW5pc20gZm9yIGZyb250ZW5kIGRldmljZXMuDQoxLjEgT24gYSBj YW5jZWxsZWQgc3VzcGVuZCwgeGVuIGZyb250ZW5kIGRldmljZXMgbmVlZCBrbm93IHRoZWlyIHN0 YXRlIGlzIGludmFyaWFudC4NCjEuMiBPbiBhIGNhbmNlbGxlZCBzdXNwZW5kIHRoZSB2Y3B1X2lu Zm8gbG9jYXRpb24gZG9lcyBub3QgY2hhbmdlIAooaXQncyBzdGlsbCBpbiB0aGUgcGVyLWNwdSBh cmVhIHJlZ2lzdGVyZWQgYnkgeGVuX2h2bV9jcHVfaW5pdCgpKS4gClNvIGRvIG5vdCBjYWxsIHhl bl9odm1faW5pdF9zaGFyZWRfaW5mb19wYWdlKCkgd2hpY2ggd291bGQgbWFrZSB0aGUga2VybmVs IHRoaW5rIGl0cyBiYWNrIGluIHRoZSBzaGFyZWQgaW5mby4gCldpdGggdGhlIHdyb25nIHZjcHVf aW5mbywgZXZlbnRzIGNhbm5vdCBiZSByZWNlaXZlZCBhbmQgdGhlIGRvbWFpbiB3aWxsIGhhbmcg YWZ0ZXIgYSBjYW5jZWxsZWQgc3VzcGVuZC4NCgotLS0KIGRldi94ZW4vYmxrZnJvbnQvYmxrZnJv bnQuYyB8ICA1ICsrKysrCiBkZXYveGVuL2NvbnRyb2wvY29udHJvbC5jICAgfCAxMSArKysrKysr KystLQogZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jIHwgMjEgKysrKysrKysrKysrKysrKysr KysrCiB4ODYveGVuL2h2bS5jICAgICAgICAgICAgICAgfCAxNiArKysrKysrKysrLS0tLS0tCiB4 ZW4veGVuYnVzL3hlbmJ1c2IuYyAgICAgICAgfCAzNSArKysrKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLQogeGVuL3hlbmJ1cy94ZW5idXN2YXIuaCAgICAgIHwgIDIgKysKIDYgZmlsZXMg Y2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZGV2L3hlbi9ibGtmcm9udC9ibGtmcm9udC5jIGIvZGV2L3hlbi9ibGtmcm9udC9ibGtmcm9udC5j CmluZGV4IDllY2EyMjAuLjQ3Y2Q4M2YgMTAwNjQ0Ci0tLSBhL2Rldi94ZW4vYmxrZnJvbnQvYmxr ZnJvbnQuYworKysgYi9kZXYveGVuL2Jsa2Zyb250L2Jsa2Zyb250LmMKQEAgLTE1MzcsNiArMTUz NywxMSBAQCB4YmRfcmVzdW1lKGRldmljZV90IGRldikKIHsKIAlzdHJ1Y3QgeGJkX3NvZnRjICpz YyA9IGRldmljZV9nZXRfc29mdGMoZGV2KTsKIAorCWlmKGdfc3VzcGVuZF9jYW5jZWxsZWQpIHsK KwkJc2MtPnhiZF9zdGF0ZSA9IFhCRF9TVEFURV9DT05ORUNURUQ7CisJCXJldHVybiAoMCk7CisJ fQorCiAJRFBSSU5USygieGJkX3Jlc3VtZTogJXNcbiIsIHhlbmJ1c19nZXRfbm9kZShkZXYpKTsK IAogCXhiZF9mcmVlKHNjKTsKZGlmZiAtLWdpdCBhL2Rldi94ZW4vY29udHJvbC9jb250cm9sLmMg Yi9kZXYveGVuL2NvbnRyb2wvY29udHJvbC5jCmluZGV4IDU4ZmVmY2MuLjRmODQ3MWYgMTAwNjQ0 Ci0tLSBhL2Rldi94ZW4vY29udHJvbC9jb250cm9sLmMKKysrIGIvZGV2L3hlbi9jb250cm9sL2Nv bnRyb2wuYwpAQCAtMTkwLDYgKzE5MCwxMSBAQCB4Y3RybF9yZWJvb3QoKQogCXNodXRkb3duX25p Y2UoMCk7CiB9CiAKK3N0YXRpYyB2b2lkIF9zZXRfc3VzcGVuZF9jYW5jZWxsZWQoYm9vbCBzdXNw ZW5kX2NhbmNlbGxlZCkKK3sKKwlnX3N1c3BlbmRfY2FuY2VsbGVkID0gc3VzcGVuZF9jYW5jZWxs ZWQ7Cit9CisKIHN0YXRpYyB2b2lkCiB4Y3RybF9zdXNwZW5kKCkKIHsKQEAgLTI3OCw3ICsyODMs OSBAQCB4Y3RybF9zdXNwZW5kKCkKIAkvKgogCSAqIFJlc2V0IGdyYW50IHRhYmxlIGluZm8uCiAJ ICovCi0JZ250dGFiX3Jlc3VtZShOVUxMKTsKKwlpZihzdXNwZW5kX2NhbmNlbGxlZCA9PSAwKSAg eworCQlnbnR0YWJfcmVzdW1lKE5VTEwpOworCX0KIAogI2lmZGVmIFNNUAogCWlmICghQ1BVX0VN UFRZKCZjcHVfc3VzcGVuZF9tYXApKSB7CkBAIC0yOTYsNiArMzAzLDcgQEAgeGN0cmxfc3VzcGVu ZCgpCiAJICogRnJlZUJTRCByZWFsbHkgbmVlZHMgdG8gYWRkIERFVklDRV9TVVNQRU5EX0NBTkNF TCBvcgogCSAqIHNpbWlsYXIuCiAJICovCisJX3NldF9zdXNwZW5kX2NhbmNlbGxlZChzdXNwZW5k X2NhbmNlbGxlZCAhPSAwKTsKIAlERVZJQ0VfUkVTVU1FKHJvb3RfYnVzKTsKIAltdHhfdW5sb2Nr KCZHaWFudCk7CiAKQEAgLTMxOSw3ICszMjcsNiBAQCB4Y3RybF9zdXNwZW5kKCkKICNlbmRpZgog CiAJcmVzdW1lX2FsbF9wcm9jKCk7Ci0KIAlFVkVOVEhBTkRMRVJfSU5WT0tFKHBvd2VyX3Jlc3Vt ZSk7CiAKIAlpZiAoYm9vdHZlcmJvc2UpCmRpZmYgLS1naXQgYS9kZXYveGVuL25ldGZyb250L25l dGZyb250LmMgYi9kZXYveGVuL25ldGZyb250L25ldGZyb250LmMKaW5kZXggNDU5NzEyYS4uNTM3 MDE4YSAxMDA2NDQKLS0tIGEvZGV2L3hlbi9uZXRmcm9udC9uZXRmcm9udC5jCisrKyBiL2Rldi94 ZW4vbmV0ZnJvbnQvbmV0ZnJvbnQuYwpAQCAtMTUzLDYgKzE1MywxMCBAQCBzdGF0aWMgaW50IHhu X2dldF9yZXNwb25zZXMoc3RydWN0IG5ldGZyb250X3J4cSAqLAogICAgIHN0cnVjdCBuZXRmcm9u dF9yeF9pbmZvICosIFJJTkdfSURYLCBSSU5HX0lEWCAqLAogICAgIHN0cnVjdCBtYnVmICoqKTsK IAorI2lmZGVmIElORVQKK3N0YXRpYyB2b2lkIG5ldGZyb250X3NlbmRfZmFrZV9hcnAoZGV2aWNl X3QgZGV2LCBzdHJ1Y3QgbmV0ZnJvbnRfaW5mbyAqaW5mbyk7CisjZW5kaWYKKwogI2RlZmluZSB2 aXJ0X3RvX21mbih4KSAodnRvcGh5cyh4KSA+PiBQQUdFX1NISUZUKQogCiAjZGVmaW5lIElOVkFM SURfUDJNX0VOVFJZICh+MFVMKQpAQCAtNDQwLDYgKzQ0NCwyMyBAQCBuZXRmcm9udF9yZXN1bWUo ZGV2aWNlX3QgZGV2KQogewogCXN0cnVjdCBuZXRmcm9udF9pbmZvICppbmZvID0gZGV2aWNlX2dl dF9zb2Z0YyhkZXYpOwogCisJaWYoZ19zdXNwZW5kX2NhbmNlbGxlZCkgeworCQl1X2ludCBpOwor CQlmb3IgKGkgPSAwOyBpIDwgaW5mby0+bnVtX3F1ZXVlczsgaSsrKSB7CisJCSAgICBYTl9SWF9M T0NLKCZpbmZvLT5yeHFbaV0pOworCQkgICAgWE5fVFhfTE9DSygmaW5mby0+dHhxW2ldKTsKKwkJ fQorCQluZXRmcm9udF9jYXJyaWVyX29uKGluZm8pOworCQlmb3IgKGkgPSAwOyBpIDwgaW5mby0+ bnVtX3F1ZXVlczsgaSsrKSB7CisJCSAgICBYTl9SWF9VTkxPQ0soJmluZm8tPnJ4cVtpXSk7CisJ CSAgICBYTl9UWF9VTkxPQ0soJmluZm8tPnR4cVtpXSk7CisJCX0KKyNpZmRlZiBJTkVUCisJCW5l dGZyb250X3NlbmRfZmFrZV9hcnAoZGV2LCBpbmZvKTsKKyNlbmRpZgorCQlyZXR1cm4gKDApOwor CX0KKwogCW5ldGlmX2Rpc2Nvbm5lY3RfYmFja2VuZChpbmZvKTsKIAlyZXR1cm4gKDApOwogfQpk aWZmIC0tZ2l0IGEveDg2L3hlbi9odm0uYyBiL3g4Ni94ZW4vaHZtLmMKaW5kZXggZTEwNjU5ZS4u Yzk2YjdiZSAxMDA2NDQKLS0tIGEveDg2L3hlbi9odm0uYworKysgYi94ODYveGVuL2h2bS5jCkBA IC0yOTcsMTAgKzI5Nyw5IEBAIHhlbl9odm1faW5pdChlbnVtIHhlbl9odm1faW5pdF90eXBlIGlu aXRfdHlwZSkKIAlpbnQgZXJyb3I7CiAJaW50IGk7CiAKLQlpZiAoaW5pdF90eXBlID09IFhFTl9I Vk1fSU5JVF9DQU5DRUxMRURfU1VTUEVORCkKLQkJcmV0dXJuOwotCi0JZXJyb3IgPSB4ZW5faHZt X2luaXRfaHlwZXJjYWxsX3N0dWJzKGluaXRfdHlwZSk7CisJaWYgKGluaXRfdHlwZSAhPSBYRU5f SFZNX0lOSVRfQ0FOQ0VMTEVEX1NVU1BFTkQpIHsKKwkJZXJyb3IgPSB4ZW5faHZtX2luaXRfaHlw ZXJjYWxsX3N0dWJzKGluaXRfdHlwZSk7CisJfQogCiAJc3dpdGNoIChpbml0X3R5cGUpIHsKIAlj YXNlIFhFTl9IVk1fSU5JVF9DT0xEOgpAQCAtMzMxLDYgKzMzMCw4IEBAIHhlbl9odm1faW5pdChl bnVtIHhlbl9odm1faW5pdF90eXBlIGluaXRfdHlwZSkKIAkJQ1BVX0ZPUkVBQ0goaSkKIAkJCURQ Q1BVX0lEX1NFVChpLCB2Y3B1X2luZm8sIE5VTEwpOwogCQlicmVhazsKKwljYXNlIFhFTl9IVk1f SU5JVF9DQU5DRUxMRURfU1VTUEVORDoKKwkJYnJlYWs7CiAJZGVmYXVsdDoKIAkJcGFuaWMoIlVu c3VwcG9ydGVkIEhWTSBpbml0aWFsaXphdGlvbiB0eXBlIik7CiAJfQpAQCAtMzQ0LDcgKzM0NSw5 IEBAIHhlbl9odm1faW5pdChlbnVtIHhlbl9odm1faW5pdF90eXBlIGluaXRfdHlwZSkKIAkgKiBp cyBwYXNzZWQgaW5zaWRlIHRoZSBzdGFydF9pbmZvIHN0cnVjdCBhbmQgaXMgYWxyZWFkeSBzZXQs IHNvIHRoaXMKIAkgKiBmdW5jdGlvbnMgYXJlIG5vLW9wcy4KIAkgKi8KLQl4ZW5faHZtX2luaXRf c2hhcmVkX2luZm9fcGFnZSgpOworCWlmIChpbml0X3R5cGUgIT0gWEVOX0hWTV9JTklUX0NBTkNF TExFRF9TVVNQRU5EKSB7CisJCXhlbl9odm1faW5pdF9zaGFyZWRfaW5mb19wYWdlKCk7CisJfQog CXhlbl9odm1fZGlzYWJsZV9lbXVsYXRlZF9kZXZpY2VzKCk7CiB9IAogCkBAIC0zNjEsNyArMzY0 LDggQEAgeGVuX2h2bV9yZXN1bWUoYm9vbCBzdXNwZW5kX2NhbmNlbGxlZCkKIAkgICAgWEVOX0hW TV9JTklUX0NBTkNFTExFRF9TVVNQRU5EIDogWEVOX0hWTV9JTklUX1JFU1VNRSk7CiAKIAkvKiBS ZWdpc3RlciB2Y3B1X2luZm8gYXJlYSBmb3IgQ1BVIzAuICovCi0JeGVuX2h2bV9jcHVfaW5pdCgp OworCWlmKCFzdXNwZW5kX2NhbmNlbGxlZCkKKwkJeGVuX2h2bV9jcHVfaW5pdCgpOwogfQogIAog c3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL3hlbi94ZW5idXMveGVuYnVzYi5jIGIveGVuL3hlbmJ1 cy94ZW5idXNiLmMKaW5kZXggM2EwZTU0My4uZmE5YmE2MSAxMDA2NDQKLS0tIGEveGVuL3hlbmJ1 cy94ZW5idXNiLmMKKysrIGIveGVuL3hlbmJ1cy94ZW5idXNiLmMKQEAgLTc5MSwyOSArNzkxLDMy IEBAIHhlbmJ1c2JfcmVzdW1lKGRldmljZV90IGRldikKIAkJCWlmIChkZXZpY2VfZ2V0X3N0YXRl KGtpZHNbaV0pID09IERTX05PVFBSRVNFTlQpCiAJCQkJY29udGludWU7CiAKLQkJCWl2YXJzID0g ZGV2aWNlX2dldF9pdmFycyhraWRzW2ldKTsKKwkJCWlmKCFnX3N1c3BlbmRfY2FuY2VsbGVkKSB7 CisJCQkJaXZhcnMgPSBkZXZpY2VfZ2V0X2l2YXJzKGtpZHNbaV0pOwogCi0JCQl4c191bnJlZ2lz dGVyX3dhdGNoKCZpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gpOwotCQkJeGVuYnVzX3NldF9zdGF0 ZShraWRzW2ldLCBYZW5idXNTdGF0ZUluaXRpYWxpc2luZyk7CisJCQkJeHNfdW5yZWdpc3Rlcl93 YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dhdGNoKTsKKwkJCQl4ZW5idXNfc2V0X3N0YXRlKGtp ZHNbaV0sIFhlbmJ1c1N0YXRlSW5pdGlhbGlzaW5nKTsKIAotCQkJLyoKLQkJCSAqIEZpbmQgdGhl IG5ldyBiYWNrZW5kIGRldGFpbHMgYW5kCi0JCQkgKiByZS1yZWdpc3RlciBvdXIgd2F0Y2guCi0J CQkgKi8KLQkJCWVycm9yID0gWEVOQlVTQl9HRVRfT1RIRVJFTkRfTk9ERShkZXYsIGl2YXJzKTsK LQkJCWlmIChlcnJvcikKLQkJCQlyZXR1cm4gKGVycm9yKTsKKwkJCQkvKgorCQkJCSAqIEZpbmQg dGhlIG5ldyBiYWNrZW5kIGRldGFpbHMgYW5kCisJCQkJICogcmUtcmVnaXN0ZXIgb3VyIHdhdGNo LgorCQkJCSAqLworCQkJCWVycm9yID0gWEVOQlVTQl9HRVRfT1RIRVJFTkRfTk9ERShkZXYsIGl2 YXJzKTsKKwkJCQlpZiAoZXJyb3IpCisJCQkJCXJldHVybiAoZXJyb3IpOwogCi0JCQlzdGF0ZXBh dGggPSBtYWxsb2MoaXZhcnMtPnhkX290aGVyZW5kX3BhdGhfbGVuCi0JCQkgICAgKyBzdHJsZW4o Ii9zdGF0ZSIpICsgMSwgTV9YRU5CVVMsIE1fV0FJVE9LKTsKLQkJCXNwcmludGYoc3RhdGVwYXRo LCAiJXMvc3RhdGUiLCBpdmFycy0+eGRfb3RoZXJlbmRfcGF0aCk7CisJCQkJc3RhdGVwYXRoID0g bWFsbG9jKGl2YXJzLT54ZF9vdGhlcmVuZF9wYXRoX2xlbgorCQkJCSAgICArIHN0cmxlbigiL3N0 YXRlIikgKyAxLCBNX1hFTkJVUywgTV9XQUlUT0spOworCQkJCXNwcmludGYoc3RhdGVwYXRoLCAi JXMvc3RhdGUiLCBpdmFycy0+eGRfb3RoZXJlbmRfcGF0aCk7CiAKLQkJCWZyZWUoaXZhcnMtPnhk X290aGVyZW5kX3dhdGNoLm5vZGUsIE1fWEVOQlVTKTsKLQkJCWl2YXJzLT54ZF9vdGhlcmVuZF93 YXRjaC5ub2RlID0gc3RhdGVwYXRoOworCQkJCWZyZWUoaXZhcnMtPnhkX290aGVyZW5kX3dhdGNo Lm5vZGUsIE1fWEVOQlVTKTsKKwkJCQlpdmFycy0+eGRfb3RoZXJlbmRfd2F0Y2gubm9kZSA9IHN0 YXRlcGF0aDsKKwkJCX0KIAogCQkJREVWSUNFX1JFU1VNRShraWRzW2ldKTsKIAotCQkJeHNfcmVn aXN0ZXJfd2F0Y2goJml2YXJzLT54ZF9vdGhlcmVuZF93YXRjaCk7CisJCQlpZighZ19zdXNwZW5k X2NhbmNlbGxlZCkKKwkJCQl4c19yZWdpc3Rlcl93YXRjaCgmaXZhcnMtPnhkX290aGVyZW5kX3dh dGNoKTsKICNpZiAwCiAJCQkvKgogCQkJICogQ2FuJ3QgZG8gdGhpcyB5ZXQgc2luY2Ugd2UgYXJl IHJ1bm5pbmcgaW4KZGlmZiAtLWdpdCBhL3hlbi94ZW5idXMveGVuYnVzdmFyLmggYi94ZW4veGVu YnVzL3hlbmJ1c3Zhci5oCmluZGV4IDM3N2Q2MGMuLjAyYTViZmEgMTAwNjQ0Ci0tLSBhL3hlbi94 ZW5idXMveGVuYnVzdmFyLmgKKysrIGIveGVuL3hlbmJ1cy94ZW5idXN2YXIuaApAQCAtOTksNiAr OTksOCBAQCBYRU5CVVNfQUNDRVNTT1Ioc3RhdGUsCQlTVEFURSwJCQllbnVtIHhlbmJ1c19zdGF0 ZSkKIFhFTkJVU19BQ0NFU1NPUihvdGhlcmVuZF9pZCwJT1RIRVJFTkRfSUQsCQlpbnQpCiBYRU5C VVNfQUNDRVNTT1Iob3RoZXJlbmRfcGF0aCwJT1RIRVJFTkRfUEFUSCwJCWNvbnN0IGNoYXIgKikK IAorYm9vbCBnX3N1c3BlbmRfY2FuY2VsbGVkOworCiAvKioKICAqIFJldHVybiB0aGUgc3RhdGUg b2YgYSBYZW5CdXMgZGV2aWNlLgogICoKLS0gCjIuMTEuMC53aW5kb3dzLjMKCg== --_004_3655E9A8B903724782E1F75DCFD74E6B0122A336E3szxema506mbsc_--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3655E9A8B903724782E1F75DCFD74E6B0122A336E3>