Skip site navigation (1)Skip section navigation (2)
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>