From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v4 08/12] KVM: arm64: re-factor hyp.S debug register code Date: Fri, 15 May 2015 15:27:11 +0100 Message-ID: <1431700035-23479-9-git-send-email-alex.bennee@linaro.org> References: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Catalin Marinas , Gleb Natapov , jan.kiszka@siemens.com, Will Deacon , open list , dahi@linux.vnet.ibm.com, r65777@freescale.com, bp@suse.de To: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org, marc.zyngier@arm.com, peter.maydell@linaro.org, agraf@suse.de, drjones@redhat.com, pbonzini@redhat.com, zhichao.huang@linaro.org Return-path: In-Reply-To: <1431700035-23479-1-git-send-email-alex.bennee@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu List-Id: kvm.vger.kernel.org VGhpcyBpcyBhIHByZS1jdXJzb3IgdG8gc2hhcmluZyB0aGUgY29kZSB3aXRoIHRoZSBndWVzdCBk ZWJ1ZyBzdXBwb3J0LgpUaGlzIHJlcGxhY2VzIHRoZSBiaWcgbWFjcm8gdGhhdCBmaXNoZXMgZGF0 YSBvdXQgb2YgYSBmaXhlZCBsb2NhdGlvbgp3aXRoIGEgbW9yZSBnZW5lcmFsIGhlbHBlciBtYWNy byB0byByZXN0b3JlIGEgc2V0IG9mIGRlYnVnIHJlZ2lzdGVycy4gSXQKdXNlcyBtYWNybyBzdWJz dGl0dXRpb24gc28gaXQgY2FuIGJlIHJlLXVzZWQgZm9yIGRlYnVnIGNvbnRyb2wgYW5kIHZhbHVl CnJlZ2lzdGVycy4gSXQgZG9lcyBob3dldmVyIHJlbHkgb24gdGhlIGRlYnVnIHJlZ2lzdGVycyBi ZWluZyA2NCBiaXQKYWxpZ25lZCAoYXMgdGhleSBoYXBwZW4gdG8gYmUgaW4gdGhlIGh5cCBBQkkp LgoKU2lnbmVkLW9mZi1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPgoK LS0tCnYzOgogIC0gcmV0dXJuIHRvIHRoZSBwYXRjaCBzZXJpZXMKICAtIGFkZCBzYXZlIGFuZCBy ZXN0b3JlIHRhcmdldHMKICAtIGNoYW5nZSByZWdpc3RlciB1c2UgYW5kIGRvY3VtZW50CnY0Ogog IC0ga2VlcCBvcmlnaW5hbCBzZXR1cC9yZXN0b3JlIG5hbWVzCiAgLSBkb24ndCB1c2Ugc3BsaXQg dTMyL3U2NCBzdHJ1Y3R1cmUgeWV0CgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9rdm0vaHlwLlMg Yi9hcmNoL2FybTY0L2t2bS9oeXAuUwppbmRleCAyYzY3YTE0Li4zMzU3MjNlIDEwMDY0NAotLS0g YS9hcmNoL2FybTY0L2t2bS9oeXAuUworKysgYi9hcmNoL2FybTY0L2t2bS9oeXAuUwpAQCAtMjI4 LDE5OSArMjI4LDUyIEBACiAJc3RwCXgyNCwgeDI1LCBbeDMsICMxNjBdCiAuZW5kbQogCi0ubWFj cm8gc2F2ZV9kZWJ1ZwotCS8vIHgyOiBiYXNlIGFkZHJlc3MgZm9yIGNwdSBjb250ZXh0Ci0JLy8g eDM6IHRtcCByZWdpc3RlcgotCi0JbXJzCXgyNiwgaWRfYWE2NGRmcjBfZWwxCi0JdWJmeAl4MjQs IHgyNiwgIzEyLCAjNAkvLyBFeHRyYWN0IEJSUHMKLQl1YmZ4CXgyNSwgeDI2LCAjMjAsICM0CS8v IEV4dHJhY3QgV1JQcwotCW1vdgl3MjYsICMxNQotCXN1Ygl3MjQsIHcyNiwgdzI0CQkvLyBIb3cg bWFueSBCUHMgdG8gc2tpcAotCXN1Ygl3MjUsIHcyNiwgdzI1CQkvLyBIb3cgbWFueSBXUHMgdG8g c2tpcAotCi0JYWRkCXgzLCB4MiwgI0NQVV9TWVNSRUdfT0ZGU0VUKERCR0JDUjBfRUwxKQotCi0J YWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgyNCwgbHNsICMyCi0JYnIJeDI2Ci0xOgotCW1y cwl4MjAsIGRiZ2JjcjE1X2VsMQotCW1ycwl4MTksIGRiZ2JjcjE0X2VsMQotCW1ycwl4MTgsIGRi Z2JjcjEzX2VsMQotCW1ycwl4MTcsIGRiZ2JjcjEyX2VsMQotCW1ycwl4MTYsIGRiZ2JjcjExX2Vs MQotCW1ycwl4MTUsIGRiZ2JjcjEwX2VsMQotCW1ycwl4MTQsIGRiZ2JjcjlfZWwxCi0JbXJzCXgx MywgZGJnYmNyOF9lbDEKLQltcnMJeDEyLCBkYmdiY3I3X2VsMQotCW1ycwl4MTEsIGRiZ2JjcjZf ZWwxCi0JbXJzCXgxMCwgZGJnYmNyNV9lbDEKLQltcnMJeDksIGRiZ2JjcjRfZWwxCi0JbXJzCXg4 LCBkYmdiY3IzX2VsMQotCW1ycwl4NywgZGJnYmNyMl9lbDEKLQltcnMJeDYsIGRiZ2JjcjFfZWwx Ci0JbXJzCXg1LCBkYmdiY3IwX2VsMQotCi0JYWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgy NCwgbHNsICMyCi0JYnIJeDI2Ci0KLTE6Ci0Jc3RyCXgyMCwgW3gzLCAjKDE1ICogOCldCi0Jc3Ry CXgxOSwgW3gzLCAjKDE0ICogOCldCi0Jc3RyCXgxOCwgW3gzLCAjKDEzICogOCldCi0Jc3RyCXgx NywgW3gzLCAjKDEyICogOCldCi0Jc3RyCXgxNiwgW3gzLCAjKDExICogOCldCi0Jc3RyCXgxNSwg W3gzLCAjKDEwICogOCldCi0Jc3RyCXgxNCwgW3gzLCAjKDkgKiA4KV0KLQlzdHIJeDEzLCBbeDMs ICMoOCAqIDgpXQotCXN0cgl4MTIsIFt4MywgIyg3ICogOCldCi0Jc3RyCXgxMSwgW3gzLCAjKDYg KiA4KV0KLQlzdHIJeDEwLCBbeDMsICMoNSAqIDgpXQotCXN0cgl4OSwgW3gzLCAjKDQgKiA4KV0K LQlzdHIJeDgsIFt4MywgIygzICogOCldCi0Jc3RyCXg3LCBbeDMsICMoMiAqIDgpXQotCXN0cgl4 NiwgW3gzLCAjKDEgKiA4KV0KLQlzdHIJeDUsIFt4MywgIygwICogOCldCi0KLQlhZGQJeDMsIHgy LCAjQ1BVX1NZU1JFR19PRkZTRVQoREJHQlZSMF9FTDEpCi0KLQlhZHIJeDI2LCAxZgotCWFkZAl4 MjYsIHgyNiwgeDI0LCBsc2wgIzIKLQlicgl4MjYKLTE6Ci0JbXJzCXgyMCwgZGJnYnZyMTVfZWwx Ci0JbXJzCXgxOSwgZGJnYnZyMTRfZWwxCi0JbXJzCXgxOCwgZGJnYnZyMTNfZWwxCi0JbXJzCXgx NywgZGJnYnZyMTJfZWwxCi0JbXJzCXgxNiwgZGJnYnZyMTFfZWwxCi0JbXJzCXgxNSwgZGJnYnZy MTBfZWwxCi0JbXJzCXgxNCwgZGJnYnZyOV9lbDEKLQltcnMJeDEzLCBkYmdidnI4X2VsMQotCW1y cwl4MTIsIGRiZ2J2cjdfZWwxCi0JbXJzCXgxMSwgZGJnYnZyNl9lbDEKLQltcnMJeDEwLCBkYmdi dnI1X2VsMQotCW1ycwl4OSwgZGJnYnZyNF9lbDEKLQltcnMJeDgsIGRiZ2J2cjNfZWwxCi0JbXJz CXg3LCBkYmdidnIyX2VsMQotCW1ycwl4NiwgZGJnYnZyMV9lbDEKLQltcnMJeDUsIGRiZ2J2cjBf ZWwxCi0KLQlhZHIJeDI2LCAxZgotCWFkZAl4MjYsIHgyNiwgeDI0LCBsc2wgIzIKLQlicgl4MjYK LQotMToKLQlzdHIJeDIwLCBbeDMsICMoMTUgKiA4KV0KLQlzdHIJeDE5LCBbeDMsICMoMTQgKiA4 KV0KLQlzdHIJeDE4LCBbeDMsICMoMTMgKiA4KV0KLQlzdHIJeDE3LCBbeDMsICMoMTIgKiA4KV0K LQlzdHIJeDE2LCBbeDMsICMoMTEgKiA4KV0KLQlzdHIJeDE1LCBbeDMsICMoMTAgKiA4KV0KLQlz dHIJeDE0LCBbeDMsICMoOSAqIDgpXQotCXN0cgl4MTMsIFt4MywgIyg4ICogOCldCi0Jc3RyCXgx MiwgW3gzLCAjKDcgKiA4KV0KLQlzdHIJeDExLCBbeDMsICMoNiAqIDgpXQotCXN0cgl4MTAsIFt4 MywgIyg1ICogOCldCi0Jc3RyCXg5LCBbeDMsICMoNCAqIDgpXQotCXN0cgl4OCwgW3gzLCAjKDMg KiA4KV0KLQlzdHIJeDcsIFt4MywgIygyICogOCldCi0Jc3RyCXg2LCBbeDMsICMoMSAqIDgpXQot CXN0cgl4NSwgW3gzLCAjKDAgKiA4KV0KLQotCWFkZAl4MywgeDIsICNDUFVfU1lTUkVHX09GRlNF VChEQkdXQ1IwX0VMMSkKLQotCWFkcgl4MjYsIDFmCi0JYWRkCXgyNiwgeDI2LCB4MjUsIGxzbCAj MgotCWJyCXgyNgorLm1hY3JvIHNhdmVfZGVidWcgdHlwZQorCS8vIHg0OiBwb2ludGVyIHRvIHJl Z2lzdGVyIHNldAorCS8vIHg1OiBudW1iZXIgb2YgcmVnaXN0ZXJzIHRvIHNraXAKKwkvLyB4Ni4u eDIyIHRyYXNoZWQKKworCWFkcgl4MjIsIDFmCisJYWRkCXgyMiwgeDIyLCB4NSwgbHNsICMyCisJ YnIJeDIyCiAxOgotCW1ycwl4MjAsIGRiZ3djcjE1X2VsMQotCW1ycwl4MTksIGRiZ3djcjE0X2Vs MQotCW1ycwl4MTgsIGRiZ3djcjEzX2VsMQotCW1ycwl4MTcsIGRiZ3djcjEyX2VsMQotCW1ycwl4 MTYsIGRiZ3djcjExX2VsMQotCW1ycwl4MTUsIGRiZ3djcjEwX2VsMQotCW1ycwl4MTQsIGRiZ3dj cjlfZWwxCi0JbXJzCXgxMywgZGJnd2NyOF9lbDEKLQltcnMJeDEyLCBkYmd3Y3I3X2VsMQotCW1y cwl4MTEsIGRiZ3djcjZfZWwxCi0JbXJzCXgxMCwgZGJnd2NyNV9lbDEKLQltcnMJeDksIGRiZ3dj cjRfZWwxCi0JbXJzCXg4LCBkYmd3Y3IzX2VsMQotCW1ycwl4NywgZGJnd2NyMl9lbDEKLQltcnMJ eDYsIGRiZ3djcjFfZWwxCi0JbXJzCXg1LCBkYmd3Y3IwX2VsMQotCi0JYWRyCXgyNiwgMWYKLQlh ZGQJeDI2LCB4MjYsIHgyNSwgbHNsICMyCi0JYnIJeDI2Ci0KLTE6Ci0Jc3RyCXgyMCwgW3gzLCAj KDE1ICogOCldCi0Jc3RyCXgxOSwgW3gzLCAjKDE0ICogOCldCi0Jc3RyCXgxOCwgW3gzLCAjKDEz ICogOCldCi0Jc3RyCXgxNywgW3gzLCAjKDEyICogOCldCi0Jc3RyCXgxNiwgW3gzLCAjKDExICog OCldCi0Jc3RyCXgxNSwgW3gzLCAjKDEwICogOCldCi0Jc3RyCXgxNCwgW3gzLCAjKDkgKiA4KV0K LQlzdHIJeDEzLCBbeDMsICMoOCAqIDgpXQotCXN0cgl4MTIsIFt4MywgIyg3ICogOCldCi0Jc3Ry CXgxMSwgW3gzLCAjKDYgKiA4KV0KLQlzdHIJeDEwLCBbeDMsICMoNSAqIDgpXQotCXN0cgl4OSwg W3gzLCAjKDQgKiA4KV0KLQlzdHIJeDgsIFt4MywgIygzICogOCldCi0Jc3RyCXg3LCBbeDMsICMo MiAqIDgpXQotCXN0cgl4NiwgW3gzLCAjKDEgKiA4KV0KLQlzdHIJeDUsIFt4MywgIygwICogOCld Ci0KLQlhZGQJeDMsIHgyLCAjQ1BVX1NZU1JFR19PRkZTRVQoREJHV1ZSMF9FTDEpCi0KLQlhZHIJ eDI2LCAxZgotCWFkZAl4MjYsIHgyNiwgeDI1LCBsc2wgIzIKLQlicgl4MjYKKwltcnMJeDIxLCBc dHlwZVwoKTE1X2VsMQorCW1ycwl4MjAsIFx0eXBlXCgpMTRfZWwxCisJbXJzCXgxOSwgXHR5cGVc KCkxM19lbDEKKwltcnMJeDE4LCBcdHlwZVwoKTEyX2VsMQorCW1ycwl4MTcsIFx0eXBlXCgpMTFf ZWwxCisJbXJzCXgxNiwgXHR5cGVcKCkxMF9lbDEKKwltcnMJeDE1LCBcdHlwZVwoKTlfZWwxCisJ bXJzCXgxNCwgXHR5cGVcKCk4X2VsMQorCW1ycwl4MTMsIFx0eXBlXCgpN19lbDEKKwltcnMJeDEy LCBcdHlwZVwoKTZfZWwxCisJbXJzCXgxMSwgXHR5cGVcKCk1X2VsMQorCW1ycwl4MTAsIFx0eXBl XCgpNF9lbDEKKwltcnMJeDksIFx0eXBlXCgpM19lbDEKKwltcnMJeDgsIFx0eXBlXCgpMl9lbDEK KwltcnMJeDcsIFx0eXBlXCgpMV9lbDEKKwltcnMJeDYsIFx0eXBlXCgpMF9lbDEKKworCWFkcgl4 MjIsIDFmCisJYWRkCXgyMiwgeDIyLCB4NSwgbHNsICMyCisJYnIJeDIyCiAxOgotCW1ycwl4MjAs IGRiZ3d2cjE1X2VsMQotCW1ycwl4MTksIGRiZ3d2cjE0X2VsMQotCW1ycwl4MTgsIGRiZ3d2cjEz X2VsMQotCW1ycwl4MTcsIGRiZ3d2cjEyX2VsMQotCW1ycwl4MTYsIGRiZ3d2cjExX2VsMQotCW1y cwl4MTUsIGRiZ3d2cjEwX2VsMQotCW1ycwl4MTQsIGRiZ3d2cjlfZWwxCi0JbXJzCXgxMywgZGJn d3ZyOF9lbDEKLQltcnMJeDEyLCBkYmd3dnI3X2VsMQotCW1ycwl4MTEsIGRiZ3d2cjZfZWwxCi0J bXJzCXgxMCwgZGJnd3ZyNV9lbDEKLQltcnMJeDksIGRiZ3d2cjRfZWwxCi0JbXJzCXg4LCBkYmd3 dnIzX2VsMQotCW1ycwl4NywgZGJnd3ZyMl9lbDEKLQltcnMJeDYsIGRiZ3d2cjFfZWwxCi0JbXJz CXg1LCBkYmd3dnIwX2VsMQotCi0JYWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgyNSwgbHNs ICMyCi0JYnIJeDI2Ci0KLTE6Ci0Jc3RyCXgyMCwgW3gzLCAjKDE1ICogOCldCi0Jc3RyCXgxOSwg W3gzLCAjKDE0ICogOCldCi0Jc3RyCXgxOCwgW3gzLCAjKDEzICogOCldCi0Jc3RyCXgxNywgW3gz LCAjKDEyICogOCldCi0Jc3RyCXgxNiwgW3gzLCAjKDExICogOCldCi0Jc3RyCXgxNSwgW3gzLCAj KDEwICogOCldCi0Jc3RyCXgxNCwgW3gzLCAjKDkgKiA4KV0KLQlzdHIJeDEzLCBbeDMsICMoOCAq IDgpXQotCXN0cgl4MTIsIFt4MywgIyg3ICogOCldCi0Jc3RyCXgxMSwgW3gzLCAjKDYgKiA4KV0K LQlzdHIJeDEwLCBbeDMsICMoNSAqIDgpXQotCXN0cgl4OSwgW3gzLCAjKDQgKiA4KV0KLQlzdHIJ eDgsIFt4MywgIygzICogOCldCi0Jc3RyCXg3LCBbeDMsICMoMiAqIDgpXQotCXN0cgl4NiwgW3gz LCAjKDEgKiA4KV0KLQlzdHIJeDUsIFt4MywgIygwICogOCldCi0KLQltcnMJeDIxLCBtZGNjaW50 X2VsMQotCXN0cgl4MjEsIFt4MiwgI0NQVV9TWVNSRUdfT0ZGU0VUKE1EQ0NJTlRfRUwxKV0KKwlz dHIJeDIxLCBbeDQsICMoMTUgKiA4KV0KKwlzdHIJeDIwLCBbeDQsICMoMTQgKiA4KV0KKwlzdHIJ eDE5LCBbeDQsICMoMTMgKiA4KV0KKwlzdHIJeDE4LCBbeDQsICMoMTIgKiA4KV0KKwlzdHIJeDE3 LCBbeDQsICMoMTEgKiA4KV0KKwlzdHIJeDE2LCBbeDQsICMoMTAgKiA4KV0KKwlzdHIJeDE1LCBb eDQsICMoOSAqIDgpXQorCXN0cgl4MTQsIFt4NCwgIyg4ICogOCldCisJc3RyCXgxMywgW3g0LCAj KDcgKiA4KV0KKwlzdHIJeDEyLCBbeDQsICMoNiAqIDgpXQorCXN0cgl4MTEsIFt4NCwgIyg1ICog OCldCisJc3RyCXgxMCwgW3g0LCAjKDQgKiA4KV0KKwlzdHIJeDksIFt4NCwgIygzICogOCldCisJ c3RyCXg4LCBbeDQsICMoMiAqIDgpXQorCXN0cgl4NywgW3g0LCAjKDEgKiA4KV0KKwlzdHIJeDYs IFt4NCwgIygwICogOCldCiAuZW5kbQogCiAubWFjcm8gcmVzdG9yZV9zeXNyZWdzCkBAIC00NjUs MTk1ICszMTgsNTIgQEAKIAltc3IJbWRzY3JfZWwxLAl4MjUKIC5lbmRtCiAKLS5tYWNybyByZXN0 b3JlX2RlYnVnCi0JLy8geDI6IGJhc2UgYWRkcmVzcyBmb3IgY3B1IGNvbnRleHQKLQkvLyB4Mzog dG1wIHJlZ2lzdGVyCi0KLQltcnMJeDI2LCBpZF9hYTY0ZGZyMF9lbDEKLQl1YmZ4CXgyNCwgeDI2 LCAjMTIsICM0CS8vIEV4dHJhY3QgQlJQcwotCXViZngJeDI1LCB4MjYsICMyMCwgIzQJLy8gRXh0 cmFjdCBXUlBzCi0JbW92CXcyNiwgIzE1Ci0Jc3ViCXcyNCwgdzI2LCB3MjQJCS8vIEhvdyBtYW55 IEJQcyB0byBza2lwCi0Jc3ViCXcyNSwgdzI2LCB3MjUJCS8vIEhvdyBtYW55IFdQcyB0byBza2lw Ci0KLQlhZGQJeDMsIHgyLCAjQ1BVX1NZU1JFR19PRkZTRVQoREJHQkNSMF9FTDEpCisubWFjcm8g cmVzdG9yZV9kZWJ1ZyB0eXBlCisgICAgICAgIC8vIHg0OiBwb2ludGVyIHRvIHJlZ2lzdGVyIHNl dAorICAgICAgICAvLyB4NTogbnVtYmVyIG9mIHJlZ2lzdGVycyB0byBza2lwCisJLy8geDYuLngy MiB0cmFzaGVkCiAKLQlhZHIJeDI2LCAxZgotCWFkZAl4MjYsIHgyNiwgeDI0LCBsc2wgIzIKLQli cgl4MjYKKwlhZHIJeDIyLCAxZgorCWFkZAl4MjIsIHgyMiwgeDUsIGxzbCAjMgorCWJyCXgyMgog MToKLQlsZHIJeDIwLCBbeDMsICMoMTUgKiA4KV0KLQlsZHIJeDE5LCBbeDMsICMoMTQgKiA4KV0K LQlsZHIJeDE4LCBbeDMsICMoMTMgKiA4KV0KLQlsZHIJeDE3LCBbeDMsICMoMTIgKiA4KV0KLQls ZHIJeDE2LCBbeDMsICMoMTEgKiA4KV0KLQlsZHIJeDE1LCBbeDMsICMoMTAgKiA4KV0KLQlsZHIJ eDE0LCBbeDMsICMoOSAqIDgpXQotCWxkcgl4MTMsIFt4MywgIyg4ICogOCldCi0JbGRyCXgxMiwg W3gzLCAjKDcgKiA4KV0KLQlsZHIJeDExLCBbeDMsICMoNiAqIDgpXQotCWxkcgl4MTAsIFt4Mywg Iyg1ICogOCldCi0JbGRyCXg5LCBbeDMsICMoNCAqIDgpXQotCWxkcgl4OCwgW3gzLCAjKDMgKiA4 KV0KLQlsZHIJeDcsIFt4MywgIygyICogOCldCi0JbGRyCXg2LCBbeDMsICMoMSAqIDgpXQotCWxk cgl4NSwgW3gzLCAjKDAgKiA4KV0KLQotCWFkcgl4MjYsIDFmCi0JYWRkCXgyNiwgeDI2LCB4MjQs IGxzbCAjMgotCWJyCXgyNgorCWxkcgl4MjEsIFt4NCwgIygxNSAqIDgpXQorCWxkcgl4MjAsIFt4 NCwgIygxNCAqIDgpXQorCWxkcgl4MTksIFt4NCwgIygxMyAqIDgpXQorCWxkcgl4MTgsIFt4NCwg IygxMiAqIDgpXQorCWxkcgl4MTcsIFt4NCwgIygxMSAqIDgpXQorCWxkcgl4MTYsIFt4NCwgIygx MCAqIDgpXQorCWxkcgl4MTUsIFt4NCwgIyg5ICogOCldCisJbGRyCXgxNCwgW3g0LCAjKDggKiA4 KV0KKwlsZHIJeDEzLCBbeDQsICMoNyAqIDgpXQorCWxkcgl4MTIsIFt4NCwgIyg2ICogOCldCisJ bGRyCXgxMSwgW3g0LCAjKDUgKiA4KV0KKwlsZHIJeDEwLCBbeDQsICMoNCAqIDgpXQorCWxkcgl4 OSwgW3g0LCAjKDMgKiA4KV0KKwlsZHIJeDgsIFt4NCwgIygyICogOCldCisJbGRyCXg3LCBbeDQs ICMoMSAqIDgpXQorCWxkcgl4NiwgW3g0LCAjKDAgKiA4KV0KKworCWFkcgl4MjIsIDFmCisJYWRk CXgyMiwgeDIyLCB4NSwgbHNsICMyCisJYnIJeDIyCiAxOgotCW1zcglkYmdiY3IxNV9lbDEsIHgy MAotCW1zcglkYmdiY3IxNF9lbDEsIHgxOQotCW1zcglkYmdiY3IxM19lbDEsIHgxOAotCW1zcglk YmdiY3IxMl9lbDEsIHgxNwotCW1zcglkYmdiY3IxMV9lbDEsIHgxNgotCW1zcglkYmdiY3IxMF9l bDEsIHgxNQotCW1zcglkYmdiY3I5X2VsMSwgeDE0Ci0JbXNyCWRiZ2JjcjhfZWwxLCB4MTMKLQlt c3IJZGJnYmNyN19lbDEsIHgxMgotCW1zcglkYmdiY3I2X2VsMSwgeDExCi0JbXNyCWRiZ2JjcjVf ZWwxLCB4MTAKLQltc3IJZGJnYmNyNF9lbDEsIHg5Ci0JbXNyCWRiZ2JjcjNfZWwxLCB4OAotCW1z cglkYmdiY3IyX2VsMSwgeDcKLQltc3IJZGJnYmNyMV9lbDEsIHg2Ci0JbXNyCWRiZ2JjcjBfZWwx LCB4NQotCi0JYWRkCXgzLCB4MiwgI0NQVV9TWVNSRUdfT0ZGU0VUKERCR0JWUjBfRUwxKQotCi0J YWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgyNCwgbHNsICMyCi0JYnIJeDI2Ci0xOgotCWxk cgl4MjAsIFt4MywgIygxNSAqIDgpXQotCWxkcgl4MTksIFt4MywgIygxNCAqIDgpXQotCWxkcgl4 MTgsIFt4MywgIygxMyAqIDgpXQotCWxkcgl4MTcsIFt4MywgIygxMiAqIDgpXQotCWxkcgl4MTYs IFt4MywgIygxMSAqIDgpXQotCWxkcgl4MTUsIFt4MywgIygxMCAqIDgpXQotCWxkcgl4MTQsIFt4 MywgIyg5ICogOCldCi0JbGRyCXgxMywgW3gzLCAjKDggKiA4KV0KLQlsZHIJeDEyLCBbeDMsICMo NyAqIDgpXQotCWxkcgl4MTEsIFt4MywgIyg2ICogOCldCi0JbGRyCXgxMCwgW3gzLCAjKDUgKiA4 KV0KLQlsZHIJeDksIFt4MywgIyg0ICogOCldCi0JbGRyCXg4LCBbeDMsICMoMyAqIDgpXQotCWxk cgl4NywgW3gzLCAjKDIgKiA4KV0KLQlsZHIJeDYsIFt4MywgIygxICogOCldCi0JbGRyCXg1LCBb eDMsICMoMCAqIDgpXQotCi0JYWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgyNCwgbHNsICMy Ci0JYnIJeDI2Ci0xOgotCW1zcglkYmdidnIxNV9lbDEsIHgyMAotCW1zcglkYmdidnIxNF9lbDEs IHgxOQotCW1zcglkYmdidnIxM19lbDEsIHgxOAotCW1zcglkYmdidnIxMl9lbDEsIHgxNwotCW1z cglkYmdidnIxMV9lbDEsIHgxNgotCW1zcglkYmdidnIxMF9lbDEsIHgxNQotCW1zcglkYmdidnI5 X2VsMSwgeDE0Ci0JbXNyCWRiZ2J2cjhfZWwxLCB4MTMKLQltc3IJZGJnYnZyN19lbDEsIHgxMgot CW1zcglkYmdidnI2X2VsMSwgeDExCi0JbXNyCWRiZ2J2cjVfZWwxLCB4MTAKLQltc3IJZGJnYnZy NF9lbDEsIHg5Ci0JbXNyCWRiZ2J2cjNfZWwxLCB4OAotCW1zcglkYmdidnIyX2VsMSwgeDcKLQlt c3IJZGJnYnZyMV9lbDEsIHg2Ci0JbXNyCWRiZ2J2cjBfZWwxLCB4NQotCi0JYWRkCXgzLCB4Miwg I0NQVV9TWVNSRUdfT0ZGU0VUKERCR1dDUjBfRUwxKQotCi0JYWRyCXgyNiwgMWYKLQlhZGQJeDI2 LCB4MjYsIHgyNSwgbHNsICMyCi0JYnIJeDI2Ci0xOgotCWxkcgl4MjAsIFt4MywgIygxNSAqIDgp XQotCWxkcgl4MTksIFt4MywgIygxNCAqIDgpXQotCWxkcgl4MTgsIFt4MywgIygxMyAqIDgpXQot CWxkcgl4MTcsIFt4MywgIygxMiAqIDgpXQotCWxkcgl4MTYsIFt4MywgIygxMSAqIDgpXQotCWxk cgl4MTUsIFt4MywgIygxMCAqIDgpXQotCWxkcgl4MTQsIFt4MywgIyg5ICogOCldCi0JbGRyCXgx MywgW3gzLCAjKDggKiA4KV0KLQlsZHIJeDEyLCBbeDMsICMoNyAqIDgpXQotCWxkcgl4MTEsIFt4 MywgIyg2ICogOCldCi0JbGRyCXgxMCwgW3gzLCAjKDUgKiA4KV0KLQlsZHIJeDksIFt4MywgIyg0 ICogOCldCi0JbGRyCXg4LCBbeDMsICMoMyAqIDgpXQotCWxkcgl4NywgW3gzLCAjKDIgKiA4KV0K LQlsZHIJeDYsIFt4MywgIygxICogOCldCi0JbGRyCXg1LCBbeDMsICMoMCAqIDgpXQotCi0JYWRy CXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgyNSwgbHNsICMyCi0JYnIJeDI2Ci0xOgotCW1zcglk Ymd3Y3IxNV9lbDEsIHgyMAotCW1zcglkYmd3Y3IxNF9lbDEsIHgxOQotCW1zcglkYmd3Y3IxM19l bDEsIHgxOAotCW1zcglkYmd3Y3IxMl9lbDEsIHgxNwotCW1zcglkYmd3Y3IxMV9lbDEsIHgxNgot CW1zcglkYmd3Y3IxMF9lbDEsIHgxNQotCW1zcglkYmd3Y3I5X2VsMSwgeDE0Ci0JbXNyCWRiZ3dj cjhfZWwxLCB4MTMKLQltc3IJZGJnd2NyN19lbDEsIHgxMgotCW1zcglkYmd3Y3I2X2VsMSwgeDEx Ci0JbXNyCWRiZ3djcjVfZWwxLCB4MTAKLQltc3IJZGJnd2NyNF9lbDEsIHg5Ci0JbXNyCWRiZ3dj cjNfZWwxLCB4OAotCW1zcglkYmd3Y3IyX2VsMSwgeDcKLQltc3IJZGJnd2NyMV9lbDEsIHg2Ci0J bXNyCWRiZ3djcjBfZWwxLCB4NQotCi0JYWRkCXgzLCB4MiwgI0NQVV9TWVNSRUdfT0ZGU0VUKERC R1dWUjBfRUwxKQotCi0JYWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4MjYsIHgyNSwgbHNsICMyCi0J YnIJeDI2Ci0xOgotCWxkcgl4MjAsIFt4MywgIygxNSAqIDgpXQotCWxkcgl4MTksIFt4MywgIygx NCAqIDgpXQotCWxkcgl4MTgsIFt4MywgIygxMyAqIDgpXQotCWxkcgl4MTcsIFt4MywgIygxMiAq IDgpXQotCWxkcgl4MTYsIFt4MywgIygxMSAqIDgpXQotCWxkcgl4MTUsIFt4MywgIygxMCAqIDgp XQotCWxkcgl4MTQsIFt4MywgIyg5ICogOCldCi0JbGRyCXgxMywgW3gzLCAjKDggKiA4KV0KLQls ZHIJeDEyLCBbeDMsICMoNyAqIDgpXQotCWxkcgl4MTEsIFt4MywgIyg2ICogOCldCi0JbGRyCXgx MCwgW3gzLCAjKDUgKiA4KV0KLQlsZHIJeDksIFt4MywgIyg0ICogOCldCi0JbGRyCXg4LCBbeDMs ICMoMyAqIDgpXQotCWxkcgl4NywgW3gzLCAjKDIgKiA4KV0KLQlsZHIJeDYsIFt4MywgIygxICog OCldCi0JbGRyCXg1LCBbeDMsICMoMCAqIDgpXQotCi0JYWRyCXgyNiwgMWYKLQlhZGQJeDI2LCB4 MjYsIHgyNSwgbHNsICMyCi0JYnIJeDI2Ci0xOgotCW1zcglkYmd3dnIxNV9lbDEsIHgyMAotCW1z cglkYmd3dnIxNF9lbDEsIHgxOQotCW1zcglkYmd3dnIxM19lbDEsIHgxOAotCW1zcglkYmd3dnIx Ml9lbDEsIHgxNwotCW1zcglkYmd3dnIxMV9lbDEsIHgxNgotCW1zcglkYmd3dnIxMF9lbDEsIHgx NQotCW1zcglkYmd3dnI5X2VsMSwgeDE0Ci0JbXNyCWRiZ3d2cjhfZWwxLCB4MTMKLQltc3IJZGJn d3ZyN19lbDEsIHgxMgotCW1zcglkYmd3dnI2X2VsMSwgeDExCi0JbXNyCWRiZ3d2cjVfZWwxLCB4 MTAKLQltc3IJZGJnd3ZyNF9lbDEsIHg5Ci0JbXNyCWRiZ3d2cjNfZWwxLCB4OAotCW1zcglkYmd3 dnIyX2VsMSwgeDcKLQltc3IJZGJnd3ZyMV9lbDEsIHg2Ci0JbXNyCWRiZ3d2cjBfZWwxLCB4NQot Ci0JbGRyCXgyMSwgW3gyLCAjQ1BVX1NZU1JFR19PRkZTRVQoTURDQ0lOVF9FTDEpXQotCW1zcglt ZGNjaW50X2VsMSwgeDIxCisJbXNyCVx0eXBlXCgpMTVfZWwxLCB4MjEKKwltc3IJXHR5cGVcKCkx NF9lbDEsIHgyMAorCW1zcglcdHlwZVwoKTEzX2VsMSwgeDE5CisJbXNyCVx0eXBlXCgpMTJfZWwx LCB4MTgKKwltc3IJXHR5cGVcKCkxMV9lbDEsIHgxNworCW1zcglcdHlwZVwoKTEwX2VsMSwgeDE2 CisJbXNyCVx0eXBlXCgpOV9lbDEsIHgxNQorCW1zcglcdHlwZVwoKThfZWwxLCB4MTQKKwltc3IJ XHR5cGVcKCk3X2VsMSwgeDEzCisJbXNyCVx0eXBlXCgpNl9lbDEsIHgxMgorCW1zcglcdHlwZVwo KTVfZWwxLCB4MTEKKwltc3IJXHR5cGVcKCk0X2VsMSwgeDEwCisJbXNyCVx0eXBlXCgpM19lbDEs IHg5CisJbXNyCVx0eXBlXCgpMl9lbDEsIHg4CisJbXNyCVx0eXBlXCgpMV9lbDEsIHg3CisJbXNy CVx0eXBlXCgpMF9lbDEsIHg2CiAuZW5kbQogCiAubWFjcm8gc2tpcF8zMmJpdF9zdGF0ZSB0bXAs IHRhcmdldApAQCAtODg3LDEyICs1OTcsNjMgQEAgX19yZXN0b3JlX3N5c3JlZ3M6CiAJcmVzdG9y ZV9zeXNyZWdzCiAJcmV0CiAKKy8qIFNhdmUgZGVidWcgc3RhdGUgKi8KIF9fc2F2ZV9kZWJ1ZzoK LQlzYXZlX2RlYnVnCisJLy8geDA6IGJhc2UgYWRkcmVzcyBmb3IgdmNwdSBjb250ZXh0CisJLy8g eDI6IHB0ciB0byBjdXJyZW50IENQVSBjb250ZXh0CisJLy8geDQveDU6IHRyYXNoZWQKKworCW1y cwl4MjYsIGlkX2FhNjRkZnIwX2VsMQorCXViZngJeDI0LCB4MjYsICMxMiwgIzQJLy8gRXh0cmFj dCBCUlBzCisJdWJmeAl4MjUsIHgyNiwgIzIwLCAjNAkvLyBFeHRyYWN0IFdSUHMKKwltb3YJdzI2 LCAjMTUKKwlzdWIJdzI0LCB3MjYsIHcyNAkJLy8gSG93IG1hbnkgQlBzIHRvIHNraXAKKwlzdWIJ dzI1LCB3MjYsIHcyNQkJLy8gSG93IG1hbnkgV1BzIHRvIHNraXAKKworCW1vdiAgICAgeDUsIHgy NAorCWFkZAl4NCwgeDIsICNDUFVfU1lTUkVHX09GRlNFVChEQkdCQ1IwX0VMMSkKKwlzYXZlX2Rl YnVnIGRiZ2JjcgorCWFkZAl4NCwgeDIsICNDUFVfU1lTUkVHX09GRlNFVChEQkdCVlIwX0VMMSkK KwlzYXZlX2RlYnVnIGRiZ2J2cgorCisJbW92ICAgICB4NSwgeDI1CisJYWRkCXg0LCB4MiwgI0NQ VV9TWVNSRUdfT0ZGU0VUKERCR1dDUjBfRUwxKQorCXNhdmVfZGVidWcgZGJnd2NyCisJYWRkCXg0 LCB4MiwgI0NQVV9TWVNSRUdfT0ZGU0VUKERCR1dWUjBfRUwxKQorCXNhdmVfZGVidWcgZGJnd3Zy CisKKwltcnMJeDIxLCBtZGNjaW50X2VsMQorCXN0cgl4MjEsIFt4MiwgI0NQVV9TWVNSRUdfT0ZG U0VUKE1EQ0NJTlRfRUwxKV0KIAlyZXQKIAorLyogUmVzdG9yZSBkZWJ1ZyBzdGF0ZSAqLwogX19y ZXN0b3JlX2RlYnVnOgotCXJlc3RvcmVfZGVidWcKKwkvLyB4MDogYmFzZSBhZGRyZXNzIGZvciBj cHUgY29udGV4dAorCS8vIHgyOiBwdHIgdG8gY3VycmVudCBDUFUgY29udGV4dAorCS8vIHg0L3g1 OiB0cmFzaGVkCisKKwltcnMJeDI2LCBpZF9hYTY0ZGZyMF9lbDEKKwl1YmZ4CXgyNCwgeDI2LCAj MTIsICM0CS8vIEV4dHJhY3QgQlJQcworCXViZngJeDI1LCB4MjYsICMyMCwgIzQJLy8gRXh0cmFj dCBXUlBzCisJbW92CXcyNiwgIzE1CisJc3ViCXcyNCwgdzI2LCB3MjQJCS8vIEhvdyBtYW55IEJQ cyB0byBza2lwCisJc3ViCXcyNSwgdzI2LCB3MjUJCS8vIEhvdyBtYW55IFdQcyB0byBza2lwCisK Kwltb3YgICAgIHg1LCB4MjQKKwlhZGQJeDQsIHgyLCAjQ1BVX1NZU1JFR19PRkZTRVQoREJHQkNS MF9FTDEpCisJcmVzdG9yZV9kZWJ1ZyBkYmdiY3IKKwlhZGQJeDQsIHgyLCAjQ1BVX1NZU1JFR19P RkZTRVQoREJHQlZSMF9FTDEpCisJcmVzdG9yZV9kZWJ1ZyBkYmdidnIKKworCW1vdiAgICAgeDUs IHgyNQorCWFkZAl4NCwgeDIsICNDUFVfU1lTUkVHX09GRlNFVChEQkdXQ1IwX0VMMSkKKwlyZXN0 b3JlX2RlYnVnIGRiZ3djcgorCWFkZAl4NCwgeDIsICNDUFVfU1lTUkVHX09GRlNFVChEQkdXVlIw X0VMMSkKKwlyZXN0b3JlX2RlYnVnIGRiZ3d2cgorCisJbGRyCXgyMSwgW3gyLCAjQ1BVX1NZU1JF R19PRkZTRVQoTURDQ0lOVF9FTDEpXQorCW1zcgltZGNjaW50X2VsMSwgeDIxCisKIAlyZXQKIAog X19zYXZlX2Zwc2ltZDoKLS0gCjIuMy41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1 bWJpYS5lZHUKaHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9r dm1hcm0K