From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from igw2.br.ibm.com (igw2.br.ibm.com [32.104.18.25]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mailgw2.br.ibm.com", Issuer "Equifax" (verified OK)) by ozlabs.org (Postfix) with ESMTP id 82EDCDDEE0 for ; Tue, 31 Jul 2007 05:35:22 +1000 (EST) Received: from mailhub3.br.ibm.com (mailhub3 [9.18.232.110]) by igw2.br.ibm.com (Postfix) with ESMTP id 836055BFD5 for ; Mon, 30 Jul 2007 16:24:33 -0300 (BRT) Received: from d24av01.br.ibm.com (d24av01.br.ibm.com [9.18.232.46]) by mailhub3.br.ibm.com (8.13.8/8.13.8/NCO v8.4) with ESMTP id l6UJZHbi1392778 for ; Mon, 30 Jul 2007 16:35:17 -0300 Received: from d24av01.br.ibm.com (loopback [127.0.0.1]) by d24av01.br.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l6UJZGFM001719 for ; Mon, 30 Jul 2007 16:35:17 -0300 Received: from ltctuxday.br.ibm.com (dyn531847.br.ibm.com [9.18.238.114]) by d24av01.br.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id l6UJZGQN001713 for ; Mon, 30 Jul 2007 16:35:16 -0300 Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by ltctuxday.br.ibm.com (Postfix) with ESMTP id F0CCC3FC22 for ; Mon, 30 Jul 2007 16:38:17 -0300 (BRT) Subject: 44x hardware watchpoints support From: Rodrigo Rubira Branco To: linuxppc-dev@ozlabs.org Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="=-XWxv2UKUX/kBmZ5Q/xcu" Date: Mon, 30 Jul 2007 16:38:17 -0300 Message-Id: <1185824297.4414.4.camel@localhost.localdomain> Mime-Version: 1.0 Reply-To: rrbranco@br.ibm.com List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , --=-XWxv2UKUX/kBmZ5Q/xcu Content-Type: multipart/mixed; boundary="=-7xJjaJfSoiOi8l1MVF9G" --=-7xJjaJfSoiOi8l1MVF9G Content-Type: text/plain Content-Transfer-Encoding: quoted-printable --=20 Rodrigo Rubira Branco Software Engineer=20 Advanced Linux Response Team (ALRT) / Linux on Power Toolchain IBM Linux Technology Center (IBM/LTC) rrbranco@br.ibm.com GPG KeyID: 1FCEDEA1 --=-7xJjaJfSoiOi8l1MVF9G Content-Disposition: attachment; filename=mcp-ppc-hwwatchpoint-latest-27-07-07.diff Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name=mcp-ppc-hwwatchpoint-latest-27-07-07.diff; charset=us-ascii QXR0YWNoZWQgYSBwYXRjaCB0byBhZGQgTGludXggUFBDIDQ0eCBIYXJkd2FyZSBXYXRjaHBvaW50 cy4gIEl0J3MgYW4gdXBkYXRlZCB2ZXJzaW9uIG9mIHRoZSB3b3JrIGRvbmUgYnkgTWljaGVsIEMu IERhcm5laWxsZSwgYWxzbyBmcm9tIElCTS4NCg0KSSBuZWVkIHRvIHJlZGVmaW5lIGluIGluY2x1 ZGUvYXNtLXBvd2VycGMvcmVnX2Jvb2tlLmggdGhlIHZhbHVlcyBvZiBEQkNSX0QxUiBhbmQgREJD Ul9EMVcgdG8gMHgwMDA4MDAwMCBhbmQgMHgwMDA0MDAwMC4gIEkgY2FuJ3QgcHV0IGlmZGVmIHRv IGJlIENPTkZJR180eHggc2luY2Ugc29tZSB2YWx1ZXMgYXJlIG5vdCB2YWxpZCBpbiB0aGUgNDA1 IHN5c3RlbXMgZm9yIGV4YW1wbGUgKHRrcyBKb3NoIEJveWVyIGZvciBzcG90IG1lIHRoYXQpLiAg V2hhdCBpcyB0aGUgYmVzdCB3YXkgdG8gZG8gdGhhdD8NCg0KU2lnbmVkLW9mZi1ieTogIFJvZHJp Z28gUnViaXJhIEJyYW5jbyA8cnJicmFuY29AYnIuaWJtLmNvbT4NCi0tLQ0KDQpkaWZmIC1ydU4g bGludXgub3JpZy9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMgbGludXgvYXJjaC9wb3dl cnBjL2tlcm5lbC9lbnRyeV8zMi5TDQotLS0gbGludXgub3JpZy9hcmNoL3Bvd2VycGMva2VybmVs L2VudHJ5XzMyLlMJMjAwNy0wNy0xMiAxNzowNDoyMS4wMDAwMDAwMDAgLTAzMDANCisrKyBsaW51 eC9hcmNoL3Bvd2VycGMva2VybmVsL2VudHJ5XzMyLlMJMjAwNy0wNy0yNyAxMDozMzo0Ni4wMDAw MDAwMDAgLTAzMDANCkBAIC0xMTIsNyArMTEyLDcgQEANCiAJLyogQ2hlY2sgdG8gc2VlIGlmIHRo ZSBkYmNyMCByZWdpc3RlciBpcyBzZXQgdXAgdG8gZGVidWcuICBVc2UgdGhlDQogCSAgIHNpbmds ZS1zdGVwIGJpdCB0byBkbyB0aGlzLiAqLw0KIAlsd3oJcjEyLFRIUkVBRF9EQkNSMChyMTIpDQot CWFuZGlzLglyMTIscjEyLERCQ1IwX0lDQGgNCisJYW5kaXMuCXIxMixyMTIsKERCQ1IwX0lDIHwg REJDUl9EMVIgfCBEQkNSX0QxVylAaA0KIAliZXErCTNmDQogCS8qIEZyb20gdXNlciBhbmQgdGFz ayBpcyBwdHJhY2VkIC0gbG9hZCB1cCBnbG9iYWwgZGJjcjAgKi8NCiAJbGkJcjEyLC0xCQkJLyog Y2xlYXIgYWxsIHBlbmRpbmcgZGVidWcgZXZlbnRzICovDQpAQCAtMjM4LDEwICsyMzgsMTMgQEAN CiAJc3R3CXIxMSxfQ0NSKHIxKQ0KIHN5c2NhbGxfZXhpdF9jb250Og0KICNpZiBkZWZpbmVkKENP TkZJR180eHgpIHx8IGRlZmluZWQoQ09ORklHX0JPT0tFKQ0KLQkvKiBJZiB0aGUgcHJvY2VzcyBo YXMgaXRzIG93biBEQkNSMCB2YWx1ZSwgbG9hZCBpdCB1cC4gIFRoZSBzaW5nbGUNCi0JICAgc3Rl cCBiaXQgdGVsbHMgdXMgdGhhdCBkYmNyMCBzaG91bGQgYmUgbG9hZGVkLiAqLw0KKwkvKg0KKwkq IElmIHRoZSBwcm9jZXNzIGhhcyBpdHMgb3duIERCQ1IwIHZhbHVlLCBsb2FkIGl0IHVwLiAgVGhl IHNpbmdsZQ0KKwkqIHN0ZXAgYml0IHRlbGxzIHVzIHRoYXQgZGJjcjAgc2hvdWxkIGJlIGxvYWRl ZC4gR0RCIGh3IHdhdGNocG9pbnRzDQorCSogbWF5IGFsc28gYmUgc2V0DQorCSovDQogCWx3egly MCxUSFJFQUQrVEhSRUFEX0RCQ1IwKHIyKQ0KLQlhbmRpcy4JcjEwLHIwLERCQ1IwX0lDQGgNCisJ YW5kaXMuCXIxMCxyMCwoREJDUjBfSUMgfCBEQkNSX0QxUiB8IERCQ1JfRDFXKUBoDQogCWJuZWwt CWxvYWRfZGJjcjANCiAjZW5kaWYNCiAJc3R3Y3guCXIwLDAscjEJCQkvKiB0byBjbGVhciB0aGUg cmVzZXJ2YXRpb24gKi8NCkBAIC02NDYsMTAgKzY0OSwxMyBAQA0KIA0KIHJlc3RvcmVfdXNlcjoN CiAjaWYgZGVmaW5lZChDT05GSUdfNHh4KSB8fCBkZWZpbmVkKENPTkZJR19CT09LRSkNCi0JLyog Q2hlY2sgd2hldGhlciB0aGlzIHByb2Nlc3MgaGFzIGl0cyBvd24gREJDUjAgdmFsdWUuICBUaGUg c2luZ2xlDQotCSAgIHN0ZXAgYml0IHRlbGxzIHVzIHRoYXQgZGJjcjAgc2hvdWxkIGJlIGxvYWRl ZC4gKi8NCisJLyoNCisJKiBDaGVjayB3aGV0aGVyIHRoaXMgcHJvY2VzcyBoYXMgaXRzIG93biBE QkNSMCB2YWx1ZS4gIFRoZSBzaW5nbGUNCisJKiBzdGVwIGJpdCB0ZWxscyB1cyB0aGF0IGRiY3Iw IHNob3VsZCBiZSBsb2FkZWQuIEdEQiBodyB3YXRjaHBvaW50cw0KKwkqIG1heSBhbHNvIGJlIHNl dA0KKwkqLw0KIAlsd3oJcjAsVEhSRUFEK1RIUkVBRF9EQkNSMChyMikNCi0JYW5kaXMuCXIxMCxy MCxEQkNSMF9JQ0BoDQorCWFuZGlzLglyMTAscjAsKERCQ1IwX0lDIHwgREJDUl9EMVIgfCBEQkNS X0QxVylAaA0KIAlibmVsLQlsb2FkX2RiY3IwDQogI2VuZGlmDQogDQpkaWZmIC1ydU4gbGludXgu b3JpZy9hcmNoL3Bvd2VycGMva2VybmVsL3Byb2Nlc3MuYyBsaW51eC9hcmNoL3Bvd2VycGMva2Vy bmVsL3Byb2Nlc3MuYw0KLS0tIGxpbnV4Lm9yaWcvYXJjaC9wb3dlcnBjL2tlcm5lbC9wcm9jZXNz LmMJMjAwNy0wNy0xMiAxNzowNDoyMS4wMDAwMDAwMDAgLTAzMDANCisrKyBsaW51eC9hcmNoL3Bv d2VycGMva2VybmVsL3Byb2Nlc3MuYwkyMDA3LTA3LTI3IDEwOjE0OjA0LjAwMDAwMDAwMCAtMDMw MA0KQEAgLTE5Nyw2ICsxOTcsMjAgQEANCiB9DQogI2VuZGlmIC8qIENPTkZJR19TUEUgKi8NCiAN CisvKiBBZGQgc3VwcG9ydCBmb3IgSFcgRGVidWcgYnJlYWtwb2ludC4gICBVc2UgREFDIHJlZ2lz dGVyICovDQordm9pZCBzZXRfZGFjKHVuc2lnbmVkIGxvbmcgZGFjKQ0KK3sNCisgICAgICAgbXRz cHIoU1BSTl9EQUMxLCBkYWMpOw0KK30NCit1bnNpZ25lZCBpbnQgZ2V0X2RhYygpDQorew0KKyAg ICAgICByZXR1cm4gbWZzcHIoU1BSTl9EQUMxKTsNCit9DQordm9pZCBzZXRfZGJjcjAodW5zaWdu ZWQgbG9uZyBkYmNyKQ0KK3sNCisgICAgICAgbXRzcHIoU1BSTl9EQkNSMCwgZGJjcik7DQorfQ0K Kw0KICNpZm5kZWYgQ09ORklHX1NNUA0KIC8qDQogICogSWYgd2UgYXJlIGRvaW5nIGxhenkgc3dp dGNoaW5nIG9mIENQVSBzdGF0ZSAoRlAsIGFsdGl2ZWMgb3IgU1BFKSwNCkBAIC0zMDgsNiArMzIy LDEwIEBADQogCQlfX2dldF9jcHVfdmFyKGN1cnJlbnRfZGFicikgPSBuZXctPnRocmVhZC5kYWJy Ow0KIAl9DQogDQorCS8qIElmIG5ldyB0aHJlYWQgZGFjIChodyBicCkgaXMgdGhlIHNhbWUgdGhl biBsZWF2ZSBpdC4gKi8NCisJaWYgKG5ldy0+dGhyZWFkLmRhYykNCisJCXNldF9kYWMobmV3LT50 aHJlYWQuZGFjKTsNCisNCiAJbmV3X3RocmVhZCA9ICZuZXctPnRocmVhZDsNCiAJb2xkX3RocmVh ZCA9ICZjdXJyZW50LT50aHJlYWQ7DQogDQpAQCAtNDc1LDYgKzQ5MywxMyBAQA0KIA0KIAlkaXNj YXJkX2xhenlfY3B1X3N0YXRlKCk7DQogDQorCWlmIChjdXJyZW50LT50aHJlYWQuZGFjKSB7DQor CQljdXJyZW50LT50aHJlYWQuZGFjID0gMDsNCisJCWN1cnJlbnQtPnRocmVhZC5kYmNyMCAmPSB+ KERCQ1JfRDFSIHwgREJDUl9EMVcpOyAgLyogY2xlYXINCisJCQkJCQkJCWRlYnVnIGNvbnRyb2wg Ki8NCisJCXNldF9kYWMoMCk7DQorCX0NCisNCiAJaWYgKGN1cnJlbnQtPnRocmVhZC5kYWJyKSB7 DQogCQljdXJyZW50LT50aHJlYWQuZGFiciA9IDA7DQogCQlzZXRfZGFicigwKTsNCmRpZmYgLXJ1 TiBsaW51eC5vcmlnL2FyY2gvcG93ZXJwYy9rZXJuZWwvcHRyYWNlLmMgbGludXgvYXJjaC9wb3dl cnBjL2tlcm5lbC9wdHJhY2UuYw0KLS0tIGxpbnV4Lm9yaWcvYXJjaC9wb3dlcnBjL2tlcm5lbC9w dHJhY2UuYwkyMDA3LTA3LTEyIDE3OjA0OjIxLjAwMDAwMDAwMCAtMDMwMA0KKysrIGxpbnV4L2Fy Y2gvcG93ZXJwYy9rZXJuZWwvcHRyYWNlLmMJMjAwNy0wNy0yNyAxMDozNzowMy4wMDAwMDAwMDAg LTAzMDANCkBAIC0yNzMsMTEgKzI3MywxNCBAQA0KIA0KIHN0YXRpYyB2b2lkIGNsZWFyX3Npbmds ZV9zdGVwKHN0cnVjdCB0YXNrX3N0cnVjdCAqdGFzaykNCiB7DQorCWlmICh0YXNrLT50aHJlYWQu ZGFjKSAgIC8qIGlmIGRhYyB0aGVuIG5vdCBzaW5nbGUgc3RlcCwgc2tpcCAqLw0KKwkJcmV0dXJu Ow0KKw0KIAlzdHJ1Y3QgcHRfcmVncyAqcmVncyA9IHRhc2stPnRocmVhZC5yZWdzOw0KIA0KIAlp ZiAocmVncyAhPSBOVUxMKSB7DQogI2lmIGRlZmluZWQoQ09ORklHXzQweCkgfHwgZGVmaW5lZChD T05GSUdfQk9PS0UpDQotCQl0YXNrLT50aHJlYWQuZGJjcjAgPSAwOw0KKwkJdGFzay0+dGhyZWFk LmRiY3IwICY9IH4oREJDUjBfSUMgfCBEQkNSMF9JRE0pOw0KIAkJcmVncy0+bXNyICY9IH5NU1Jf REU7DQogI2Vsc2UNCiAJCXJlZ3MtPm1zciAmPSB+TVNSX1NFOw0KQEAgLTI4NiwyMiArMjg5LDQ4 IEBADQogCWNsZWFyX3Rza190aHJlYWRfZmxhZyh0YXNrLCBUSUZfU0lOR0xFU1RFUCk7DQogfQ0K IA0KLXN0YXRpYyBpbnQgcHRyYWNlX3NldF9kZWJ1Z3JlZyhzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRh c2ssIHVuc2lnbmVkIGxvbmcgYWRkciwNCitzdGF0aWMgaW50IHB0cmFjZV9nZXRfZGVidWdyZWco c3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBsb25nIGRhdGEpDQorew0KKwkjaWZk ZWYgQ09ORklHX1BQQzY0DQorCQlyZXQgPSBwdXRfdXNlcihjaGlsZC0+dGhyZWFkLmRhYnIsDQor CQkJCSh1bnNpZ25lZCBsb25nIF9fdXNlciAqKWRhdGEpOw0KKwkjZWxzZQ0KKwkJcmV0ID0gcHV0 X3VzZXIoY2hpbGQtPnRocmVhZC5kYWMsDQorCQkJCSh1bnNpZ25lZCBsb25nIF9fdXNlciAqKWRh dGEpOw0KKwkjZW5kaWYNCisNCisJcmV0dXJuIHJldDsNCit9DQorDQoraW50IHB0cmFjZV9zZXRf ZGVidWdyZWcoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25lZCBsb25nIGFkZHIsDQog CQkJICAgICAgIHVuc2lnbmVkIGxvbmcgZGF0YSkNCiB7DQotCS8qIFdlIG9ubHkgc3VwcG9ydCBv bmUgREFCUiBhbmQgbm8gSUFCUlMgYXQgdGhlIG1vbWVudCAqLw0KKwkvKiBXZSBvbmx5IHN1cHBv cnQgb25lIERBQyBhbmQgbm8gSUFCUlMgYXQgdGhlIG1vbWVudCAqLw0KIAlpZiAoYWRkciA+IDAp DQogCQlyZXR1cm4gLUVJTlZBTDsNCiANCi0JLyogVGhlIGJvdHRvbSAzIGJpdHMgYXJlIGZsYWdz ICovDQotCWlmICgoZGF0YSAmIH4weDdVTCkgPj0gVEFTS19TSVpFKQ0KLQkJcmV0dXJuIC1FSU87 DQotDQotCS8qIEVuc3VyZSB0cmFuc2xhdGlvbiBpcyBvbiAqLw0KLQlpZiAoZGF0YSAmJiAhKGRh dGEgJiBEQUJSX1RSQU5TTEFUSU9OKSkNCi0JCXJldHVybiAtRUlPOw0KKwl0YXNrLT50aHJlYWQu ZGFjID0gZGF0YSAmIH4weDNVTDsNCisNCisJaWYgKHRhc2stPnRocmVhZC5kYWMgPT0gMCkgew0K KwkJdGFzay0+dGhyZWFkLmRiY3IwICY9IH4oREJDUl9EMVIgfCBEQkNSX0QxVyB8IERCQ1JfSURN KTsNCisJCXRhc2stPnRocmVhZC5yZWdzLT5tc3IgJj0gfk1TUl9ERTsNCisJCXJldHVybiAwOw0K Kwl9DQorDQorCWlmICghKGRhdGEgJiAweDNVTCkpICAgICAgICAgICAgLyogUiBvciBXIG11c3Qg YmUgc2V0ICovDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJLyogQ2hlY2sgZGF0YSBsc2IgZm9y IHIvdyBmbGFnOiAgIDEgPSByICAgMiA9IHcgICB0aGVuIG1hc2sgbG93ZXIgMiBiaXRzDQorCWtl ZXBpbmcgd2F0Y2hwb2ludCBhZGRyIGFsaWduZWQgdG8gMzIgYml0cy4gKi8NCisJdGFzay0+dGhy ZWFkLmRiY3IwID0gREJDUl9JRE07DQorDQorCWlmIChkYXRhICYgMSkNCisJCXRhc2stPnRocmVh ZC5kYmNyMCB8PSBEQkNSX0QxUjsNCisJaWYgKGRhdGEgJiAyKQ0KKwkJdGFzay0+dGhyZWFkLmRi Y3IwIHw9IERCQ1JfRDFXOw0KKw0KKwl0YXNrLT50aHJlYWQucmVncy0+bXNyIHw9IE1TUl9ERTsN CiANCi0JdGFzay0+dGhyZWFkLmRhYnIgPSBkYXRhOw0KIAlyZXR1cm4gMDsNCiB9DQogDQpAQCAt NTAzLDExICs1MzIsMTAgQEANCiANCiAJY2FzZSBQVFJBQ0VfR0VUX0RFQlVHUkVHOiB7DQogCQly ZXQgPSAtRUlOVkFMOw0KLQkJLyogV2Ugb25seSBzdXBwb3J0IG9uZSBEQUJSIGFuZCBubyBJQUJS UyBhdCB0aGUgbW9tZW50ICovDQorCQkvKiBXZSBvbmx5IHN1cHBvcnQgb25lIERBQyBhdCB0aGUg bW9tZW50ICovDQogCQlpZiAoYWRkciA+IDApDQogCQkJYnJlYWs7DQotCQlyZXQgPSBwdXRfdXNl cihjaGlsZC0+dGhyZWFkLmRhYnIsDQotCQkJICAgICAgICh1bnNpZ25lZCBsb25nIF9fdXNlciAq KWRhdGEpOw0KKwkJcmV0ID0gcHRyYWNlX2dldF9kZWJ1Z3JlZyhjaGlsZCwgZGF0YSk7DQogCQli cmVhazsNCiAJfQ0KIA0KZGlmZiAtcnVOIGxpbnV4Lm9yaWcvYXJjaC9wb3dlcnBjL2tlcm5lbC9z aWduYWwuYyBsaW51eC9hcmNoL3Bvd2VycGMva2VybmVsL3NpZ25hbC5jDQotLS0gbGludXgub3Jp Zy9hcmNoL3Bvd2VycGMva2VybmVsL3NpZ25hbC5jCTIwMDctMDctMTIgMTc6MDQ6MjEuMDAwMDAw MDAwIC0wMzAwDQorKysgbGludXgvYXJjaC9wb3dlcnBjL2tlcm5lbC9zaWduYWwuYwkyMDA3LTA3 LTI3IDEwOjMwOjQ3LjAwMDAwMDAwMCAtMDMwMA0KQEAgLTE0Miw2ICsxNDIsMTYgQEANCiAJCXNl dF9kYWJyKGN1cnJlbnQtPnRocmVhZC5kYWJyKTsNCiANCiAJaWYgKGlzMzIpIHsNCisJCS8qDQor CQkqIFJlZW5hYmxlIHRoZSBEQUMgYmVmb3JlIGRlbGl2ZXJpbmcgdGhlIHNpZ25hbCB0bw0KKwkJ KiB1c2VyIHNwYWNlLiBUaGUgREFDIHdpbGwgaGF2ZSBiZWVuIGNsZWFyZWQgaWYgaXQNCisJCSog dHJpZ2dlcmVkIGluc2lkZSB0aGUga2VybmVsLg0KKwkJKi8NCisJCWlmIChjdXJyZW50LT50aHJl YWQuZGFjKSB7DQorCQkJc2V0X2RhYyhjdXJyZW50LT50aHJlYWQuZGFjKTsNCisJCQlzZXRfZGJj cjAoY3VycmVudC0+dGhyZWFkLmRiY3IwKTsNCisJCX0NCisNCiAgICAgICAgIAlpZiAoa2Euc2Eu c2FfZmxhZ3MgJiBTQV9TSUdJTkZPKQ0KIAkJCXJldCA9IGhhbmRsZV9ydF9zaWduYWwzMihzaWdu ciwgJmthLCAmaW5mbywgb2xkc2V0LA0KIAkJCQkJcmVncyk7DQpkaWZmIC1ydU4gbGludXgub3Jp Zy9hcmNoL3Bvd2VycGMva2VybmVsL3RyYXBzLmMgbGludXgvYXJjaC9wb3dlcnBjL2tlcm5lbC90 cmFwcy5jDQotLS0gbGludXgub3JpZy9hcmNoL3Bvd2VycGMva2VybmVsL3RyYXBzLmMJMjAwNy0w Ny0xMiAxNzowNDoyMS4wMDAwMDAwMDAgLTAzMDANCisrKyBsaW51eC9hcmNoL3Bvd2VycGMva2Vy bmVsL3RyYXBzLmMJMjAwNy0wNy0yNyAxMTowMTozMS4wMDAwMDAwMDAgLTAzMDANCkBAIC01NCw2 ICs1NCwxMCBAQA0KICNlbmRpZg0KICNpbmNsdWRlIDxhc20va2V4ZWMuaD4NCiANCitleHRlcm4g aW50IHB0cmFjZV9zZXRfZGVidWdyZWcoc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLCB1bnNpZ25l ZCBsb25nIGFkZHIsDQorCQkJCQkJCXVuc2lnbmVkIGxvbmcgZGF0YSk7DQorZXh0ZXJuIGludCBn ZXRfZGFjKCk7DQorDQogI2lmZGVmIENPTkZJR19ERUJVR0dFUg0KIGludCAoKl9fZGVidWdnZXIp KHN0cnVjdCBwdF9yZWdzICpyZWdzKTsNCiBpbnQgKCpfX2RlYnVnZ2VyX2lwaSkoc3RydWN0IHB0 X3JlZ3MgKnJlZ3MpOw0KQEAgLTYxLDYgKzY1LDcgQEANCiBpbnQgKCpfX2RlYnVnZ2VyX3NzdGVw KShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQogaW50ICgqX19kZWJ1Z2dlcl9pYWJyX21hdGNoKShz dHJ1Y3QgcHRfcmVncyAqcmVncyk7DQogaW50ICgqX19kZWJ1Z2dlcl9kYWJyX21hdGNoKShzdHJ1 Y3QgcHRfcmVncyAqcmVncyk7DQoraW50ICgqX19kZWJ1Z2dlcl9kYWNfbWF0Y2gpKHN0cnVjdCBw dF9yZWdzICpyZWdzKTsNCiBpbnQgKCpfX2RlYnVnZ2VyX2ZhdWx0X2hhbmRsZXIpKHN0cnVjdCBw dF9yZWdzICpyZWdzKTsNCiANCiBFWFBPUlRfU1lNQk9MKF9fZGVidWdnZXIpOw0KQEAgLTY5LDYg Kzc0LDcgQEANCiBFWFBPUlRfU1lNQk9MKF9fZGVidWdnZXJfc3N0ZXApOw0KIEVYUE9SVF9TWU1C T0woX19kZWJ1Z2dlcl9pYWJyX21hdGNoKTsNCiBFWFBPUlRfU1lNQk9MKF9fZGVidWdnZXJfZGFi cl9tYXRjaCk7DQorRVhQT1JUX1NZTUJPTChfX2RlYnVnZ2VyX2RhY19tYXRjaCk7DQogRVhQT1JU X1NZTUJPTChfX2RlYnVnZ2VyX2ZhdWx0X2hhbmRsZXIpOw0KICNlbmRpZg0KIA0KQEAgLTI0Miw2 ICsyNDgsMjUgQEANCiB9DQogI2VuZGlmDQogDQorc3RhdGljIHZvaWQgZG9fZGFjKHN0cnVjdCBw dF9yZWdzICpyZWdzLCB1bnNpZ25lZCBsb25nIGFkZHJlc3MsDQorCQkJCQkJdW5zaWduZWQgbG9u ZyBlcnJvcl9jb2RlKQ0KK3sNCisJc2lnaW5mb190IGluZm87DQorDQorCS8qIENsZWFyIHRoZSBE QUMgYW5kIHN0cnVjdCBlbnRyaWVzLiAgT25lIHNob3QgdHJpZ2dlciAqLw0KKwltdHNwcihTUFJO X0RCQ1IwLCBtZnNwcihTUFJOX0RCQ1IwKSAmIH4oREJDUl9EMVIgfCBEQkNSX0QxVw0KKwkJCQkJ CQl8IERCQ1JfSURNKSk7DQorCXNldF9kYWMoMCk7DQorCXB0cmFjZV9zZXRfZGVidWdyZWcoY3Vy cmVudCwgMCwgMCk7DQorDQorCS8qIERlbGl2ZXIgdGhlIHNpZ25hbCB0byB1c2Vyc3BhY2UgKi8N CisJaW5mby5zaV9zaWdubyA9IFNJR1RSQVA7DQorCWluZm8uc2lfZXJybm8gPSAwOw0KKwlpbmZv LnNpX2NvZGUgPSBUUkFQX0hXQktQVDsNCisJaW5mby5zaV9hZGRyID0gKHZvaWQgX191c2VyICop YWRkcmVzczsNCisJZm9yY2Vfc2lnX2luZm8oU0lHVFJBUCwgJmluZm8sIGN1cnJlbnQpOw0KK30N CisNCiAvKg0KICAqIEkvTyBhY2Nlc3NlcyBjYW4gY2F1c2UgbWFjaGluZSBjaGVja3Mgb24gcG93 ZXJtYWNzLg0KICAqIENoZWNrIGlmIHRoZSBOSVAgY29ycmVzcG9uZHMgdG8gdGhlIGFkZHJlc3Mg b2YgYSBzeW5jDQpAQCAtOTc4LDYgKzEwMDMsMjAgQEANCiAJCQkJcmV0dXJuOw0KIAkJfQ0KIAkJ X2V4Y2VwdGlvbihTSUdUUkFQLCByZWdzLCBUUkFQX1RSQUNFLCAwKTsNCisJfSBlbHNlIGlmIChk ZWJ1Z19zdGF0dXMgJiAoREJTUl9EQUMxUiB8IERCU1JfREFDMVcpKSB7DQorCQlyZWdzLT5tc3Ig Jj0gfk1TUl9ERTsNCisJCWlmICh1c2VyX21vZGUocmVncykpIHsNCisJCQljdXJyZW50LT50aHJl YWQuZGJjcjAgJj0gfihEQkNSX0QxUiB8IERCQ1JfRDFXIHwNCisJCQkJCQkJCURCQ1JfSURNKTsN CisJCX0gZWxzZSB7DQorCQkJLyogRGlzYWJsZSBkYWMgaW50ZXJ1cHRzICovDQorCQkJbXRzcHIo U1BSTl9EQkNSMCwgbWZzcHIoU1BSTl9EQkNSMCkgJiB+KERCQ1JfRDFSIHwNCisJCQkJCQkJREJD Ul9EMVcgfCBEQkNSX0lETSkpOw0KKwkJCS8qIENsZWFyIHRoZSBkYWMgZXZlbnQgKi8NCisJCQlt dHNwcihTUFJOX0RCU1IsIChEQlNSX0RBQzFSIHwgREJTUl9EQUMxVykpOw0KKwkJfQ0KKwkJLyog U2V0dXAgYW5kIHNlbmQgdGhlIHRyYXAgdG8gdGhlIGhhbmRsZXIgKi8NCisJCWRvX2RhYyhyZWdz LCBnZXRfZGFjKCksIGRlYnVnX3N0YXR1cyk7DQogCX0NCiB9DQogI2VuZGlmIC8qIENPTkZJR180 eHggfHwgQ09ORklHX0JPT0tFICovDQpkaWZmIC1ydU4gbGludXgub3JpZy9pbmNsdWRlL2FzbS1w b3dlcnBjL3Byb2Nlc3Nvci5oIGxpbnV4L2luY2x1ZGUvYXNtLXBvd2VycGMvcHJvY2Vzc29yLmgN Ci0tLSBsaW51eC5vcmlnL2luY2x1ZGUvYXNtLXBvd2VycGMvcHJvY2Vzc29yLmgJMjAwNy0wNy0x MiAxNzowNDo1Ni4wMDAwMDAwMDAgLTAzMDANCisrKyBsaW51eC9pbmNsdWRlL2FzbS1wb3dlcnBj L3Byb2Nlc3Nvci5oCTIwMDctMDctMjcgMTA6NDc6MzQuMDAwMDAwMDAwIC0wMzAwDQpAQCAtMTI5 LDYgKzEyOSw3IEBADQogI2lmIGRlZmluZWQoQ09ORklHXzR4eCkgfHwgZGVmaW5lZCAoQ09ORklH X0JPT0tFKQ0KIAl1bnNpZ25lZCBsb25nCWRiY3IwOwkJLyogZGVidWcgY29udHJvbCByZWdpc3Rl ciB2YWx1ZXMgKi8NCiAJdW5zaWduZWQgbG9uZwlkYmNyMTsNCisJdW5zaWduZWQgbG9uZyAgIGRh YzsgICAgICAgICAgICAvKiBEYXRhIEFkZHJlc3MgQ29tcGFyZSByZWdpc3RlciAqLw0KICNlbmRp Zg0KIAlkb3VibGUJCWZwclszMl07CS8qIENvbXBsZXRlIGZsb2F0aW5nIHBvaW50IHNldCAqLw0K IAlzdHJ1Y3QgewkJCS8qIGZwciAuLi4gZnBzY3IgbXVzdCBiZSBjb250aWd1b3VzICovDQpkaWZm IC1ydU4gbGludXgub3JpZy9pbmNsdWRlL2FzbS1wb3dlcnBjL3N5c3RlbS5oIGxpbnV4L2luY2x1 ZGUvYXNtLXBvd2VycGMvc3lzdGVtLmgNCi0tLSBsaW51eC5vcmlnL2luY2x1ZGUvYXNtLXBvd2Vy cGMvc3lzdGVtLmgJMjAwNy0wNy0xMiAxNzowNDo1Ni4wMDAwMDAwMDAgLTAzMDANCisrKyBsaW51 eC9pbmNsdWRlL2FzbS1wb3dlcnBjL3N5c3RlbS5oCTIwMDctMDctMjcgMTE6MDU6MTQuMDAwMDAw MDAwIC0wMzAwDQpAQCAtNzIsNiArNzIsNyBAQA0KIGV4dGVybiBpbnQgKCpfX2RlYnVnZ2VyX3Nz dGVwKShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQogZXh0ZXJuIGludCAoKl9fZGVidWdnZXJfaWFi cl9tYXRjaCkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOw0KIGV4dGVybiBpbnQgKCpfX2RlYnVnZ2Vy X2RhYnJfbWF0Y2gpKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsNCitleHRlcm4gaW50ICgqX19kZWJ1 Z2dlcl9kYWNfbWF0Y2gpKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsNCiBleHRlcm4gaW50ICgqX19k ZWJ1Z2dlcl9mYXVsdF9oYW5kbGVyKShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7DQogDQogI2RlZmlu ZSBERUJVR0dFUl9CT0lMRVJQTEFURShfX05BTUUpIFwNCkBAIC04OCw2ICs4OSw3IEBADQogREVC VUdHRVJfQk9JTEVSUExBVEUoZGVidWdnZXJfc3N0ZXApDQogREVCVUdHRVJfQk9JTEVSUExBVEUo ZGVidWdnZXJfaWFicl9tYXRjaCkNCiBERUJVR0dFUl9CT0lMRVJQTEFURShkZWJ1Z2dlcl9kYWJy X21hdGNoKQ0KK0RFQlVHR0VSX0JPSUxFUlBMQVRFKGRlYnVnZ2VyX2RhY19tYXRjaCkNCiBERUJV R0dFUl9CT0lMRVJQTEFURShkZWJ1Z2dlcl9mYXVsdF9oYW5kbGVyKQ0KIA0KICNlbHNlDQpAQCAt OTcsMTAgKzk5LDEzIEBADQogc3RhdGljIGlubGluZSBpbnQgZGVidWdnZXJfc3N0ZXAoc3RydWN0 IHB0X3JlZ3MgKnJlZ3MpIHsgcmV0dXJuIDA7IH0NCiBzdGF0aWMgaW5saW5lIGludCBkZWJ1Z2dl cl9pYWJyX21hdGNoKHN0cnVjdCBwdF9yZWdzICpyZWdzKSB7IHJldHVybiAwOyB9DQogc3RhdGlj IGlubGluZSBpbnQgZGVidWdnZXJfZGFicl9tYXRjaChzdHJ1Y3QgcHRfcmVncyAqcmVncykgeyBy ZXR1cm4gMDsgfQ0KK3N0YXRpYyBpbmxpbmUgaW50IGRlYnVnZ2VyX2RhY19tYXRjaChzdHJ1Y3Qg cHRfcmVncyAqcmVncykgeyByZXR1cm4gMDsgfQ0KIHN0YXRpYyBpbmxpbmUgaW50IGRlYnVnZ2Vy X2ZhdWx0X2hhbmRsZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpIHsgcmV0dXJuIDA7IH0NCiAjZW5k aWYNCiANCiBleHRlcm4gaW50IHNldF9kYWJyKHVuc2lnbmVkIGxvbmcgZGFicik7DQorZXh0ZXJu IHZvaWQgc2V0X2RhYyh1bnNpZ25lZCBsb25nIGRhYyk7DQorZXh0ZXJuIHZvaWQgc2V0X2RiY3Iw KHVuc2lnbmVkIGxvbmcgZGJjcik7DQogZXh0ZXJuIHZvaWQgcHJpbnRfYmFja3RyYWNlKHVuc2ln bmVkIGxvbmcgKik7DQogZXh0ZXJuIHZvaWQgc2hvd19yZWdzKHN0cnVjdCBwdF9yZWdzICogcmVn cyk7DQogZXh0ZXJuIHZvaWQgZmx1c2hfaW5zdHJ1Y3Rpb25fY2FjaGUodm9pZCk7DQo= --=-7xJjaJfSoiOi8l1MVF9G-- --=-XWxv2UKUX/kBmZ5Q/xcu Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQBGrj4pRpuC3B/O3qERAj9vAJ9lEEA7A5yY64pGSFyv8nQcQlPMlwCeLk/B wPDqD4KB6mAD97QJ+U6wROY= =vzTD -----END PGP SIGNATURE----- --=-XWxv2UKUX/kBmZ5Q/xcu--