From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pawel Moll Subject: Re: DT vs ARM static mappings Date: Thu, 22 Sep 2011 17:23:31 +0100 Message-ID: <1316708611.4611.873.camel@hornet.cambridge.arm.com> References: <1316519479.4611.150.camel@hornet.cambridge.arm.com> <4E78A546.9040604@gmail.com> <1316535403.4611.534.camel@hornet.cambridge.arm.com> <201109202128.55517.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <201109202128.55517.arnd@arndb.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linux-arm-kernel-bounces@lists.infradead.org Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Arnd Bergmann , Rob Herring Cc: devicetree-discuss@lists.ozlabs.org, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org PiAtIG1hcCB0aGUgZW50aXJlIEkvTyBhcmVhIGluIG1hcF9pbygpLCBkZXBlbmRpbmcgb24gdGhl IGJvYXJkCj4gLSBoYXZlIGFuIF9faW9tZW0gcG9pbnRlciBmb3IgdGhlIHN5c3JlZwo+IC0gcG9w dWxhdGUgdGhhdCBwb2ludGVyIHVzaW5nIG9mX2lvbWFwIGZyb20gdGhlIGRldmljZSB0cmVlIGFk ZHJlc3MKPiAgIGJlZm9yZSB5b3UgZmlyc3QgYWNjZXNzIGl0LgoKT2ssIHNvIHdoYXQgSSBjYW1l IHdpdGggaXMgYmVsb3cuLi4gSXQncyBiYXNlZCBtb3JlLW9yLWxlc3Mgb24gdG9wIG9mCkRhdmUn cyBwYXRjaCAoaXQncyBqdXN0IGEgZGV2ZWxvcG1lbnQgc25hcHNob3QsIGRvbid0IHRyZWF0IGl0 IGFzIGEKZmluYWwgcHJvcG9zYWwpLgoKRXhlY3V0aXZlIHN1bW1hcnk6CgoqIEkgaGF2ZSBzZWNv bmQgbWFwX2Rlc2Mgd2l0aCBwZm4gZm9yIFJTMSBtZW1vcnkgbWFwLCBidXQgdXNpbmcgdGhlIHNh bWUKdmlydHVhbCBhZGRyZXNzIGFzIHRoZSBsZWdhY3kgb25lLiBUaGUgbGVnYWN5IG9uZSBpcyB1 c2VkIGlmIHJvb3Qgb2YgdGhlCnRyZWUgaXMgY29tcGF0aWJsZSB3aXRoICJhcm0sdmV4cHJlc3Mt bGVnYWN5Ii4KCiogVGhlIGRldmljZXMgSSBuZWVkIHRvIHVzZSBpbiB2Mm0uYyBoYXZlIGFsaWFz ZXMgaW4gRFRTIHNvIEkgY2FuIGZpbmQKdGhlaXIgb2Zmc2V0cyBpbiB0aGUgZmxhdCB0cmVlICh0 aGUgKl9maW5kX25vZGVfYnlfYWxpYXMoKSBmdW5jdGlvbiBpcwpyYXRoZXIgZ2VuZXJpYyBhbmQg Y291bGQgYmUgbW92ZWQgdG8gZHJpdmVycy9vZi9mZHQuYyBpZiB5b3UgdGhpbmsgaXQKd291bGQg YmUgdXNlZnVsIGZvciBvdGhlcnMpLgoKKiBUaGVyZSBhcmUgbm8gbW9yZSB1c2VycyBvZiBNTUlP X1AyViBpbiB2Mm0uYywgbmV4dCB0aGluZyBJIHdpbGwgZG8gaXMKdGhlIHNhbWUgaW4gY29yZSB0 aWxlOyB0aGVuIHRoZSBtYWNybyBjYW4gYmUga2lsbGVkLiBPbmNlIHRoaXMgaGFwcGVucwp0aGUg dmlydHVhbCBhZGRyZXNzIGN1cnJlbnRseSB0YWtlbiBmcm9tIF9fTU1JT19QMlYoVjJNX1BBX0NT Nykgd2lsbCBiZQpyZXBsYWNlZCBieSBzb21lIGtpbmQgb2YgIiNkZWZpbmUgVjJNX1BFUklQSF9C QVNFIDB4ZjgwMDAwMDAiLgoKKiBPbmNlIE5pY28ncyBjaGFuZ2VzIHJlZ2FyZGluZyBzdGF0aWMg bWFwcyBhcmUgaW4sIHRoZSBtYW51YWwgcG9pbnRlcgpvcGVyYXRpb25zIGluIHYybV9kdF9tYXBf aW8gY2FuIGJlIHJlcGxhY2VkIHdpdGggbmVhdCBpb3JlbWFwKCktcy4KCkFsbCBmZWVkYmFjayBh cHByZWNpYXRlZCwgY2hlZXJzIQoKUGF3ZcWCCgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9vdC9k dHMvdmV4cHJlc3MtdjJtLWxlZ2FjeS5kdHNpIGIvYXJjaC9hcm0vYm9vdC9kdHMvdmV4cHJlc3Mt djJtLWxlZ2FjeS5kdHNpCmluZGV4IGNiMTgwNTIuLmVjNDBlNWMgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtL2Jvb3QvZHRzL3ZleHByZXNzLXYybS1sZWdhY3kuZHRzaQorKysgYi9hcmNoL2FybS9ib290 L2R0cy92ZXhwcmVzcy12Mm0tbGVnYWN5LmR0c2kKQEAgLTksNiArOSwxMCBAQAogCQlzZXJpYWwz ID0gJnVhcnQzOwogCQlpMmMwID0gJmkyYzA7CiAJCWkyYzEgPSAmaTJjMTsKKwkJdGltZXIwMSA9 ICZ0aW1lcjAxOworCQl0aW1lcjIzID0gJnRpbWVyMjM7CisJCXN5c3JlZyA9ICZzeXNyZWc7CisJ CXN5c2N0bCA9ICZzeXNjdGw7CiAJfTsKIAogCW1vdGhlcmJvYXJkIHsKQEAgLTQ4LDYgKzUyLDE2 IEBACiAJCQkjc2l6ZS1jZWxscyA9IDwxPjsKIAkJCXJhbmdlcyA9IDwwIDcgMCAweDIwMDAwPjsK IAorCQkJc3lzcmVnOiBzeXNyZWdAMDAwMDAgeworCQkJCWNvbXBhdGlibGUgPSAiYXJtLHZleHBy ZXNzLXN5c3JlZyI7CisJCQkJcmVnID0gPDB4MDAwMDAgMHgxMDAwPjsKKwkJCX07CisKKwkJCXN5 c2N0bDogc3lzY3RsQDAxMDAwIHsKKwkJCQljb21wYXRpYmxlID0gImFybSxzcDgxMCI7CisJCQkJ cmVnID0gPDB4MDEwMDAgMHgxMDAwPjsKKwkJCX07CisKIAkJCS8vIFBDSS1FIEkyQyBidXMKIAkJ CWkyYzA6IGkyY0AwMjAwMCB7CiAJCQkJY29tcGF0aWJsZSA9ICJhcm0sdmVyc2F0aWxlLWkyYyI7 CkBAIC0xMTYsNiArMTMwLDE2IEBACiAJCQkJaW50ZXJydXB0cyA9IDwwPjsKIAkJCX07CiAKKwkJ CXRpbWVyMDE6IHRpbWVyQDExMDAwIHsKKwkJCQljb21wYXRpYmxlID0gImFybSxzcDgwNCIsICJh cm0scHJpbWVjZWxsIjsKKwkJCQlyZWcgPSA8MHgxMTAwMCAweDEwMDA+OworCQkJfTsKKworCQkJ dGltZXIyMzogdGltZXJAMTIwMDAgeworCQkJCWNvbXBhdGlibGUgPSAiYXJtLHNwODA0IiwgImFy bSxwcmltZWNlbGwiOworCQkJCXJlZyA9IDwweDEyMDAwIDB4MTAwMD47CisJCQl9OworCiAJCQkv LyBEVkkgSTJDIGJ1cwogCQkJaTJjMTogaTJjQDE2MDAwIHsKIAkJCQljb21wYXRpYmxlID0gImFy bSx2ZXJzYXRpbGUtaTJjIjsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2Jvb3QvZHRzL3ZleHByZXNz LXYycC1jYTkuZHRzIGIvYXJjaC9hcm0vYm9vdC9kdHMvdmV4cHJlc3MtdjJwLWNhOS5kdHMKaW5k ZXggNWZjNDg3MS4uZGFkYWFlMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vYm9vdC9kdHMvdmV4cHJl c3MtdjJwLWNhOS5kdHMKKysrIGIvYXJjaC9hcm0vYm9vdC9kdHMvdmV4cHJlc3MtdjJwLWNhOS5k dHMKQEAgLTYsNyArNiw3IEBACiAKIC8gewogCW1vZGVsID0gIkFSTSBWZXJzYXRpbGUgRXhwcmVz cyI7Ci0JY29tcGF0aWJsZSA9ICJhcm0sdmV4cHJlc3MtdjJwLWNhOSIsICJhcm0sdmV4cHJlc3Mi OworCWNvbXBhdGlibGUgPSAiYXJtLHZleHByZXNzLXYycC1jYTkiLCAiYXJtLHZleHByZXNzLWxl Z2FjeSIsICJhcm0sdmV4cHJlc3MiOwogCWludGVycnVwdC1wYXJlbnQgPSA8JmludGM+OwogCiAJ bWVtb3J5IHsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2hhcmR3YXJlL2FybV90 aW1lci5oIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vaGFyZHdhcmUvYXJtX3RpbWVyLmgKaW5kZXgg YzBmNGU3Yi4uZDYwMzBmZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vaW5jbHVkZS9hc20vaGFyZHdh cmUvYXJtX3RpbWVyLmgKKysrIGIvYXJjaC9hcm0vaW5jbHVkZS9hc20vaGFyZHdhcmUvYXJtX3Rp bWVyLmgKQEAgLTksNyArOSwxMiBAQAogICoKICAqIEludGVncmF0b3IgQVAgaGFzIDE2LWJpdCB0 aW1lcnMsIEludGVncmF0b3IgQ1AsIFZlcnNhdGlsZSBhbmQgUmVhbHZpZXcKICAqIGNhbiBoYXZl IDE2LWJpdCBvciAzMi1iaXQgc2VsZWN0YWJsZSB2aWEgYSBiaXQgaW4gdGhlIGNvbnRyb2wgcmVn aXN0ZXIuCisgKgorICogRXZlcnkgU1A4MDQgY29udGFpbnMgdHdvIGlkZW50aWNhbCB0aW1lcnMu CiAgKi8KKyNkZWZpbmUgVElNRVJfMV9CQVNFCTB4MDAKKyNkZWZpbmUgVElNRVJfMl9CQVNFCTB4 MjAKKwogI2RlZmluZSBUSU1FUl9MT0FECTB4MDAJCQkvKiBBQ1ZSIHJ3ICovCiAjZGVmaW5lIFRJ TUVSX1ZBTFVFCTB4MDQJCQkvKiBBQ1ZSIHJvICovCiAjZGVmaW5lIFRJTUVSX0NUUkwJMHgwOAkJ CS8qIEFDVlIgcncgKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtdmV4cHJlc3MvaW5jbHVk ZS9tYWNoL21vdGhlcmJvYXJkLmggYi9hcmNoL2FybS9tYWNoLXZleHByZXNzL2luY2x1ZGUvbWFj aC9tb3RoZXJib2FyZC5oCmluZGV4IDBhM2EzNzUuLjBiNDJiOTYgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtL21hY2gtdmV4cHJlc3MvaW5jbHVkZS9tYWNoL21vdGhlcmJvYXJkLmgKKysrIGIvYXJjaC9h cm0vbWFjaC12ZXhwcmVzcy9pbmNsdWRlL21hY2gvbW90aGVyYm9hcmQuaApAQCAtMzksMzQgKzM5 LDI3IEBACiAjZGVmaW5lIFYyTV9DRgkJCShWMk1fUEFfQ1M3ICsgMHgwMDAxYTAwMCkKICNkZWZp bmUgVjJNX0NMQ0QJCShWMk1fUEFfQ1M3ICsgMHgwMDAxZjAwMCkKIAotI2RlZmluZSBWMk1fU1lT X0lECQkoVjJNX1NZU1JFR1MgKyAweDAwMCkKLSNkZWZpbmUgVjJNX1NZU19TVwkJKFYyTV9TWVNS RUdTICsgMHgwMDQpCi0jZGVmaW5lIFYyTV9TWVNfTEVECQkoVjJNX1NZU1JFR1MgKyAweDAwOCkK LSNkZWZpbmUgVjJNX1NZU18xMDBIWgkJKFYyTV9TWVNSRUdTICsgMHgwMjQpCi0jZGVmaW5lIFYy TV9TWVNfRkxBR1MJCShWMk1fU1lTUkVHUyArIDB4MDMwKQotI2RlZmluZSBWMk1fU1lTX0ZMQUdT U0VUCShWMk1fU1lTUkVHUyArIDB4MDMwKQotI2RlZmluZSBWMk1fU1lTX0ZMQUdTQ0xSCShWMk1f U1lTUkVHUyArIDB4MDM0KQotI2RlZmluZSBWMk1fU1lTX05WRkxBR1MJCShWMk1fU1lTUkVHUyAr IDB4MDM4KQotI2RlZmluZSBWMk1fU1lTX05WRkxBR1NTRVQJKFYyTV9TWVNSRUdTICsgMHgwMzgp Ci0jZGVmaW5lIFYyTV9TWVNfTlZGTEFHU0NMUgkoVjJNX1NZU1JFR1MgKyAweDAzYykKLSNkZWZp bmUgVjJNX1NZU19NQ0kJCShWMk1fU1lTUkVHUyArIDB4MDQ4KQotI2RlZmluZSBWMk1fU1lTX0ZM QVNICQkoVjJNX1NZU1JFR1MgKyAweDAzYykKLSNkZWZpbmUgVjJNX1NZU19DRkdTVwkJKFYyTV9T WVNSRUdTICsgMHgwNTgpCi0jZGVmaW5lIFYyTV9TWVNfMjRNSFoJCShWMk1fU1lTUkVHUyArIDB4 MDVjKQotI2RlZmluZSBWMk1fU1lTX01JU0MJCShWMk1fU1lTUkVHUyArIDB4MDYwKQotI2RlZmlu ZSBWMk1fU1lTX0RNQQkJKFYyTV9TWVNSRUdTICsgMHgwNjQpCi0jZGVmaW5lIFYyTV9TWVNfUFJP Q0lEMAkJKFYyTV9TWVNSRUdTICsgMHgwODQpCi0jZGVmaW5lIFYyTV9TWVNfUFJPQ0lEMQkJKFYy TV9TWVNSRUdTICsgMHgwODgpCi0jZGVmaW5lIFYyTV9TWVNfQ0ZHREFUQQkJKFYyTV9TWVNSRUdT ICsgMHgwYTApCi0jZGVmaW5lIFYyTV9TWVNfQ0ZHQ1RSTAkJKFYyTV9TWVNSRUdTICsgMHgwYTQp Ci0jZGVmaW5lIFYyTV9TWVNfQ0ZHU1RBVAkJKFYyTV9TWVNSRUdTICsgMHgwYTgpCi0KLSNkZWZp bmUgVjJNX1RJTUVSMAkJKFYyTV9USU1FUjAxICsgMHgwMDApCi0jZGVmaW5lIFYyTV9USU1FUjEJ CShWMk1fVElNRVIwMSArIDB4MDIwKQotCi0jZGVmaW5lIFYyTV9USU1FUjIJCShWMk1fVElNRVIy MyArIDB4MDAwKQotI2RlZmluZSBWMk1fVElNRVIzCQkoVjJNX1RJTUVSMjMgKyAweDAyMCkKLQor I2RlZmluZSBWMk1fU1lTX0lECQkweDAwMAorI2RlZmluZSBWMk1fU1lTX1NXCQkweDAwNAorI2Rl ZmluZSBWMk1fU1lTX0xFRAkJMHgwMDgKKyNkZWZpbmUgVjJNX1NZU18xMDBIWgkJMHgwMjQKKyNk ZWZpbmUgVjJNX1NZU19GTEFHUwkJMHgwMzAKKyNkZWZpbmUgVjJNX1NZU19GTEFHU1NFVAkweDAz MAorI2RlZmluZSBWMk1fU1lTX0ZMQUdTQ0xSCTB4MDM0CisjZGVmaW5lIFYyTV9TWVNfTlZGTEFH UwkJMHgwMzgKKyNkZWZpbmUgVjJNX1NZU19OVkZMQUdTU0VUCTB4MDM4CisjZGVmaW5lIFYyTV9T WVNfTlZGTEFHU0NMUgkweDAzYworI2RlZmluZSBWMk1fU1lTX01DSQkJMHgwNDgKKyNkZWZpbmUg VjJNX1NZU19GTEFTSAkJMHgwM2MKKyNkZWZpbmUgVjJNX1NZU19DRkdTVwkJMHgwNTgKKyNkZWZp bmUgVjJNX1NZU18yNE1IWgkJMHgwNWMKKyNkZWZpbmUgVjJNX1NZU19NSVNDCQkweDA2MAorI2Rl ZmluZSBWMk1fU1lTX0RNQQkJMHgwNjQKKyNkZWZpbmUgVjJNX1NZU19QUk9DSUQwCQkweDA4NAor I2RlZmluZSBWMk1fU1lTX1BST0NJRDEJCTB4MDg4CisjZGVmaW5lIFYyTV9TWVNfQ0ZHREFUQQkJ MHgwYTAKKyNkZWZpbmUgVjJNX1NZU19DRkdDVFJMCQkweDBhNAorI2RlZmluZSBWMk1fU1lTX0NG R1NUQVQJCTB4MGE4CiAKIC8qCiAgKiBJbnRlcnJ1cHRzLiAgVGhvc2UgaW4ge30gYXJlIGZvciBB TUJBIGRldmljZXMKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtdmV4cHJlc3MvdjJtLmMgYi9h cmNoL2FybS9tYWNoLXZleHByZXNzL3YybS5jCmluZGV4IGVkMDBkNTIuLjE2ZTQwMDYgMTAwNjQ0 Ci0tLSBhL2FyY2gvYXJtL21hY2gtdmV4cHJlc3MvdjJtLmMKKysrIGIvYXJjaC9hcm0vbWFjaC12 ZXhwcmVzcy92Mm0uYwpAQCAtNiw2ICs2LDggQEAKICNpbmNsdWRlIDxsaW51eC9hbWJhL21tY2ku aD4KICNpbmNsdWRlIDxsaW51eC9pby5oPgogI2luY2x1ZGUgPGxpbnV4L2luaXQuaD4KKyNpbmNs dWRlIDxsaW51eC9vZl9hZGRyZXNzLmg+CisjaW5jbHVkZSA8bGludXgvb2ZfZmR0Lmg+CiAjaW5j bHVkZSA8bGludXgvb2ZfaXJxLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0uaD4KICNp bmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4KQEAgLTMzLDEzICszNSwxNCBAQAogCiAj aW5jbHVkZSAiY29yZS5oIgogCisvKiBMZWdhY3kgbWVtb3J5IG1hcCB2YWx1ZXMgZm9yIGJhY2t3 YXJkIGNvbXBhdGliaWxpdHkgKi8KICNkZWZpbmUgVjJNX1BBX0NTMAkweDQwMDAwMDAwCiAjZGVm aW5lIFYyTV9QQV9DUzEJMHg0NDAwMDAwMAogI2RlZmluZSBWMk1fUEFfQ1MyCTB4NDgwMDAwMDAK ICNkZWZpbmUgVjJNX1BBX0NTMwkweDRjMDAwMDAwCiAjZGVmaW5lIFYyTV9QQV9DUzcJMHgxMDAw MDAwMAogCi1zdGF0aWMgc3RydWN0IG1hcF9kZXNjIHYybV9pb19kZXNjW10gX19pbml0ZGF0YSA9 IHsKK3N0YXRpYyBzdHJ1Y3QgbWFwX2Rlc2MgdjJtX2xlZ2FjeV9pb19kZXNjW10gX19pbml0ZGF0 YSA9IHsKIAl7CiAJCS52aXJ0dWFsCT0gX19NTUlPX1AyVihWMk1fUEFfQ1M3KSwKIAkJLnBmbgkJ PSBfX3BoeXNfdG9fcGZuKFYyTV9QQV9DUzcpLApAQCAtNDgsMjEgKzUxLDM2IEBAIHN0YXRpYyBz dHJ1Y3QgbWFwX2Rlc2MgdjJtX2lvX2Rlc2NbXSBfX2luaXRkYXRhID0gewogCX0sCiB9OwogCitz dGF0aWMgc3RydWN0IG1hcF9kZXNjIHYybV9yczFfaW9fZGVzY1tdIF9faW5pdGRhdGEgPSB7CisJ eworCQkudmlydHVhbAk9IF9fTU1JT19QMlYoVjJNX1BBX0NTNyksCisJCS5wZm4JCT0gX19waHlz X3RvX3BmbigweDFjMDAwMDAwKSwKKwkJLmxlbmd0aAkJPSBTWl8yTSwKKwkJLnR5cGUJCT0gTVRf REVWSUNFLAorCX0sCit9OworCitzdGF0aWMgdm9pZCBfX2lvbWVtICp2Mm1fc3lzcmVnX2Jhc2U7 CitzdGF0aWMgdm9pZCBfX2lvbWVtICp2Mm1fc3lzY3RsX2Jhc2U7CitzdGF0aWMgdm9pZCBfX2lv bWVtICp2Mm1fdGltZXIwMV9iYXNlOworCisKKwogc3RhdGljIHZvaWQgX19pbml0IHYybV90aW1l cl9pbml0KHZvaWQpCiB7CiAJdTMyIHNjY3RybDsKIAogCS8qIFNlbGVjdCAxTUh6IFRJTUNMSyBh cyB0aGUgcmVmZXJlbmNlIGNsb2NrIGZvciBTUDgwNCB0aW1lcnMgKi8KLQlzY2N0cmwgPSByZWFk bChNTUlPX1AyVihWMk1fU1lTQ1RMICsgU0NDVFJMKSk7CisJc2NjdHJsID0gcmVhZGwodjJtX3N5 c2N0bF9iYXNlICsgU0NDVFJMKTsKIAlzY2N0cmwgfD0gU0NDVFJMX1RJTUVSRU4wU0VMX1RJTUNM SzsKIAlzY2N0cmwgfD0gU0NDVFJMX1RJTUVSRU4xU0VMX1RJTUNMSzsKLQl3cml0ZWwoc2NjdHJs LCBNTUlPX1AyVihWMk1fU1lTQ1RMICsgU0NDVFJMKSk7CisJd3JpdGVsKHNjY3RybCwgdjJtX3N5 c2N0bF9iYXNlICsgU0NDVFJMKTsKIAotCXdyaXRlbCgwLCBNTUlPX1AyVihWMk1fVElNRVIwKSAr IFRJTUVSX0NUUkwpOwotCXdyaXRlbCgwLCBNTUlPX1AyVihWMk1fVElNRVIxKSArIFRJTUVSX0NU UkwpOworCXdyaXRlbCgwLCB2Mm1fdGltZXIwMV9iYXNlICsgVElNRVJfMV9CQVNFICsgVElNRVJf Q1RSTCk7CisJd3JpdGVsKDAsIHYybV90aW1lcjAxX2Jhc2UgKyBUSU1FUl8yX0JBU0UgKyBUSU1F Ul9DVFJMKTsKIAotCXNwODA0X2Nsb2Nrc291cmNlX2luaXQoTU1JT19QMlYoVjJNX1RJTUVSMSks ICJ2Mm0tdGltZXIxIik7Ci0Jc3A4MDRfY2xvY2tldmVudHNfaW5pdChNTUlPX1AyVihWMk1fVElN RVIwKSwgSVJRX1YyTV9USU1FUjAsCisJc3A4MDRfY2xvY2tzb3VyY2VfaW5pdCh2Mm1fdGltZXIw MV9iYXNlICsgVElNRVJfMV9CQVNFLCAidjJtLXRpbWVyMSIpOworCXNwODA0X2Nsb2NrZXZlbnRz X2luaXQodjJtX3RpbWVyMDFfYmFzZSArIFRJTUVSXzJfQkFTRSwgSVJRX1YyTV9USU1FUjAsCiAJ CSJ2Mm0tdGltZXIwIik7CiB9CiAKQEAgLTgzLDE0ICsxMDEsMTQgQEAgaW50IHYybV9jZmdfd3Jp dGUodTMyIGRldmZuLCB1MzIgZGF0YSkKIAlkZXZmbiB8PSBTWVNfQ0ZHX1NUQVJUIHwgU1lTX0NG R19XUklURTsKIAogCXNwaW5fbG9jaygmdjJtX2NmZ19sb2NrKTsKLQl2YWwgPSByZWFkbChNTUlP X1AyVihWMk1fU1lTX0NGR1NUQVQpKTsKLQl3cml0ZWwodmFsICYgflNZU19DRkdfQ09NUExFVEUs IE1NSU9fUDJWKFYyTV9TWVNfQ0ZHU1RBVCkpOworCXZhbCA9IHJlYWRsKHYybV9zeXNyZWdfYmFz ZSArIFYyTV9TWVNfQ0ZHU1RBVCk7CisJd3JpdGVsKHZhbCAmIH5TWVNfQ0ZHX0NPTVBMRVRFLCB2 Mm1fc3lzcmVnX2Jhc2UgKyBWMk1fU1lTX0NGR1NUQVQpOwogCi0Jd3JpdGVsKGRhdGEsIE1NSU9f UDJWKFYyTV9TWVNfQ0ZHREFUQSkpOwotCXdyaXRlbChkZXZmbiwgTU1JT19QMlYoVjJNX1NZU19D RkdDVFJMKSk7CisJd3JpdGVsKGRhdGEsIHYybV9zeXNyZWdfYmFzZSArICBWMk1fU1lTX0NGR0RB VEEpOworCXdyaXRlbChkZXZmbiwgdjJtX3N5c3JlZ19iYXNlICsgVjJNX1NZU19DRkdDVFJMKTsK IAogCWRvIHsKLQkJdmFsID0gcmVhZGwoTU1JT19QMlYoVjJNX1NZU19DRkdTVEFUKSk7CisJCXZh bCA9IHJlYWRsKHYybV9zeXNyZWdfYmFzZSArIFYyTV9TWVNfQ0ZHU1RBVCk7CiAJfSB3aGlsZSAo dmFsID09IDApOwogCXNwaW5fdW5sb2NrKCZ2Mm1fY2ZnX2xvY2spOwogCkBAIC0xMDQsMTcgKzEy MiwxNyBAQCBpbnQgdjJtX2NmZ19yZWFkKHUzMiBkZXZmbiwgdTMyICpkYXRhKQogCWRldmZuIHw9 IFNZU19DRkdfU1RBUlQ7CiAKIAlzcGluX2xvY2soJnYybV9jZmdfbG9jayk7Ci0Jd3JpdGVsKDAs IE1NSU9fUDJWKFYyTV9TWVNfQ0ZHU1RBVCkpOwotCXdyaXRlbChkZXZmbiwgTU1JT19QMlYoVjJN X1NZU19DRkdDVFJMKSk7CisJd3JpdGVsKDAsIHYybV9zeXNyZWdfYmFzZSArIFYyTV9TWVNfQ0ZH U1RBVCk7CisJd3JpdGVsKGRldmZuLCB2Mm1fc3lzcmVnX2Jhc2UgKyBWMk1fU1lTX0NGR0NUUkwp OwogCiAJbWIoKTsKIAogCWRvIHsKIAkJY3B1X3JlbGF4KCk7Ci0JCXZhbCA9IHJlYWRsKE1NSU9f UDJWKFYyTV9TWVNfQ0ZHU1RBVCkpOworCQl2YWwgPSByZWFkbCh2Mm1fc3lzcmVnX2Jhc2UgKyBW Mk1fU1lTX0NGR1NUQVQpOwogCX0gd2hpbGUgKHZhbCA9PSAwKTsKIAotCSpkYXRhID0gcmVhZGwo TU1JT19QMlYoVjJNX1NZU19DRkdEQVRBKSk7CisJKmRhdGEgPSByZWFkbCh2Mm1fc3lzcmVnX2Jh c2UgKyBWMk1fU1lTX0NGR0RBVEEpOwogCXNwaW5fdW5sb2NrKCZ2Mm1fY2ZnX2xvY2spOwogCiAJ cmV0dXJuICEhKHZhbCAmIFNZU19DRkdfRVJSKTsKQEAgLTIwNSw3ICsyMjMsNyBAQCBzdGF0aWMg c3RydWN0IHBsYXRmb3JtX2RldmljZSB2Mm1fdXNiX2RldmljZSA9IHsKIAogc3RhdGljIHZvaWQg djJtX2ZsYXNoX3NldF92cHAoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwgaW50IG9uKQog ewotCXdyaXRlbChvbiAhPSAwLCBNTUlPX1AyVihWMk1fU1lTX0ZMQVNIKSk7CisJd3JpdGVsKG9u ICE9IDAsIHYybV9zeXNyZWdfYmFzZSArIFYyTV9TWVNfRkxBU0gpOwogfQogCiBzdGF0aWMgc3Ry dWN0IHBoeXNtYXBfZmxhc2hfZGF0YSB2Mm1fZmxhc2hfZGF0YSA9IHsKQEAgLTI1OSw3ICsyNzcs NyBAQCBzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSB2Mm1fY2ZfZGV2aWNlID0gewogCiBz dGF0aWMgdW5zaWduZWQgaW50IHYybV9tbWNpX3N0YXR1cyhzdHJ1Y3QgZGV2aWNlICpkZXYpCiB7 Ci0JcmV0dXJuIHJlYWRsKE1NSU9fUDJWKFYyTV9TWVNfTUNJKSkgJiAoMSA8PCAwKTsKKwlyZXR1 cm4gcmVhZGwodjJtX3N5c3JlZ19iYXNlICsgVjJNX1NZU19NQ0kpICYgKDEgPDwgMCk7CiB9CiAK IHN0YXRpYyBzdHJ1Y3QgbW1jaV9wbGF0Zm9ybV9kYXRhIHYybV9tbWNpX2RhdGEgPSB7CkBAIC0z NzIsNyArMzkwLDcgQEAgc3RhdGljIHZvaWQgX19pbml0IHYybV9pbml0X2Vhcmx5KHZvaWQpCiB7 CiAJY3RfZGVzYy0+aW5pdF9lYXJseSgpOwogCWNsa2Rldl9hZGRfdGFibGUodjJtX2xvb2t1cHMs IEFSUkFZX1NJWkUodjJtX2xvb2t1cHMpKTsKLQl2ZXJzYXRpbGVfc2NoZWRfY2xvY2tfaW5pdChN TUlPX1AyVihWMk1fU1lTXzI0TUhaKSwgMjQwMDAwMDApOworCXZlcnNhdGlsZV9zY2hlZF9jbG9j a19pbml0KHYybV9zeXNyZWdfYmFzZSArIFYyTV9TWVNfMjRNSFosIDI0MDAwMDAwKTsKIH0KIAog c3RhdGljIHZvaWQgdjJtX3Bvd2VyX29mZih2b2lkKQpAQCAtNDAxLDcgKzQxOSw4IEBAIHN0YXRp YyB2b2lkIF9faW5pdCB2Mm1fcG9wdWxhdGVfY3RfZGVzYyh2b2lkKQogCXUzMiBjdXJyZW50X3Rp bGVfaWQ7CiAKIAljdF9kZXNjID0gTlVMTDsKLQljdXJyZW50X3RpbGVfaWQgPSByZWFkbChNTUlP X1AyVihWMk1fU1lTX1BST0NJRDApKSAmIFYyTV9DVF9JRF9NQVNLOworCWN1cnJlbnRfdGlsZV9p ZCA9IHJlYWRsKHYybV9zeXNyZWdfYmFzZSArIFYyTV9TWVNfUFJPQ0lEMCkKKwkJCQkmIFYyTV9D VF9JRF9NQVNLOwogCiAJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY3RfZGVzY3MpICYmICFj dF9kZXNjOyArK2kpCiAJCWlmIChjdF9kZXNjc1tpXS0+aWQgPT0gY3VycmVudF90aWxlX2lkKQpA QCAtNDE0LDcgKzQzMywxMCBAQCBzdGF0aWMgdm9pZCBfX2luaXQgdjJtX3BvcHVsYXRlX2N0X2Rl c2Modm9pZCkKIAogc3RhdGljIHZvaWQgX19pbml0IHYybV9tYXBfaW8odm9pZCkKIHsKLQlpb3Rh YmxlX2luaXQodjJtX2lvX2Rlc2MsIEFSUkFZX1NJWkUodjJtX2lvX2Rlc2MpKTsKKwlpb3RhYmxl X2luaXQodjJtX2xlZ2FjeV9pb19kZXNjLCBBUlJBWV9TSVpFKHYybV9sZWdhY3lfaW9fZGVzYykp OworCXYybV9zeXNyZWdfYmFzZSA9IE1NSU9fUDJWKFYyTV9TWVNSRUdTKTsKKwl2Mm1fc3lzY3Rs X2Jhc2UgPSBNTUlPX1AyVihWMk1fU1lTQ1RMKTsKKwl2Mm1fdGltZXIwMV9iYXNlID0gTU1JT19Q MlYoVjJNX1RJTUVSMDEpOwogCXYybV9wb3B1bGF0ZV9jdF9kZXNjKCk7CiAJY3RfZGVzYy0+bWFw X2lvKCk7CiB9CkBAIC00NzIsNiArNDk0LDEzNSBAQCBzdHJ1Y3Qgb2ZfZGV2X2F1eGRhdGEgdjJt X2R0X2F1eGRhdGFfbG9va3VwW10gX19pbml0ZGF0YSA9IHsKIAl7fQogfTsKIAorc3RydWN0IHYy bV9kdF9maW5kX2FsaWFzX3N0YXRlIHsKKwljb25zdCBjaGFyICphbGlhczsKKwl1bnNpZ25lZCBs b25nIG5vZGU7CisJY29uc3QgY2hhciAqcGF0aDsKKwlpbnQgZGVwdGg7CisJaW50IHRva2VuX2xl bjsKKworfTsKKworc3RhdGljIGludCBfX2luaXQgdjJtX2R0X3NjYW5fcGF0aCh1bnNpZ25lZCBs b25nIG5vZGUsCisJCWNvbnN0IGNoYXIgKnVuYW1lLCBpbnQgZGVwdGgsIHZvaWQgKmRhdGEpCit7 CisJc3RydWN0IHYybV9kdF9maW5kX2FsaWFzX3N0YXRlICpzdGF0ZSA9IGRhdGE7CisKKwlwcl9k ZWJ1ZygiJXM6IHVuYW1lPSclcycsIGRlcHRoPSVkLCBzdGF0ZS0+cGF0aD0nJXMnLCBzdGF0ZS0+ ZGVwdGg9JWQsIgorCQkJIiBzdGF0ZS0+dG9rZW5fbGVuPSVkXG4iLCBfX2Z1bmNfXywgdW5hbWUs IGRlcHRoLAorCQkJc3RhdGUtPnBhdGgsIHN0YXRlLT5kZXB0aCwgc3RhdGUtPnRva2VuX2xlbik7 CisKKwkvKiBJZiB0aGUgZGVwdGggZGVjcmVhc2VzLCB3ZSBkaWRuJ3QgZmluZCB0aGUgcGF0aCAq LworCWlmIChkZXB0aCA8IHN0YXRlLT5kZXB0aCkKKwkJcmV0dXJuIC1FTk9FTlQ7CisKKwkvKiBD aGVjayBpZiBwYXRoIH49IC9edW5hbWVbXC9cMF0vICovCisJaWYgKHN0cm5jbXAoc3RhdGUtPnBh dGgsIHVuYW1lLCBzdGF0ZS0+dG9rZW5fbGVuKSA9PSAwICYmCisJCQl1bmFtZVtzdGF0ZS0+dG9r ZW5fbGVuXSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKnNsYXNoOworCisJCXN0YXRlLT5kZXB0aCsr OworCQlzdGF0ZS0+cGF0aCArPSBzdGF0ZS0+dG9rZW5fbGVuOyAvKiBOZXh0IHRva2VuICovCisJ CWlmICgqc3RhdGUtPnBhdGggPT0gMCkgeyAvKiBBbGwgcGF0aCB0b2tlbnMgcHJvY2Vzc2VkPyAq LworCQkJc3RhdGUtPm5vZGUgPSBub2RlOworCQkJcmV0dXJuIDE7IC8qIFN1Y2Nlc3MhICovCisJ CX0KKwkJQlVHX09OKCpzdGF0ZS0+cGF0aCAhPSAnLycpOworCQlzdGF0ZS0+cGF0aCsrOyAvKiBT a2lwIGxlYWRpbmcgc2xhc2ggKi8KKwkJc2xhc2ggPSBzdHJjaHIoc3RhdGUtPnBhdGgsICcvJyk7 CisJCWlmICghc2xhc2gpCisJCQlzdGF0ZS0+dG9rZW5fbGVuID0gc3RybGVuKHN0YXRlLT5wYXRo KTsKKwkJZWxzZQorCQkJc3RhdGUtPnRva2VuX2xlbiA9IHNsYXNoIC0gc3RhdGUtPnBhdGg7CisJ fQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHYybV9kdF9zY2FuX2FsaWFz KHVuc2lnbmVkIGxvbmcgbm9kZSwKKwkJY29uc3QgY2hhciAqdW5hbWUsIGludCBkZXB0aCwgdm9p ZCAqZGF0YSkKK3sKKwlpbnQgcmVzOworCXN0cnVjdCB2Mm1fZHRfZmluZF9hbGlhc19zdGF0ZSAq c3RhdGUgPSBkYXRhOworCQorCWlmIChkZXB0aCAhPSAxIHx8IHN0cmNtcCh1bmFtZSwgImFsaWFz ZXMiKSAhPSAwKQorCQlyZXR1cm4gMDsKKworCXN0YXRlLT5wYXRoID0gb2ZfZ2V0X2ZsYXRfZHRf cHJvcChub2RlLCBzdGF0ZS0+YWxpYXMsIE5VTEwpOworCWlmICghc3RhdGUtPnBhdGgpCisJCXJl dHVybiAtRU5YSU87CisJaWYgKCpzdGF0ZS0+cGF0aCAhPSAnLycpCisJCXJldHVybiAtRUZBVUxU OworCisJc3RhdGUtPnRva2VuX2xlbiA9IDA7IC8qIFJvb3Qgbm9kZSBoYXMgbm8gbmFtZSAqLwor CXJlcyA9IG9mX3NjYW5fZmxhdF9kdCh2Mm1fZHRfc2Nhbl9wYXRoLCBzdGF0ZSk7CisJaWYgKHJl cyA9PSAwKSAvKiBXaG9sZSB0cmVlIHNjYW5uZWQsIG5vIHBhdGggZm91bmQgKi8KKwkJcmVzID0g LUVOT0VOVDsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgX19pbml0IHYybV9kdF9m aW5kX25vZGVfYnlfYWxpYXMoY29uc3QgY2hhciAqYWxpYXMsCisJCXVuc2lnbmVkIGxvbmcgKm5v ZGUpCit7CisJaW50IGVycjsKKwlzdHJ1Y3QgdjJtX2R0X2ZpbmRfYWxpYXNfc3RhdGUgc3RhdGUg PSB7CisJCS5hbGlhcyA9IGFsaWFzLAorCX07CisKKwllcnIgPSBvZl9zY2FuX2ZsYXRfZHQodjJt X2R0X3NjYW5fYWxpYXMsICZzdGF0ZSk7CisJCisJaWYgKGVyciA+IDApCisJCSpub2RlID0gc3Rh dGUubm9kZTsKKworCXJldHVybiBlcnI7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIF9faW5p dCB2Mm1fZHRfcGVyaXBoX29mZnNldChjb25zdCBjaGFyICphbGlhcykKK3sKKwl1bnNpZ25lZCBs b25nIG5vZGU7CisJX19iZTMyICpyZWc7CisJdW5zaWduZWQgbG9uZyBsZW47CisJdW5zaWduZWQg bG9uZyBvZmZzZXQ7CisKKwlpZiAodjJtX2R0X2ZpbmRfbm9kZV9ieV9hbGlhcyhhbGlhcywgJm5v ZGUpIDw9IDApCisJCXBhbmljKCIlcygpOiBDYW4ndCBnZXQgb2Zmc2V0IGZvciAnJXMnIVxuIiwg X19mdW5jX18sIGFsaWFzKTsKKworCXJlZyA9IG9mX2dldF9mbGF0X2R0X3Byb3Aobm9kZSwgInJl ZyIsICZsZW4pOworCWlmICghcmVnKQorCQlwYW5pYygiJXMoKTogQ2FuJ3QgZ2V0IHJlZyBwcm9w ZXJ0eSBmb3IgJyVzJyFcbiIsCisJCQkJX19mdW5jX18sIGFsaWFzKTsKKworCXJldHVybiBiZTMy X3RvX2NwdXAocmVnKTsKK30KKworc3RhdGljIHZvaWQgX19pbml0IHYybV9kdF9tYXBfaW8odm9p ZCkKK3sKKwl2b2lkIF9faW9tZW0gKnBlcmlwaF9iYXNlOworCisJaWYgKG9mX2ZsYXRfZHRfaXNf Y29tcGF0aWJsZShvZl9nZXRfZmxhdF9kdF9yb290KCksCisJCQkJImFybSx2ZXhwcmVzcy1sZWdh Y3kiKSkgeworCQlwcl9pbmZvKCJ2Mm06IExlZ2FjeSBtZW1vcnkgbWFwLlxuIik7CisJCWlvdGFi bGVfaW5pdCh2Mm1fbGVnYWN5X2lvX2Rlc2MsCisJCQkJQVJSQVlfU0laRSh2Mm1fbGVnYWN5X2lv X2Rlc2MpKTsKKwkJLyogV29uJ3QgYmUgbmVlZGVkIG9uY2Ugd2UgY2FuIGNhbGwgaW9yZW1hcCgp IGluIG1hcF9pbyAqLworCQlwZXJpcGhfYmFzZSA9ICh2b2lkIF9faW9tZW0gKil2Mm1fbGVnYWN5 X2lvX2Rlc2NbMF0udmlydHVhbDsKKwl9IGVsc2UgeworCQlwcmludGsoInYybTogUlMxIG1lbW9y eSBtYXAuXG4iKTsKKwkJaW90YWJsZV9pbml0KHYybV9yczFfaW9fZGVzYywKKwkJCQlBUlJBWV9T SVpFKHYybV9yczFfaW9fZGVzYykpOworCQkvKiBXb24ndCBiZSBuZWVkZWQgb25jZSB3ZSBjYW4g Y2FsbCBpb3JlbWFwKCkgaW4gbWFwX2lvICovCisJCXBlcmlwaF9iYXNlID0gKHZvaWQgX19pb21l bSAqKXYybV9sZWdhY3lfaW9fZGVzY1swXS52aXJ0dWFsOworCX0KKworCXYybV9zeXNyZWdfYmFz ZSA9IHBlcmlwaF9iYXNlICsgdjJtX2R0X3BlcmlwaF9vZmZzZXQoInN5c3JlZyIpOworCXYybV9z eXNjdGxfYmFzZSA9IHBlcmlwaF9iYXNlICsgdjJtX2R0X3BlcmlwaF9vZmZzZXQoInN5c2N0bCIp OworCXYybV90aW1lcjAxX2Jhc2UgPSBwZXJpcGhfYmFzZSArIHYybV9kdF9wZXJpcGhfb2Zmc2V0 KCJ0aW1lcjAxIik7CisKKwl2Mm1fcG9wdWxhdGVfY3RfZGVzYygpOworCWN0X2Rlc2MtPm1hcF9p bygpOworfQorCiBzdGF0aWMgdm9pZCBfX2luaXQgdjJtX2R0X2luaXQodm9pZCkKIHsKIAlvZl9w bGF0Zm9ybV9wb3B1bGF0ZShOVUxMLCBvZl9kZWZhdWx0X2J1c19tYXRjaF90YWJsZSwKQEAgLTQ4 OSw3ICs2NDAsNyBAQCBzdGF0aWMgY29uc3QgY2hhciAqdjJtX2R0X21hdGNoW10gX19pbml0Y29u c3QgPSB7CiB9OwogCiBEVF9NQUNISU5FX1NUQVJUKFZFWFBSRVNTX0RULCAiQVJNLVZlcnNhdGls ZSBFeHByZXNzIikKLQkubWFwX2lvCQk9IHYybV9tYXBfaW8sCisJLm1hcF9pbwkJPSB2Mm1fZHRf bWFwX2lvLAogCS5pbml0X2Vhcmx5CT0gdjJtX2luaXRfZWFybHksCiAJLmluaXRfaXJxCT0gdjJt X2luaXRfaXJxLAogCS50aW1lcgkJPSAmdjJtX3RpbWVyLAoKCgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxp c3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=