From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?euc-kr?B?udqw5rnO?= Subject: [PATCH] USB device support on OMAP2 Date: Thu, 24 Aug 2006 12:23:17 +0000 (GMT) Message-ID: <5529391.126571156422336567.JavaMail.weblogic@ep_ml16> Reply-To: kyungmin.park@samsung.com Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0475568129==" Return-path: Content-return: prohibited MIME-version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-omap-open-source-bounces@linux.omap.com Errors-To: linux-omap-open-source-bounces@linux.omap.com To: linux-omap-open-source@linux.omap.com List-Id: linux-omap@vger.kernel.org --===============0475568129== Content-return: prohibited Content-type: text/plain; charset=euc-kr Content-transfer-encoding: base64 W1BBVENIXSBVU0IgZGV2aWNlIHN1cHBvcnQgb24gT01BUDINCg0KICBFbmFibGUgVVNCIGRldmlj ZSBvbiBPTUFQMiBwbGF0Zm9ybS4gT25seSB1c2IwIGlzIHVzZWQgZm9yIGRldmljZSB3aXRob3V0 IERNQS4NCg0KU2lnbmVkLW9mZi1ieTogS3l1bmdtaW4gUGFyayA8a3l1bmdtaW4ucGFya0BzYW1z dW5nLmNvbT4NCg0KLS0NCg0KZGlmZiAtdXByIC0tZXhjbHVkZSAnLionIC0tZXhjbHVkZSAnKi5v JyBsaW51eC1vbWFwLTIuNi1iYXNlL2FyY2gvYXJtL21hY2gtb21hcDIvS2NvbmZpZyBsaW51eC1v bWFwLTIuNi9hcmNoL2FybS9tYWNoLW9tYXAyL0tjb25maWcNCi0tLSBsaW51eC1vbWFwLTIuNi1i YXNlL2FyY2gvYXJtL21hY2gtb21hcDIvS2NvbmZpZwkyMDA2LTA4LTI0IDE3OjUzOjE1LjE3MTg3 NTAwMCArMDkwMA0KKysrIGxpbnV4LW9tYXAtMi42L2FyY2gvYXJtL21hY2gtb21hcDIvS2NvbmZp ZwkyMDA2LTA4LTI0IDIwOjEwOjA1Ljk1MzEyNTAwMCArMDkwMA0KQEAgLTI1LDMgKzI1LDQgQEAg Y29uZmlnIE1BQ0hfT01BUF9INA0KIGNvbmZpZyBNQUNIX09NQVBfQVBPTExPTg0KIAlib29sICJP TUFQIDI0MjAgQXBvbGxvbiBib2FyZCINCiAJZGVwZW5kcyBvbiBBUkNIX09NQVAyICYmIEFSQ0hf T01BUDI0WFgNCisJc2VsZWN0IEFSQ0hfT01BUF9PVEcNCmRpZmYgLXVwciAtLWV4Y2x1ZGUgJy4q JyAtLWV4Y2x1ZGUgJyoubycgbGludXgtb21hcC0yLjYtYmFzZS9hcmNoL2FybS9tYWNoLW9tYXAy L2JvYXJkLWFwb2xsb24uYyBsaW51eC1vbWFwLTIuNi9hcmNoL2FybS9tYWNoLW9tYXAyL2JvYXJk LWFwb2xsb24uYw0KLS0tIGxpbnV4LW9tYXAtMi42LWJhc2UvYXJjaC9hcm0vbWFjaC1vbWFwMi9i b2FyZC1hcG9sbG9uLmMJMjAwNi0wOC0yNCAxNzo1MzoxNS4xODc1MDAwMDAgKzA5MDANCisrKyBs aW51eC1vbWFwLTIuNi9hcmNoL2FybS9tYWNoLW9tYXAyL2JvYXJkLWFwb2xsb24uYwkyMDA2LTA4 LTI0IDIwOjU0OjA5LjkwNjI1MDAwMCArMDkwMA0KQEAgLTIzNCw2ICsyMzQsMTMgQEAgc3RhdGlj IHN0cnVjdCBvbWFwX21tY19jb25maWcgYXBvbGxvbl9tbQ0KIAl9LA0KIH07DQogDQorc3RhdGlj IHN0cnVjdCBvbWFwX3VzYl9jb25maWcgYXBvbGxvbl91c2JfY29uZmlnIF9faW5pdGRhdGEgPSB7 DQorCS5yZWdpc3Rlcl9kZXYJPSAxLA0KKwkuaG1jX21vZGUJPSAweDE0LAkvKiAwOmRldiAxOmhv c3QxIDI6IGRpc2FibGUgKi8NCisNCisJLnBpbnNbMF0JPSA2LA0KK307DQorDQogc3RhdGljIHN0 cnVjdCBvbWFwX2xjZF9jb25maWcgYXBvbGxvbl9sY2RfY29uZmlnIF9faW5pdGRhdGEgPSB7DQog CS5jdHJsX25hbWUJPSAiaW50ZXJuYWwiLA0KIH07DQpAQCAtMjQxLDYgKzI0OCw3IEBAIHN0YXRp YyBzdHJ1Y3Qgb21hcF9sY2RfY29uZmlnIGFwb2xsb25fbGMNCiBzdGF0aWMgc3RydWN0IG9tYXBf Ym9hcmRfY29uZmlnX2tlcm5lbCBhcG9sbG9uX2NvbmZpZ1tdID0gew0KIAl7IE9NQVBfVEFHX1VB UlQsCSZhcG9sbG9uX3VhcnRfY29uZmlnIH0sDQogCXsgT01BUF9UQUdfTU1DLAkJJmFwb2xsb25f bW1jX2NvbmZpZyB9LA0KKwl7IE9NQVBfVEFHX1VTQiwJCSZhcG9sbG9uX3VzYl9jb25maWcgfSwN CiAJeyBPTUFQX1RBR19MQ0QsCQkmYXBvbGxvbl9sY2RfY29uZmlnIH0sDQogfTsNCiANCkBAIC0y OTIsMjggKzMwMCwzNSBAQCBzdGF0aWMgdm9pZCBfX2luaXQgYXBvbGxvbl9zd19pbml0KHZvaWQp DQogCW9tYXBfcmVxdWVzdF9ncGlvKFNXX0RPV05fR1BJTzU4KTsNCiAJb21hcF9zZXRfZ3Bpb19k aXJlY3Rpb24oU1dfRE9XTl9HUElPNTgsIDEpOw0KIA0KLQlzZXRfaXJxX3R5cGUoT01BUF9HUElP X0lSUShTV19FTlRFUl9HUElPMTYpLCBJUlFUX1JJU0lORyk7DQogCWlmIChyZXF1ZXN0X2lycShP TUFQX0dQSU9fSVJRKFNXX0VOVEVSX0dQSU8xNiksICZhcG9sbG9uX3N3X2ludGVycnVwdCwNCiAJ CQkJSVJRRl9TSEFSRUQsICJlbnRlciBzdyIsDQogCQkJCSZhcG9sbG9uX3N3X2ludGVycnVwdCkp DQogCQlyZXR1cm47DQotCXNldF9pcnFfdHlwZShPTUFQX0dQSU9fSVJRKFNXX1VQX0dQSU8xNyks IElSUVRfUklTSU5HKTsNCiAJaWYgKHJlcXVlc3RfaXJxKE9NQVBfR1BJT19JUlEoU1dfVVBfR1BJ TzE3KSwgJmFwb2xsb25fc3dfaW50ZXJydXB0LA0KIAkJCQlJUlFGX1NIQVJFRCwgInVwIHN3IiwN CiAJCQkJJmFwb2xsb25fc3dfaW50ZXJydXB0KSkNCiAJCXJldHVybjsNCi0Jc2V0X2lycV90eXBl KE9NQVBfR1BJT19JUlEoU1dfRE9XTl9HUElPNTgpLCBJUlFUX1JJU0lORyk7DQogCWlmIChyZXF1 ZXN0X2lycShPTUFQX0dQSU9fSVJRKFNXX0RPV05fR1BJTzU4KSwgJmFwb2xsb25fc3dfaW50ZXJy dXB0LA0KIAkJCQlJUlFGX1NIQVJFRCwgImRvd24gc3ciLA0KIAkJCQkmYXBvbGxvbl9zd19pbnRl cnJ1cHQpKQ0KIAkJcmV0dXJuOw0KIH0NCiANCitzdGF0aWMgdm9pZCBfX2luaXQgYXBvbGxvbl91 c2JfaW5pdCh2b2lkKQ0KK3sNCisJLyogVVNCIGRldmljZSAqLw0KKwkvKiBERVZJQ0VfU1VTUEVO RCAqLw0KKwlvbWFwX2NmZ19yZWcoUDIxXzI0MlhfR1BJTzEyKTsNCisJb21hcF9zZXRfZ3Bpb19k aXJlY3Rpb24oMTIsIDApOw0KKwlvbWFwX3NldF9ncGlvX2RhdGFvdXQoMTIsIDApOw0KK30NCisN CiBzdGF0aWMgdm9pZCBfX2luaXQgb21hcF9hcG9sbG9uX2luaXQodm9pZCkNCiB7DQogCWFwb2xs b25fbGVkX2luaXQoKTsNCiAJYXBvbGxvbl9zd19pbml0KCk7DQogCWFwb2xsb25fZmxhc2hfaW5p dCgpOw0KKwlhcG9sbG9uX3VzYl9pbml0KCk7DQogDQogCS8qIFJFVklTSVQ6IHdoZXJlJ3MgdGhl IGNvcnJlY3QgcGxhY2UgKi8NCiAJb21hcF9jZmdfcmVnKFcxOV8yNFhYX1NZU19OSVJRKTsNCmRp ZmYgLXVwciAtLWV4Y2x1ZGUgJy4qJyAtLWV4Y2x1ZGUgJyoubycgbGludXgtb21hcC0yLjYtYmFz ZS9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jIGxpbnV4LW9tYXAtMi42L2FyY2gvYXJtL21hY2gt b21hcDIvbXV4LmMNCi0tLSBsaW51eC1vbWFwLTIuNi1iYXNlL2FyY2gvYXJtL21hY2gtb21hcDIv bXV4LmMJMjAwNi0wOC0yNCAxNzo1MzoxNS4yMDMxMjUwMDAgKzA5MDANCisrKyBsaW51eC1vbWFw LTIuNi9hcmNoL2FybS9tYWNoLW9tYXAyL211eC5jCTIwMDYtMDgtMjQgMTk6NDU6MjAuMjY1NjI1 MDAwICswOTAwDQpAQCAtNjYsNiArNjYsNyBAQCBNVVhfQ0ZHXzI0WFgoIlYxNV8yNFhYX01DQlNQ Ml9EWCIsCTB4MTI3DQogDQogLyogMjR4eCBHUElPICovDQogTVVYX0NGR18yNFhYKCJNMjFfMjQy WF9HUElPMTEiLAkJMHgwYzksICAzLCAgICAgIDEsICAgICAgMSwgICAgICAxKQ0KK01VWF9DRkdf MjRYWCgiUDIxXzI0MlhfR1BJTzEyIiwJCTB4MGNhLAkzLAkwLAkwLAkxKQ0KIE1VWF9DRkdfMjRY WCgiQUExMF8yNDJYX0dQSU8xMyIsCTB4MGU1LCAgMywgICAgICAwLCAgICAgIDAsICAgICAgMSkN CiBNVVhfQ0ZHXzI0WFgoIkFBNl8yNDJYX0dQSU8xNCIsCQkweDBlNiwgIDMsICAgICAgMCwgICAg ICAwLCAgICAgIDEpDQogTVVYX0NGR18yNFhYKCJBQTRfMjQyWF9HUElPMTUiLAkJMHgwZTcsICAz LCAgICAgIDAsICAgICAgMCwgICAgICAxKQ0KQEAgLTExOCw2ICsxMTksMTUgQEAgTVVYX0NGR18y NFhYKCJFMThfMjRYWF9NTUNfREFUX0RJUjMiLAkweA0KIE1VWF9DRkdfMjRYWCgiRzE4XzI0WFhf TU1DX0NNRF9ESVIiLAkweDBmZCwJMCwJMCwJMCwJMSkNCiBNVVhfQ0ZHXzI0WFgoIkgxNV8yNFhY X01NQ19DTEtJIiwJMHgwZmUsCTAsCTAsCTAsCTEpDQogDQorLyogVVNCICovDQorTVVYX0NGR18y NFhYKCJKMjBfMjRYWF9VU0IwX1BVRU4iLAkweDExZCwJMCwJMCwJMCwJMSkNCitNVVhfQ0ZHXzI0 WFgoIkoxOV8yNFhYX1VTQjBfVlAiLAkweDExZSwJMCwJMCwJMCwJMSkNCitNVVhfQ0ZHXzI0WFgo IksyMF8yNFhYX1VTQjBfVk0iLAkweDExZiwJMCwJMCwJMCwJMSkNCitNVVhfQ0ZHXzI0WFgoIkox OF8yNFhYX1VTQjBfUkNWIiwJMHgxMjAsCTAsCTAsCTAsCTEpDQorTVVYX0NGR18yNFhYKCJLMTlf MjRYWF9VU0IwX1RYRU4iLAkweDEyMSwJMCwJMCwJMCwJMSkNCitNVVhfQ0ZHXzI0WFgoIkoxNF8y NFhYX1VTQjBfU0UwIiwJMHgxMjIsCTAsCTAsCTAsCTEpDQorTVVYX0NGR18yNFhYKCJLMThfMjRY WF9VU0IwX0RBVCIsCTB4MTEzLAkwLAkwLAkwLAkxKQ0KKw0KIC8qIEtleXBhZCBHUElPKi8NCiBN VVhfQ0ZHXzI0WFgoIlQxOV8yNFhYX0tCUjAiLAkJMHgxMDYsCTMsCTEsCTEsCTEpDQogTVVYX0NG R18yNFhYKCJSMTlfMjRYWF9LQlIxIiwJCTB4MTA3LAkzLAkxLAkxLAkxKQ0KZGlmZiAtdXByIC0t ZXhjbHVkZSAnLionIC0tZXhjbHVkZSAnKi5vJyBsaW51eC1vbWFwLTIuNi1iYXNlL2FyY2gvYXJt L3BsYXQtb21hcC91c2IuYyBsaW51eC1vbWFwLTIuNi9hcmNoL2FybS9wbGF0LW9tYXAvdXNiLmMN Ci0tLSBsaW51eC1vbWFwLTIuNi1iYXNlL2FyY2gvYXJtL3BsYXQtb21hcC91c2IuYwkyMDA2LTA4 LTI0IDE3OjUwOjM2LjIxODc1MDAwMCArMDkwMA0KKysrIGxpbnV4LW9tYXAtMi42L2FyY2gvYXJt L3BsYXQtb21hcC91c2IuYwkyMDA2LTA4LTI0IDIwOjQ4OjMwLjY4NzUwMDAwMCArMDkwMA0KQEAg LTM3LDYgKzM3LDI1IEBADQogI2luY2x1ZGUgPGFzbS9hcmNoL3VzYi5oPg0KICNpbmNsdWRlIDxh c20vYXJjaC9ib2FyZC5oPg0KIA0KKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMQ0KKw0KKyNkZWZp bmUgSU5UX1VTQl9JUlFfR0VOCQlJSDJfQkFTRSArIDIwDQorI2RlZmluZSBJTlRfVVNCX0lSUV9O SVNPCUlIMl9CQVNFICsgMzANCisjZGVmaW5lIElOVF9VU0JfSVJRX0lTTwkJSUgyX0JBU0UgKyAy OQ0KKyNkZWZpbmUgSU5UX1VTQl9JUlFfSEdFTglJTlRfVVNCX0hIQ18xDQorI2RlZmluZSBJTlRf VVNCX0lSUV9PVEcJCUlIMl9CQVNFICsgOA0KKw0KKyNlbHNlDQorDQorI2RlZmluZSBJTlRfVVNC X0lSUV9HRU4JCUlOVF8yNFhYX1VTQl9JUlFfR0VODQorI2RlZmluZSBJTlRfVVNCX0lSUV9OSVNP CUlOVF8yNFhYX1VTQl9JUlFfTklTTw0KKyNkZWZpbmUgSU5UX1VTQl9JUlFfSVNPCQlJTlRfMjRY WF9VU0JfSVJRX0lTTw0KKyNkZWZpbmUgSU5UX1VTQl9JUlFfSEdFTglJTlRfMjRYWF9VU0JfSVJR X0hHRU4NCisjZGVmaW5lIElOVF9VU0JfSVJRX09URwkJSU5UXzI0WFhfVVNCX0lSUV9PVEcNCisN CisjZW5kaWYNCisNCisNCiAvKiBUaGVzZSByb3V0aW5lcyBzaG91bGQgaGFuZGxlIHRoZSBzdGFu ZGFyZCBjaGlwLXNwZWNpZmljIG1vZGVzDQogICogZm9yIHVzYjAvMS8yIHBvcnRzLCBjb3Zlcmlu ZyBiYXNpYyBtdXggYW5kIHRyYW5zY2VpdmVyIHNldHVwLg0KICAqIENhbGwgb21hcF91c2JfaW5p dCgpIG9uY2UsIGZyb20gSU5JVF9NQUNISU5FKCkuDQpAQCAtOTcsMTUgKzExNiwxOSBAQCBzdGF0 aWMgdTMyIF9faW5pdCBvbWFwX3VzYjBfaW5pdCh1bnNpZ25lDQogCXUzMglzeXNjb24xID0gMDsN CiANCiAJaWYgKG53aXJlcyA9PSAwKSB7DQotCQlpZiAoIWNwdV9pc19vbWFwMTV4eCgpKSB7DQor CQlpZiAoY3B1X2NsYXNzX2lzX29tYXAxKCkgJiYgIWNwdV9pc19vbWFwMTV4eCgpKSB7DQogCQkJ LyogcHVsbGRvd24gRCsvRC0gKi8NCiAJCQlVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcgJj0gfigz IDw8IDEpOw0KIAkJfQ0KIAkJcmV0dXJuIDA7DQogCX0NCiANCi0JaWYgKGlzX2RldmljZSkNCi0J CW9tYXBfY2ZnX3JlZyhXNF9VU0JfUFVFTik7DQorCWlmIChpc19kZXZpY2UpIHsNCisJCWlmIChj cHVfaXNfb21hcDI0eHgoKSkNCisJCQlvbWFwX2NmZ19yZWcoSjIwXzI0WFhfVVNCMF9QVUVOKTsN CisJCWVsc2UNCisJCQlvbWFwX2NmZ19yZWcoVzRfVVNCX1BVRU4pOw0KKwl9DQogDQogCS8qIGlu dGVybmFsIHRyYW5zY2VpdmVyICovDQogCWlmIChud2lyZXMgPT0gMikgew0KQEAgLTEzNiwyOSAr MTU5LDUxIEBAIHN0YXRpYyB1MzIgX19pbml0IG9tYXBfdXNiMF9pbml0KHVuc2lnbmUNCiAJCXJl dHVybiAwOw0KIAl9DQogDQotCW9tYXBfY2ZnX3JlZyhWNl9VU0IwX1RYRCk7DQotCW9tYXBfY2Zn X3JlZyhXOV9VU0IwX1RYRU4pOw0KLQlvbWFwX2NmZ19yZWcoVzVfVVNCMF9TRTApOw0KKwlpZiAo Y3B1X2lzX29tYXAyNHh4KCkpIHsNCisJCW9tYXBfY2ZnX3JlZyhLMThfMjRYWF9VU0IwX0RBVCk7 DQorCQlvbWFwX2NmZ19yZWcoSzE5XzI0WFhfVVNCMF9UWEVOKTsNCisJCW9tYXBfY2ZnX3JlZyhK MTRfMjRYWF9VU0IwX1NFMCk7DQorCX0gZWxzZSB7DQorCQlvbWFwX2NmZ19yZWcoVjZfVVNCMF9U WEQpOw0KKwkJb21hcF9jZmdfcmVnKFc5X1VTQjBfVFhFTik7DQorCQlvbWFwX2NmZ19yZWcoVzVf VVNCMF9TRTApOw0KKwl9DQogDQogCS8qIE5PVEU6ICBTUEVFRCBhbmQgU1VTUCBhcmVuJ3QgY29u ZmlndXJlZCBoZXJlICovDQogDQotCWlmIChud2lyZXMgIT0gMykNCi0JCW9tYXBfY2ZnX3JlZyhZ NV9VU0IwX1JDVik7DQotCWlmIChud2lyZXMgIT0gNikNCisJaWYgKG53aXJlcyAhPSAzKSB7DQor CQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpDQorCQkJb21hcF9jZmdfcmVnKEoxOF8yNFhYX1VTQjBf UkNWKTsNCisJCWVsc2UNCisJCQlvbWFwX2NmZ19yZWcoWTVfVVNCMF9SQ1YpOw0KKwl9DQorCWlm IChjcHVfaXNfb21hcDI0eHgoKSkNCisJCUNPTlRST0xfREVWQ09ORl9SRUcgJj0gflVTQlQwV1JN T0RFSShCSURJUl9UVEwpOw0KKwllbHNlIGlmIChud2lyZXMgIT0gNikNCiAJCVVTQl9UUkFOU0NF SVZFUl9DVFJMX1JFRyAmPSB+Q09ORl9VU0IyX1VOSV9SOw0KIA0KIAlzd2l0Y2ggKG53aXJlcykg ew0KIAljYXNlIDM6DQogCQlzeXNjb24xID0gMjsNCisJCWlmIChjcHVfaXNfb21hcDI0eHgoKSkN CisJCQlDT05UUk9MX0RFVkNPTkZfUkVHIHw9IFVTQlQwV1JNT0RFSShCSURJUik7DQogCQlicmVh azsNCiAJY2FzZSA0Og0KIAkJc3lzY29uMSA9IDE7DQorCQlpZiAoY3B1X2lzX29tYXAyNHh4KCkp DQorCQkJQ09OVFJPTF9ERVZDT05GX1JFRyB8PSBVU0JUMFdSTU9ERUkoQklESVIpOw0KIAkJYnJl YWs7DQogCWNhc2UgNjoNCiAJCXN5c2NvbjEgPSAzOw0KLQkJb21hcF9jZmdfcmVnKEFBOV9VU0Iw X1ZQKTsNCi0JCW9tYXBfY2ZnX3JlZyhSOV9VU0IwX1ZNKTsNCi0JCVVTQl9UUkFOU0NFSVZFUl9D VFJMX1JFRyB8PSBDT05GX1VTQjJfVU5JX1I7DQorCQlpZiAoY3B1X2lzX29tYXAyNHh4KCkpIHsN CisJCQlvbWFwX2NmZ19yZWcoSjE5XzI0WFhfVVNCMF9WUCk7DQorCQkJb21hcF9jZmdfcmVnKEsy MF8yNFhYX1VTQjBfVk0pOw0KKwkJCUNPTlRST0xfREVWQ09ORl9SRUcgfD0gVVNCVDBXUk1PREVJ KFVOSURJUik7DQorCQl9IGVsc2Ugew0KKwkJCW9tYXBfY2ZnX3JlZyhBQTlfVVNCMF9WUCk7DQor CQkJb21hcF9jZmdfcmVnKFI5X1VTQjBfVk0pOw0KKwkJCVVTQl9UUkFOU0NFSVZFUl9DVFJMX1JF RyB8PSBDT05GX1VTQjJfVU5JX1I7DQorCQl9DQogCQlicmVhazsNCiAJZGVmYXVsdDoNCiAJCXBy aW50ayhLRVJOX0VSUiAiaWxsZWdhbCB1c2IlZCAlZC13aXJlIHRyYW5zY2VpdmVyXG4iLA0KQEAg LTE3MSw2ICsyMTYsOSBAQCBzdGF0aWMgdTMyIF9faW5pdCBvbWFwX3VzYjFfaW5pdCh1bnNpZ25l DQogew0KIAl1MzIJc3lzY29uMSA9IDA7DQogDQorCWlmIChjcHVfaXNfb21hcDI0eHgoKSkNCisJ CXJldHVybiAwOw0KKw0KIAlpZiAobndpcmVzICE9IDYgJiYgIWNwdV9pc19vbWFwMTV4eCgpKQ0K IAkJVVNCX1RSQU5TQ0VJVkVSX0NUUkxfUkVHICY9IH5DT05GX1VTQjFfVU5JX1I7DQogCWlmIChu d2lyZXMgPT0gMCkNCkBAIC0yMjEsNiArMjY5LDkgQEAgc3RhdGljIHUzMiBfX2luaXQgb21hcF91 c2IyX2luaXQodW5zaWduZQ0KIHsNCiAJdTMyCXN5c2NvbjEgPSAwOw0KIA0KKwlpZiAoY3B1X2lz X29tYXAyNHh4KCkpDQorCQlyZXR1cm4gMDsNCisNCiAJLyogTk9URSBlcnJhdHVtOiBtdXN0IGxl YXZlIFVTQjJfVU5JX1Igc2V0IGlmIHVzYjAgaW4gdXNlICovDQogCWlmIChhbHRfcGluZ3JvdXAg fHwgbndpcmVzID09IDApDQogCQlyZXR1cm4gMDsNCkBAIC0yOTQsMTMgKzM0NSwxMyBAQCBzdGF0 aWMgc3RydWN0IHJlc291cmNlIHVkY19yZXNvdXJjZXNbXSA9DQogCQkuZW5kCQk9IFVEQ19CQVNF ICsgMHhmZiwNCiAJCS5mbGFncwkJPSBJT1JFU09VUkNFX01FTSwNCiAJfSwgewkJLyogZ2VuZXJh bCBJUlEgKi8NCi0JCS5zdGFydAkJPSBJSDJfQkFTRSArIDIwLA0KKwkJLnN0YXJ0CQk9IElOVF9V U0JfSVJRX0dFTiwNCiAJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwNCiAJfSwgewkJLyogUElP IElSUSAqLw0KLQkJLnN0YXJ0CQk9IElIMl9CQVNFICsgMzAsDQorCQkuc3RhcnQJCT0gSU5UX1VT Ql9JUlFfTklTTywNCiAJCS5mbGFncwkJPSBJT1JFU09VUkNFX0lSUSwNCiAJfSwgewkJLyogU09G IElSUSAqLw0KLQkJLnN0YXJ0CQk9IElIMl9CQVNFICsgMjksDQorCQkuc3RhcnQJCT0gSU5UX1VT Ql9JUlFfSVNPLA0KIAkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfSVJRLA0KIAl9LA0KIH07DQpAQCAt MzMzLDcgKzM4NCw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2Ugb2hjaV9yZXNvdXJjZXNbXSAN CiAJCS5mbGFncwk9IElPUkVTT1VSQ0VfTUVNLA0KIAl9LA0KIAl7DQotCQkuc3RhcnQJPSBJTlRf VVNCX0hIQ18xLA0KKwkJLnN0YXJ0CT0gSU5UX1VTQl9JUlFfSEdFTiwNCiAJCS5mbGFncwk9IElP UkVTT1VSQ0VfSVJRLA0KIAl9LA0KIH07DQpAQCAtMzYxLDcgKzQxMiw3IEBAIHN0YXRpYyBzdHJ1 Y3QgcmVzb3VyY2Ugb3RnX3Jlc291cmNlc1tdID0NCiAJCS5lbmQJCT0gT1RHX0JBU0UgKyAweGZm LA0KIAkJLmZsYWdzCQk9IElPUkVTT1VSQ0VfTUVNLA0KIAl9LCB7DQotCQkuc3RhcnQJCT0gSUgy X0JBU0UgKyA4LA0KKwkJLnN0YXJ0CQk9IElOVF9VU0JfSVJRX09URywNCiAJCS5mbGFncwkJPSBJ T1JFU09VUkNFX0lSUSwNCiAJfSwNCiB9Ow0KQEAgLTQyNiwxMiArNDc3LDEzIEBAIG9tYXBfb3Rn X2luaXQoc3RydWN0IG9tYXBfdXNiX2NvbmZpZyAqY28NCiAJaWYgKGNvbmZpZy0+b3RnKQ0KIAkJ c3lzY29uIHw9IE9UR19FTjsNCiAjZW5kaWYNCi0JcHJfZGVidWcoIlVTQl9UUkFOU0NFSVZFUl9D VFJMX1JFRyA9ICUwM3hcbiIsIFVTQl9UUkFOU0NFSVZFUl9DVFJMX1JFRyk7DQorCWlmIChjcHVf Y2xhc3NfaXNfb21hcDEoKSkNCisJCXByX2RlYnVnKCJVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcg PSAlMDN4XG4iLCBVU0JfVFJBTlNDRUlWRVJfQ1RSTF9SRUcpOw0KIAlwcl9kZWJ1ZygiT1RHX1NZ U0NPTl8yX1JFRyA9ICUwOHhcbiIsIHN5c2Nvbik7DQogCU9UR19TWVNDT05fMl9SRUcgPSBzeXNj b247DQogDQogCXByaW50aygiVVNCOiBobWMgJWQiLCBjb25maWctPmhtY19tb2RlKTsNCi0JaWYg KGFsdF9waW5ncm91cCkNCisJaWYgKCFhbHRfcGluZ3JvdXApDQogCQlwcmludGsoIiwgdXNiMiBh bHQgJWQgd2lyZXMiLCBjb25maWctPnBpbnNbMl0pOw0KIAllbHNlIGlmIChjb25maWctPnBpbnNb MF0pDQogCQlwcmludGsoIiwgdXNiMCAlZCB3aXJlcyVzIiwgY29uZmlnLT5waW5zWzBdLA0KQEAg LTQ0NCwxMCArNDk2LDEyIEBAIG9tYXBfb3RnX2luaXQoc3RydWN0IG9tYXBfdXNiX2NvbmZpZyAq Y28NCiAJCXByaW50aygiLCBNaW5pLUFCIG9uIHVzYiVkIiwgY29uZmlnLT5vdGcgLSAxKTsNCiAJ cHJpbnRrKCJcbiIpOw0KIA0KLQkvKiBsZWF2ZSBVU0IgY2xvY2tzL2NvbnRyb2xsZXJzIG9mZiB1 bnRpbCBuZWVkZWQgKi8NCi0JVUxQRF9TT0ZUX1JFUV9SRUcgJj0gflNPRlRfVVNCX0NMS19SRVE7 DQotCVVMUERfQ0xPQ0tfQ1RSTF9SRUcgJj0gflVTQl9NQ0xLX0VOOw0KLQlVTFBEX0NMT0NLX0NU UkxfUkVHIHw9IERJU19VU0JfUFZDSV9DTEs7DQorCWlmIChjcHVfY2xhc3NfaXNfb21hcDEoKSkg ew0KKwkJLyogbGVhdmUgVVNCIGNsb2Nrcy9jb250cm9sbGVycyBvZmYgdW50aWwgbmVlZGVkICov DQorCQlVTFBEX1NPRlRfUkVRX1JFRyAmPSB+U09GVF9VU0JfQ0xLX1JFUTsNCisJCVVMUERfQ0xP Q0tfQ1RSTF9SRUcgJj0gflVTQl9NQ0xLX0VOOw0KKwkJVUxQRF9DTE9DS19DVFJMX1JFRyB8PSBE SVNfVVNCX1BWQ0lfQ0xLOw0KKwl9DQogCXN5c2NvbiA9IE9UR19TWVNDT05fMV9SRUc7DQogCXN5 c2NvbiB8PSBIU1RfSURMRV9FTnxERVZfSURMRV9FTnxPVEdfSURMRV9FTjsNCiANCkBAIC01ODUs NyArNjM5LDcgQEAgb21hcF91c2JfaW5pdCh2b2lkKQ0KIAl9DQogCXBsYXRmb3JtX2RhdGEgPSAq Y29uZmlnOw0KIA0KLQlpZiAoY3B1X2lzX29tYXA3MzAoKSB8fCBjcHVfaXNfb21hcDE2eHgoKSkN CisJaWYgKGNwdV9pc19vbWFwNzMwKCkgfHwgY3B1X2lzX29tYXAxNnh4KCkgfHwgY3B1X2lzX29t YXAyNHh4KCkpDQogCQlvbWFwX290Z19pbml0KCZwbGF0Zm9ybV9kYXRhKTsNCiAJZWxzZSBpZiAo Y3B1X2lzX29tYXAxNXh4KCkpDQogCQlvbWFwXzE1MTBfdXNiX2luaXQoJnBsYXRmb3JtX2RhdGEp Ow0KZGlmZiAtdXByIC0tZXhjbHVkZSAnLionIC0tZXhjbHVkZSAnKi5vJyBsaW51eC1vbWFwLTIu Ni1iYXNlL2RyaXZlcnMvdXNiL2dhZGdldC9LY29uZmlnIGxpbnV4LW9tYXAtMi42L2RyaXZlcnMv dXNiL2dhZGdldC9LY29uZmlnDQotLS0gbGludXgtb21hcC0yLjYtYmFzZS9kcml2ZXJzL3VzYi9n YWRnZXQvS2NvbmZpZwkyMDA2LTA4LTI0IDE3OjUzOjE1Ljk4NDM3NTAwMCArMDkwMA0KKysrIGxp bnV4LW9tYXAtMi42L2RyaXZlcnMvdXNiL2dhZGdldC9LY29uZmlnCTIwMDYtMDgtMjQgMTk6NTg6 MDYuNTkzNzUwMDAwICswOTAwDQpAQCAtMTU3LDcgKzE1Nyw3IEBAIGNvbmZpZyBVU0JfTEg3QTQw WA0KIA0KIGNvbmZpZyBVU0JfR0FER0VUX09NQVANCiAJYm9vbGVhbiAiT01BUCBVU0IgRGV2aWNl IENvbnRyb2xsZXIiDQotCWRlcGVuZHMgb24gQVJDSF9PTUFQMQ0KKwlkZXBlbmRzIG9uIEFSQ0hf T01BUA0KIAlzZWxlY3QgSVNQMTMwMV9PTUFQIGlmIE1BQ0hfT01BUF9IMiB8fCBNQUNIX09NQVBf SDMNCiAJaGVscA0KIAkgICBNYW55IFRleGFzIEluc3RydW1lbnRzIE9NQVAgcHJvY2Vzc29ycyBo YXZlIGZsZXhpYmxlIGZ1bGwNCmRpZmYgLXVwciAtLWV4Y2x1ZGUgJy4qJyAtLWV4Y2x1ZGUgJyou bycgbGludXgtb21hcC0yLjYtYmFzZS9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYyBsaW51 eC1vbWFwLTIuNi9kcml2ZXJzL3VzYi9nYWRnZXQvb21hcF91ZGMuYw0KLS0tIGxpbnV4LW9tYXAt Mi42LWJhc2UvZHJpdmVycy91c2IvZ2FkZ2V0L29tYXBfdWRjLmMJMjAwNi0wOC0yNCAxNzo1Mzox Ni4wMDAwMDAwMDAgKzA5MDANCisrKyBsaW51eC1vbWFwLTIuNi9kcml2ZXJzL3VzYi9nYWRnZXQv b21hcF91ZGMuYwkyMDA2LTA4LTI0IDIwOjA2OjQyLjcwMzEyNTAwMCArMDkwMA0KQEAgLTYxLDYg KzYxLDExIEBADQogLyogYnVsayBETUEgc2VlbXMgdG8gYmUgYmVoYXZpbmcgZm9yIGJvdGggSU4g YW5kIE9VVCAqLw0KICNkZWZpbmUJVVNFX0RNQQ0KIA0KKy8qIEZJWE1FOiBOb3cgT01BUDIgaGFz IHNvbWUgcHJvYmxlbSBpbiBETUEgbW9kZSAqLw0KKyNpZmRlZiBDT05GSUdfQVJDSF9PTUFQMg0K KyN1bmRlZiBVU0JfRE1BDQorI2VuZGlmDQorDQogLyogSVNPIHRvbyAqLw0KICNkZWZpbmUJVVNF X0lTTw0KIA0KQEAgLTIwNjksNiArMjA3NCwxMyBAQCBvbWFwX3VkY19pc29faXJxKGludCBpcnEs IHZvaWQgKl9kZXYsIHN0DQogDQogLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCiANCitzdGF0aWMgaW5s aW5lIGludCBtYWNoaW5lX25lZWRzX3ZidXNfc2Vzc2lvbih2b2lkKQ0KK3sNCisJcmV0dXJuICht YWNoaW5lX2lzX29tYXBfaW5ub3ZhdG9yKCkNCisJCXx8IG1hY2hpbmVfaXNfb21hcF9vc2soKQ0K KwkJfHwgbWFjaGluZV9pc19vbWFwX2Fwb2xsb24oKQ0KKwkJKTsNCit9DQogDQogaW50IHVzYl9n YWRnZXRfcmVnaXN0ZXJfZHJpdmVyIChzdHJ1Y3QgdXNiX2dhZGdldF9kcml2ZXIgKmRyaXZlcikN CiB7DQpAQCAtMjE0NSw3ICsyMTU3LDcgQEAgaW50IHVzYl9nYWRnZXRfcmVnaXN0ZXJfZHJpdmVy IChzdHJ1Y3QgdQ0KIAkvKiBib2FyZHMgdGhhdCBkb24ndCBoYXZlIFZCVVMgc2Vuc2luZyBjYW4n dCBhdXRvZ2F0ZSA0OE1IejsNCiAJICogY2FuJ3QgZW50ZXIgZGVlcCBzbGVlcCB3aGlsZSBhIGdh ZGdldCBkcml2ZXIgaXMgYWN0aXZlLg0KIAkgKi8NCi0JaWYgKG1hY2hpbmVfaXNfb21hcF9pbm5v dmF0b3IoKSB8fCBtYWNoaW5lX2lzX29tYXBfb3NrKCkpDQorCWlmIChtYWNoaW5lX25lZWRzX3Zi dXNfc2Vzc2lvbigpKQ0KIAkJb21hcF92YnVzX3Nlc3Npb24oJnVkYy0+Z2FkZ2V0LCAxKTsNCiAN CiBkb25lOg0KQEAgLTIxNjgsNyArMjE4MCw3IEBAIGludCB1c2JfZ2FkZ2V0X3VucmVnaXN0ZXJf ZHJpdmVyIChzdHJ1Y3QNCiAJaWYgKHVkYy0+ZGNfY2xrICE9IE5VTEwpDQogCQlvbWFwX3VkY19l bmFibGVfY2xvY2soMSk7DQogDQotCWlmIChtYWNoaW5lX2lzX29tYXBfaW5ub3ZhdG9yKCkgfHwg bWFjaGluZV9pc19vbWFwX29zaygpKQ0KKwlpZiAobWFjaGluZV9uZWVkc192YnVzX3Nlc3Npb24o KSkNCiAJCW9tYXBfdmJ1c19zZXNzaW9uKCZ1ZGMtPmdhZGdldCwgMCk7DQogDQogCWlmICh1ZGMt PnRyYW5zY2VpdmVyKQ0KQEAgLTIyNzcsMTEgKzIyODksMTggQEAgc3RhdGljIGludCBwcm9jX290 Z19zaG93KHN0cnVjdCBzZXFfZmlsZQ0KIHsNCiAJdTMyCQl0bXA7DQogCXUzMgkJdHJhbnM7DQor CWNoYXIJCSpjdHJsX25hbWU7DQogDQogCXRtcCA9IE9UR19SRVZfUkVHOw0KLQl0cmFucyA9IFVT Ql9UUkFOU0NFSVZFUl9DVFJMX1JFRzsNCi0Jc2VxX3ByaW50ZihzLCAiXG5PVEcgcmV2ICVkLiVk LCB0cmFuc2NlaXZlcl9jdHJsICUwNXhcbiIsDQotCQl0bXAgPj4gNCwgdG1wICYgMHhmLCB0cmFu cyk7DQorCWlmIChjcHVfaXNfb21hcDI0eHgoKSkgew0KKwkJY3RybF9uYW1lID0gImNvbnRyb2xf ZGV2Y29uZiI7DQorCQl0cmFucyA9IENPTlRST0xfREVWQ09ORl9SRUc7DQorCX0gZWxzZSB7DQor CQljdHJsX25hbWUgPSAidHJhbmNlaXZlcl9jdHJsIjsNCisJCXRyYW5zID0gVVNCX1RSQU5TQ0VJ VkVSX0NUUkxfUkVHOw0KKwl9DQorCXNlcV9wcmludGYocywgIlxuT1RHIHJldiAlZC4lZCwgJXMg JTA1eFxuIiwNCisJCXRtcCA+PiA0LCB0bXAgJiAweGYsIGN0cmxfbmFtZSwgdHJhbnMpOw0KIAl0 bXAgPSBPVEdfU1lTQ09OXzFfUkVHOw0KIAlzZXFfcHJpbnRmKHMsICJvdGdfc3lzY29uMSAlMDh4 IHVzYjIgJXMsIHVzYjEgJXMsIHVzYjAgJXMsIg0KIAkJCUZPVVJCSVRTICJcbiIsIHRtcCwNCkBA IC0yMzY1LDEwICsyMzg0LDEyIEBAIHN0YXRpYyBpbnQgcHJvY191ZGNfc2hvdyhzdHJ1Y3Qgc2Vx X2ZpbGUNCiAJCXVkYy0+ZHJpdmVyID8gdWRjLT5kcml2ZXItPmRyaXZlci5uYW1lIDogIihub25l KSIsDQogCQlITUMsDQogCQl1ZGMtPnRyYW5zY2VpdmVyID8gdWRjLT50cmFuc2NlaXZlci0+bGFi ZWwgOiAiKG5vbmUpIik7DQotCXNlcV9wcmludGYocywgIlVMUEQgY29udHJvbCAlMDR4IHJlcSAl MDR4IHN0YXR1cyAlMDR4XG4iLA0KLQkJX19SRUcxNihVTFBEX0NMT0NLX0NUUkwpLA0KLQkJX19S RUcxNihVTFBEX1NPRlRfUkVRKSwNCi0JCV9fUkVHMTYoVUxQRF9TVEFUVVNfUkVRKSk7DQorCWlm IChjcHVfY2xhc3NfaXNfb21hcDEoKSkgew0KKwkJc2VxX3ByaW50ZihzLCAiVUxQRCBjb250cm9s ICUwNHggcmVxICUwNHggc3RhdHVzICUwNHhcbiIsDQorCQkJX19SRUcxNihVTFBEX0NMT0NLX0NU UkwpLA0KKwkJCV9fUkVHMTYoVUxQRF9TT0ZUX1JFUSksDQorCQkJX19SRUcxNihVTFBEX1NUQVRV U19SRVEpKTsNCisJfQ0KIA0KIAkvKiBPVEcgY29udHJvbGxlciByZWdpc3RlcnMgKi8NCiAJaWYg KCFjcHVfaXNfb21hcDE1eHgoKSkNCkBAIC0yNzc5LDYgKzI4MDAsMTYgQEAgc3RhdGljIGludCBf X2luaXQgb21hcF91ZGNfcHJvYmUoc3RydWN0IA0KIAkJdWRlbGF5KDEwMCk7DQogCX0NCiANCisJ aWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7DQorCQlkY19jbGsgPSBjbGtfZ2V0KCZwZGV2LT5kZXYs ICJ1c2JfZmNrIik7DQorCQloaGNfY2xrID0gY2xrX2dldCgmcGRldi0+ZGV2LCAidXNiX2w0X2lj ayIpOw0KKwkJQlVHX09OKElTX0VSUihkY19jbGspIHx8IElTX0VSUihoaGNfY2xrKSk7DQorCQkv KiBjYW4ndCB1c2Ugb21hcF91ZGNfZW5hYmxlX2Nsb2NrIHlldCAqLw0KKwkJY2xrX2VuYWJsZShk Y19jbGspOw0KKwkJY2xrX2VuYWJsZShoaGNfY2xrKTsNCisJCXVkZWxheSgxMDApOw0KKwl9DQor DQogCUlORk8oIk9NQVAgVURDIHJldiAlZC4lZCVzXG4iLA0KIAkJVURDX1JFVl9SRUcgPj4gNCwg VURDX1JFVl9SRUcgJiAweGYsDQogCQljb25maWctPm90ZyA/ICIsIE1pbmktQUIiIDogIiIpOw0K QEAgLTI5MDgsNiArMjkzOSwxNiBAQCBiYWRfb25fMTcxMDoNCiAJCWNsa19kaXNhYmxlKGRjX2Ns ayk7DQogCX0NCiANCisJaWYgKGNwdV9pc19vbWFwMjR4eCgpKSB7DQorCQl1ZGMtPmRjX2NsayA9 IGRjX2NsazsNCisJCXVkYy0+aGhjX2NsayA9IGhoY19jbGs7DQorCQkvKiBGSVhNRSBPTUFQMiBk b24ndCByZWxlYXNlIGhoYyAmIGRjIGNsb2NrICovDQorI2lmIDANCisJCWNsa19kaXNhYmxlKGho Y19jbGspOw0KKwkJY2xrX2Rpc2FibGUoZGNfY2xrKTsNCisjZW5kaWYNCisJfQ0KKw0KIAljcmVh dGVfcHJvY19maWxlKCk7DQogCWRldmljZV9hZGQoJnVkYy0+Z2FkZ2V0LmRldik7DQogCXJldHVy biAwOw0KQEAgLTI5MjgsNyArMjk2OSw3IEBAIGNsZWFudXAwOg0KIAlpZiAoeGNlaXYpDQogCQlw dXRfZGV2aWNlKHhjZWl2LT5kZXYpOw0KIA0KLSAJaWYgKGNwdV9pc19vbWFwMTZ4eCgpKSB7DQor IAlpZiAoY3B1X2lzX29tYXAxNnh4KCkgfHwgY3B1X2lzX29tYXAyNHh4KCkpIHsNCiAgCQljbGtf ZGlzYWJsZShoaGNfY2xrKTsNCiAgCQljbGtfZGlzYWJsZShkY19jbGspOw0KICAJCWNsa19wdXQo aGhjX2Nsayk7DQpkaWZmIC11cHIgLS1leGNsdWRlICcuKicgLS1leGNsdWRlICcqLm8nIGxpbnV4 LW9tYXAtMi42LWJhc2UvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmggbGludXgtb21h cC0yLjYvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9pcnFzLmgNCi0tLSBsaW51eC1vbWFwLTIu Ni1iYXNlL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAvaXJxcy5oCTIwMDYtMDgtMjQgMTc6NTM6 MTYuMTg3NTAwMDAwICswOTAwDQorKysgbGludXgtb21hcC0yLjYvaW5jbHVkZS9hc20tYXJtL2Fy Y2gtb21hcC9pcnFzLmgJMjAwNi0wOC0yNCAyMDowODowMS40Njg3NTAwMDAgKzA5MDANCkBAIC0y NjIsNiArMjYyLDEyIEBADQogI2RlZmluZSBJTlRfMjRYWF9VQVJUMV9JUlEJNzINCiAjZGVmaW5l IElOVF8yNFhYX1VBUlQyX0lSUQk3Mw0KICNkZWZpbmUgSU5UXzI0WFhfVUFSVDNfSVJRCTc0DQor I2RlZmluZSBJTlRfMjRYWF9VU0JfSVJRX0dFTgk3NQ0KKyNkZWZpbmUgSU5UXzI0WFhfVVNCX0lS UV9OSVNPCTc2DQorI2RlZmluZSBJTlRfMjRYWF9VU0JfSVJRX0lTTwk3Nw0KKyNkZWZpbmUgSU5U XzI0WFhfVVNCX0lSUV9IR0VOCTc4DQorI2RlZmluZSBJTlRfMjRYWF9VU0JfSVJRX0hTT0YJNzkN CisjZGVmaW5lIElOVF8yNFhYX1VTQl9JUlFfT1RHCTgwDQogI2RlZmluZSBJTlRfMjRYWF9NTUNf SVJRCTgzDQogDQogLyogTWF4LiAxMjggbGV2ZWwgMiBJUlFzIChPTUFQMTYxMCksIDE5MiBHUElP cyAoT01BUDczMCkgYW5kDQpkaWZmIC11cHIgLS1leGNsdWRlICcuKicgLS1leGNsdWRlICcqLm8n IGxpbnV4LW9tYXAtMi42LWJhc2UvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC9tdXguaCBsaW51 eC1vbWFwLTIuNi9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL211eC5oDQotLS0gbGludXgtb21h cC0yLjYtYmFzZS9pbmNsdWRlL2FzbS1hcm0vYXJjaC1vbWFwL211eC5oCTIwMDYtMDgtMjQgMTc6 NTM6MTYuMjAzMTI1MDAwICswOTAwDQorKysgbGludXgtb21hcC0yLjYvaW5jbHVkZS9hc20tYXJt L2FyY2gtb21hcC9tdXguaAkyMDA2LTA4LTI0IDIwOjA5OjI3Ljc4MTI1MDAwMCArMDkwMA0KQEAg LTQzNSw2ICs0MzUsNyBAQCBlbnVtIG9tYXAyNHh4X2luZGV4IHsNCiANCiAJLyogMjR4eCBHUElP ICovDQogCU0yMV8yNDJYX0dQSU8xMSwNCisJUDIxXzI0MlhfR1BJTzEyLA0KIAlBQTEwXzI0Mlhf R1BJTzEzLA0KIAlBQTZfMjQyWF9HUElPMTQsDQogCUFBNF8yNDJYX0dQSU8xNSwNCkBAIC00ODYs NiArNDg3LDE1IEBAIGVudW0gb21hcDI0eHhfaW5kZXggew0KIAlHMThfMjRYWF9NTUNfQ01EX0RJ UiwNCiAJSDE1XzI0WFhfTU1DX0NMS0ksDQogDQorCS8qIFVTQiAqLw0KKwlKMjBfMjRYWF9VU0Iw X1BVRU4sDQorCUoxOV8yNFhYX1VTQjBfVlAsDQorCUsyMF8yNFhYX1VTQjBfVk0sDQorCUoxOF8y NFhYX1VTQjBfUkNWLA0KKwlLMTlfMjRYWF9VU0IwX1RYRU4sDQorCUoxNF8yNFhYX1VTQjBfU0Uw LA0KKwlLMThfMjRYWF9VU0IwX0RBVCwNCisNCiAJLyogS2V5cGFkIEdQSU8qLw0KIAlUMTlfMjRY WF9LQlIwLA0KIAlSMTlfMjRYWF9LQlIxLA0KZGlmZiAtdXByIC0tZXhjbHVkZSAnLionIC0tZXhj bHVkZSAnKi5vJyBsaW51eC1vbWFwLTIuNi1iYXNlL2luY2x1ZGUvYXNtLWFybS9hcmNoLW9tYXAv dXNiLmggbGludXgtb21hcC0yLjYvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaA0KLS0t IGxpbnV4LW9tYXAtMi42LWJhc2UvaW5jbHVkZS9hc20tYXJtL2FyY2gtb21hcC91c2IuaAkyMDA2 LTA2LTE4IDEwOjQ5OjM1LjAwMDAwMDAwMCArMDkwMA0KKysrIGxpbnV4LW9tYXAtMi42L2luY2x1 ZGUvYXNtLWFybS9hcmNoLW9tYXAvdXNiLmgJMjAwNi0wOC0yNCAyMDoxNzoxNi4yMTg3NTAwMDAg KzA5MDANCkBAIC03LDkgKzcsMjcgQEANCiANCiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KIA0KLSNk ZWZpbmUgT1RHX0JBU0UJCQkweGZmZmIwNDAwDQotI2RlZmluZSBVRENfQkFTRQkJCTB4ZmZmYjQw MDANCi0jZGVmaW5lIE9NQVBfT0hDSV9CQVNFCQkJMHhmZmZiYTAwMA0KKyNkZWZpbmUgT01BUDFf T1RHX0JBU0UJCQkweGZmZmIwNDAwDQorI2RlZmluZSBPTUFQMV9VRENfQkFTRQkJCTB4ZmZmYjQw MDANCisjZGVmaW5lIE9NQVAxX09IQ0lfQkFTRQkJCTB4ZmZmYmEwMDANCisNCisjZGVmaW5lIE9N QVAyX09IQ0lfQkFTRQkJCTB4NDgwNWUwMDANCisjZGVmaW5lIE9NQVAyX1VEQ19CQVNFCQkJMHg0 ODA1ZTIwMA0KKyNkZWZpbmUgT01BUDJfT1RHX0JBU0UJCQkweDQ4MDVlMzAwDQorDQorI2lmZGVm IENPTkZJR19BUkNIX09NQVAxDQorDQorI2RlZmluZSBPVEdfQkFTRQkJCU9NQVAxX09UR19CQVNF DQorI2RlZmluZSBVRENfQkFTRQkJCU9NQVAxX1VEQ19CQVNFDQorI2RlZmluZSBPTUFQX09IQ0lf QkFTRQkJCU9NQVAxX09IQ0lfQkFTRQ0KKw0KKyNlbHNlDQorDQorI2RlZmluZSBPVEdfQkFTRQkJ CU9NQVAyX09UR19CQVNFDQorI2RlZmluZSBVRENfQkFTRQkJCU9NQVAyX1VEQ19CQVNFDQorI2Rl ZmluZSBPTUFQX09IQ0lfQkFTRQkJCU9NQVAyX09IQ0lfQkFTRQ0KKw0KKyNlbmRpZg0KIA0KIC8q LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLSovDQogDQpAQCAtMTAzLDYgKzEyMSw3IEBADQogDQogLyotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKi8NCiANCisvKiBPTUFQMSAqLw0KICNkZWZpbmUJVVNCX1RSQU5TQ0VJVkVSX0NU UkxfUkVHCV9fUkVHMzIoMHhmZmZlMTAwMCArIDB4MDA2NCkNCiAjCWRlZmluZQlDT05GX1VTQjJf VU5JX1IJCSgxIDw8IDgpDQogIwlkZWZpbmUJQ09ORl9VU0IxX1VOSV9SCQkoMSA8PCA3KQ0KQEAg LTExMSw3ICsxMzAsMTUgQEANCiAjCWRlZmluZQlDT05GX1VTQl9QV1JETl9ETV9SCSgxIDw8IDIp DQogIwlkZWZpbmUJQ09ORl9VU0JfUFdSRE5fRFBfUgkoMSA8PCAxKQ0KIA0KLQ0KLQ0KKy8qIE9N QVAyICovDQorI2RlZmluZQlDT05UUk9MX0RFVkNPTkZfUkVHCQlfX1JFRzMyKDB4NDgwMDAwMDAg KyAweDAyNzQpDQorIwlkZWZpbmUJVU5JRElSCQkJMHgwDQorIwlkZWZpbmUJVU5JRElSX1RUTAkJ MHgxDQorIwlkZWZpbmUJQklESVIJCQkweDINCisjCWRlZmluZQlCSURJUl9UVEwJCTB4Mw0KKyMJ ZGVmaW5lCVVTQlQwV1JNT0RFSSh4KQkJKCh4KSA8PCAyMikNCisjCWRlZmluZQlVU0JUMVdSTU9E RUkoeCkJCSgoeCkgPDwgMjApDQorIwlkZWZpbmUJVVNCVDJXUk1PREVJKHgpCQkoKHgpIDw8IDE4 KQ0KKyMJZGVmaW5lCVVTQjBQVUVOQUNUTE9JCQkoMSA8PCAxNikNCiANCiAjZW5kaWYJLyogX19B U01fQVJDSF9PTUFQX1VTQl9IICovDQoNCg0KDQo= --===============0475568129== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline --===============0475568129==--