From mboxrd@z Thu Jan 1 00:00:00 1970 From: Miquel Raynal Subject: [PATCH v6 00/14] Add System Error Interrupt support to Armada SoCs Date: Mon, 1 Oct 2018 16:13:44 +0200 Message-ID: <20181001141358.31508-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: Marc Zyngier Cc: Mark Rutland , Andrew Lunn , Jason Cooper , devicetree@vger.kernel.org, Antoine Tenart , Catalin Marinas , Gregory Clement , Haim Boot , Will Deacon , Maxime Chevallier , Nadav Haklai , Rob Herring , Thomas Petazzoni , Miquel Raynal , Thomas Gleixner , Hanna Hawa , linux-arm-kernel@lists.infradead.org, Sebastian Hesselbarth 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 KwoKClRoYW5rIHlvdSwKTWlxdcOobAoKQ2hhbmdlcyBzaW5jZSB2NToKPT09PT09PT09PT09PT09 PT0KKiBJbnRlZ3JhdGVkIE1hcmMncyBmaXh1cHM6CiAgICA+IFNFSSBkcml2ZXI6IHJld29ya2Vk IHRvIGNyZWF0ZSBhIFNFSSBkb21haW4sIHBhcmVudGluZyB0aGUgQVAgYW5kCiAgICAgIENQIGRv bWFpbnMuCiAgICA+IEFkZGluZyBTRUkgc3VwcG9ydCB0byB0aGUgSUNVIGRyaXZlcjogZGVmaW5l ZCB0aGUgY2hpcHMKICAgICAgc3RhdGljYWxseSwgb25lIGZvciBOU1IgaW50ZXJydXB0cywgb25l IGZvciBTRUkgaW50ZXJydXB0cy4KCkNoYW5nZXMgc2luY2UgdjQ6Cj09PT09PT09PT09PT09PT09 CiogUmViYXNlZCBvbiB0b3Agb2YgdjQtMTktcmMxCgpJQ1UgZHJpdmVyCi0tLS0tLS0tLS0KKiBV cGRhdGVkIHRoZSBjb21taXQgbWVzc2FnZSBvZiB0aGUgcGF0Y2ggYWRkaW5nIFNFSSBzdXBwb3J0 IGluIHRoZQogIElDVSBkcml2ZXIsIHRvIGV4cGxhaW4gYSBiaXQgbW9yZSBob3cgdGhpcyBpcyBw b3NzaWJsZSBhbmQgd2hhdAogIGNoYW5nZWQuCiogUmVwbGFjZWQgYWxsIHRoZSBpY3UtPmlzX2xl Z2FjeSBjb25kaXRpb25hbCBieSBzdGF0aWMga2V5cyBzbyB0aGF0CiAgdGhlIGluZm9ybWF0aW9u IG9mIHdoYXQgYmluZGluZ3MgYXJlIGluIHVzZSBhcmUgZ2xvYmFsIHRvIHRoZSBkcml2ZXIKICBh bmQgdGhlIG92ZXJoZWFkIG9mIHRoZSBicmFuY2hpbmcgbWluaW1hbCB3aGVuIGl0IGNvbWVzIHRv IG5ldwogIGJpbmRpbmdzIChtb3JlIGxpa2VseSB0byBoYXBwZW4pIG9uY2UgRFQgd2lsbCBiZSBt b3ZlZC4KKiBSZW1vdmVkIHNvbWUgcG9pbnRsZXNzIGNoYW5nZXMgYW5kIG1vdmVkIG90aGVyIGNo YW5nZXMgZnJvbSBwYXRjaCA5CiAgKGFkZGluZyBTRUkgc3VwcG9ydCBpbiB0aGUgSUNVKSBpbiBw YXRjaCA2IChzdXBwb3J0aW5nIElDVQogIHN1Ym5vZGVzKS4KKiBBZnRlciBoYXZpbmcgZGlzY3Vz c2VkIHdpdGggTWFyYyBaaW5naWVyIGFib3V0IGhvdyB0byBwcm9wZXJseSBjaGVjawogIGluIHRo ZSAtPnRyYW5zbGF0ZSgpIGZ1bmN0aW9uIHRoZSB2YWx1ZSBvZiB0aGUgaW50ZXJydXB0IHR5cGUg KGZyb20KICB0aGUgZndzcGVjIHN0cnVjdHVyZSksIHJlYWxpemVkIGFjdHVhbGx5IHRoZXJlIHdh cyBhIG1pc21hdGNoCiAgYmV0d2VlbiB0aGUgdHlwZSBvZiBpbnRlcnJ1cHQgcmVjZWl2ZWQgYnkg dGhlIElDVSAobGV2ZWwpIGFuZCB0aGUKICB0eXBlIG9mIGludGVycnVwdCBzZW50IHRvIHRoZSBT RUkgKGVkZ2UpLiBEaXNjdXNzaW9ucyBhcmUgb24gZ29pbmcKICBhYm91dCBob3cgdG8gaGFuZGxl IHN1Y2ggc2l0dWF0aW9uLCBmb3Igbm93IEkganVzdCBmb3JjZWQgdGhlICp0eXBlCiAgcGFyYW1l dGVyLgoqIFJlbW92ZWQgYml0bWFwX2FsbG9jYXRlX3JlZ2lvbigpIGNhbGxzIHdpdGgKICBmaW5k X2ZpcnN0X2ZyZWUoKS9zZXRfYml0KCkgYW5kIHNhbWUgZm9yIHRoZSBmcmVlIGNvdW50ZXJwYXJ0 LgoKU0VJIGRyaXZlcgotLS0tLS0tLS0tCiogVHJpZWQgdG8gbWFrZSB0aGlzIGRyaXZlciBmaXQg YXMgbXVjaCBhcyBwb3NzaWJsZSB0aGUgImNhc2NhZGVkCiAgaXJxY2hpcCIgZGVzaWduLCBpbnN0 ZWFkIG9mIHRoZSBtaXggYmV0d2VlbiAiY2FzY2FkZWQiIGFuZAogICJoaWVyYXJjaHkiIEkgdXNl ZCB1bnRpbCBub3cuIFRoaXMgaW1wbGllZCB0byBjaGFuZ2UgYSBiaXQgdGhlCiAgLT5wcm9iZSgp IGJ1dCBhcyB3ZWxsIHRoZSAtPnRyYW5zbGF0ZSgpIGNhbGxiYWNrLiBIb3dldmVyLCBNYXJjIHNh aWQKICBpbiB0aGUgLT5hbGxvYygpIGZ1bmN0aW9uIGl0IHdhcyBiYWQgdG8gImFsbG9jYXRlIGEg R0lDIGludGVycnVwdAogIHRoYXQgbWF0Y2hlcyB0aGUgU0VJIGh3aXJxIi4gSSBmaXJzdCB1bmRl cnN0b29kIHRoZSBhbGxvY2F0aW9uIHdhcwogIHdyb25nLCBidXQgZmlndXJlZCBvdXQgZmluYWxs eSBpdCBjb3VsZCBub3Qgd29yayB3aXRob3V0IGl0LCBzbyBJCiAga2VwdCB0aGlzIGZ1bmN0aW9u IGNhbGwsIGJ1dCB3aXRoIDAgaW5zdGVhZC4KKiBQcm90ZWN0ZWQgZnJvbSBjb25jdXJyZW50IGFj Y2Vzc2VzIHRoZSAtPm1hc2soKS8tPnVubWFzaygpIGNhbGxiYWNrcwogIHdpdGggYSBtdXRleCBh cyB0aGV5IGFyZSBoaXR0aW5nIHRoZSBzYW1lIGhhcmR3YXJlIHJlZ2lzdGVyLgoqIEFzIHRoZSBi aW5kaW5ncyBoYXZlIGNoYW5nZWQgKHNlZSBiZWxvdyksIGNoYW5nZWQgdGhlIGNvbXBhdGlibGUg aW4KICB0aGUgZHJpdmVyIGFuZCBhdHRhY2hlZCB0byBpdCBzb21lIHBsYXRmb3JtIGRhdGEgdG8g cmVwcmVzZW50IHRoZQogIGxpc3Qgb2Ygd2lyZWQgaW50ZXJydXB0cyB2cy4gdGhlIE1TSSBvbmVz LgoqIEFkZGVkIGEgLT5tYXAoKSBjYWxsYmFjayBmb3Igd2lyZWQgSVJRcywgc2ltcGxpZnlpbmcg dGhlIC0+YWxsb2MoKQogIGNhbGxiYWNrIGZvciBNU0lzLgoqIFRoZSBjaGFpbmVkIElSUSBoYW5k bGVyIHVzZWQgYSBiaXRtYXAgKGFycmF5IG9mIHVuc2lnbmVkIGxvbmcsIHRoYXQKICBhcmUgMzIt Yml0IHF1YW50aXRpZXMgdW5kZXIgMzItYml0IGFyY2hpdGVjdHVyZXMsIG9yIDY0LWJpdAogIHF1 YW50aXRpZXMgdW5kZXIgNjQtYml0IGFyY2hpdGVjdHVyZXMpLiBXZSB1c2VkIHJlYWRsKCkgdG8g ZmlsbCBpdAogICgzMi1iaXQgcmVhZHMgb24gYWxsIGFyY2hpdGVjdHVyZXMpLiBVc2luZyByZWFk bCBhbmQgaXRlcmF0aW5nIG92ZXIKICBiaXRtYXBbMF0sIGJpdG1hcFsxXSBpcyB3cm9uZywgc28g SSBhZGRlZCBhbiB1MzIgcG9pbnRlciB0YWtpbmcKICBiaXRtYXAgYWRkcmVzcywgc28gdGhhdCBi aXRtYXAgY291bGQgYmUgZmlsbGVkIHdpdGggcmVhZGwoKSBjYWxscwogIHByb3Blcmx5LgoqIFJl d29yZGVkIHRoZSBjYXNjYWRlZCBpbnRlcnJ1cHQgbG9vcCBzbyB0aGF0IG9ubHkgb25lIGNhbGwg dG8KICBpcnFfZmluZF9tYXBwaW5nKCkgaXMgZG9uZS4KCklDVSBiaW5kaWducwotLS0tLS0tLS0t LS0KKiBFdmVuIGlmIG5vbmUgb2YgdGhlIGJpbmRpbmdzIGxpc3RlZCB0aGVyZSBoYXZlIGV2ZXIg YmVlbiBzdXBwb3J0ZWQKICBpbiBMaW51eCwgdGhleSB3ZXJlIG1lbnRpb25lZCBpbiB0aGUgYmlu ZGluZ3MgYmVmb3JlLCBzbyByZS1hZGRpbmcgU1IKICBhbmQgUkVJIHRvIHRoZSBsaXN0IG5vdy4K ClNFSSBCaW5kaW5ncwotLS0tLS0tLS0tLS0KKiBSZW5hbWVkIHRoZSBjb21wYXRpYmxlICJtYXJ2 ZWxsLGFybWFkYS04ay1zZWkiIHRvCiAgIm1hcnZlbGwsYXA4MDYtc2VpIiBhcyB0aGVyZSBtaWdo dCBiZSBvdGhlciBBUCB1c2luZyB0aGlzIElQIHdpdGggYQogIGRpZmZlcmVudCB3aXJlZC9NU0kg aW50ZXJydXB0IGxheW91dC4KKiBSZW1vdmVkIHRoZSBhZGRpdGlvbiBvZiAibWFydmVsbCxjcC13 aXJlZC9tc2ktaW50ZXJydXB0LXJhbmdlcyIgYXMKICB0aGVzZSBzaG91bGQgbm90IGFwcGVhciBp biB0aGUgRFQgYW5kIGFyZSBpbnN0ZWFkIGF2YWlsYWJsZSB0byB0aGUKICBkcml2ZXIgdW5kZXIg dGhlIGZvcm0gb2YgcGxhdGZvcm0gZGF0YSBkZXBlbmRpbmcgb24gdGhlIGNvbXBhdGlibGUuCgpD aGFuZ2VzIHNpbmNlIHYzOgo9PT09PT09PT09PT09PT09PQoqIEFkZGVkIGFuIGhlbHBlciB0byBj cmVhdGUgTVNJIHRyZWUgZG9tYWlucy4KCklDVSBkcml2ZXIKLS0tLS0tLS0tLQoqIFVwZGF0ZWQg dGhlIGNvZGUgdG8gdXNlIHRoaXMgaGVscGVyLgoqIFJlbW92ZWQgdGhlIHVzZSBvZiBhIHJlZ21h cCBmb3IgdGhlIElDVSBzdWJub2Rlcy4KKiBTcXVhc2hlZCBwYXRjaGVzICJpcnFjaGlwL2lycS1t dmVidS1pY3U6IG1ha2UgaXJxX2RvbWFpbiBsb2NhbCIgYW5kCiAgImlycWNoaXAvaXJxLW12ZWJ1 LWljdTogZGlzb2NpYXRlIElDVSBhbmQgTlNSIi4KKiBGaXhlZCBhIHJlZ3Jlc3Npb246IHdoZW4g dXNpbmcgb2xkIGJpbmRpbmdzLCBubyBwbGF0Zm9ybSBkYXRhIHdhcwogIGF2YWlsYWJsZSBmb3Ig dGhlIE5TUiBzdWJzZXQsIHByZXZlbnRpbmcgdGhlIElDVSBkcml2ZXIgdG8gcHJvYmUKICBjb3Jy ZWN0bHkuCiogUmVtb3ZlZCB0aGUgc3RhbGUgY29tbWVudCBpbiBhIGNvbW1pdCBsb2cgYWJvdXQg dXNpbmcgbGluZWFyIChpbnN0ZWFkCiAgb2YgdHJlZSkgZG9tYWlucy4KKiBQYXNzIGEgZHJpdmVy IHN0cnVjdHVyZSAoY2FsbGVkIG1zaV9kb21haW4pIHRvIG12ZWJ1X2ljdV9pbml0KCkKICBpbnRl YWQgb2YgYW4gSVJRIGRvbWFpbiBmcm9tIHdoaWNoIHRoZSBhYm92ZSBzdHJ1Y3R1cmUgd2FzIGRl cml2ZWQKICBmcm9tLgoKU0VJIGRyaXZlcgotLS0tLS0tLS0tCiogUmVuYW1lZCB0aGUgJ251bWJl cicgbWVtYmVyIG9mIHRoZSBtdmVidV9zZWlfaW50ZXJydXB0X3JhbmdlIHN0cnVjdHVyZQogIGlu dG8gJ3NpemUnIGluIHRoZSBTRUkgZHJpdmVyLgoqIFVzZWQgX3JlbGF4ZWQgYWNjZXNzb3JzLgoq IFNpbXBsaWZpZWQgdGhlICdvdmVyJyBjaGVja2luZyBhcm91bmQgdGhlIHNlaSBhbmQgc2VpLT5h cF9kb21haW4KICBwb2ludGVycy4KKiBEbyBub3Qgd3JpdGUgR0lDUF9TRUNSIHJlZ2lzdGVyIGlm IHRoZSBpcnFtYXAgcmVhZCBoYXMgbm8gYml0IHNldAogIChpZS4gbm90aGluZyB0byBjbGVhciwg ZG8gbm90IGRvIHRoZSB3cml0ZWwgb3BlcmF0aW9uKS4KKiBNb3ZlZCBpcnFfc2V0X2NoYWluZWRf aGFuZGxlcigpIGFuZCBpcnFfc2V0X2hhbmRsZXJfZGF0YSgpIGF0IHRoZSBlbmQKICBvZiB0aGUg cHJvYmUuCiogU2ltcGxpZmllZCB0aGUgY2hhaW5lZCBoYW5kbGVyIHdpdGggb25seSBvbmUgaW5u ZXIgbG9vcCBhZnRlciBoYXZpbmcKICBjcmVhdGVkIGEgYml0bWFwIG9mIHRoZSBwZW5kaW5nIGlu dGVycnVwdHMuCgpDaGFuZ2VzIHNpbmNlIHYyOgo9PT09PT09PT09PT09PT09PQoqIFJlYmFzZWQg b24gdG9wIG9mIHY0LjE4LXJjMQoKcGxhdGZvcm0tbXNpOgotLS0tLS0tLS0tLS0tCiogTmV3IHBh dGNoIHRvIGFsbG93IHVzaW5nIE1TSSB0cmVlIGRvbWFpbnMuCgppcnFjaGlwL2lycS1tdmVidS1z ZWk6IGFkZCBuZXcgZHJpdmVyIGZvciAgTWFydmVsbCBTRUkKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogVXBkYXRlZCBjb21taXQgbWVzc2Fn ZSB3aXRoIE1hcmMgY29tbWVudHMKKiBXcm90ZSB0d28gZnVuY3Rpb25zIHRvIGZpbGwgLT5pcnFf c2V0X3R5cGUoKSBpbiB0aGUgaXJxX2NoaXAKICBzdHJ1Y3R1cmVzLCBvbmUgYWNjZXB0aW5nIG9u bHkgcmlzaW5nIGVkZ2UgaW50ZXJydXB0cyAoZm9yIE1TSSksCiAgYW5vdGhlciBvbmUgYWNjZXB0 aW5nIG9ubHkgaGlnaCBsZXZlbCBpbnRlcnJ1cHRzIChmb3Igd2lyZWQgSVJRKS4KKiBDaGFuZ2Vk IHRoZSBzcGluIGxvY2sgcHJvdGVjdGluZyB0aGUgYWxsb2NhdGVkIFNFSXMgYml0bWFwIGludG8g YQogIG11dGV4LgoqIENoYW5nZWQgdGhlIGJpdG1hcCBhbGxvY2F0aW9uIGxpbmUgdG8gcmVzcGVj dCB0aGUgYWN0dWFsIG51bWJlciBvZgogIE1TSXMgaW5zdGVhZCBvZiBwcmV0ZW5kaW5nIGhhdmlu ZyBTRUlfSVJRX0NPVU5UICg2NCkgTVNJIGF2YWlsYWJsZS4KKiBJIGRpZCBub3Qgc3BsaXQgdGhl IGNvZGUgdG8gaGF2ZSBvbmUgZnVuY3Rpb24gcGVyIGRvbWFpbiBiZWNhdXNlIGl0CiAgd291bGQg ZHVwbGljYXRlIGEgX2xvdF8gb2YgY29kZS4gUmVxdWVzdGVkIHNvbWUgYWR2aWNlcyBpbnN0ZWFk LgoqIFN0b3BwZWQgdXNpbmcgdGhlIGZ3bm9kZSB3aGVuIGNyZWF0aW5nIHRoZSBBUCAod2lyZWQp IElSUSBkb21haW4uCiogSW1wbGVtZW50ZWQgdGhlIEFQIElSUSBkb21haW4gLT5tYXRjaCgpIGhv b2suCiogVXNlZCBtYXJ2ZWxsLHNlaS14eC1yYW5nZXMgcHJvcGVydGllcyB0byBnZXQgdGhlIHJl bGV2YW50IElSUSBudW1iZXJzCiAgZnJvbSBEVC4gJ3h4JyBpcyBlaXRoZXIgJ2FwJyBvciAnY3An LgoKaXJxY2hpcC9pcnEtbXZlYnUtaWN1OiBhZGQgc3VwcG9ydCBmb3IgU3lzdGVtICBFcnJvciBJ bnRlcnJ1cHRzIChTRUkpCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqIEFkZGVkIGEgcGF0Y2ggdG8gZWFzZSB0aGUg Y3JlYXRpb24gb2YgdHJlZSBkb21haW5zIChjaGFuZ2VzIGluIHRoZQogIGNvcmUpLgoqIENoYW5n ZWQgdGhlIGNvZGUgYWNjb3JkaW5nbHkgdG8gdXNlIHRyZWUgZG9tYWlucy4KKiBDcmVhdGVkIGEg Y291cGxlIG9mIGhlbHBlcnMgdG8gZG8gdGhlIGJpdG1hcCBhbGxvY2F0aW9uL3JlbGVhc2UuCiog UmVtb3ZlZCB0aGUgLm9mZnNldF9jbHJfYVtobF0gZW50cmllcyBvZiB0aGUgc2VpX3N1YnNldF9k YXRhCiAgc3RydWN0dXJlIHRvIGF2b2lkIGNvbmZ1c2lvbi4gVGhlc2UgcmVnaXN0ZXJzIGFjdHVh bGx5IGV4aXN0LCBidXQKICBhcmUgbm90IHVzZWQgaGVyZSBiZWNhdXNlIHRoZSB1cHBlciBibG9j ayAoU0VJKSBvbmx5IHN1cHBvcnRzCiAgZWRnZS1NU0kgYW5kIG5vdCBsZXZlbC1NU0kgbGlrZSB0 aGUgTlNSIG9uZS4KCmR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyOiB1cGRhdGUgIE1h cnZlbGwgSUNVIGJpbmRpbmdzCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiogRXhwbGFpbmVkIGJldHRlciBpbiB0aGUgY29tbWl0 IG1lc3NhZ2UgdGhhdCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CiAgaXMgbm90IGJyb2tlbi4KKiBD aGFuZ2VkIHN1Ym5vZGVzIG5hbWVzIHRvIGJlICdpbnRlcnJ1cHQtY29udHJvbGxlcicgYXMgcmVx dWVzdGVkLgoqIEFkZGVkIGEgcmFuZ2UgYXNzb2NpYXRlZCB0byBlYWNoIHN1Yi1ub2RlIChhcyB3 ZWxsIGFzIGluIHRoZSBEVCkuCiogUmVwbGFjZWQgc3BhY2VzIGJ5IHRhYnMuCiogTWVyZ2VkIHRo ZSBTRUkncyBzdWJub2RlcyBzbyB0aGF0IHRoZXJlIGlzIG9ubHkgb25lIFNFSSBub2RlIGFuZCBu bwogIHN1Ym5vZGVzIGFueW1vcmUuCgpDaGFuZ2VzIHNpbmNlIHYxOgo9PT09PT09PT09PT09PT09 PQpHZW5lcmFsCi0tLS0tLS0KKiBTcGVsbGluZy9mdW5jdGlvbiBuYW1lcy9jb21tZW50cy4KKiBB ZGRlZCBSZXZpZXdlZC1ieSB0YWdzLgoqIFJlYmFzZWQgb24gdG9wIG9mIE1hcmMgWnluZ2llciBs ZXZlbC1NU0kgc2VyaWVzICh0aXA6aXJxL2NvcmUpLgoKU0VJCi0tLQoqIENoYW5nZSB0aGUgbGlj ZW5zZSBmb3IgR1BMLTIuMCBvbmx5IGluIGlycS1tdmVidS1zZWkuYyBDIGZpbGUuCiogVXNlZCBh bHBoYWJldGljIG9yZGVyaW5nIHdoZW4gYWRkaW5nIFNFSSBkcml2ZXIgaW4gTWFrZWZpbGUuCiog UmUtb3JkZXJlZCByZWdpc3RlciBkZWZpbml0aW9ucyBieSBpbmNyZWFzaW5nIG9mZnNldC4KKiBz L05CL0NPVU5ULyBpbiByZWdpc3RlciBkZWZpbml0aW9ucy4KKiBhdm9pZCBlbmFibGluZyBhbGwg aW50ZXJydXB0IGJ5IGRlZmF1bHQuCiogZml4ZWQgbWFzay91bm1hc2sgZnVuY3Rpb25zIHVzaW5n IHRoZSB3cm9uZyBod2lycSBudW1iZXIuCiogcmVtb3ZlZCBoYWNraXNoIGRvb3JiZWxsIG1lY2hh bmlzbS4KKiBSZW1vdmVkIHRoZSAtPnhsYXRlIGhvb2sgYXNzaWduZWQgZm9yIENQIE1TSXMuCiog VXNlZCBkZXZtXyooKSBoZWxwZXJzLgoqIHMvdG9wX2xldmVsX3NwaS9wYXJlbnRfaXJxLyBpbiBw cm9iZS4KKiBBZGRlZCBmb3Jnb3R0ZW4gb2Zfbm9kZV9wdXQoY2hpbGQpLgoqIFJlc2V0IHRoZSBT RUkgcmVnaXN0ZXJzIGJlZm9yZSByZWdpc3RlcmluZyB0aGUgSVJRIGRvbWFpbnMuCiogSW50cm9k dWNlZCBuZXcgRFQgcHJvcGVydHkgIm1hcnZlbGwsc2VpLXJhbmdlcyIgaW5zdGVhZCBvZiB1c2lu ZwogICJyZWciIHRvIGRlY2xhcmUgdGhlIHJhbmdlIG9mIE1TSSBpbnRlcnJ1cHRzIHZzLiB3aXJl ZCBpbnRlcnJ1cHRzIGluCiAgdGhlIFNFSSBzdWJub2Rlcy4KKiBGaW5hbGx5IGRpZCBub3QgY2hh bmdlIHRoZSAtPmFsbG9jKCkgYWJvdXQgdGhlIGZ3c3BlYy0+cGFyYW1bMV0KICBsaW5lICh0byBi ZSBjaGVja2VkIGJ5IE1hcmMpLgoKSUNVCi0tLQoqIFVwZGF0ZWQgdGhlIElDVSBkb2N1bWVudGF0 aW9uIHNvIHRoZSBsZWdhY3kgYmluZGluZ3MgYXJlIHN0aWxsCiAgZG9jdW1lbnRlZCBzb21ld2hl cmUuCiogQWRkZWQgc3RhYmxlIHRhZ3Mgb24gdGhlIGNvbW1pdCBmaXhpbmcgdGhlIENQMTEwIElD VSBub2RlIHNpemUuCiogUmVtb3ZlZCB0aGUgInN5c2NvbiIgY29tcGF0aWJsZSBmcm9tIHRoZSBJ Q1Ugbm9kZSwgaW5zdGVhZCB0aGUKICBzeXNjb24gaXMgY3JlYXRlZCBhdCBwcm9iZSB0aW1lLgoq IHMvdXNlciBkYXRhL3ByaXZhdGUgZGF0YS8gaW4gdGhlIHRpdGxlIG9mIGNvbW1pdAogICJpcnFj aGlwL2lycS1tdmVidS1pY3U6IGZpeCB3cm9uZyB1c2VyIGRhdGEgcmV0cmlldmFsIgoKCk1hcmMg WnluZ2llciAoMSk6CiAgZ2VuaXJxL21zaTogQWxsb3cgY3JlYXRpb24gb2YgYSB0cmVlLWJhc2Vk IGlycWRvbWFpbiBmb3IgcGxhdGZvcm0tbXNpCgpNaXF1ZWwgUmF5bmFsICgxMyk6CiAgZHQtYmlu ZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXI6IGZpeCBNYXJ2ZWxsIElDVSBsZW5ndGggaW4gdGhl CiAgICBleGFtcGxlCiAgaXJxY2hpcC9pcnEtbXZlYnUtaWN1OiBmaXggd3JvbmcgcHJpdmF0ZSBk YXRhIHJldHJpZXZhbAogIGlycWNoaXAvaXJxLW12ZWJ1LWljdTogY2xhcmlmeSB0aGUgcmVzZXQg b3BlcmF0aW9uIG9mIGNvbmZpZ3VyZWQKICAgIGludGVycnVwdHMKICBpcnFjaGlwL2lycS1tdmVi dS1pY3U6IGRpc29jaWF0ZSBJQ1UgYW5kIE5TUgogIGlycWNoaXAvaXJxLW12ZWJ1LWljdTogc3Vw cG9ydCBJQ1Ugc3Vibm9kZXMKICBpcnFjaGlwL2lycS1tdmVidS1zZWk6IGFkZCBuZXcgZHJpdmVy IGZvciBNYXJ2ZWxsIFNFSQogIGFybTY0OiBtYXJ2ZWxsOiBlbmFibGUgU0VJIGRyaXZlcgogIGly cWNoaXAvaXJxLW12ZWJ1LWljdTogYWRkIHN1cHBvcnQgZm9yIFN5c3RlbSBFcnJvciBJbnRlcnJ1 cHRzIChTRUkpCiAgZHQtYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXI6IHVwZGF0ZSBNYXJ2 ZWxsIElDVSBiaW5kaW5ncwogIGR0LWJpbmRpbmdzL2ludGVycnVwdC1jb250cm9sbGVyOiBhZGQg ZG9jdW1lbnRhdGlvbiBmb3IgTWFydmVsbCBTRUkKICAgIGNvbnRyb2xsZXIKICBhcm02NDogZHRz OiBtYXJ2ZWxsOiBhZGQgQVA4MDYgU0VJIHN1Ym5vZGUKICBhcm02NDogZHRzOiBtYXJ2ZWxsOiB1 c2UgbmV3IGJpbmRpbmdzIGZvciBDUDExMCBpbnRlcnJ1cHRzCiAgYXJtNjQ6IGR0czogbWFydmVs bDogYWRkIENQMTEwIElDVSBTRUkgc3Vibm9kZQoKIC4uLi9pbnRlcnJ1cHQtY29udHJvbGxlci9t YXJ2ZWxsLGljdS50eHQgICAgICB8ICA4NyArKy0KIC4uLi9pbnRlcnJ1cHQtY29udHJvbGxlci9t YXJ2ZWxsLHNlaS50eHQgICAgICB8ICAzNiArKwogYXJjaC9hcm02NC9LY29uZmlnLnBsYXRmb3Jt cyAgICAgICAgICAgICAgICAgIHwgICAxICsKIGFyY2gvYXJtNjQvYm9vdC9kdHMvbWFydmVsbC9h cm1hZGEtYXA4MDYuZHRzaSB8ICAgOSArCiBhcmNoL2FybTY0L2Jvb3QvZHRzL21hcnZlbGwvYXJt YWRhLWNwMTEwLmR0c2kgfCAxMjUgKysrLS0KIGRyaXZlcnMvYmFzZS9wbGF0Zm9ybS1tc2kuYyAg ICAgICAgICAgICAgICAgICB8ICAxNCArLQogZHJpdmVycy9pcnFjaGlwL0tjb25maWcgICAgICAg ICAgICAgICAgICAgICAgIHwgICAzICsKIGRyaXZlcnMvaXJxY2hpcC9NYWtlZmlsZSAgICAgICAg ICAgICAgICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2lycWNoaXAvaXJxLW12ZWJ1LWljdS5jICAg ICAgICAgICAgICAgfCAyOTEgKysrKysrKy0tLQogZHJpdmVycy9pcnFjaGlwL2lycS1tdmVidS1z ZWkuYyAgICAgICAgICAgICAgIHwgNTA3ICsrKysrKysrKysrKysrKysrKwogaW5jbHVkZS9saW51 eC9pcnFkb21haW4uaCAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKIGluY2x1ZGUvbGludXgv bXNpLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNyArLQogMTIgZmlsZXMgY2hhbmdl ZCwgOTQ4IGluc2VydGlvbnMoKyksIDE0NCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGluZ3MvaW50ZXJydXB0LWNvbnRyb2xsZXIv bWFydmVsbCxzZWkudHh0CiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9pcnFjaGlwL2lycS1t dmVidS1zZWkuYwoKLS0gCjIuMTcuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK