From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Subject: [PATCH v5 00/14] Add System Error Interrupt support to Armada SoCs Date: Thu, 30 Aug 2018 09:35:21 +0200 Message-ID: <20180830073535.10710-1-miquel.raynal@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Thomas Gleixner , Jason Cooper , Marc Zyngier , Catalin Marinas , Will Deacon , Andrew Lunn , Gregory Clement , Sebastian Hesselbarth Cc: Mark Rutland , devicetree@vger.kernel.org, Haim Boot , Antoine Tenart , Hanna Hawa , Maxime Chevallier , Nadav Haklai , Rob Herring , Thomas Petazzoni , Miquel Raynal , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org VGhlIElDVSBpcyBhbiBJUlEgY2hpcCBmb3VuZCBpbiBBcm1hZGEgQ1AxMTAuIEl0IGN1cnJlbnRs eSBoYXMgMjA3IHdpcmVkCmlucHV0cy4gSXRzIHB1cnBvc2UgaXMgdG8gYWdncmVnYXRlIGFsbCBD UCBpbnRlcnJ1cHRzIGFuZCByZXBvcnQgdGhlbSB0bwp0aGUgQVAgdGhyb3VnaCBNU0lzLiBUaGUg SUNVIHdyaXRlcyBpbnRvIEdJQyByZWdpc3RlcnMgKEFQIHNpZGUpIGJ5IHdheQpvZiB0aGUgaW50 ZXJjb25uZWN0LiBUaGVzZSBpbnRlcnJ1cHRzIGNhbiBiZSBvZiBzZXZlcmFsIGdyb3VwczoKLSBT ZWN1UmUgKFNSKTsKLSBOb24tU2VjdVJlIChOU1IpOwotIFN5c3RlbSBFcnJvciBJbnRlcnJ1cHRz IChTRUkpOwotIFJBTSBFcnJvciBJbnRlcnJ1cHRzIChSRUkpOwotIC4uLgpFYWNoIElDVSB3aXJl ZCBpbnRlcnJ1cHQgY2FuIGJlIG9mIGFueSBvZiB0aGVzZSBncm91cHMuIFRoZSBncm91cCBpcwpl bmNvZGVkIGluIHRoZSBNU0kgcGF5bG9hZC4KClVudGlsIG5vdywgb25seSB0aGUgbm9uLXNlY3Vy ZSBpbnRlcnJ1cHRzIChOU1IpIHdlcmUgaGFuZGxlZCBieSB0aGUgSUNVCmRyaXZlci4gSW50ZXJy dXB0cyBvZiBhbm90aGVyIGdyb3VwIGNvdWxkIHdvcmsgYnkgY2hhbmNlIGJlY2F1c2UgdGhlCklD VSBkcml2ZXIgZG9lcyBub3QgZXJhc2UgYWxsIEFURiBjb25maWd1cmF0aW9uOyBpdCBvbmx5IGVy YXNlcyB0aGUKY29uZmlndXJhdGlvbiBmb3IgTlNSIGludGVycnVwdHMuCgpUaGlzIHNlcmllcyBh aW1zIGF0IGFkZGluZyBzdXBwb3J0IGZvciB0aGUgU3lzdGVtIEVycm9yIEludGVycnVwdHMKKFNF SSkuIEZvciB0aGlzIHB1cnBvc2UsIHRoZSBJQ1UgZHJpdmVyIGlzIGEgYml0IHJld29ya2VkIHRv IHNlcGFyYXRlCnRoZSBJQ1UgJ2dlbmVyaWMnIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgTlNSLXJl bGF0ZWQgaGFuZGxpbmcuIFRoZW4sCnRoZSBTRUkgZHJpdmVyIChwYXJ0IG9mIHRoZSBHSUMpIGlz IGludHJvZHVjZWQgYW5kIGZpbmFsbHksIHN1cHBvcnQgZm9yClNFSSBpbnRlcnJ1cHRzIGFyZSBh bHNvIGFkZGVkIHRvIHRoZSBJQ1UgZHJpdmVyLgoKVGhlIFNFSSBkcml2ZXIgaXMgYSBiaXQgZGlm ZmVyZW50IHRoYW4gaXRzIGNvdXNpbiB0aGUgR0lDUCBiZWNhdXNlIGl0Cm11c3QgaGFuZGxlIE1T SXMgZnJvbSB0aGUgQ1BzLCBhcyB3ZWxsIGFzIHdpcmVkIGludGVycnVwdHMgZnJvbSB0aGUgQVAK aXRzZWxmLiBNU0lzIGFuZCB3aXJlZCBpbnRlcnJ1cHRzIHdpbGwgYXV0b21hdGljYWxseSB1cGRh dGUgdHdvCnJlZ2lzdGVycyAoR0lDUF9TRUNSMC9HSUNQX1NFQ1IxKSB0aGF0IHdpbGwgdHJpZ2dl ciBhIHNpbmdsZSB0b3AtbGV2ZWwKaW50ZXJydXB0IChTUEkgIzMyKS4KCkFzIHRoaXMgaXMgbXkg Zmlyc3QgY29udHJpYnV0aW9uIGluIHRoZSBJUlEgc3Vic3lzdGVtIEkgbWlnaHQgaGF2ZQptaXNz ZWQgc29tZSBzcGVjaWZpY2l0aWVzIG9yIG1pc3VuZGVyc3Rvb2QgdGhlIEFQSSwgcGxlYXNlIGRv IG5vdApoZXNpdGF0ZSB0byBjb3JyZWN0IG1lIGlmIEknbSB3cm9uZy4KCkFsc28sIGZvciB0aGUg c2FrZSBvZiB1bmRlcnN0YW5kYWJpbGl0eSAoYW5kIGJlY2F1c2UgSSBsb3ZlIEFTQ0lJIGFydCks CnRoaXMgaXMgYSB0cnkgdG8gZXhwbGFpbiB0aGUgSUNVL1NFSSBhcmNoaXRlY3R1cmU6CgoKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rCnwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgU1BJYSBT UEliICAgICAgICBTUEl6ICAgICAgICAgICAgICAgICAgICBTUEkgMzIgICAgICAgICAgICAgICAg ICB8CnwgICAgICAgXiAgICBeICAgICAgICAgICBeICAgICAgICAgICAgICAgICAgICAgICBeICAg ICAgICAgICAgICAgICAgICAgfAp8ICAgICAgIHwgICAgfCAgIC4gLiAuICAgfCAgICAgICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICB8ICAgIHwgICAgICAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICB8CnwgICAg ICAgfCAgICB8ICAgLiAuIC4gICB8ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgfAp8ICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgICArLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKyAgIHwKfCAgIHwgICB8ICAgIHwgICAgICAgICAgIHwgICB8 ICAgfCAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgIHwgICB8CnwgICB8ICAgfCAgICB8 ICAgICAgICAgICB8ICAgfCAgIHwgICBTRUkgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAg fAp8ICAgfCAgIHwgICAgfCAgIC4gLiAuICAgfCAgIHwgICB8ICAgICAgIF9fX19fX19ffF9fX19f X18gICAgICAgICAgfCAgIHwKfCAgIHwgICB8ICAgIHwgICAgICAgICAgIHwgICB8ICAgfCAgICAg IC9fX19TRUlfU0VDUl9fX19fXCAgICAgICAgIHwgICB8CnwgICB8ICAgfF9fX198X19fX19fX19f X198ICAgfCAgIHwgICAgIC8gICAgICAgfCAgICAgICAgIFxcICAgICAgICB8ICAgfAp8ICAgfCAg ICBcX0dJQ1BfU0VUU1BJIF8vICAgIHwgICB8ICAgIC8gICAgICAgIHwgICAgICAgICAgXFwgICAg ICAgfCAgIHwKfCAgIHwgICAgICAgICAgICAgICAgfHwgICAgICB8ICAgfCAgIC8gICAuLi4gICB8 ICAgICAgICAgICBcXCAgICAgIHwgICB8CnwgICB8ICBHSUNQICAgICAgICAgIHx8ICAgICAgfCAg IHwgIHwgICAgICAgICAgfCAgICAgICAgICAgIFxcICAgICB8ICAgfAp8ICAgKy0tLS0tLS0tLS0t LS0tLS18fC0tLS0tLSsgICArLS18LS0tLS0tLS0tLXwtLS0tLS0tLS0tLS18fC0tLS0tKyAgIHwK fCAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAg ICAgfHwgICAgICAgICB8CnwgICAgICAgICAgICAgICAgICAgIHx8ICAgICAgICAgICAgIHwgICAg Li4uICAgfCAgICAgICAgICAgIHx8ICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICB8fCAg ICAgICAgICAgICB8ICAgICAgICAgIHwgICAgICAgICAgICB8fCAgICAgICAgIHwKfCAgICAgICAg ICAgICAgICAgICAgfHwgICAgICAgICAgICAgfCAgICAgICAgICB8ICAgICAgICAgICAgfHwgICAg ICAgICB8CnwgICAgICAgICAgICAgICAgICAgICBcXF9fX19fX18gICBpbnQgMCAgLi4uIGludCAy MCAgICAgICAgLy8gICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgIFxfTlNSX18gXCAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFxcICAgIF9fX19fX19fX19fX19fX19fX19fLy8gICAgICAgICAgICB8Cnwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXFwgIC9fX19fX19fX1NFSV9fX19fX19fXy8g ICAgICAgICAgICAgfAp8ICAgQVAgODA2ICAgICAgICAgICAgICAgICAgICAgICBcXC8vICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18fC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHx8IEludGVyY29ubmVjdAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfHxcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fFxcX19f X19fCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBcX19fX19fIDwtLS0+IE90 aGVycyBDUCAxMTAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHx8CistLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS18fC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKwp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKfCAgIENQIDExMCAgICAgICAgICAgICAgICAgICAgICAg IHx8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAp8 ICAgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tfHwtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rICAgICAgICAgIHwKfCAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHx8IE1TSSAg ICAgICAgICAgICAgICAgICAgfCAgICAgICAgICB8CnwgICAgICAgfCAgIElDVSAgICAgICAgICAg ICAgICAgICB8fCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgfAp8ICAgICAgIHwg ICAgICAgICAvLS0tLS0tLS0tLS0tLS0vICBcLS0tLS0tXCAgICAgICAgICAgICAgICB8ICAgICAg ICAgIHwKfCAgICAgICB8ICAgICAgICAvICAgICAgLy0tLS0tLS0vICAgICAgICAgICBcICAgICAg ICAgICAgICAgfCAgICAgICAgICB8CnwgICAgICAgfCAgICAgICAvICAgICAgLyAgICAgICAvICAg ICAgICAgICAgIFwgICAgICAgICAgICAgIHwgICAgICAgICAgfAp8ICAgICAgIHwgICAgICAvICAg ICAgLyAgICAgICAvICAgICAuIC4gLiAgICAgXCAgICAgICAgICAgICB8ICAgICAgICAgIHwKfCAg ICAgICB8ICAgICAvICAgICAgLyAgICAgICAvICAgICAgICAgICAgICAgICBcICAgICAgICAgICAg fCAgICAgICAgICB8CnwgICAgICAgfCAgIE5TUiAgICAgTlNSICAgICBTRUkgICAgICAgICAgICAg ICBOU1IgICAgICAgICAgIHwgICAgICAgICAgfAp8ICAgICAgIHwgICAgfCAgICAgICB8ICAgICAg IHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICB8ICAgICAgICAgIHwKfCAgICAgICArLS0t LV4tLS0tLS0tXi0tLS0tLS1eLS0tLS0tLS0tLS0tLS0tLS1eLS0tLS0tLS0tLS0tKyAgICAgICAg ICB8CnwgICAgICAgICAgICB8ICAgICAgIHwgICAgICAgfCAgICAgICAgICAgICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAgICAgfCAgICAgICB8ICAgICAgIHwgICAgICAu IC4gLiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgIHwgICAgICAg fCAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8CnwgICAg ICAgICBpbnQgMCAgIGludCAxICAgaW50IDIgICAgICAgICAgICAgaW50IDIwNiAgICAgICAgICAg ICAgICAgICAgfAp8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CistLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t KwoKClRoYW5rIHlvdSwKTWlxdcOobAoKQ2hhbmdlcyBzaW5jZSB2NDoKPT09PT09PT09PT09PT09 PT0KKiBSZWJhc2VkIG9uIHRvcCBvZiB2NC0xOS1yYzEKCklDVSBkcml2ZXIKLS0tLS0tLS0tLQoq IFVwZGF0ZWQgdGhlIGNvbW1pdCBtZXNzYWdlIG9mIHRoZSBwYXRjaCBhZGRpbmcgU0VJIHN1cHBv cnQgaW4gdGhlCiAgSUNVIGRyaXZlciwgdG8gZXhwbGFpbiBhIGJpdCBtb3JlIGhvdyB0aGlzIGlz IHBvc3NpYmxlIGFuZCB3aGF0CiAgY2hhbmdlZC4KKiBSZXBsYWNlZCBhbGwgdGhlIGljdS0+aXNf bGVnYWN5IGNvbmRpdGlvbmFsIGJ5IHN0YXRpYyBrZXlzIHNvIHRoYXQKICB0aGUgaW5mb3JtYXRp b24gb2Ygd2hhdCBiaW5kaW5ncyBhcmUgaW4gdXNlIGFyZSBnbG9iYWwgdG8gdGhlIGRyaXZlcgog IGFuZCB0aGUgb3ZlcmhlYWQgb2YgdGhlIGJyYW5jaGluZyBtaW5pbWFsIHdoZW4gaXQgY29tZXMg dG8gbmV3CiAgYmluZGluZ3MgKG1vcmUgbGlrZWx5IHRvIGhhcHBlbikgb25jZSBEVCB3aWxsIGJl IG1vdmVkLgoqIFJlbW92ZWQgc29tZSBwb2ludGxlc3MgY2hhbmdlcyBhbmQgbW92ZWQgb3RoZXIg Y2hhbmdlcyBmcm9tIHBhdGNoIDkKICAoYWRkaW5nIFNFSSBzdXBwb3J0IGluIHRoZSBJQ1UpIGlu IHBhdGNoIDYgKHN1cHBvcnRpbmcgSUNVCiAgc3Vibm9kZXMpLgoqIEFmdGVyIGhhdmluZyBkaXNj dXNzZWQgd2l0aCBNYXJjIFppbmdpZXIgYWJvdXQgaG93IHRvIHByb3Blcmx5IGNoZWNrCiAgaW4g dGhlIC0+dHJhbnNsYXRlKCkgZnVuY3Rpb24gdGhlIHZhbHVlIG9mIHRoZSBpbnRlcnJ1cHQgdHlw ZSAoZnJvbQogIHRoZSBmd3NwZWMgc3RydWN0dXJlKSwgcmVhbGl6ZWQgYWN0dWFsbHkgdGhlcmUg d2FzIGEgbWlzbWF0Y2gKICBiZXR3ZWVuIHRoZSB0eXBlIG9mIGludGVycnVwdCByZWNlaXZlZCBi eSB0aGUgSUNVIChsZXZlbCkgYW5kIHRoZQogIHR5cGUgb2YgaW50ZXJydXB0IHNlbnQgdG8gdGhl IFNFSSAoZWRnZSkuIERpc2N1c3Npb25zIGFyZSBvbiBnb2luZwogIGFib3V0IGhvdyB0byBoYW5k bGUgc3VjaCBzaXR1YXRpb24sIGZvciBub3cgSSBqdXN0IGZvcmNlZCB0aGUgKnR5cGUKICBwYXJh bWV0ZXIuCiogUmVtb3ZlZCBiaXRtYXBfYWxsb2NhdGVfcmVnaW9uKCkgY2FsbHMgd2l0aAogIGZp bmRfZmlyc3RfZnJlZSgpL3NldF9iaXQoKSBhbmQgc2FtZSBmb3IgdGhlIGZyZWUgY291bnRlcnBh cnQuCgpTRUkgZHJpdmVyCi0tLS0tLS0tLS0KKiBUcmllZCB0byBtYWtlIHRoaXMgZHJpdmVyIGZp dCBhcyBtdWNoIGFzIHBvc3NpYmxlIHRoZSAiY2FzY2FkZWQKICBpcnFjaGlwIiBkZXNpZ24sIGlu c3RlYWQgb2YgdGhlIG1peCBiZXR3ZWVuICJjYXNjYWRlZCIgYW5kCiAgImhpZXJhcmNoeSIgSSB1 c2VkIHVudGlsIG5vdy4gVGhpcyBpbXBsaWVkIHRvIGNoYW5nZSBhIGJpdCB0aGUKICAtPnByb2Jl KCkgYnV0IGFzIHdlbGwgdGhlIC0+dHJhbnNsYXRlKCkgY2FsbGJhY2suIEhvd2V2ZXIsIE1hcmMg c2FpZAogIGluIHRoZSAtPmFsbG9jKCkgZnVuY3Rpb24gaXQgd2FzIGJhZCB0byAiYWxsb2NhdGUg YSBHSUMgaW50ZXJydXB0CiAgdGhhdCBtYXRjaGVzIHRoZSBTRUkgaHdpcnEiLiBJIGZpcnN0IHVu ZGVyc3Rvb2QgdGhlIGFsbG9jYXRpb24gd2FzCiAgd3JvbmcsIGJ1dCBmaWd1cmVkIG91dCBmaW5h bGx5IGl0IGNvdWxkIG5vdCB3b3JrIHdpdGhvdXQgaXQsIHNvIEkKICBrZXB0IHRoaXMgZnVuY3Rp b24gY2FsbCwgYnV0IHdpdGggMCBpbnN0ZWFkLgoqIFByb3RlY3RlZCBmcm9tIGNvbmN1cnJlbnQg YWNjZXNzZXMgdGhlIC0+bWFzaygpLy0+dW5tYXNrKCkgY2FsbGJhY2tzCiAgd2l0aCBhIG11dGV4 IGFzIHRoZXkgYXJlIGhpdHRpbmcgdGhlIHNhbWUgaGFyZHdhcmUgcmVnaXN0ZXIuCiogQXMgdGhl IGJpbmRpbmdzIGhhdmUgY2hhbmdlZCAoc2VlIGJlbG93KSwgY2hhbmdlZCB0aGUgY29tcGF0aWJs ZSBpbgogIHRoZSBkcml2ZXIgYW5kIGF0dGFjaGVkIHRvIGl0IHNvbWUgcGxhdGZvcm0gZGF0YSB0 byByZXByZXNlbnQgdGhlCiAgbGlzdCBvZiB3aXJlZCBpbnRlcnJ1cHRzIHZzLiB0aGUgTVNJIG9u ZXMuCiogQWRkZWQgYSAtPm1hcCgpIGNhbGxiYWNrIGZvciB3aXJlZCBJUlFzLCBzaW1wbGlmeWlu ZyB0aGUgLT5hbGxvYygpCiAgY2FsbGJhY2sgZm9yIE1TSXMuCiogVGhlIGNoYWluZWQgSVJRIGhh bmRsZXIgdXNlZCBhIGJpdG1hcCAoYXJyYXkgb2YgdW5zaWduZWQgbG9uZywgdGhhdAogIGFyZSAz Mi1iaXQgcXVhbnRpdGllcyB1bmRlciAzMi1iaXQgYXJjaGl0ZWN0dXJlcywgb3IgNjQtYml0CiAg cXVhbnRpdGllcyB1bmRlciA2NC1iaXQgYXJjaGl0ZWN0dXJlcykuIFdlIHVzZWQgcmVhZGwoKSB0 byBmaWxsIGl0CiAgKDMyLWJpdCByZWFkcyBvbiBhbGwgYXJjaGl0ZWN0dXJlcykuIFVzaW5nIHJl YWRsIGFuZCBpdGVyYXRpbmcgb3ZlcgogIGJpdG1hcFswXSwgYml0bWFwWzFdIGlzIHdyb25nLCBz byBJIGFkZGVkIGFuIHUzMiBwb2ludGVyIHRha2luZwogIGJpdG1hcCBhZGRyZXNzLCBzbyB0aGF0 IGJpdG1hcCBjb3VsZCBiZSBmaWxsZWQgd2l0aCByZWFkbCgpIGNhbGxzCiAgcHJvcGVybHkuCiog UmV3b3JkZWQgdGhlIGNhc2NhZGVkIGludGVycnVwdCBsb29wIHNvIHRoYXQgb25seSBvbmUgY2Fs bCB0bwogIGlycV9maW5kX21hcHBpbmcoKSBpcyBkb25lLgoKSUNVIGJpbmRpZ25zCi0tLS0tLS0t LS0tLQoqIEV2ZW4gaWYgbm9uZSBvZiB0aGUgYmluZGluZ3MgbGlzdGVkIHRoZXJlIGhhdmUgZXZl ciBiZWVuIHN1cHBvcnRlZAogIGluIExpbnV4LCB0aGV5IHdlcmUgbWVudGlvbmVkIGluIHRoZSBi aW5kaW5ncyBiZWZvcmUsIHNvIHJlLWFkZGluZyBTUgogIGFuZCBSRUkgdG8gdGhlIGxpc3Qgbm93 LgoKU0VJIEJpbmRpbmdzCi0tLS0tLS0tLS0tLQoqIFJlbmFtZWQgdGhlIGNvbXBhdGlibGUgIm1h cnZlbGwsYXJtYWRhLThrLXNlaSIgdG8KICAibWFydmVsbCxhcDgwNi1zZWkiIGFzIHRoZXJlIG1p Z2h0IGJlIG90aGVyIEFQIHVzaW5nIHRoaXMgSVAgd2l0aCBhCiAgZGlmZmVyZW50IHdpcmVkL01T SSBpbnRlcnJ1cHQgbGF5b3V0LgoqIFJlbW92ZWQgdGhlIGFkZGl0aW9uIG9mICJtYXJ2ZWxsLGNw LXdpcmVkL21zaS1pbnRlcnJ1cHQtcmFuZ2VzIiBhcwogIHRoZXNlIHNob3VsZCBub3QgYXBwZWFy IGluIHRoZSBEVCBhbmQgYXJlIGluc3RlYWQgYXZhaWxhYmxlIHRvIHRoZQogIGRyaXZlciB1bmRl ciB0aGUgZm9ybSBvZiBwbGF0Zm9ybSBkYXRhIGRlcGVuZGluZyBvbiB0aGUgY29tcGF0aWJsZS4K CkNoYW5nZXMgc2luY2UgdjM6Cj09PT09PT09PT09PT09PT09CiogQWRkZWQgYW4gaGVscGVyIHRv IGNyZWF0ZSBNU0kgdHJlZSBkb21haW5zLgoKSUNVIGRyaXZlcgotLS0tLS0tLS0tCiogVXBkYXRl ZCB0aGUgY29kZSB0byB1c2UgdGhpcyBoZWxwZXIuCiogUmVtb3ZlZCB0aGUgdXNlIG9mIGEgcmVn bWFwIGZvciB0aGUgSUNVIHN1Ym5vZGVzLgoqIFNxdWFzaGVkIHBhdGNoZXMgImlycWNoaXAvaXJx LW12ZWJ1LWljdTogbWFrZSBpcnFfZG9tYWluIGxvY2FsIiBhbmQKICAiaXJxY2hpcC9pcnEtbXZl YnUtaWN1OiBkaXNvY2lhdGUgSUNVIGFuZCBOU1IiLgoqIEZpeGVkIGEgcmVncmVzc2lvbjogd2hl biB1c2luZyBvbGQgYmluZGluZ3MsIG5vIHBsYXRmb3JtIGRhdGEgd2FzCiAgYXZhaWxhYmxlIGZv ciB0aGUgTlNSIHN1YnNldCwgcHJldmVudGluZyB0aGUgSUNVIGRyaXZlciB0byBwcm9iZQogIGNv cnJlY3RseS4KKiBSZW1vdmVkIHRoZSBzdGFsZSBjb21tZW50IGluIGEgY29tbWl0IGxvZyBhYm91 dCB1c2luZyBsaW5lYXIgKGluc3RlYWQKICBvZiB0cmVlKSBkb21haW5zLgoqIFBhc3MgYSBkcml2 ZXIgc3RydWN0dXJlIChjYWxsZWQgbXNpX2RvbWFpbikgdG8gbXZlYnVfaWN1X2luaXQoKQogIGlu dGVhZCBvZiBhbiBJUlEgZG9tYWluIGZyb20gd2hpY2ggdGhlIGFib3ZlIHN0cnVjdHVyZSB3YXMg ZGVyaXZlZAogIGZyb20uCgpTRUkgZHJpdmVyCi0tLS0tLS0tLS0KKiBSZW5hbWVkIHRoZSAnbnVt YmVyJyBtZW1iZXIgb2YgdGhlIG12ZWJ1X3NlaV9pbnRlcnJ1cHRfcmFuZ2Ugc3RydWN0dXJlCiAg aW50byAnc2l6ZScgaW4gdGhlIFNFSSBkcml2ZXIuCiogVXNlZCBfcmVsYXhlZCBhY2Nlc3NvcnMu CiogU2ltcGxpZmllZCB0aGUgJ292ZXInIGNoZWNraW5nIGFyb3VuZCB0aGUgc2VpIGFuZCBzZWkt PmFwX2RvbWFpbgogIHBvaW50ZXJzLgoqIERvIG5vdCB3cml0ZSBHSUNQX1NFQ1IgcmVnaXN0ZXIg aWYgdGhlIGlycW1hcCByZWFkIGhhcyBubyBiaXQgc2V0CiAgKGllLiBub3RoaW5nIHRvIGNsZWFy LCBkbyBub3QgZG8gdGhlIHdyaXRlbCBvcGVyYXRpb24pLgoqIE1vdmVkIGlycV9zZXRfY2hhaW5l ZF9oYW5kbGVyKCkgYW5kIGlycV9zZXRfaGFuZGxlcl9kYXRhKCkgYXQgdGhlIGVuZAogIG9mIHRo ZSBwcm9iZS4KKiBTaW1wbGlmaWVkIHRoZSBjaGFpbmVkIGhhbmRsZXIgd2l0aCBvbmx5IG9uZSBp bm5lciBsb29wIGFmdGVyIGhhdmluZwogIGNyZWF0ZWQgYSBiaXRtYXAgb2YgdGhlIHBlbmRpbmcg aW50ZXJydXB0cy4KCkNoYW5nZXMgc2luY2UgdjI6Cj09PT09PT09PT09PT09PT09CiogUmViYXNl ZCBvbiB0b3Agb2YgdjQuMTgtcmMxCgpwbGF0Zm9ybS1tc2k6Ci0tLS0tLS0tLS0tLS0KKiBOZXcg cGF0Y2ggdG8gYWxsb3cgdXNpbmcgTVNJIHRyZWUgZG9tYWlucy4KCmlycWNoaXAvaXJxLW12ZWJ1 LXNlaTogYWRkIG5ldyBkcml2ZXIgZm9yICBNYXJ2ZWxsIFNFSQotLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKiBVcGRhdGVkIGNvbW1pdCBtZXNz YWdlIHdpdGggTWFyYyBjb21tZW50cwoqIFdyb3RlIHR3byBmdW5jdGlvbnMgdG8gZmlsbCAtPmly cV9zZXRfdHlwZSgpIGluIHRoZSBpcnFfY2hpcAogIHN0cnVjdHVyZXMsIG9uZSBhY2NlcHRpbmcg b25seSByaXNpbmcgZWRnZSBpbnRlcnJ1cHRzIChmb3IgTVNJKSwKICBhbm90aGVyIG9uZSBhY2Nl cHRpbmcgb25seSBoaWdoIGxldmVsIGludGVycnVwdHMgKGZvciB3aXJlZCBJUlEpLgoqIENoYW5n ZWQgdGhlIHNwaW4gbG9jayBwcm90ZWN0aW5nIHRoZSBhbGxvY2F0ZWQgU0VJcyBiaXRtYXAgaW50 byBhCiAgbXV0ZXguCiogQ2hhbmdlZCB0aGUgYml0bWFwIGFsbG9jYXRpb24gbGluZSB0byByZXNw ZWN0IHRoZSBhY3R1YWwgbnVtYmVyIG9mCiAgTVNJcyBpbnN0ZWFkIG9mIHByZXRlbmRpbmcgaGF2 aW5nIFNFSV9JUlFfQ09VTlQgKDY0KSBNU0kgYXZhaWxhYmxlLgoqIEkgZGlkIG5vdCBzcGxpdCB0 aGUgY29kZSB0byBoYXZlIG9uZSBmdW5jdGlvbiBwZXIgZG9tYWluIGJlY2F1c2UgaXQKICB3b3Vs ZCBkdXBsaWNhdGUgYSBfbG90XyBvZiBjb2RlLiBSZXF1ZXN0ZWQgc29tZSBhZHZpY2VzIGluc3Rl YWQuCiogU3RvcHBlZCB1c2luZyB0aGUgZndub2RlIHdoZW4gY3JlYXRpbmcgdGhlIEFQICh3aXJl ZCkgSVJRIGRvbWFpbi4KKiBJbXBsZW1lbnRlZCB0aGUgQVAgSVJRIGRvbWFpbiAtPm1hdGNoKCkg aG9vay4KKiBVc2VkIG1hcnZlbGwsc2VpLXh4LXJhbmdlcyBwcm9wZXJ0aWVzIHRvIGdldCB0aGUg cmVsZXZhbnQgSVJRIG51bWJlcnMKICBmcm9tIERULiAneHgnIGlzIGVpdGhlciAnYXAnIG9yICdj cCcuCgppcnFjaGlwL2lycS1tdmVidS1pY3U6IGFkZCBzdXBwb3J0IGZvciBTeXN0ZW0gIEVycm9y IEludGVycnVwdHMgKFNFSSkKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogQWRkZWQgYSBwYXRjaCB0byBlYXNlIHRo ZSBjcmVhdGlvbiBvZiB0cmVlIGRvbWFpbnMgKGNoYW5nZXMgaW4gdGhlCiAgY29yZSkuCiogQ2hh bmdlZCB0aGUgY29kZSBhY2NvcmRpbmdseSB0byB1c2UgdHJlZSBkb21haW5zLgoqIENyZWF0ZWQg YSBjb3VwbGUgb2YgaGVscGVycyB0byBkbyB0aGUgYml0bWFwIGFsbG9jYXRpb24vcmVsZWFzZS4K KiBSZW1vdmVkIHRoZSAub2Zmc2V0X2Nscl9hW2hsXSBlbnRyaWVzIG9mIHRoZSBzZWlfc3Vic2V0 X2RhdGEKICBzdHJ1Y3R1cmUgdG8gYXZvaWQgY29uZnVzaW9uLiBUaGVzZSByZWdpc3RlcnMgYWN0 dWFsbHkgZXhpc3QsIGJ1dAogIGFyZSBub3QgdXNlZCBoZXJlIGJlY2F1c2UgdGhlIHVwcGVyIGJs b2NrIChTRUkpIG9ubHkgc3VwcG9ydHMKICBlZGdlLU1TSSBhbmQgbm90IGxldmVsLU1TSSBsaWtl IHRoZSBOU1Igb25lLgoKZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXI6IHVwZGF0ZSAg TWFydmVsbCBJQ1UgYmluZGluZ3MKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKiBFeHBsYWluZWQgYmV0dGVyIGluIHRoZSBjb21t aXQgbWVzc2FnZSB0aGF0IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKICBpcyBub3QgYnJva2VuLgoq IENoYW5nZWQgc3Vibm9kZXMgbmFtZXMgdG8gYmUgJ2ludGVycnVwdC1jb250cm9sbGVyJyBhcyBy ZXF1ZXN0ZWQuCiogQWRkZWQgYSByYW5nZSBhc3NvY2lhdGVkIHRvIGVhY2ggc3ViLW5vZGUgKGFz IHdlbGwgYXMgaW4gdGhlIERUKS4KKiBSZXBsYWNlZCBzcGFjZXMgYnkgdGFicy4KKiBNZXJnZWQg dGhlIFNFSSdzIHN1Ym5vZGVzIHNvIHRoYXQgdGhlcmUgaXMgb25seSBvbmUgU0VJIG5vZGUgYW5k IG5vCiAgc3Vibm9kZXMgYW55bW9yZS4KCkNoYW5nZXMgc2luY2UgdjE6Cj09PT09PT09PT09PT09 PT09CkdlbmVyYWwKLS0tLS0tLQoqIFNwZWxsaW5nL2Z1bmN0aW9uIG5hbWVzL2NvbW1lbnRzLgoq IEFkZGVkIFJldmlld2VkLWJ5IHRhZ3MuCiogUmViYXNlZCBvbiB0b3Agb2YgTWFyYyBaeW5naWVy IGxldmVsLU1TSSBzZXJpZXMgKHRpcDppcnEvY29yZSkuCgpTRUkKLS0tCiogQ2hhbmdlIHRoZSBs aWNlbnNlIGZvciBHUEwtMi4wIG9ubHkgaW4gaXJxLW12ZWJ1LXNlaS5jIEMgZmlsZS4KKiBVc2Vk IGFscGhhYmV0aWMgb3JkZXJpbmcgd2hlbiBhZGRpbmcgU0VJIGRyaXZlciBpbiBNYWtlZmlsZS4K KiBSZS1vcmRlcmVkIHJlZ2lzdGVyIGRlZmluaXRpb25zIGJ5IGluY3JlYXNpbmcgb2Zmc2V0Lgoq IHMvTkIvQ09VTlQvIGluIHJlZ2lzdGVyIGRlZmluaXRpb25zLgoqIGF2b2lkIGVuYWJsaW5nIGFs bCBpbnRlcnJ1cHQgYnkgZGVmYXVsdC4KKiBmaXhlZCBtYXNrL3VubWFzayBmdW5jdGlvbnMgdXNp bmcgdGhlIHdyb25nIGh3aXJxIG51bWJlci4KKiByZW1vdmVkIGhhY2tpc2ggZG9vcmJlbGwgbWVj aGFuaXNtLgoqIFJlbW92ZWQgdGhlIC0+eGxhdGUgaG9vayBhc3NpZ25lZCBmb3IgQ1AgTVNJcy4K KiBVc2VkIGRldm1fKigpIGhlbHBlcnMuCiogcy90b3BfbGV2ZWxfc3BpL3BhcmVudF9pcnEvIGlu IHByb2JlLgoqIEFkZGVkIGZvcmdvdHRlbiBvZl9ub2RlX3B1dChjaGlsZCkuCiogUmVzZXQgdGhl IFNFSSByZWdpc3RlcnMgYmVmb3JlIHJlZ2lzdGVyaW5nIHRoZSBJUlEgZG9tYWlucy4KKiBJbnRy b2R1Y2VkIG5ldyBEVCBwcm9wZXJ0eSAibWFydmVsbCxzZWktcmFuZ2VzIiBpbnN0ZWFkIG9mIHVz aW5nCiAgInJlZyIgdG8gZGVjbGFyZSB0aGUgcmFuZ2Ugb2YgTVNJIGludGVycnVwdHMgdnMuIHdp cmVkIGludGVycnVwdHMgaW4KICB0aGUgU0VJIHN1Ym5vZGVzLgoqIEZpbmFsbHkgZGlkIG5vdCBj aGFuZ2UgdGhlIC0+YWxsb2MoKSBhYm91dCB0aGUgZndzcGVjLT5wYXJhbVsxXQogIGxpbmUgKHRv IGJlIGNoZWNrZWQgYnkgTWFyYykuCgpJQ1UKLS0tCiogVXBkYXRlZCB0aGUgSUNVIGRvY3VtZW50 YXRpb24gc28gdGhlIGxlZ2FjeSBiaW5kaW5ncyBhcmUgc3RpbGwKICBkb2N1bWVudGVkIHNvbWV3 aGVyZS4KKiBBZGRlZCBzdGFibGUgdGFncyBvbiB0aGUgY29tbWl0IGZpeGluZyB0aGUgQ1AxMTAg SUNVIG5vZGUgc2l6ZS4KKiBSZW1vdmVkIHRoZSAic3lzY29uIiBjb21wYXRpYmxlIGZyb20gdGhl IElDVSBub2RlLCBpbnN0ZWFkIHRoZQogIHN5c2NvbiBpcyBjcmVhdGVkIGF0IHByb2JlIHRpbWUu Ciogcy91c2VyIGRhdGEvcHJpdmF0ZSBkYXRhLyBpbiB0aGUgdGl0bGUgb2YgY29tbWl0CiAgImly cWNoaXAvaXJxLW12ZWJ1LWljdTogZml4IHdyb25nIHVzZXIgZGF0YSByZXRyaWV2YWwiCgoKTWFy YyBaeW5naWVyICgxKToKICBnZW5pcnEvbXNpOiBBbGxvdyBjcmVhdGlvbiBvZiBhIHRyZWUtYmFz ZWQgaXJxZG9tYWluIGZvciBwbGF0Zm9ybS1tc2kKCk1pcXVlbCBSYXluYWwgKDEzKToKICBkdC1i aW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlcjogZml4IE1hcnZlbGwgSUNVIGxlbmd0aCBpbiB0 aGUKICAgIGV4YW1wbGUKICBpcnFjaGlwL2lycS1tdmVidS1pY3U6IGZpeCB3cm9uZyBwcml2YXRl IGRhdGEgcmV0cmlldmFsCiAgaXJxY2hpcC9pcnEtbXZlYnUtaWN1OiBjbGFyaWZ5IHRoZSByZXNl dCBvcGVyYXRpb24gb2YgY29uZmlndXJlZAogICAgaW50ZXJydXB0cwogIGlycWNoaXAvaXJxLW12 ZWJ1LWljdTogZGlzb2NpYXRlIElDVSBhbmQgTlNSCiAgaXJxY2hpcC9pcnEtbXZlYnUtaWN1OiBz dXBwb3J0IElDVSBzdWJub2RlcwogIGlycWNoaXAvaXJxLW12ZWJ1LXNlaTogYWRkIG5ldyBkcml2 ZXIgZm9yIE1hcnZlbGwgU0VJCiAgYXJtNjQ6IG1hcnZlbGw6IGVuYWJsZSBTRUkgZHJpdmVyCiAg aXJxY2hpcC9pcnEtbXZlYnUtaWN1OiBhZGQgc3VwcG9ydCBmb3IgU3lzdGVtIEVycm9yIEludGVy cnVwdHMgKFNFSSkKICBkdC1iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJvbGxlcjogdXBkYXRlIE1h cnZlbGwgSUNVIGJpbmRpbmdzCiAgZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXI6IGFk ZCBkb2N1bWVudGF0aW9uIGZvciBNYXJ2ZWxsIFNFSQogICAgY29udHJvbGxlcgogIGFybTY0OiBk dHM6IG1hcnZlbGw6IGFkZCBBUDgwNiBTRUkgc3Vibm9kZQogIGFybTY0OiBkdHM6IG1hcnZlbGw6 IHVzZSBuZXcgYmluZGluZ3MgZm9yIENQMTEwIGludGVycnVwdHMKICBhcm02NDogZHRzOiBtYXJ2 ZWxsOiBhZGQgQ1AxMTAgSUNVIFNFSSBzdWJub2RlCgogLi4uL2ludGVycnVwdC1jb250cm9sbGVy L21hcnZlbGwsaWN1LnR4dCAgICAgIHwgIDg3ICsrKy0KIC4uLi9pbnRlcnJ1cHQtY29udHJvbGxl ci9tYXJ2ZWxsLHNlaS50eHQgICAgICB8ICAzNiArKwogYXJjaC9hcm02NC9LY29uZmlnLnBsYXRm b3JtcyAgICAgICAgICAgICAgICAgIHwgICAxICsKIGFyY2gvYXJtNjQvYm9vdC9kdHMvbWFydmVs bC9hcm1hZGEtYXA4MDYuZHRzaSB8ICAgOSArCiBhcmNoL2FybTY0L2Jvb3QvZHRzL21hcnZlbGwv YXJtYWRhLWNwMTEwLmR0c2kgfCAxMjUgKysrLS0KIGRyaXZlcnMvYmFzZS9wbGF0Zm9ybS1tc2ku YyAgICAgICAgICAgICAgICAgICB8ICAxNCArLQogZHJpdmVycy9pcnFjaGlwL0tjb25maWcgICAg ICAgICAgICAgICAgICAgICAgIHwgICAzICsKIGRyaXZlcnMvaXJxY2hpcC9NYWtlZmlsZSAgICAg ICAgICAgICAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2lycWNoaXAvaXJxLW12ZWJ1LWljdS5j ICAgICAgICAgICAgICAgfCAyNjAgKysrKysrKystLQogZHJpdmVycy9pcnFjaGlwL2lycS1tdmVi dS1zZWkuYyAgICAgICAgICAgICAgIHwgNDc1ICsrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9s aW51eC9tc2kuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE3ICstCiAxMSBmaWxlcyBj aGFuZ2VkLCA4OTYgaW5zZXJ0aW9ucygrKSwgMTMyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUg MTAwNjQ0IERvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9pbnRlcnJ1cHQtY29udHJv bGxlci9tYXJ2ZWxsLHNlaS50eHQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2lycWNoaXAv aXJxLW12ZWJ1LXNlaS5jCgotLSAKMi4xNy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgt YXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3Jn L21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=