From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Smirl Subject: Re: mono, gray and index configs Date: Thu, 11 Aug 2005 15:14:21 -0400 Message-ID: <9e47339105081112142c67e1a8@mail.gmail.com> References: <9e47339105081020216574ac7e@mail.gmail.com> <42FAE3F8.8080902@gmail.com> <42FB8C29.4070503@gmail.com> Reply-To: linux-fbdev-devel@lists.sourceforge.net Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_2594_21754226.1123787661951" Return-path: Received: from sc8-sf-mx2-b.sourceforge.net ([10.3.1.92] helo=mail.sourceforge.net) by sc8-sf-list1.sourceforge.net with esmtp (Exim 4.30) id 1E3IVe-0006D6-HF for linux-fbdev-devel@lists.sourceforge.net; Thu, 11 Aug 2005 12:14:34 -0700 Received: from wproxy.gmail.com ([64.233.184.195]) by mail.sourceforge.net with esmtp (Exim 4.44) id 1E3IVd-0003Qi-Jw for linux-fbdev-devel@lists.sourceforge.net; Thu, 11 Aug 2005 12:14:34 -0700 Received: by wproxy.gmail.com with SMTP id i3so423776wra for ; Thu, 11 Aug 2005 12:14:24 -0700 (PDT) In-Reply-To: <42FB8C29.4070503@gmail.com> Sender: linux-fbdev-devel-admin@lists.sourceforge.net Errors-To: linux-fbdev-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: To: "Antonino A. Daplas" Cc: Geert Uytterhoeven , Linux Frame Buffer Device Development ------=_Part_2594_21754226.1123787661951 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Here's a new version that actually lets me set all possible scanout configs on radeonfb. I can even set I4 but I don't think the code is correct for it yet everywhere in radeonfb. The core code in the patch should be ok. My further changes should be restricted to the radeonfb code. For example, I haven't added the logic to radeonfb to "round up" to the next config. You get two new sysfs attributes: configs - optional, but really nice to have, list of all configs supported by the driver config - current config the hardware is set to. example syntax... [root@jonsmirl fb0]# cat configs I4 I8 A1R5G5B5 R5G6B5 R8G8B8 A8R8G8B8 A4R4G4B4 A8I8 A2R10G10B10 Offsets are computed from the field widths. So if a card sets BGR vs RGB and you cat its config you will see RGB or BGR in the config string. M is used for a grayscale field. So give the patch a try and start expanding it to handle other cards. --=20 Jon Smirl jonsmirl@gmail.com ------=_Part_2594_21754226.1123787661951 Content-Type: text/x-diff; name="snap.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="snap.diff" ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYXR5L3JhZGVvbl9hY2NlbC5jIGIvZHJpdmVycy92 aWRlby9hdHkvcmFkZW9uX2FjY2VsLmMKLS0tIGEvZHJpdmVycy92aWRlby9hdHkvcmFkZW9uX2Fj Y2VsLmMKKysrIGIvZHJpdmVycy92aWRlby9hdHkvcmFkZW9uX2FjY2VsLmMKQEAgLTQ4LDcgKzQ4 LDcgQEAgc3RhdGljIHZvaWQgcmFkZW9uZmJfcHJpbV9maWxscmVjdChzdHJ1YwogCQlyaW5mby0+ ZHBfZ3VpX21hc3Rlcl9jbnRsICAvKiBjb250YWlucywgbGlrZSBHTUNfRFNUXzMyQlBQICovCiAg ICAgICAgICAgICAgICAgfCBHTUNfQlJVU0hfU09MSURfQ09MT1IKICAgICAgICAgICAgICAgICB8 IFJPUDNfUCk7Ci0JaWYgKHJhZGVvbl9nZXRfZHN0YnBwKHJpbmZvLT5kZXB0aCkgIT0gRFNUXzhC UFApCisJaWYgKChyaW5mby0+Zm9ybWF0ID09IFBJWF9XSURUSF9JNCkgfHwgKHJpbmZvLT5mb3Jt YXQgPT0gUElYX1dJRFRIX0k4KSB8fCAocmluZm8tPmZvcm1hdCA9PSBQSVhfV0lEVEhfQThJOCkp CiAJCU9VVFJFRyhEUF9CUlVTSF9GUkdEX0NMUiwgcmluZm8tPnBzZXVkb19wYWxldHRlW3JlZ2lv bi0+Y29sb3JdKTsKIAllbHNlCiAJCU9VVFJFRyhEUF9CUlVTSF9GUkdEX0NMUiwgcmVnaW9uLT5j b2xvcik7CkBAIC0yNTIsOCArMjUyLDYgQEAgdm9pZCByYWRlb25mYl9lbmdpbmVfcmVzZXQoc3Ry dWN0IHJhZGVvbgogCiB2b2lkIHJhZGVvbmZiX2VuZ2luZV9pbml0IChzdHJ1Y3QgcmFkZW9uZmJf aW5mbyAqcmluZm8pCiB7Ci0JdW5zaWduZWQgbG9uZyB0ZW1wOwotCiAJLyogZGlzYWJsZSAzRCBl bmdpbmUgKi8KIAlPVVRSRUcoUkIzRF9DTlRMLCAwKTsKIApAQCAtMjg3LDggKzI4NSw3IEBAIHZv aWQgcmFkZW9uZmJfZW5naW5lX2luaXQgKHN0cnVjdCByYWRlb24KIAlPVVRSRUcoREVGQVVMVF9T Q19CT1RUT01fUklHSFQsIChERUZBVUxUX1NDX1JJR0hUX01BWCB8CiAJCQkJCSBERUZBVUxUX1ND X0JPVFRPTV9NQVgpKTsKIAotCXRlbXAgPSByYWRlb25fZ2V0X2RzdGJwcChyaW5mby0+ZGVwdGgp OwotCXJpbmZvLT5kcF9ndWlfbWFzdGVyX2NudGwgPSAoKHRlbXAgPDwgOCkgfCBHTUNfQ0xSX0NN UF9DTlRMX0RJUyk7CisJcmluZm8tPmRwX2d1aV9tYXN0ZXJfY250bCA9ICgocmluZm8tPmZvcm1h dCA8PCA4KSB8IEdNQ19DTFJfQ01QX0NOVExfRElTKTsKIAogCXJhZGVvbl9maWZvX3dhaXQgKDEp OwogCU9VVFJFRyhEUF9HVUlfTUFTVEVSX0NOVEwsIChyaW5mby0+ZHBfZ3VpX21hc3Rlcl9jbnRs IHwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYXR5L3JhZGVvbl9iYXNlLmMgYi9kcml2ZXJz L3ZpZGVvL2F0eS9yYWRlb25fYmFzZS5jCi0tLSBhL2RyaXZlcnMvdmlkZW8vYXR5L3JhZGVvbl9i YXNlLmMKKysrIGIvZHJpdmVycy92aWRlby9hdHkvcmFkZW9uX2Jhc2UuYwpAQCAtNzIyLDk5ICs3 MjIsMTI0IEBAIHN0YXRpYyBpbnQgcmFkZW9uZmJfY2hlY2tfdmFyIChzdHJ1Y3QgZmIKIHsKIAlz dHJ1Y3QgcmFkZW9uZmJfaW5mbyAqcmluZm8gPSBpbmZvLT5wYXI7CiAgICAgICAgIHN0cnVjdCBm Yl92YXJfc2NyZWVuaW5mbyB2OwotICAgICAgICBpbnQgbm9tLCBkZW47CisgICAgICAgIGludCBu b20gPSAwLCBkZW4gPSAwOwogCXVuc2lnbmVkIGludCBwaXRjaDsKIAogCWlmIChyYWRlb25fbWF0 Y2hfbW9kZShyaW5mbywgJnYsIHZhcikpCiAJCXJldHVybiAtRUlOVkFMOwogCisJdi5yZWQub2Zm c2V0ID0gdi5ncmVlbi5vZmZzZXQgPSB2LmJsdWUub2Zmc2V0ID0gMDsKKwl2LnJlZC5sZW5ndGgg PSB2LmJsdWUubGVuZ3RoID0gMDsKKwl2LnRyYW5zcC5vZmZzZXQgPSB2LnRyYW5zcC5sZW5ndGgg PSAwOworCiAgICAgICAgIHN3aXRjaCAodi5iaXRzX3Blcl9waXhlbCkgewotCQljYXNlIDAgLi4u IDg6Ci0JCQl2LmJpdHNfcGVyX3BpeGVsID0gODsKKwljYXNlIDQ6CisJCW5vbSA9IDE7CisJCWRl biA9IDI7CisJCXYucmVkLmxlbmd0aCA9IHYuZ3JlZW4ubGVuZ3RoID0gdi5ibHVlLmxlbmd0aCA9 IDQ7CisJCXJpbmZvLT5mb3JtYXQgPSBQSVhfV0lEVEhfSTQ7CisJCWJyZWFrOworCWNhc2UgODoK KwkJbm9tID0gZGVuID0gMTsKKwkJdi5yZWQubGVuZ3RoID0gdi5ncmVlbi5sZW5ndGggPSB2LmJs dWUubGVuZ3RoID0gODsKKwkJcmluZm8tPmZvcm1hdCA9IFBJWF9XSURUSF9JODsKKwkJYnJlYWs7 CisJY2FzZSAxNjoKKwkJbm9tID0gMjsKKwkJZGVuID0gMTsKKwkJc3dpdGNoICh2LmdyZWVuLmxl bmd0aCkgeworCQljYXNlIDQ6CisJCQl2LnRyYW5zcC5vZmZzZXQgPSAxMjsKKwkJCXYucmVkLm9m ZnNldCA9IDg7CisJCQl2LmdyZWVuLm9mZnNldCA9IHYucmVkLmxlbmd0aCA9IHYuYmx1ZS5sZW5n dGggPSB2LnRyYW5zcC5sZW5ndGggPSA0OworCQkJcmluZm8tPmZvcm1hdCA9IFBJWF9XSURUSF9B NFI0QjRHNDsKIAkJCWJyZWFrOwotCQljYXNlIDkgLi4uIDE2OgotCQkJdi5iaXRzX3Blcl9waXhl bCA9IDE2OworCQljYXNlIDU6CisJCQl2LnJlZC5vZmZzZXQgPSAxMDsKKwkJCXYuZ3JlZW4ub2Zm c2V0ID0gNTsKKwkJCXYudHJhbnNwLm9mZnNldCA9IDE1OworCQkJdi5yZWQubGVuZ3RoID0gdi5i bHVlLmxlbmd0aCA9IDU7CisJCQl2LnRyYW5zcC5sZW5ndGggPSAxOworCQkJcmluZm8tPmZvcm1h dCA9IFBJWF9XSURUSF9BMVI1RzVCNTsKIAkJCWJyZWFrOwotCQljYXNlIDE3IC4uLiAyNDoKLSNp ZiAwIC8qIERvZXNuJ3Qgc2VlbSB0byB3b3JrICovCi0JCQl2LmJpdHNfcGVyX3BpeGVsID0gMjQ7 CisJCWNhc2UgNjoKKwkJCXYucmVkLm9mZnNldCA9IDExOworCQkJdi5ncmVlbi5vZmZzZXQgPSA1 OworCQkJdi5yZWQubGVuZ3RoID0gNTsKKwkJCXYuYmx1ZS5sZW5ndGggPSA1OworCQkJcmluZm8t PmZvcm1hdCA9IFBJWF9XSURUSF9SNUc2QjU7CiAJCQlicmVhazsKLSNlbmRpZgkJCQotCQkJcmV0 dXJuIC1FSU5WQUw7Ci0JCWNhc2UgMjUgLi4uIDMyOgotCQkJdi5iaXRzX3Blcl9waXhlbCA9IDMy OworCQljYXNlIDA6CisJCWNhc2UgODoKKwkJCXYudHJhbnNwLm9mZnNldCA9IDg7CisJCQl2LnJl ZC5sZW5ndGggPSB2LmdyZWVuLmxlbmd0aCA9IHYuYmx1ZS5sZW5ndGggPSA4OworCQkJdi50cmFu c3AubGVuZ3RoID0gODsKKwkJCXJpbmZvLT5mb3JtYXQgPSBQSVhfV0lEVEhfQThJODsKIAkJCWJy ZWFrOwogCQlkZWZhdWx0OgotCQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0Jc3dpdGNoICh2YXJf dG9fZGVwdGgoJnYpKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSA4OgotICAgICAgICAgICAgICAg ICAgICAgICAgbm9tID0gZGVuID0gMTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHYucmVkLm9m ZnNldCA9IHYuZ3JlZW4ub2Zmc2V0ID0gdi5ibHVlLm9mZnNldCA9IDA7Ci0gICAgICAgICAgICAg ICAgICAgICAgICB2LnJlZC5sZW5ndGggPSB2LmdyZWVuLmxlbmd0aCA9IHYuYmx1ZS5sZW5ndGgg PSA4OwotICAgICAgICAgICAgICAgICAgICAgICAgdi50cmFuc3Aub2Zmc2V0ID0gdi50cmFuc3Au bGVuZ3RoID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwotCQljYXNlIDE1Ogot CQkJbm9tID0gMjsKLQkJCWRlbiA9IDE7Ci0JCQl2LnJlZC5vZmZzZXQgPSAxMDsKLQkJCXYuZ3Jl ZW4ub2Zmc2V0ID0gNTsKLQkJCXYuYmx1ZS5vZmZzZXQgPSAwOwotCQkJdi5yZWQubGVuZ3RoID0g di5ncmVlbi5sZW5ndGggPSB2LmJsdWUubGVuZ3RoID0gNTsKLQkJCXYudHJhbnNwLm9mZnNldCA9 IHYudHJhbnNwLmxlbmd0aCA9IDA7CisJCQlnb3RvIGVycjsKKwkJfQorCQlicmVhazsKKwljYXNl IDI0OgorCQlub20gPSAzOworCQlkZW4gPSAxOworCQl2LnJlZC5vZmZzZXQgPSAxNjsKKwkJdi5n cmVlbi5vZmZzZXQgPSA4OworCQl2LmJsdWUub2Zmc2V0ID0gMDsKKwkJdi5yZWQubGVuZ3RoID0g di5ibHVlLmxlbmd0aCA9IHYuZ3JlZW4ubGVuZ3RoID0gODsKKwkJcmluZm8tPmZvcm1hdCA9IFBJ WF9XSURUSF9SOEI4Rzg7CisJCWJyZWFrOworCWNhc2UgMzI6CisJCW5vbSA9IDQ7CisJCWRlbiA9 IDE7CisJCXN3aXRjaCAodi5ncmVlbi5sZW5ndGgpIHsKKwkJY2FzZSAxMDoKKwkJCXYucmVkLm9m ZnNldCA9IDIwOworCQkJdi5ncmVlbi5vZmZzZXQgPSAxMDsKKwkJCXYudHJhbnNwLm9mZnNldCA9 IDMwOworCQkJdi5ibHVlLmxlbmd0aCA9IHYucmVkLmxlbmd0aCA9IDEwOworCQkJdi50cmFuc3Au bGVuZ3RoID0gMjsKKwkJCXJpbmZvLT5mb3JtYXQgPSBQSVhfV0lEVEhfQTJSMTBHMTBCMTA7CiAJ CQlicmVhazsKLSAgICAgICAgICAgICAgICBjYXNlIDE2OgotICAgICAgICAgICAgICAgICAgICAg ICAgbm9tID0gMjsKLSAgICAgICAgICAgICAgICAgICAgICAgIGRlbiA9IDE7Ci0gICAgICAgICAg ICAgICAgICAgICAgICB2LnJlZC5vZmZzZXQgPSAxMTsKLSAgICAgICAgICAgICAgICAgICAgICAg IHYuZ3JlZW4ub2Zmc2V0ID0gNTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHYuYmx1ZS5vZmZz ZXQgPSAwOwotICAgICAgICAgICAgICAgICAgICAgICAgdi5yZWQubGVuZ3RoID0gNTsKLSAgICAg ICAgICAgICAgICAgICAgICAgIHYuZ3JlZW4ubGVuZ3RoID0gNjsKLSAgICAgICAgICAgICAgICAg ICAgICAgIHYuYmx1ZS5sZW5ndGggPSA1OwotICAgICAgICAgICAgICAgICAgICAgICAgdi50cmFu c3Aub2Zmc2V0ID0gdi50cmFuc3AubGVuZ3RoID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAg IGJyZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgY2FzZSAy NDoKLSAgICAgICAgICAgICAgICAgICAgICAgIG5vbSA9IDQ7Ci0gICAgICAgICAgICAgICAgICAg ICAgICBkZW4gPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgdi5yZWQub2Zmc2V0ID0gMTY7 Ci0gICAgICAgICAgICAgICAgICAgICAgICB2LmdyZWVuLm9mZnNldCA9IDg7Ci0gICAgICAgICAg ICAgICAgICAgICAgICB2LmJsdWUub2Zmc2V0ID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAg IHYucmVkLmxlbmd0aCA9IHYuYmx1ZS5sZW5ndGggPSB2LmdyZWVuLmxlbmd0aCA9IDg7Ci0gICAg ICAgICAgICAgICAgICAgICAgICB2LnRyYW5zcC5vZmZzZXQgPSB2LnRyYW5zcC5sZW5ndGggPSAw OwotICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2FzZSAz MjoKLSAgICAgICAgICAgICAgICAgICAgICAgIG5vbSA9IDQ7Ci0gICAgICAgICAgICAgICAgICAg ICAgICBkZW4gPSAxOwotICAgICAgICAgICAgICAgICAgICAgICAgdi5yZWQub2Zmc2V0ID0gMTY7 Ci0gICAgICAgICAgICAgICAgICAgICAgICB2LmdyZWVuLm9mZnNldCA9IDg7Ci0gICAgICAgICAg ICAgICAgICAgICAgICB2LmJsdWUub2Zmc2V0ID0gMDsKLSAgICAgICAgICAgICAgICAgICAgICAg IHYucmVkLmxlbmd0aCA9IHYuYmx1ZS5sZW5ndGggPSB2LmdyZWVuLmxlbmd0aCA9IDg7Ci0gICAg ICAgICAgICAgICAgICAgICAgICB2LnRyYW5zcC5vZmZzZXQgPSAyNDsKLSAgICAgICAgICAgICAg ICAgICAgICAgIHYudHJhbnNwLmxlbmd0aCA9IDg7Ci0gICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKLSAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICAgICAg cHJpbnRrICgicmFkZW9uZmI6IG1vZGUgJWR4JWR4JWQgcmVqZWN0ZWQsIGNvbG9yIGRlcHRoIGlu dmFsaWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhci0+eHJlcywgdmFy LT55cmVzLCB2YXItPmJpdHNfcGVyX3BpeGVsKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwotICAgICAgICB9CisJCWNhc2UgMDoKKwkJY2FzZSA4OgorCQkJdi5yZWQu b2Zmc2V0ID0gMTY7CisJCQl2LmdyZWVuLm9mZnNldCA9IDg7CisJCQl2LnRyYW5zcC5vZmZzZXQg PSAyNDsKKwkJCXYuYmx1ZS5sZW5ndGggPSB2LnJlZC5sZW5ndGggPSA4OworCQkJdi50cmFuc3Au bGVuZ3RoID0gODsKKwkJCXJpbmZvLT5mb3JtYXQgPSBQSVhfV0lEVEhfQThSOEc4Qjg7CisJCQli cmVhazsKKwkJZGVmYXVsdDoKKwkJCWdvdG8gZXJyOworCQl9CisJCWJyZWFrOworCWRlZmF1bHQ6 CitlcnI6CisJCXByaW50ayAoInJhZGVvbmZiOiBtb2RlICVkeCVkeCVkIHJlamVjdGVkLCBjb2xv ciBkZXB0aCBpbnZhbGlkXG4iLAorCQkJdmFyLT54cmVzLCB2YXItPnlyZXMsIHZhci0+Yml0c19w ZXJfcGl4ZWwpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CiAKIAlpZiAodi55cmVzX3ZpcnR1YWwg PCB2LnlyZXMpCiAJCXYueXJlc192aXJ0dWFsID0gdi55cmVzOwogCWlmICh2LnhyZXNfdmlydHVh bCA8IHYueHJlcykKIAkJdi54cmVzX3ZpcnR1YWwgPSB2LnhyZXM7Ci0gICAgICAgICAgICAgICAg CiAKIAkvKiBYWFggSSdtIGFkanVzdGluZyB4cmVzX3ZpcnR1YWwgdG8gdGhlIHBpdGNoLCB0aGF0 IG1heSBoZWxwIFhGcmVlCiAJICogd2l0aCBzb21lIHBhbmVscywgdGhvdWdoIEkgZG9uJ3QgcXVp dGUgbGlrZSB0aGlzIHNvbHV0aW9uCiAJICovCi0gIAlpZiAocmluZm8tPmluZm8tPmZsYWdzICYg RkJJTkZPX0hXQUNDRUxfRElTQUJMRUQpIHsKKwlpZiAocmluZm8tPmluZm8tPmZsYWdzICYgRkJJ TkZPX0hXQUNDRUxfRElTQUJMRUQpIHsKIAkJdi54cmVzX3ZpcnR1YWwgPSB2LnhyZXNfdmlydHVh bCAmIH43dWw7CiAJfSBlbHNlIHsKLQkJcGl0Y2ggPSAoKHYueHJlc192aXJ0dWFsICogKCh2LmJp dHNfcGVyX3BpeGVsICsgMSkgLyA4KSArIDB4M2YpCi0gCQkJCSYgfigweDNmKSkgPj4gNjsKLQkJ di54cmVzX3ZpcnR1YWwgPSAocGl0Y2ggPDwgNikgLyAoKHYuYml0c19wZXJfcGl4ZWwgKyAxKSAv IDgpOworCQlpZiAodi5iaXRzX3Blcl9waXhlbCA8IDgpIHsKKwkJCXBpdGNoID0gKCh2LnhyZXNf dmlydHVhbCAqICh2LmJpdHNfcGVyX3BpeGVsIC8gMikgKyAweDNmKSAmIH4oMHgzZikpID4+IDY7 CisJCQl2LnhyZXNfdmlydHVhbCA9IChwaXRjaCA8PCA2KSAqIDI7CisJCX0gZWxzZSB7CisJCQlw aXRjaCA9ICgodi54cmVzX3ZpcnR1YWwgKiAoKHYuYml0c19wZXJfcGl4ZWwgKyAxKSAvIDgpICsg MHgzZikKKwkJCQkmIH4oMHgzZikpID4+IDY7CisJCQl2LnhyZXNfdmlydHVhbCA9IChwaXRjaCA8 PCA2KSAvICgodi5iaXRzX3Blcl9waXhlbCArIDEpIC8gOCk7CisJCX0KIAl9CiAKIAlpZiAoKCh2 LnhyZXNfdmlydHVhbCAqIHYueXJlc192aXJ0dWFsICogbm9tKSAvIGRlbikgPiByaW5mby0+bWFw cGVkX3ZyYW0pCkBAIC04MjQsMjEgKzg0OSwyMCBAQCBzdGF0aWMgaW50IHJhZGVvbmZiX2NoZWNr X3ZhciAoc3RydWN0IGZiCiAJCXYueHJlcyA9IHYueHJlc192aXJ0dWFsOwogCiAJaWYgKHYueG9m ZnNldCA8IDApCi0gICAgICAgICAgICAgICAgdi54b2Zmc2V0ID0gMDsKLSAgICAgICAgaWYgKHYu eW9mZnNldCA8IDApCi0gICAgICAgICAgICAgICAgdi55b2Zmc2V0ID0gMDsKLSAgICAgICAgIAot ICAgICAgICBpZiAodi54b2Zmc2V0ID4gdi54cmVzX3ZpcnR1YWwgLSB2LnhyZXMpCi0gICAgICAg ICAgICAgICAgdi54b2Zmc2V0ID0gdi54cmVzX3ZpcnR1YWwgLSB2LnhyZXMgLSAxOwotICAgICAg ICAgICAgICAgICAgICAgICAgCi0gICAgICAgIGlmICh2LnlvZmZzZXQgPiB2LnlyZXNfdmlydHVh bCAtIHYueXJlcykKLSAgICAgICAgICAgICAgICB2LnlvZmZzZXQgPSB2LnlyZXNfdmlydHVhbCAt IHYueXJlcyAtIDE7Ci0gICAgICAgICAKLSAgICAgICAgdi5yZWQubXNiX3JpZ2h0ID0gdi5ncmVl bi5tc2JfcmlnaHQgPSB2LmJsdWUubXNiX3JpZ2h0ID0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgdi50cmFuc3Aub2Zmc2V0ID0gdi50cmFuc3AubGVuZ3RoID0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgdi50cmFuc3AubXNiX3JpZ2h0ID0gMDsKLQkKLSAgICAgICAgbWVtY3B5KHZhciwg JnYsIHNpemVvZih2KSk7CisJCXYueG9mZnNldCA9IDA7CisJaWYgKHYueW9mZnNldCA8IDApCisJ CXYueW9mZnNldCA9IDA7CisKKwlpZiAodi54b2Zmc2V0ID4gdi54cmVzX3ZpcnR1YWwgLSB2Lnhy ZXMpCisJCXYueG9mZnNldCA9IHYueHJlc192aXJ0dWFsIC0gdi54cmVzIC0gMTsKKworCWlmICh2 LnlvZmZzZXQgPiB2LnlyZXNfdmlydHVhbCAtIHYueXJlcykKKwkJdi55b2Zmc2V0ID0gdi55cmVz X3ZpcnR1YWwgLSB2LnlyZXMgLSAxOworCisJdi5yZWQubXNiX3JpZ2h0ID0gdi5ncmVlbi5tc2Jf cmlnaHQgPSB2LmJsdWUubXNiX3JpZ2h0ID0KKwkJCSAgdi50cmFuc3AubXNiX3JpZ2h0ID0gMDsK KworCW1lbWNweSh2YXIsICZ2LCBzaXplb2YodikpOwogCiAgICAgICAgIHJldHVybiAwOwogfQpA QCAtMTU1NCw3ICsxNTc4LDcgQEAgc3RhdGljIGludCByYWRlb25mYl9zZXRfcGFyKHN0cnVjdCBm Yl9pbgogCWludCBub3BsbGNhbGMgPSAwOwogCWludCBoc3luY19zdGFydCwgaHN5bmNfZnVkZ2Us IGJ5dHBwLCBoc3luY193aWQsIHZzeW5jX3dpZDsKIAlpbnQgcHJpbWFyeV9tb24gPSBQUklNQVJZ X01PTklUT1IocmluZm8pOwotCWludCBkZXB0aCA9IHZhcl90b19kZXB0aChtb2RlKTsKKwlpbnQg ZGVwdGggPSBtb2RlLT5iaXRzX3Blcl9waXhlbDsKIAlpbnQgdXNlX3JteCA9IDA7CiAKIAluZXdt b2RlID0ga21hbGxvYyhzaXplb2Yoc3RydWN0IHJhZGVvbl9yZWdzKSwgR0ZQX0tFUk5FTCk7CkBA IC0xNjMwLDcgKzE2NTQsNyBAQCBzdGF0aWMgaW50IHJhZGVvbmZiX3NldF9wYXIoc3RydWN0IGZi X2luCiAKIAljU3luYyA9IG1vZGUtPnN5bmMgJiBGQl9TWU5DX0NPTVBfSElHSF9BQ1QgPyAoMSA8 PCA0KSA6IDA7CiAKLQlmb3JtYXQgPSByYWRlb25fZ2V0X2RzdGJwcChkZXB0aCk7CisJZm9ybWF0 ID0gcmluZm8tPmZvcm1hdDsKIAlieXRwcCA9IG1vZGUtPmJpdHNfcGVyX3BpeGVsID4+IDM7CiAK IAlpZiAoKHByaW1hcnlfbW9uID09IE1UX0RGUCkgfHwgKHByaW1hcnlfbW9uID09IE1UX0xDRCkp CkBAIC0xNjc2LDExICsxNzAwLDE5IEBAIHN0YXRpYyBpbnQgcmFkZW9uZmJfc2V0X3BhcihzdHJ1 Y3QgZmJfaW4KIAogCWlmICghKGluZm8tPmZsYWdzICYgRkJJTkZPX0hXQUNDRUxfRElTQUJMRUQp KSB7CiAJCS8qIFdlIGZpcnN0IGNhbGN1bGF0ZSB0aGUgZW5naW5lIHBpdGNoICovCi0JCXJpbmZv LT5waXRjaCA9ICgobW9kZS0+eHJlc192aXJ0dWFsICogKChtb2RlLT5iaXRzX3Blcl9waXhlbCAr IDEpIC8gOCkgKyAweDNmKQorCQlpZiAobW9kZS0+Yml0c19wZXJfcGl4ZWwgPCA4KSB7CisJCQly aW5mby0+cGl0Y2ggPSAoKG1vZGUtPnhyZXNfdmlydHVhbCAvIDIgKyAweDNmKQogIAkJCQkmIH4o MHgzZikpID4+IDY7CiAKLQkJLyogVGhlbiwgcmUtbXVsdGlwbHkgaXQgdG8gZ2V0IHRoZSBDUlRD IHBpdGNoICovCi0JCW5ld21vZGUtPmNydGNfcGl0Y2ggPSAocmluZm8tPnBpdGNoIDw8IDMpIC8g KChtb2RlLT5iaXRzX3Blcl9waXhlbCArIDEpIC8gOCk7CisJCQkvKiBUaGVuLCByZS1tdWx0aXBs eSBpdCB0byBnZXQgdGhlIENSVEMgcGl0Y2ggKi8KKwkJCW5ld21vZGUtPmNydGNfcGl0Y2ggPSAo cmluZm8tPnBpdGNoIDw8IDMpICogMjsKKwkJfSBlbHNlIHsKKwkJCXJpbmZvLT5waXRjaCA9ICgo bW9kZS0+eHJlc192aXJ0dWFsICogKChtb2RlLT5iaXRzX3Blcl9waXhlbCArIDEpIC8gOCkgKyAw eDNmKQorIAkJCQkmIH4oMHgzZikpID4+IDY7CisKKwkJCS8qIFRoZW4sIHJlLW11bHRpcGx5IGl0 IHRvIGdldCB0aGUgQ1JUQyBwaXRjaCAqLworCQkJbmV3bW9kZS0+Y3J0Y19waXRjaCA9IChyaW5m by0+cGl0Y2ggPDwgMykgLyAoKG1vZGUtPmJpdHNfcGVyX3BpeGVsICsgMSkgLyA4KTsKKwkJfQog CX0gZWxzZQogCQluZXdtb2RlLT5jcnRjX3BpdGNoID0gKG1vZGUtPnhyZXNfdmlydHVhbCA+PiAz KTsKIApAQCAtMTg1OSw2ICsxODkxLDEwIEBAIHN0YXRpYyBpbnQgcmFkZW9uZmJfc2V0X3Bhcihz dHJ1Y3QgZmJfaW4KIAlyZXR1cm4gMDsKIH0KIAorY2hhciAqcmFkZW9uZmJfZ2V0Y29uZmlncyhz dHJ1Y3QgZmJfaW5mbyAqaW5mbykKK3sKKwlyZXR1cm4gIkk0XG5JOFxuQTFSNUc1QjVcblI1RzZC NVxuUjhHOEI4XG5BOFI4RzhCOFxuQTRSNEc0QjRcbkE4SThcbkEyUjEwRzEwQjEwXG4iOworfQog CiBzdGF0aWMgc3RydWN0IGZiX29wcyByYWRlb25mYl9vcHMgPSB7CiAJLm93bmVyCQkJPSBUSElT X01PRFVMRSwKQEAgLTE4NzMsNiArMTkwOSw3IEBAIHN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHJhZGVv bmZiX29wcyA9IHsKIAkuZmJfZmlsbHJlY3QJCT0gcmFkZW9uZmJfZmlsbHJlY3QsCiAJLmZiX2Nv cHlhcmVhCQk9IHJhZGVvbmZiX2NvcHlhcmVhLAogCS5mYl9pbWFnZWJsaXQJCT0gcmFkZW9uZmJf aW1hZ2VibGl0LAorCS5mYl9nZXRfY29uZmlncwkJPSByYWRlb25mYl9nZXRjb25maWdzLAogfTsK IAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2F0eS9yYWRlb25mYi5oIGIvZHJpdmVycy92 aWRlby9hdHkvcmFkZW9uZmIuaAotLS0gYS9kcml2ZXJzL3ZpZGVvL2F0eS9yYWRlb25mYi5oCisr KyBiL2RyaXZlcnMvdmlkZW8vYXR5L3JhZGVvbmZiLmgKQEAgLTMyOCw2ICszMjgsNyBAQCBzdHJ1 Y3QgcmFkZW9uZmJfaW5mbyB7CiAJdTMyCQkJZHBfZ3VpX21hc3Rlcl9jbnRsOwogCiAJc3RydWN0 IHBsbF9pbmZvCQlwbGw7CisJdW5zaWduZWQgaW50CQlmb3JtYXQ7IC8qIGZvcm1hdCBvZiB0aGUg c2Nhbm91dCBidWZmZXIgKi8KIAogCWludAkJCW10cnJfaGRsOwogCkBAIC01MTEsMjkgKzUxMiw2 IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJvdW5kX2RpdihpbnQgbnVtLCBpbnQKICAgICAgICAgcmV0 dXJuIChudW0gKyAoZGVuIC8gMikpIC8gZGVuOwogfQogCi1zdGF0aWMgaW5saW5lIGludCB2YXJf dG9fZGVwdGgoY29uc3Qgc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIpCi17Ci0JaWYgKHZh ci0+Yml0c19wZXJfcGl4ZWwgIT0gMTYpCi0JCXJldHVybiB2YXItPmJpdHNfcGVyX3BpeGVsOwot CXJldHVybiAodmFyLT5ncmVlbi5sZW5ndGggPT0gNSkgPyAxNSA6IDE2OwotfQotCi1zdGF0aWMg aW5saW5lIHUzMiByYWRlb25fZ2V0X2RzdGJwcCh1MTYgZGVwdGgpCi17Ci0Jc3dpdGNoIChkZXB0 aCkgewotICAgICAgIAljYXNlIDg6Ci0gICAgICAgCQlyZXR1cm4gRFNUXzhCUFA7Ci0gICAgICAg CWNhc2UgMTU6Ci0gICAgICAgCQlyZXR1cm4gRFNUXzE1QlBQOwotICAgICAgIAljYXNlIDE2Ogot ICAgICAgIAkJcmV0dXJuIERTVF8xNkJQUDsKLSAgICAgICAJY2FzZSAzMjoKLSAgICAgICAJCXJl dHVybiBEU1RfMzJCUFA7Ci0gICAgICAgCWRlZmF1bHQ6Ci0gICAgICAgCQlyZXR1cm4gMDsKLQl9 Ci19Ci0KIC8qCiAgKiAyRCBFbmdpbmUgaGVscGVyIHJvdXRpbmVzCiAgKi8KZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vZmJzeXNmcy5jIGIvZHJpdmVycy92aWRlby9mYnN5c2ZzLmMKLS0tIGEv ZHJpdmVycy92aWRlby9mYnN5c2ZzLmMKKysrIGIvZHJpdmVycy92aWRlby9mYnN5c2ZzLmMKQEAg LTE1LDYgKzE1LDcgQEAKICAqIGFyZSBjb252ZXJ0ZWQgdG8gdXNlIGl0IGEgc3lzZnNpZmljYXRp b24gd2lsbCBvcGVuIE9PUFNhYmxlIHJhY2VzLgogICovCiAKKyNpbmNsdWRlIDxsaW51eC9jdHlw ZS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPgogI2luY2x1ZGUgPGxpbnV4L2ZiLmg+CiAj aW5jbHVkZSA8bGludXgvY29uc29sZS5oPgpAQCAtMTkwLDYgKzE5MSwxMjcgQEAgc3RhdGljIHNz aXplX3Qgc2hvd19tb2RlcyhzdHJ1Y3QgY2xhc3NfZAogCXJldHVybiBpOwogfQogCitzdGF0aWMg c3NpemVfdCBzdG9yZV9jb25maWcoc3RydWN0IGNsYXNzX2RldmljZSAqY2xhc3NfZGV2aWNlLCBj b25zdCBjaGFyICogYnVmLAorCQkJICBzaXplX3QgY291bnQpCit7CisJc3RydWN0IGZiX2luZm8g KmZiX2luZm8gPQorCQkoc3RydWN0IGZiX2luZm8gKiljbGFzc19nZXRfZGV2ZGF0YShjbGFzc19k ZXZpY2UpOworCWludCBlcnI7CisJY2hhciBjLCAqeTsKKwljb25zdCBjaGFyICp4ID0gYnVmOwor CXVuc2lnbmVkIGludCBmaWVsZCA9IDAsIGJwcCA9IDA7CisJc3RydWN0IGZiX3Zhcl9zY3JlZW5p bmZvIHZhcjsKKworCXZhciA9IGZiX2luZm8tPnZhcjsKKwl3aGlsZSAoeCA8IGJ1ZiArIGNvdW50 KSB7CisJCXgrKzsKKwkJZmllbGQgPSBzaW1wbGVfc3RydG91bCh4LCAmeSwgMTApOworCQl4ID0g eTsKKwkJYnBwICs9IGZpZWxkOworCX0KKwlpZiAoIWJwcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJ dmFyLmJpdHNfcGVyX3BpeGVsID0gYnBwOworCisJeCA9IGJ1ZjsKKwl3aGlsZSAoeCA8IGJ1ZiAr IGNvdW50KSB7CisJCWMgPSAqeCsrOworCQlmaWVsZCA9IHNpbXBsZV9zdHJ0b3VsKHgsICZ5LCAx MCk7CisJCXggPSB5OworCQlicHAgLT0gZmllbGQ7CisJCXN3aXRjaCAodG91cHBlcihjKSkgewor CQljYXNlICdBJzoKKwkJCXZhci50cmFuc3AubGVuZ3RoID0gZmllbGQ7CisJCQl2YXIudHJhbnNw Lm9mZnNldCA9IGJwcDsKKwkJCWJyZWFrOworCQljYXNlICdNJzoKKwkJCXZhci5ncmF5c2NhbGUg PSAxOworCQkJLyogZmFsbCB0aHJvdWdoICovCisJCWNhc2UgJ0knOgorCQkJdmFyLnJlZC5sZW5n dGggPSB2YXIuZ3JlZW4ubGVuZ3RoID0gdmFyLmJsdWUubGVuZ3RoID0gZmllbGQ7CisJCQl2YXIu cmVkLm9mZnNldCA9IHZhci5ncmVlbi5vZmZzZXQgPSB2YXIuYmx1ZS5vZmZzZXQgPSAwOworCQkJ YnJlYWs7CisJCWNhc2UgJ1InOgorCQkJdmFyLnJlZC5sZW5ndGggPSBmaWVsZDsKKwkJCXZhci5y ZWQub2Zmc2V0ID0gYnBwOworCQkJYnJlYWs7CisJCWNhc2UgJ0cnOgorCQkJdmFyLmdyZWVuLmxl bmd0aCA9IGZpZWxkOworCQkJdmFyLmdyZWVuLm9mZnNldCA9IGJwcDsKKwkJCWJyZWFrOworCQlj YXNlICdCJzoKKwkJCXZhci5ibHVlLmxlbmd0aCA9IGZpZWxkOworCQkJdmFyLmJsdWUub2Zmc2V0 ID0gYnBwOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKChlcnIgPSBhY3RpdmF0ZShmYl9pbmZv LCAmdmFyKSkpCisJCXJldHVybiBlcnI7CisKKwlyZXR1cm4gY291bnQ7Cit9CisKK3N0YXRpYyBz c2l6ZV90IHNob3dfY29uZmlnKHN0cnVjdCBjbGFzc19kZXZpY2UgKmNsYXNzX2RldmljZSwgY2hh ciAqYnVmKQoreworCXN0cnVjdCBmYl9pbmZvICpmYl9pbmZvID0KKwkJKHN0cnVjdCBmYl9pbmZv ICopY2xhc3NfZ2V0X2RldmRhdGEoY2xhc3NfZGV2aWNlKTsKKwlpbnQgaSwgb2ZmLCBjb3VudDsK KwljaGFyIGZpZWxkWzRdWzEwXTsKKworCWNvdW50ID0gb2ZmID0gMDsKKwlidWZbMF0gPSAnXG4n OworCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlmaWVsZFtpXVswXSA9ICdcMCc7CisJ CWlmICgob2ZmID09IDApICYmICgoZmJfaW5mby0+dmFyLnJlZC5vZmZzZXQgPT0gMCkgJiYKKwkJ CQkoZmJfaW5mby0+dmFyLmJsdWUub2Zmc2V0ID09IDApICYmIChmYl9pbmZvLT52YXIuZ3JlZW4u b2Zmc2V0ID09IDApKSkgeworCQkJc25wcmludGYoJmZpZWxkW2ldWzBdLCBzaXplb2YoZmllbGRb MF0pLCAiSSVkIiwgZmJfaW5mby0+dmFyLnJlZC5sZW5ndGgpOworCQkJb2ZmICs9IGZiX2luZm8t PnZhci5yZWQubGVuZ3RoOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKChmYl9pbmZvLT52YXIu cmVkLm9mZnNldCA9PSBvZmYpICYmIChmYl9pbmZvLT52YXIucmVkLmxlbmd0aCAhPSAwKSkgewor CQkJc25wcmludGYoJmZpZWxkW2ldWzBdLCBzaXplb2YoZmllbGRbMF0pLCAiUiVkIiwgZmJfaW5m by0+dmFyLnJlZC5sZW5ndGgpOworCQkJb2ZmICs9IGZiX2luZm8tPnZhci5yZWQubGVuZ3RoOwor CQkJY29udGludWU7CisJCX0KKwkJaWYgKChmYl9pbmZvLT52YXIuZ3JlZW4ub2Zmc2V0ID09IG9m ZikgJiYgKGZiX2luZm8tPnZhci5ncmVlbi5sZW5ndGggIT0gMCkpIHsKKwkJCXNucHJpbnRmKCZm aWVsZFtpXVswXSwgc2l6ZW9mKGZpZWxkWzBdKSwgIkclZCIsIGZiX2luZm8tPnZhci5ncmVlbi5s ZW5ndGgpOworCQkJb2ZmICs9IGZiX2luZm8tPnZhci5ncmVlbi5sZW5ndGg7CisJCQljb250aW51 ZTsKKwkJfQorCQlpZiAoKGZiX2luZm8tPnZhci5ibHVlLm9mZnNldCA9PSBvZmYpICYmIChmYl9p bmZvLT52YXIuYmx1ZS5sZW5ndGggIT0gMCkpIHsKKwkJCXNucHJpbnRmKCZmaWVsZFtpXVswXSwg c2l6ZW9mKGZpZWxkWzBdKSwgIkIlZCIsIGZiX2luZm8tPnZhci5ibHVlLmxlbmd0aCk7CisJCQlv ZmYgKz0gZmJfaW5mby0+dmFyLmJsdWUubGVuZ3RoOworCQkJY29udGludWU7CisJCX0KKwkJaWYg KChmYl9pbmZvLT52YXIudHJhbnNwLm9mZnNldCA9PSBvZmYpICYmIChmYl9pbmZvLT52YXIudHJh bnNwLmxlbmd0aCAhPSAwKSkgeworCQkJc25wcmludGYoJmZpZWxkW2ldWzBdLCBzaXplb2YoZmll bGRbMF0pLCAiQSVkIiwgZmJfaW5mby0+dmFyLnRyYW5zcC5sZW5ndGgpOworCQkJb2ZmICs9IGZi X2luZm8tPnZhci50cmFuc3AubGVuZ3RoOworCQkJY29udGludWU7CisJCX0KKwl9CisJZm9yIChp ID0gMzsgaSA+PSAwOyBpLS0pCisJCWlmIChmaWVsZFtpXVswXSAhPSAnXDAnKQorCQkJY291bnQg Kz0gc25wcmludGYoJmJ1Zltjb3VudF0sIFBBR0VfU0laRSAtIGNvdW50LCAiJXMiLCAmZmllbGRb aV1bMF0pOworCQkJCisJaWYgKGNvdW50KQorCQljb3VudCArPSBzbnByaW50ZigmYnVmW2NvdW50 XSwgUEFHRV9TSVpFIC0gY291bnQsICJcbiIpOworCXJldHVybiBjb3VudDsKK30KKworc3RhdGlj IHNzaXplX3Qgc2hvd19jb25maWdzKHN0cnVjdCBjbGFzc19kZXZpY2UgKmNsYXNzX2RldmljZSwg Y2hhciAqYnVmKQoreworCXN0cnVjdCBmYl9pbmZvICpmYl9pbmZvID0KKwkJKHN0cnVjdCBmYl9p bmZvICopY2xhc3NfZ2V0X2RldmRhdGEoY2xhc3NfZGV2aWNlKTsKKwlpbnQgY291bnQgPSAwOwor CisJaWYgKGZiX2luZm8tPmZib3BzLT5mYl9nZXRfY29uZmlncykgeworCQlzdHJuY3B5KGJ1Ziwg ZmJfaW5mby0+ZmJvcHMtPmZiX2dldF9jb25maWdzKGZiX2luZm8pLCBQQUdFX1NJWkUpOworCQlj b3VudCA9IHN0cmxlbihidWYpOworCX0KKwlyZXR1cm4gY291bnQ7Cit9CisKIHN0YXRpYyBzc2l6 ZV90IHN0b3JlX2JwcChzdHJ1Y3QgY2xhc3NfZGV2aWNlICpjbGFzc19kZXZpY2UsIGNvbnN0IGNo YXIgKiBidWYsCiAJCQkgc2l6ZV90IGNvdW50KQogewpAQCAtMzU1LDMyICs0NzcsNiBAQCBzdGF0 aWMgc3NpemVfdCBzaG93X2JsYW5rKHN0cnVjdCBjbGFzc19kCiAJcmV0dXJuIDA7CiB9CiAKLXN0 YXRpYyBzc2l6ZV90IHN0b3JlX2NvbnNvbGUoc3RydWN0IGNsYXNzX2RldmljZSAqY2xhc3NfZGV2 aWNlLAotCQkJICAgICBjb25zdCBjaGFyICogYnVmLCBzaXplX3QgY291bnQpCi17Ci0vLwlzdHJ1 Y3QgZmJfaW5mbyAqZmJfaW5mbyA9IChzdHJ1Y3QgZmJfaW5mbyAqKWNsYXNzX2dldF9kZXZkYXRh KGNsYXNzX2RldmljZSk7Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzc2l6ZV90IHNob3dfY29u c29sZShzdHJ1Y3QgY2xhc3NfZGV2aWNlICpjbGFzc19kZXZpY2UsIGNoYXIgKmJ1ZikKLXsKLS8v CXN0cnVjdCBmYl9pbmZvICpmYl9pbmZvID0gKHN0cnVjdCBmYl9pbmZvICopY2xhc3NfZ2V0X2Rl dmRhdGEoY2xhc3NfZGV2aWNlKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHNzaXplX3Qgc3Rv cmVfY3Vyc29yKHN0cnVjdCBjbGFzc19kZXZpY2UgKmNsYXNzX2RldmljZSwKLQkJCSAgICBjb25z dCBjaGFyICogYnVmLCBzaXplX3QgY291bnQpCi17Ci0vLwlzdHJ1Y3QgZmJfaW5mbyAqZmJfaW5m byA9IChzdHJ1Y3QgZmJfaW5mbyAqKWNsYXNzX2dldF9kZXZkYXRhKGNsYXNzX2RldmljZSk7Ci0J cmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyBzc2l6ZV90IHNob3dfY3Vyc29yKHN0cnVjdCBjbGFzc19k ZXZpY2UgKmNsYXNzX2RldmljZSwgY2hhciAqYnVmKQotewotLy8Jc3RydWN0IGZiX2luZm8gKmZi X2luZm8gPSAoc3RydWN0IGZiX2luZm8gKiljbGFzc19nZXRfZGV2ZGF0YShjbGFzc19kZXZpY2Up OwotCXJldHVybiAwOwotfQotCiBzdGF0aWMgc3NpemVfdCBzdG9yZV9wYW4oc3RydWN0IGNsYXNz X2RldmljZSAqY2xhc3NfZGV2aWNlLCBjb25zdCBjaGFyICogYnVmLAogCQkJIHNpemVfdCBjb3Vu dCkKIHsKQEAgLTQyNSwxMCArNTIxLDEwIEBAIHN0YXRpYyBzdHJ1Y3QgY2xhc3NfZGV2aWNlX2F0 dHJpYnV0ZSBjbGEKIAlfX0FUVFIoYml0c19wZXJfcGl4ZWwsIFNfSVJVR098U19JV1VTUiwgc2hv d19icHAsIHN0b3JlX2JwcCksCiAJX19BVFRSKGJsYW5rLCBTX0lSVUdPfFNfSVdVU1IsIHNob3df YmxhbmssIHN0b3JlX2JsYW5rKSwKIAlfX0FUVFIoY29sb3JfbWFwLCBTX0lSVUdPfFNfSVdVU1Is IHNob3dfY21hcCwgc3RvcmVfY21hcCksCi0JX19BVFRSKGNvbnNvbGUsIFNfSVJVR098U19JV1VT Uiwgc2hvd19jb25zb2xlLCBzdG9yZV9jb25zb2xlKSwKLQlfX0FUVFIoY3Vyc29yLCBTX0lSVUdP fFNfSVdVU1IsIHNob3dfY3Vyc29yLCBzdG9yZV9jdXJzb3IpLAogCV9fQVRUUihtb2RlLCBTX0lS VUdPfFNfSVdVU1IsIHNob3dfbW9kZSwgc3RvcmVfbW9kZSksCiAJX19BVFRSKG1vZGVzLCBTX0lS VUdPfFNfSVdVU1IsIHNob3dfbW9kZXMsIHN0b3JlX21vZGVzKSwKKwlfX0FUVFIoY29uZmlnLCBT X0lSVUdPfFNfSVdVU1IsIHNob3dfY29uZmlnLCBzdG9yZV9jb25maWcpLAorCV9fQVRUUihjb25m aWdzLCBTX0lSVUdPfFNfSVdVU1IsIHNob3dfY29uZmlncywgTlVMTCksCiAJX19BVFRSKHBhbiwg U19JUlVHT3xTX0lXVVNSLCBzaG93X3Bhbiwgc3RvcmVfcGFuKSwKIAlfX0FUVFIodmlydHVhbF9z aXplLCBTX0lSVUdPfFNfSVdVU1IsIHNob3dfdmlydHVhbCwgc3RvcmVfdmlydHVhbCksCiAJX19B VFRSKG5hbWUsIFNfSVJVR08sIHNob3dfbmFtZSwgTlVMTCksCmRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2ZiLmggYi9pbmNsdWRlL2xpbnV4L2ZiLmgKLS0tIGEvaW5jbHVkZS9saW51eC9mYi5o CisrKyBiL2luY2x1ZGUvbGludXgvZmIuaApAQCAtNTk4LDYgKzU5OCwxMCBAQCBzdHJ1Y3QgZmJf b3BzIHsKIAogCS8qIHBlcmZvcm0gZmIgc3BlY2lmaWMgbW1hcCAqLwogCWludCAoKmZiX21tYXAp KHN0cnVjdCBmYl9pbmZvICppbmZvLCBzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWN0IHZtX2FyZWFf c3RydWN0ICp2bWEpOworCisJLyogR2V0IGFsbG93YWJsZSBjb25maWdzICovCisJY2hhciAqICgq ZmJfZ2V0X2NvbmZpZ3MpIChzdHJ1Y3QgZmJfaW5mbyAqaW5mbyk7CisKIH07CiAKICNpZmRlZiBD T05GSUdfRkJfVElMRUJMSVRUSU5HCmRpZmYgLS1naXQgYS9pbmNsdWRlL3ZpZGVvL3JhZGVvbi5o IGIvaW5jbHVkZS92aWRlby9yYWRlb24uaAotLS0gYS9pbmNsdWRlL3ZpZGVvL3JhZGVvbi5oCisr KyBiL2luY2x1ZGUvdmlkZW8vcmFkZW9uLmgKQEAgLTgwMCw2ICs4MDAsMTggQEAKICNkZWZpbmUg RFNUX1hfTEVGVF9UT19SSUdIVF9TICAgICAgICAgICAgICAgICAgICAgIDB4ODAwMDAwMDAKIAog CisvKiBDUlRDX1BJQ19XSURUSCBjb25zdGFudHMgKi8KKyNkZWZpbmUgUElYX1dJRFRIX0k0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDEKKyNkZWZpbmUgUElYX1dJRFRI X0k4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDIKKyNkZWZpbmUgUElY X1dJRFRIX0ExUjVHNUI1ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDMKKyNkZWZp bmUgUElYX1dJRFRIX1I1RzZCNSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDQK KyNkZWZpbmUgUElYX1dJRFRIX1I4QjhHOCAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDUKKyNkZWZpbmUgUElYX1dJRFRIX0E4UjhHOEI4ICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDYKKyNkZWZpbmUgUElYX1dJRFRIX0E0UjRCNEc0ICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDcKKyNkZWZpbmUgUElYX1dJRFRIX0E4STggICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDgKKyNkZWZpbmUgUElYX1dJRFRIX0EyUjEwRzEwQjEwICAg ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDkKKworCiAvKiBEUF9EQVRBVFlQRSBiaXQgY29u c3RhbnRzICovCiAjZGVmaW5lIERTVF84QlBQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAyCiAjZGVmaW5lIERTVF8xNUJQUCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAzCg== ------=_Part_2594_21754226.1123787661951-- ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf