From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from wproxy.gmail.com (wproxy.gmail.com [64.233.184.198]) by ozlabs.org (Postfix) with ESMTP id BD2862BF16 for ; Mon, 10 Jan 2005 04:46:07 +1100 (EST) Received: by wproxy.gmail.com with SMTP id 36so184189wra for ; Sun, 09 Jan 2005 09:46:06 -0800 (PST) Message-ID: <4240b91605010909463e44bba8@mail.gmail.com> Date: Sun, 9 Jan 2005 18:46:05 +0100 From: Jerome Glisse To: Christoph Hellwig In-Reply-To: <20050109160614.GA22839@lst.de> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1573_660356.1105292765921" References: <4240b916050109072621440269@mail.gmail.com> <20050109160614.GA22839@lst.de> Cc: linuxppc64-dev@ozlabs.org, linuxppc-dev@ozlabs.org Subject: Re: U3 G5 AGP support patch (v4) Reply-To: Jerome Glisse List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , ------=_Part_1573_660356.1105292765921 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline > Please delcare separate driver instance instead of overriding. I hope new patch follow codestyle ? :) > And asm-ppc64 is still missing an agp.h, no? Maybe, some one with better knowledge may tell us more on that :) Anyway BenH tell me that there is still pending issue with agp & a potential cache aliasing. best, Jerome Glisse ------=_Part_1573_660356.1105292765921 Content-Type: application/octet-stream; name="uninorth-patch5" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="uninorth-patch5" ZGlmZiAtTnJ1IGxpbnV4L2RyaXZlcnMvY2hhci9hZ3AvS2NvbmZpZyBsaW51eC1uZXcvZHJpdmVy cy9jaGFyL2FncC9LY29uZmlnCi0tLSBsaW51eC9kcml2ZXJzL2NoYXIvYWdwL0tjb25maWcJMjAw NC0xMi0yNiAxNDozOToyOC4wMDAwMDAwMDAgKzAxMDAKKysrIGxpbnV4LW5ldy9kcml2ZXJzL2No YXIvYWdwL0tjb25maWcJMjAwNS0wMS0wOSAxNDo1MzowNy4wMDAwMDAwMDAgKzAxMDAKQEAgLTE1 NSwxMSArMTU1LDExIEBACiAJZGVmYXVsdCBBR1AKIAogY29uZmlnIEFHUF9VTklOT1JUSAotCXRy aXN0YXRlICJBcHBsZSBVbmlOb3J0aCBBR1Agc3VwcG9ydCIKKwl0cmlzdGF0ZSAiQXBwbGUgVW5p Tm9ydGggJiBVMyBBR1Agc3VwcG9ydCIKIAlkZXBlbmRzIG9uIEFHUCAmJiBQUENfUE1BQwogCWhl bHAKIAkgIFRoaXMgb3B0aW9uIGdpdmVzIHlvdSBBR1Agc3VwcG9ydCBmb3IgQXBwbGUgbWFjaGlu ZXMgd2l0aCBhCi0JICBVbmlOb3J0aCBicmlkZ2UuCisJICBVbmlOb3J0aCBvciBVMyAoQXBwbGUg RzUpIGJyaWRnZS4KIAogY29uZmlnIEFHUF9FRkZJQ0VPTgogCXRyaXN0YXRlICJUcmFuc21ldGEg RWZmaWNlb24gc3VwcG9ydCIKZGlmZiAtTnJ1IGxpbnV4L2RyaXZlcnMvY2hhci9hZ3AvdW5pbm9y dGgtYWdwLmMgbGludXgtbmV3L2RyaXZlcnMvY2hhci9hZ3AvdW5pbm9ydGgtYWdwLmMKLS0tIGxp bnV4L2RyaXZlcnMvY2hhci9hZ3AvdW5pbm9ydGgtYWdwLmMJMjAwNC0xMi0yNiAxNDozOToyOC4w MDAwMDAwMDAgKzAxMDAKKysrIGxpbnV4LW5ldy9kcml2ZXJzL2NoYXIvYWdwL3VuaW5vcnRoLWFn cC5jCTIwMDUtMDEtMDkgMTg6MzE6NTEuMDAwMDAwMDAwICswMTAwCkBAIC04LDggKzgsMzcgQEAK ICNpbmNsdWRlIDxsaW51eC9hZ3BfYmFja2VuZC5oPgogI2luY2x1ZGUgPGFzbS91bmlub3J0aC5o PgogI2luY2x1ZGUgPGFzbS9wY2ktYnJpZGdlLmg+CisjaW5jbHVkZSA8YXNtL3NlY3Rpb25zLmg+ CisjaW5jbHVkZSA8YXNtL3Byb20uaD4KICNpbmNsdWRlICJhZ3AuaCIKIAorLyoKKyAqIE5PVEVT IGZvciB1bmlub3J0aDMgKEc1IEFHUCkgc3VwcG9ydHMgOgorICoKKyAqIFRoaXMgYXJlIHJlZHVu ZGFudCB3aXRoIGFyY2gvcHBjKDY0KS9wbGF0Zm9ybXMvcG1hY19mZWF0dXJlcy5jLAorICogd2Ug bmVlZCB0byBrbm93IHVuaW5vcnRoX3JldiBhbnkgb3RoZXIgd2F5ID8KKyAqCisgKiBUaGVyZSBt YXliZSBhbHNvIHBvc3NpYmlsaXR5IHRvIGhhdmUgYmlnZ2VyIGNhY2hlIGxpbmUgc2l6ZSBmb3IK KyAqIGFncCAoc2VlIHBtYWNfcGNpLmMgYW5kIGxvb2sgZm9yIGNhY2hlIGxpbmUpLiBOZWVkIHRv IGJlIGludmVzdGlnYXRlZAorICogYnkgc29tZW9uZS4KKyAqCisgKiBEYXJ3aW4gc2VlbXMgdG8g YWRkIFVOSV9OX0NGR19HQVJUX1BFUkZSRCBmb3IgYWxsIGFncDMgY29udHJvbGxlciBidXQKKyAq IHRoaXMgc2VlbXMgdG8gd29yayB3aXRob3V0IHRoaXMsIHNvIGluIG9yZGVyIHRvIG1pbmltaXpl IGNvZGUgZGlmZmVyZW5jZXMKKyAqIGJldHdlZW4gQUdQMiAmIEFHUDMgdW5pbm9ydGgsIGkgZG8g bm90IHNldCB0aGlzLgorICoKKyAqIFBBR0Ugc2l6ZSBhcmUgaGFyZGNvZGVkIGJ1dCB0aGlzIG1h eSBjaGFuZ2UsIHNlZSBhc20vcGFnZS5oLgorICoKKyAqIEplcm9tZSBHbGlzc2UgPGouZ2xpc3Nl QGdtYWlsLmNvbT4KKyAqLworc3RhdGljIHN0cnVjdCBkZXZpY2Vfbm9kZSAqdW5pbm9ydGhfbm9k ZSBfX3BtYWNkYXRhOworc3RhdGljIHUzMiBfX2lvbWVtICp1bmlub3J0aF9iYXNlIF9fcG1hY2Rh dGE7CitzdGF0aWMgdTMyIHVuaW5vcnRoX3JldiBfX3BtYWNkYXRhOworCisvKgorICogVW5pbm9y dGggcmVnLiBhY2Nlc3MuIE5vdGUgdGhhdCBVbmktTiByZWdzIGFyZSBiaWcgZW5kaWFuCisgKi8K KyNkZWZpbmUgVU5fUkVHKHIpCSh1bmlub3J0aF9iYXNlICsgKChyKSA+PiAyKSkKKwogc3RhdGlj IGludCB1bmlub3J0aF9mZXRjaF9zaXplKHZvaWQpCiB7CiAJaW50IGk7CkBAIC0xNyw3ICs0Niw3 IEBACiAJc3RydWN0IGFwZXJfc2l6ZV9pbmZvXzMyICp2YWx1ZXM7CiAKIAlwY2lfcmVhZF9jb25m aWdfZHdvcmQoYWdwX2JyaWRnZS0+ZGV2LCBVTklfTl9DRkdfR0FSVF9CQVNFLCAmdGVtcCk7Ci0J dGVtcCAmPSB+KDB4ZmZmZmYwMDApOworCXRlbXAgJj0gflBBR0VfTUFTSzsKIAl2YWx1ZXMgPSBB X1NJWkVfMzIoYWdwX2JyaWRnZS0+ZHJpdmVyLT5hcGVydHVyZV9zaXplcyk7CiAKIAlmb3IgKGkg PSAwOyBpIDwgYWdwX2JyaWRnZS0+ZHJpdmVyLT5udW1fYXBlcnR1cmVfc2l6ZXM7IGkrKykgewpA QCAtNzMsNyArMTAyLDcgQEAKIAkvKiBhcGVydHVyZSBzaXplIGFuZCBnYXR0IGFkZHIgKi8KIAlw Y2lfd3JpdGVfY29uZmlnX2R3b3JkKGFncF9icmlkZ2UtPmRldiwKIAkJVU5JX05fQ0ZHX0dBUlRf QkFTRSwKLQkJKGFncF9icmlkZ2UtPmdhdHRfYnVzX2FkZHIgJiAweGZmZmZmMDAwKQorCQkoYWdw X2JyaWRnZS0+Z2F0dF9idXNfYWRkciAmIFBBR0VfTUFTSykKIAkJCXwgY3VycmVudF9zaXplLT5z aXplX3ZhbHVlKTsKIAogCS8qIEhBQ0sgQUxFUlQKQEAgLTExMSwxNCArMTQwLDU1IEBACiAJfQog CiAJZm9yIChpID0gMCwgaiA9IHBnX3N0YXJ0OyBpIDwgbWVtLT5wYWdlX2NvdW50OyBpKyssIGor KykgewotCQlhZ3BfYnJpZGdlLT5nYXR0X3RhYmxlW2pdID0gY3B1X3RvX2xlMzIoKG1lbS0+bWVt b3J5W2ldICYgMHhmZmZmZjAwMCkgfCAweDAwMDAwMDAxVUwpOworCQlhZ3BfYnJpZGdlLT5nYXR0 X3RhYmxlW2pdID0gY3B1X3RvX2xlMzIoKG1lbS0+bWVtb3J5W2ldICYKKwkJCQkJCQkgUEFHRV9N QVNLKSB8CisJCQkJCQkJMHgwMDAwMDAwMVVMKTsKKwkJZmx1c2hfZGNhY2hlX3JhbmdlKCh1bnNp Z25lZCBsb25nKV9fdmEobWVtLT5tZW1vcnlbaV0pLAorCQkJCSAgICh1bnNpZ25lZCBsb25nKV9f dmEobWVtLT5tZW1vcnlbaV0pKzB4MTAwMCk7CisJfQorCSh2b2lkKWluX2xlMzIoKHZvbGF0aWxl IHUzMiopJmFncF9icmlkZ2UtPmdhdHRfdGFibGVbcGdfc3RhcnRdKTsKKwltYigpOworCWZsdXNo X2RjYWNoZV9yYW5nZSgodW5zaWduZWQgbG9uZykmYWdwX2JyaWRnZS0+Z2F0dF90YWJsZVtwZ19z dGFydF0sIAorCQkodW5zaWduZWQgbG9uZykmYWdwX2JyaWRnZS0+Z2F0dF90YWJsZVtwZ19zdGFy dCArCisJCQkJCQkJbWVtLT5wYWdlX2NvdW50XSk7CisKKwl1bmlub3J0aF90bGJmbHVzaChtZW0p OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHUzX2luc2VydF9tZW1vcnkoc3RydWN0IGFn cF9tZW1vcnkgKm1lbSwgb2ZmX3QgcGdfc3RhcnQsIGludCB0eXBlKQoreworCWludCBpLCBqLCBu dW1fZW50cmllczsKKwl2b2lkICp0ZW1wOworCisJdGVtcCA9IGFncF9icmlkZ2UtPmN1cnJlbnRf c2l6ZTsKKwludW1fZW50cmllcyA9IEFfU0laRV8zMih0ZW1wKS0+bnVtX2VudHJpZXM7CisKKwlp ZiAodHlwZSAhPSAwIHx8IG1lbS0+dHlwZSAhPSAwKQorCQkvKiBXZSBrbm93IG5vdGhpbmcgb2Yg bWVtb3J5IHR5cGVzICovCisJCXJldHVybiAtRUlOVkFMOworCWlmICgocGdfc3RhcnQgKyBtZW0t PnBhZ2VfY291bnQpID4gbnVtX2VudHJpZXMpCisJCXJldHVybiAtRUlOVkFMOworCisJaiA9IHBn X3N0YXJ0OworCisJd2hpbGUgKGogPCAocGdfc3RhcnQgKyBtZW0tPnBhZ2VfY291bnQpKSB7CisJ CWlmICghUEdFX0VNUFRZKGFncF9icmlkZ2UsIGFncF9icmlkZ2UtPmdhdHRfdGFibGVbal0pKQor CQkJcmV0dXJuIC1FQlVTWTsKKwkJaisrOworCX0KKworCWZvciAoaSA9IDAsIGogPSBwZ19zdGFy dDsgaSA8IG1lbS0+cGFnZV9jb3VudDsgaSsrLCBqKyspIHsKKwkJYWdwX2JyaWRnZS0+Z2F0dF90 YWJsZVtqXSA9ICgobWVtLT5tZW1vcnlbaV0gPj4gUEFHRV9TSElGVCkgfAorCQkJCQkJMHg4MDAw MDAwMFVMKTsKIAkJZmx1c2hfZGNhY2hlX3JhbmdlKCh1bnNpZ25lZCBsb25nKV9fdmEobWVtLT5t ZW1vcnlbaV0pLAogCQkJCSAgICh1bnNpZ25lZCBsb25nKV9fdmEobWVtLT5tZW1vcnlbaV0pKzB4 MTAwMCk7CiAJfQogCSh2b2lkKWluX2xlMzIoKHZvbGF0aWxlIHUzMiopJmFncF9icmlkZ2UtPmdh dHRfdGFibGVbcGdfc3RhcnRdKTsKIAltYigpOwogCWZsdXNoX2RjYWNoZV9yYW5nZSgodW5zaWdu ZWQgbG9uZykmYWdwX2JyaWRnZS0+Z2F0dF90YWJsZVtwZ19zdGFydF0sIAotCQkodW5zaWduZWQg bG9uZykmYWdwX2JyaWRnZS0+Z2F0dF90YWJsZVtwZ19zdGFydCArIG1lbS0+cGFnZV9jb3VudF0p OworCQkodW5zaWduZWQgbG9uZykmYWdwX2JyaWRnZS0+Z2F0dF90YWJsZVtwZ19zdGFydCArCisJ CQkJCQkJbWVtLT5wYWdlX2NvdW50XSk7CiAKIAl1bmlub3J0aF90bGJmbHVzaChtZW0pOwogCXJl dHVybiAwOwpAQCAtMTM0LDcgKzIwNCwyMyBAQAogCQkJICAgICAgJmNvbW1hbmQpOwogCiAJY29t bWFuZCA9IGFncF9jb2xsZWN0X2RldmljZV9zdGF0dXMobW9kZSwgY29tbWFuZCk7Ci0JY29tbWFu ZCB8PSAweDEwMDsKKwljb21tYW5kIHw9IFVOSV9OX0NGR19HQVJUX0VOQUJMRTsKKwkKKwlpZiAo dW5pbm9ydGhfcmV2ID09IDB4MjEpIHsKKwkJLyoKKwkJICogRGFyd2luIGRpc2FibGUgQUdQIDR4 IG9uIHRoaXMgcmV2aXNpb24sIHRodXMgd2UKKwkJICogbWF5IGFzc3VtZSBpdCdzIGJyb2tlbi4g VGhpcyBpcyBhbiBBR1AyIGNvbnRyb2xsZXIuCisJCSAqLworCQljb21tYW5kICY9IH5BR1BTVEFU Ml80WDsKKwl9CisKKwlpZiAoKHVuaW5vcnRoX3JldiA+PSAweDMwKSAmJiAodW5pbm9ydGhfcmV2 IDw9IDB4MzMpKSB7CisJCS8qCisJCSAqIFdlIG5lZWQgdG8gdG8gc2V0IFJFUV9ERVBUSCB0byA3 IGZvciBVMyB2ZXJzaW9ucyAxLjAsIDIuMSwKKwkJICogMi4yIGFuZCAyLjMsIERhcndpbiBkbyBz by4KKwkJICovCisJCWNvbW1hbmQgfD0gKDcgPDwgQUdQU1RBVF9SUV9ERVBUSF9TSElGVCk7CisJ fQogCiAJdW5pbm9ydGhfdGxiZmx1c2goTlVMTCk7CiAKQEAgLTE0NiwxMSArMjMyLDE3IEBACiAJ CXBjaV9yZWFkX2NvbmZpZ19kd29yZChhZ3BfYnJpZGdlLT5kZXYsCiAJCQkJICAgICAgIGFncF9i cmlkZ2UtPmNhcG5keCArIFBDSV9BR1BfQ09NTUFORCwKIAkJCQkgICAgICAgJnNjcmF0Y2gpOwot CX0gd2hpbGUgKChzY3JhdGNoICYgMHgxMDApID09IDAgJiYgKyt0aW1lb3V0IDwgMTAwMCk7Ci0J aWYgKChzY3JhdGNoICYgMHgxMDApID09IDApCisJfSB3aGlsZSAoKHNjcmF0Y2ggJiBVTklfTl9D RkdfR0FSVF9FTkFCTEUpID09IDAgJiYgKyt0aW1lb3V0IDwgMTAwMCk7CisJaWYgKChzY3JhdGNo ICYgVU5JX05fQ0ZHX0dBUlRfRU5BQkxFKSA9PSAwKQogCQlwcmludGsoS0VSTl9FUlIgUEZYICJm YWlsZWQgdG8gd3JpdGUgVW5pTm9ydGggQUdQIGNvbW1hbmQgcmVnXG4iKTsKIAotCWFncF9kZXZp Y2VfY29tbWFuZChjb21tYW5kLCAwKTsKKwlpZiAoYWdwX2JyaWRnZS0+ZGV2LT5kZXZpY2UgPT0g UENJX0RFVklDRV9JRF9BUFBMRV9VM19BR1ApIHsKKwkJLyogVGhpcyBpcyBhbiBBR1AgVjMgKi8K KwkJYWdwX2RldmljZV9jb21tYW5kKGNvbW1hbmQsIDEpOworCX0gZWxzZSB7CisJCS8qIEFHUCBW MiAqLworCQlhZ3BfZGV2aWNlX2NvbW1hbmQoY29tbWFuZCwgMCk7CisJfQogCiAJdW5pbm9ydGhf dGxiZmx1c2goTlVMTCk7CiB9CkBAIC0yNTgsNiArMzUwLDIyIEBACiAJezQsIDEwMjQsIDAsIDF9 CiB9OwogCisvKgorICogTm90IHN1cmUgdGhhdCB1MyBzdXBwb3J0cyB0aGF0IGhpZ2ggYXBlcnR1 cmUgc2l6ZXMgYnV0IGl0CisgKiB3b3VsZCBzdHJhbmdlIGlmIGl0IGRpZCBub3QgOikKKyAqLwor c3RhdGljIHN0cnVjdCBhcGVyX3NpemVfaW5mb18zMiB1M19zaXplc1s4XSA9Cit7CisJezUxMiwg MTMxMDcyLCA3LCAxMjh9LAorCXsyNTYsIDY1NTM2LCA2LCA2NH0sCisJezEyOCwgMzI3NjgsIDUs IDMyfSwKKwl7NjQsIDE2Mzg0LCA0LCAxNn0sCisJezMyLCA4MTkyLCAzLCA4fSwKKwl7MTYsIDQw OTYsIDIsIDR9LAorCXs4LCAyMDQ4LCAxLCAyfSwKKwl7NCwgMTAyNCwgMCwgMX0KK307CisKIHN0 cnVjdCBhZ3BfYnJpZGdlX2RyaXZlciB1bmlub3J0aF9hZ3BfZHJpdmVyID0gewogCS5vd25lcgkJ CT0gVEhJU19NT0RVTEUsCiAJLmFwZXJ0dXJlX3NpemVzCQk9ICh2b2lkICopdW5pbm9ydGhfc2l6 ZXMsCkBAIC0yODIsNiArMzkwLDMwIEBACiAJLmNhbnRfdXNlX2FwZXJ0dXJlCT0gMSwKIH07CiAK K3N0cnVjdCBhZ3BfYnJpZGdlX2RyaXZlciB1M19hZ3BfZHJpdmVyID0geworCS5vd25lcgkJCT0g VEhJU19NT0RVTEUsCisJLmFwZXJ0dXJlX3NpemVzCQk9ICh2b2lkICopdTNfc2l6ZXMsCisJLnNp emVfdHlwZQkJPSBVMzJfQVBFUl9TSVpFLAorCS5udW1fYXBlcnR1cmVfc2l6ZXMJPSA4LAorCS5j b25maWd1cmUJCT0gdW5pbm9ydGhfY29uZmlndXJlLAorCS5mZXRjaF9zaXplCQk9IHVuaW5vcnRo X2ZldGNoX3NpemUsCisJLmNsZWFudXAJCT0gdW5pbm9ydGhfY2xlYW51cCwKKwkudGxiX2ZsdXNo CQk9IHVuaW5vcnRoX3RsYmZsdXNoLAorCS5tYXNrX21lbW9yeQkJPSBhZ3BfZ2VuZXJpY19tYXNr X21lbW9yeSwKKwkubWFza3MJCQk9IE5VTEwsCisJLmNhY2hlX2ZsdXNoCQk9IG51bGxfY2FjaGVf Zmx1c2gsCisJLmFncF9lbmFibGUJCT0gdW5pbm9ydGhfYWdwX2VuYWJsZSwKKwkuY3JlYXRlX2dh dHRfdGFibGUJPSB1bmlub3J0aF9jcmVhdGVfZ2F0dF90YWJsZSwKKwkuZnJlZV9nYXR0X3RhYmxl CT0gdW5pbm9ydGhfZnJlZV9nYXR0X3RhYmxlLAorCS5pbnNlcnRfbWVtb3J5CQk9IHUzX2luc2Vy dF9tZW1vcnksCisJLnJlbW92ZV9tZW1vcnkJCT0gYWdwX2dlbmVyaWNfcmVtb3ZlX21lbW9yeSwK KwkuYWxsb2NfYnlfdHlwZQkJPSBhZ3BfZ2VuZXJpY19hbGxvY19ieV90eXBlLAorCS5mcmVlX2J5 X3R5cGUJCT0gYWdwX2dlbmVyaWNfZnJlZV9ieV90eXBlLAorCS5hZ3BfYWxsb2NfcGFnZQkJPSBh Z3BfZ2VuZXJpY19hbGxvY19wYWdlLAorCS5hZ3BfZGVzdHJveV9wYWdlCT0gYWdwX2dlbmVyaWNf ZGVzdHJveV9wYWdlLAorCS5jYW50X3VzZV9hcGVydHVyZQk9IDEsCit9OworCiBzdGF0aWMgc3Ry dWN0IGFncF9kZXZpY2VfaWRzIHVuaW5vcnRoX2FncF9kZXZpY2VfaWRzW10gX19kZXZpbml0ZGF0 YSA9IHsKIAl7CiAJCS5kZXZpY2VfaWQJPSBQQ0lfREVWSUNFX0lEX0FQUExFX1VOSV9OX0FHUCwK QEAgLTI5OSw2ICs0MzEsMTAgQEAKIAkJLmRldmljZV9pZAk9IFBDSV9ERVZJQ0VfSURfQVBQTEVf VU5JX05fQUdQMiwKIAkJLmNoaXBzZXRfbmFtZQk9ICJVbmlOb3J0aCAyIiwKIAl9LAorCXsKKwkJ LmRldmljZV9pZAk9IFBDSV9ERVZJQ0VfSURfQVBQTEVfVTNfQUdQLAorCQkuY2hpcHNldF9uYW1l CT0gIlUzIiwKKwl9LAogfTsKIAogc3RhdGljIGludCBfX2RldmluaXQgYWdwX3VuaW5vcnRoX3By b2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2LApAQCAtMzI3LDExICs0NjMsMzUgQEAKIAlyZXR1cm4g LUVOT0RFVjsKIAogIGZvdW5kOgorCS8qIFNldCByZXZpc2lvbiB0byAwIGlmIHdlIGNvdWxkIG5v dCByZWFkIGl0LiAqLworCXVuaW5vcnRoX3JldiA9IDA7CisJLyogTG9jYXRlIGNvcmU5OSBVbmkt TiAqLworCXVuaW5vcnRoX25vZGUgPSBvZl9maW5kX25vZGVfYnlfbmFtZShOVUxMLCAidW5pLW4i KTsKKwkvKiBMb2NhdGUgRzUgdTMgKi8KKwlpZiAodW5pbm9ydGhfbm9kZSA9PSBOVUxMKSB7CisJ CXVuaW5vcnRoX25vZGUgPSBvZl9maW5kX25vZGVfYnlfbmFtZShOVUxMLCAidTMiKTsKKwl9CisJ aWYgKHVuaW5vcnRoX25vZGUgJiYgdW5pbm9ydGhfbm9kZS0+bl9hZGRycyA+IDApIHsKKwkJdW5z aWduZWQgbG9uZyBhZGRyZXNzID0gdW5pbm9ydGhfbm9kZS0+YWRkcnNbMF0uYWRkcmVzczsKKwkJ dW5pbm9ydGhfYmFzZSA9IGlvcmVtYXAoYWRkcmVzcywgMHg0MDAwMCk7CisJCXVuaW5vcnRoX3Jl diA9IGluX2JlMzIoVU5fUkVHKFVOSV9OX1ZFUlNJT04pKTsKKwkJLyoKKwkJICogU29tZSByZXZz IGhhdmUgc29tZSBoaWdoIGJpdHMgc2V0cyBpbiB0aGUgdmVyc2lvbiByZWdpc3RlciwKKwkJICog bWFzayBpdCB0aHVzIHRoZXkgd29uJ3QgbWVzcyB1cCB3aXRoIHRoZSB2ZXJzaW9uIG51bWJlcgor CQkgKi8KKwkJdW5pbm9ydGhfcmV2ICY9IDB4M2Y7CisJfQorCiAJYnJpZGdlID0gYWdwX2FsbG9j X2JyaWRnZSgpOwogCWlmICghYnJpZGdlKQogCQlyZXR1cm4gLUVOT01FTTsKIAotCWJyaWRnZS0+ ZHJpdmVyID0gJnVuaW5vcnRoX2FncF9kcml2ZXI7CisJaWYgKHBkZXYtPmRldmljZSA9PSBQQ0lf REVWSUNFX0lEX0FQUExFX1UzX0FHUCkgeworCQlicmlkZ2UtPmRyaXZlciA9ICZ1M19hZ3BfZHJp dmVyOworCX0gZWxzZSB7CisJCWJyaWRnZS0+ZHJpdmVyID0gJnVuaW5vcnRoX2FncF9kcml2ZXI7 CisJfQorCiAJYnJpZGdlLT5kZXYgPSBwZGV2OwogCWJyaWRnZS0+Y2FwbmR4ID0gY2FwX3B0cjsK IApkaWZmIC1OcnUgbGludXgvZHJpdmVycy9pZGUvcHBjL3BtYWMuYyBsaW51eC1uZXcvZHJpdmVy cy9pZGUvcHBjL3BtYWMuYwotLS0gbGludXgvZHJpdmVycy9pZGUvcHBjL3BtYWMuYwkyMDA0LTEy LTI2IDE0OjM5OjQzLjAwMDAwMDAwMCArMDEwMAorKysgbGludXgtbmV3L2RyaXZlcnMvaWRlL3Bw Yy9wbWFjLmMJMjAwNS0wMS0wOSAxNToxMTo1OC4wMDAwMDAwMDAgKzAxMDAKQEAgLTE1MjcsNyAr MTUyNyw3IEBACiB9OwogCiBzdGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgcG1hY19pZGVfcGNp X21hdGNoW10gPSB7Ci0JeyBQQ0lfVkVORE9SX0lEX0FQUExFLCBQQ0lfREVWSUVDX0lEX0FQUExF X1VOSV9OX0FUQSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgMH0sCisJeyBQQ0lfVkVO RE9SX0lEX0FQUExFLCBQQ0lfREVWSUNFX0lEX0FQUExFX1VOSV9OX0FUQSwgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgMH0sCiAJeyBQQ0lfVkVORE9SX0lEX0FQUExFLCBQQ0lfREVWSUNF X0lEX0FQUExFX0lQSURfQVRBMTAwLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCAwfSwK IAl7IFBDSV9WRU5ET1JfSURfQVBQTEUsIFBDSV9ERVZJQ0VfSURfQVBQTEVfSzJfQVRBMTAwLCBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCAwfSwKIH07CmRpZmYgLU5ydSBsaW51eC9pbmNs dWRlL2FzbS91bmlub3J0aC5oIGxpbnV4LW5ldy9pbmNsdWRlL2FzbS91bmlub3J0aC5oCi0tLSBs aW51eC9pbmNsdWRlL2FzbS91bmlub3J0aC5oCTIwMDQtMTItMjYgMTQ6NDA6MDMuMDAwMDAwMDAw ICswMTAwCisrKyBsaW51eC1uZXcvaW5jbHVkZS9hc20vdW5pbm9ydGguaAkyMDA1LTAxLTA5IDE0 OjQ1OjI3LjAwMDAwMDAwMCArMDEwMApAQCAtMzQsNiArMzQsMTEgQEAKICNkZWZpbmUgVU5JX05f Q0ZHX0dBUlRfRU5BQkxFCQkweDAwMDAwMTAwCiAjZGVmaW5lIFVOSV9OX0NGR19HQVJUXzJ4UkVT RVQJCTB4MDAwMTAwMDAKICNkZWZpbmUgVU5JX05fQ0ZHX0dBUlRfRElTU0JBREVUCTB4MDAwMjAw MDAKKy8qIFRoZSBmb2xsb3dpbmcgc2VlbXMgdG8gb25seSBiZSB1c2VkIG9ubHkgb24gVTMgPGou Z2xpc3NlQGdtYWlsLmNvbT4gKi8KKyNkZWZpbmUgVTNfTl9DRkdfR0FSVF9TWU5DTU9ERQkJMHgw MDA0MDAwMAorI2RlZmluZSBVM19OX0NGR19HQVJUX1BFUkZSRAkJMHgwMDA4MDAwMAorI2RlZmlu ZSBVM19OX0NGR19HQVJUX0IyQkdOVAkJMHgwMDIwMDAwMAorI2RlZmluZSBVM19OX0NGR19HQVJU X0ZBU1RERFIJCTB4MDA0MDAwMDAKIAogLyogTXkgdW5kZXJzdGFuZGluZyBvZiBVbmlOb3J0aCBB R1AgYXMgb2YgVW5pTm9ydGggcmV2IDEuMHgsCiAgKiByZXZpc2lvbiAxLjUgKHg0IEFHUCkgbWF5 IG5lZWQgZnVydGhlciBjaGFuZ2VzLgpkaWZmIC1OcnUgbGludXgvaW5jbHVkZS9hc20tcHBjL3Vu aW5vcnRoLmggbGludXgtbmV3L2luY2x1ZGUvYXNtLXBwYy91bmlub3J0aC5oCi0tLSBsaW51eC9p bmNsdWRlL2FzbS1wcGMvdW5pbm9ydGguaAkyMDA0LTEyLTI2IDE0OjQwOjAzLjAwMDAwMDAwMCAr MDEwMAorKysgbGludXgtbmV3L2luY2x1ZGUvYXNtLXBwYy91bmlub3J0aC5oCTIwMDUtMDEtMDkg MTQ6NDU6MjcuMDAwMDAwMDAwICswMTAwCkBAIC0zNCw2ICszNCwxMSBAQAogI2RlZmluZSBVTklf Tl9DRkdfR0FSVF9FTkFCTEUJCTB4MDAwMDAxMDAKICNkZWZpbmUgVU5JX05fQ0ZHX0dBUlRfMnhS RVNFVAkJMHgwMDAxMDAwMAogI2RlZmluZSBVTklfTl9DRkdfR0FSVF9ESVNTQkFERVQJMHgwMDAy MDAwMAorLyogVGhlIGZvbGxvd2luZyBzZWVtcyB0byBvbmx5IGJlIHVzZWQgb25seSBvbiBVMyA8 ai5nbGlzc2VAZ21haWwuY29tPiAqLworI2RlZmluZSBVM19OX0NGR19HQVJUX1NZTkNNT0RFCQkw eDAwMDQwMDAwCisjZGVmaW5lIFUzX05fQ0ZHX0dBUlRfUEVSRlJECQkweDAwMDgwMDAwCisjZGVm aW5lIFUzX05fQ0ZHX0dBUlRfQjJCR05UCQkweDAwMjAwMDAwCisjZGVmaW5lIFUzX05fQ0ZHX0dB UlRfRkFTVEREUgkJMHgwMDQwMDAwMAogCiAvKiBNeSB1bmRlcnN0YW5kaW5nIG9mIFVuaU5vcnRo IEFHUCBhcyBvZiBVbmlOb3J0aCByZXYgMS4weCwKICAqIHJldmlzaW9uIDEuNSAoeDQgQUdQKSBt YXkgbmVlZCBmdXJ0aGVyIGNoYW5nZXMuCmRpZmYgLU5ydSBsaW51eC9pbmNsdWRlL2xpbnV4L3Bj aV9pZHMuaCBsaW51eC1uZXcvaW5jbHVkZS9saW51eC9wY2lfaWRzLmgKLS0tIGxpbnV4L2luY2x1 ZGUvbGludXgvcGNpX2lkcy5oCTIwMDQtMTItMjYgMTQ6NDA6MDUuMDAwMDAwMDAwICswMTAwCisr KyBsaW51eC1uZXcvaW5jbHVkZS9saW51eC9wY2lfaWRzLmgJMjAwNS0wMS0wOSAxNDo0NjoxNy4w MDAwMDAwMDAgKzAxMDAKQEAgLTg0MCw4ICs4NDAsOSBAQAogI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FQUExFX1VOSV9OX0FHUDE1CTB4MDAyZAogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FQUExFX1VO SV9OX0ZXMgkweDAwMzAKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BUFBMRV9VTklfTl9HTUFDMgkw eDAwMzIKLSNkZWZpbmUgUENJX0RFVklFQ19JRF9BUFBMRV9VTklfTl9BVEEJMHgwMDMzCisjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVBQTEVfVU5JX05fQVRBCTB4MDAzMwogI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FQUExFX1VOSV9OX0FHUDIJMHgwMDM0CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVBQ TEVfVTNfQUdQCTB4MDA1OQogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FQUExFX0lQSURfQVRBMTAw CTB4MDAzYgogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FQUExFX0tFWUxBUkdPX0kJMHgwMDNlCiAj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVBQTEVfSzJfQVRBMTAwCTB4MDA0Mwo= ------=_Part_1573_660356.1105292765921--