From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Luis R. Rodriguez" Subject: [PATCH v6 04/16] x86/rtc: replace paravirt rtc check with platform legacy quirk Date: Wed, 13 Apr 2016 17:04:34 -0700 Message-ID: <1460592286-300-5-git-send-email-mcgrof@kernel.org> References: <1460592286-300-1-git-send-email-mcgrof@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1460592286-300-1-git-send-email-mcgrof@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: bp@alien8.de, hpa@zytor.com, tglx@linutronix.de, mingo@redhat.com, rusty@rustcorp.com.au Cc: kozerkov@parallels.com, matt@codeblueprint.co.uk, bigeasy@linutronix.de, lv.zheng@intel.com, ffainelli@freebox.fr, mbizon@freebox.fr, xen-devel@lists.xensource.com, x86@kernel.org, robert.moore@intel.com, linux-acpi@vger.kernel.org, glin@suse.com, lenb@kernel.org, julien.grall@linaro.org, josh@joshtriplett.org, george.dunlap@citrix.com, jlee@suse.com, lguest@lists.ozlabs.org, boris.ostrovsky@oracle.com, andriy.shevchenko@linux.intel.com, jgross@suse.com, toshi.kani@hp.com, andrew.cooper3@citrix.com, rjw@rjwysocki.net, linux-kernel@vger.kernel.org, luto@amacapital.net, "Luis R. Rodriguez" , david.vrabel@citrix.com, tiwai@suse.de List-Id: linux-acpi@vger.kernel.org V2UgaGF2ZSA0IHR5cGVzIG9mIHg4NiBwbGF0Zm9ybXMgdGhhdCBkaXNhYmxlIFJUQzoKCiAgKiBJ bnRlbCBNSUQKICAqIExndWVzdCAtIHVzZXMgcGFyYXZpcnQKICAqIFhlbiBkb20tVSAtIHVzZXMg cGFyYXZpcnQKICAqIHg4NiBvbiBsZWdhY3kgc3lzdGVtcyBhbm5vdGF0ZWQgd2l0aCBhbiBBQ1BJ IGxlZ2FjeSBmbGFnCgpXZSBjYW4gY29uc29saWRhdGUgYWxsIG9mIHRoZXNlIGludG8gYSBwbGF0 Zm9ybSBzcGVjaWZpYyBsZWdhY3kKcXVpcmsgc2V0IGVhcmx5IGluIGJvb3QgdGhyb3VnaCBpMzg2 X3N0YXJ0X2tlcm5lbCgpIGFuZCB0aHJvdWdoCng4Nl82NF9zdGFydF9yZXNlcnZhdGlvbnMoKS4g VGhpcyBkZWFscyB3aXRoIHRoZSBSVEMgcXVpcmtzIHdoaWNoCndlIGNhbiByZWx5IG9uIHRocm91 Z2ggdGhlIGhhcmR3YXJlIHN1YmFyY2gsIHRoZSBBQ1BJIGNoZWNrIGNhbgpiZSBkZWFsdCB3aXRo IHNlcGFyYXRlbHkuCgpGb3IgWGVuIHRoaW5ncyBhcmUgYml0IG1vcmUgY29tcGxleCBnaXZlbiB0 aGF0IHRoZSBAWDg2X1NVQkFSQ0hfWEVOCng4Nl9oYXJkd2FyZV9zdWJhcmNoIGlzIHNoYXJlZCBv biBmb3IgWGVuIHdoaWNoIHVzZXMgdGhlIFBWIHBhdGggZm9yCmJvdGggZG9tVSBhbmQgZG9tMC4g U2luY2UgdGhlIHNlbWFudGljcyBmb3IgZGlmZmVyZW50aWF0aW5nIGJldHdlZW4KdGhlIHR3byBh cmUgWGVuIHNwZWNpZmljIHdlIHByb3ZpZGUgYSBwbGF0Zm9ybSBoZWxwZXIgdG8gaGVscCBvdmVy cmlkZQpkZWZhdWx0IGxlZ2FjeSBmZWF0dXJlcyAtLSB4ODZfcGxhdGZvcm0uc2V0X2xlZ2FjeV9m ZWF0dXJlcygpLiBVc2UKb2YgdGhpcyBoZWxwZXIgaXMgaGlnaGx5IGRpc2NvdXJhZ2VkLCBpdHMg b25seSBwdXJwb3NlIHNob3VsZCBiZQp0byBhY2NvdW50IGZvciB0aGUgbGFjayBvZiBzZW1hbnRp Y3MgYXZhaWxhYmxlIHdpdGhpbiB5b3VyIGdpdmVuCng4Nl9oYXJkd2FyZV9zdWJhcmNoLgoKQXMg cGVyIDAtZGF5LCB0aGlzIGJ1bXBzIHRoZSB2bWxpbnV4IHNpemUgdXNpbmcgaTM4Ni10aW55Y29u ZmlnIGFzCmZvbGxvd3M6CgpUT1RBTCAgIFRFWFQgICBpbml0LnRleHQgICAgeDg2X2Vhcmx5X2lu aXRfcGxhdGZvcm1fcXVpcmtzKCkKKzcwICAgICArNjIgICAgKzYyICAgICAgICAgICs0MwoKT25s eSA4IGJ5dGVzIG92ZXJoZWFkIHRvdGFsLCBhcyB0aGUgbWFpbiBpbmNyZWFzZSBpbiBzaXplIGlz CmFsbCByZW1vdmVkIHZpYSBfX2luaXQuCgp2NDogc3BsaXQgdGhlIHN1YmFyY2ggY2hlY2sgZnJv bSB0aGUgQUNQSSBjaGVjaywgY2xhcmlmeQogICAgb24gdGhlIEFDUEkgY2hhbmdlIGNvbW1pdCBs b2cgd2h5IG9yZGVyaW5nIHdvcmtzCnY1OiBhZGQgeDg2X3BsYXRmb3JtLnNldF9sZWdhY3lfZmVh dHVyZXMoKSB0byBhY2NvdW50IGZvciBkb20wLAogICAgYWRkIGFsc28gc2l6ZSBpbXBhY3Qgb24g dm1saW51eCBhcyBwZXIgMC1kYXkgcmVwb3J0CnY2OiBVc2UgX19pbml0IG9uIHhlbl9kb20wX3Nl dF9sZWdhY3lfZmVhdHVyZXMoKQoKU3VnZ2VzdGVkLWJ5OiBJbmdvIE1vbG5hciA8bWluZ29Aa2Vy bmVsLm9yZz4KU2lnbmVkLW9mZi1ieTogTHVpcyBSLiBSb2RyaWd1ZXogPG1jZ3JvZkBrZXJuZWwu b3JnPgotLS0KIGFyY2gveDg2L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgfCAgMSArCiBh cmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oICAgICAgIHwgIDYgLS0tLS0tCiBhcmNoL3g4 Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oIHwgIDUgLS0tLS0KIGFyY2gveDg2L2luY2x1 ZGUvYXNtL3Byb2Nlc3Nvci5oICAgICAgfCAgMSAtCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS94ODZf aW5pdC5oICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysrKysrCiBhcmNoL3g4Ni9rZXJuZWwv TWFrZWZpbGUgICAgICAgICAgICAgIHwgIDYgKysrKystCiBhcmNoL3g4Ni9rZXJuZWwvaGVhZDMy LmMgICAgICAgICAgICAgIHwgIDIgKysKIGFyY2gveDg2L2tlcm5lbC9oZWFkNjQuYyAgICAgICAg ICAgICAgfCAgMSArCiBhcmNoL3g4Ni9rZXJuZWwvcGxhdGZvcm0tcXVpcmtzLmMgICAgIHwgMjEg KysrKysrKysrKysrKysrKysrKysrCiBhcmNoL3g4Ni9rZXJuZWwvcnRjLmMgICAgICAgICAgICAg ICAgIHwgIDcgKystLS0tLQogYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYyAgICAgICAgICAgICAgICB8 ICAxIC0KIGFyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYyAgICAgICAgICAgICAgfCAxMCArKysrKysr LS0tCiAxMiBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL3g4Ni9rZXJuZWwvcGxhdGZvcm0tcXVpcmtzLmMKCmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9NYWtlZmlsZSBiL2FyY2gveDg2L01ha2VmaWxlCmluZGV4IDQw ODZhYmNhMGIzMi4uZjllZDhhN2NlMmI2IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9NYWtlZmlsZQor KysgYi9hcmNoL3g4Ni9NYWtlZmlsZQpAQCAtMjA5LDYgKzIwOSw3IEBAIGVuZGlmCiBoZWFkLXkg Oj0gYXJjaC94ODYva2VybmVsL2hlYWRfJChCSVRTKS5vCiBoZWFkLXkgKz0gYXJjaC94ODYva2Vy bmVsL2hlYWQkKEJJVFMpLm8KIGhlYWQteSArPSBhcmNoL3g4Ni9rZXJuZWwvaGVhZC5vCitoZWFk LXkgKz0gYXJjaC94ODYva2VybmVsL3BsYXRmb3JtLXF1aXJrcy5vCiAKIGxpYnMteSAgKz0gYXJj aC94ODYvbGliLwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5o IGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQuaAppbmRleCA2MDFmMWI4Zjk5NjEuLjZj N2E0YTE5MjAzMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcGFyYXZpcnQuaAor KysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydC5oCkBAIC0yMCwxMiArMjAsNiBAQCBz dGF0aWMgaW5saW5lIGludCBwYXJhdmlydF9lbmFibGVkKHZvaWQpCiAJcmV0dXJuIHB2X2luZm8u cGFyYXZpcnRfZW5hYmxlZDsKIH0KIAotc3RhdGljIGlubGluZSBpbnQgcGFyYXZpcnRfaGFzX2Zl YXR1cmUodW5zaWduZWQgaW50IGZlYXR1cmUpCi17Ci0JV0FSTl9PTl9PTkNFKCFwdl9pbmZvLnBh cmF2aXJ0X2VuYWJsZWQpOwotCXJldHVybiAocHZfaW5mby5mZWF0dXJlcyAmIGZlYXR1cmUpOwot fQotCiBzdGF0aWMgaW5saW5lIHZvaWQgbG9hZF9zcDAoc3RydWN0IHRzc19zdHJ1Y3QgKnRzcywK IAkJCSAgICAgc3RydWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZCkKIHsKZGlmZiAtLWdpdCBhL2Fy Y2gveDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmggYi9hcmNoL3g4Ni9pbmNsdWRlL2Fz bS9wYXJhdmlydF90eXBlcy5oCmluZGV4IGU4YzIzMjY0NzhjOC4uNmFjYzFiMjZjZjQwIDEwMDY0 NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wYXJhdmlydF90eXBlcy5oCisrKyBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL3BhcmF2aXJ0X3R5cGVzLmgKQEAgLTcwLDE0ICs3MCw5IEBAIHN0cnVj dCBwdl9pbmZvIHsKICNlbmRpZgogCiAJaW50IHBhcmF2aXJ0X2VuYWJsZWQ7Ci0JdW5zaWduZWQg aW50IGZlYXR1cmVzOwkgIC8qIHZhbGlkIG9ubHkgaWYgcGFyYXZpcnRfZW5hYmxlZCBpcyBzZXQg Ki8KIAljb25zdCBjaGFyICpuYW1lOwogfTsKIAotI2RlZmluZSBwYXJhdmlydF9oYXMoeCkgcGFy YXZpcnRfaGFzX2ZlYXR1cmUoUFZfU1VQUE9SVEVEXyMjeCkKLS8qIFN1cHBvcnRlZCBmZWF0dXJl cyAqLwotI2RlZmluZSBQVl9TVVBQT1JURURfUlRDICAgICAgICAoMTw8MCkKLQogc3RydWN0IHB2 X2luaXRfb3BzIHsKIAkvKgogCSAqIFBhdGNoIG1heSByZXBsYWNlIG9uZSBvZiB0aGUgZGVmaW5l ZCBjb2RlIHNlcXVlbmNlcyB3aXRoCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9w cm9jZXNzb3IuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCmluZGV4IDkyNjQ0 NzZmM2Q1Ny4uMGM3MGM3ZGFhNmI4IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9w cm9jZXNzb3IuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaApAQCAtNDc0 LDcgKzQ3NCw2IEBAIHN0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjdXJyZW50X3RvcF9vZl9z dGFjayh2b2lkKQogI2Vsc2UKICNkZWZpbmUgX19jcHVpZAkJCW5hdGl2ZV9jcHVpZAogI2RlZmlu ZSBwYXJhdmlydF9lbmFibGVkKCkJMAotI2RlZmluZSBwYXJhdmlydF9oYXMoeCkgCTAKIAogc3Rh dGljIGlubGluZSB2b2lkIGxvYWRfc3AwKHN0cnVjdCB0c3Nfc3RydWN0ICp0c3MsCiAJCQkgICAg c3RydWN0IHRocmVhZF9zdHJ1Y3QgKnRocmVhZCkKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1 ZGUvYXNtL3g4Nl9pbml0LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS94ODZfaW5pdC5oCmluZGV4 IDFhZTg5YTI3MjFkNi4uOGJiOGMxYTQ2MTVhIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRl L2FzbS94ODZfaW5pdC5oCisrKyBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL3g4Nl9pbml0LmgKQEAg LTE0Miw2ICsxNDIsMTUgQEAgc3RydWN0IHg4Nl9jcHVpbml0X29wcyB7CiBzdHJ1Y3QgdGltZXNw ZWM7CiAKIC8qKgorICogc3RydWN0IHg4Nl9sZWdhY3lfZmVhdHVyZXMgLSBsZWdhY3kgeDg2IGZl YXR1cmVzCisgKgorICogQHJ0YzogdGhpcyBkZXZpY2UgaGFzIGEgQ01PUyByZWFsLXRpbWUgY2xv Y2sgcHJlc2VudAorICovCitzdHJ1Y3QgeDg2X2xlZ2FjeV9mZWF0dXJlcyB7CisJaW50IHJ0YzsK K307CisKKy8qKgogICogc3RydWN0IHg4Nl9wbGF0Zm9ybV9vcHMgLSBwbGF0Zm9ybSBzcGVjaWZp YyBydW50aW1lIGZ1bmN0aW9ucwogICogQGNhbGlicmF0ZV90c2M6CQljYWxpYnJhdGUgVFNDCiAg KiBAZ2V0X3dhbGxjbG9jazoJCWdldCB0aW1lIGZyb20gSFcgY2xvY2sgbGlrZSBSVEMgZXRjLgpA QCAtMTUyLDYgKzE2MSwxNCBAQCBzdHJ1Y3QgdGltZXNwZWM7CiAgKiBAc2F2ZV9zY2hlZF9jbG9j a19zdGF0ZToJc2F2ZSBzdGF0ZSBmb3Igc2NoZWRfY2xvY2soKSBvbiBzdXNwZW5kCiAgKiBAcmVz dG9yZV9zY2hlZF9jbG9ja19zdGF0ZToJcmVzdG9yZSBzdGF0ZSBmb3Igc2NoZWRfY2xvY2soKSBv biByZXN1bWUKICAqIEBhcGljX3Bvc3RfaW5pdDoJCWFkanVzdCBhcGljIGlmIG5lZWVkZWQKKyAq IEBsZWdhY3k6CQkJbGVnYWN5IGZlYXR1cmVzCisgKiBAc2V0X2xlZ2FjeV9mZWF0dXJlczoJb3Zl cnJpZGUgbGVnYWN5IGZlYXR1cmVzLiBVc2Ugb2YgdGhpcyBjYWxsYmFjaworICogCQkJCWlzIGhp Z2hseSBkaXNjb3VyYWdlZC4gWW91IHNob3VsZCBvbmx5IG5lZWQKKyAqIAkJCQl0aGlzIGlmIHlv dXIgaGFyZHdhcmUgcGxhdGZvcm0gcmVxdWlyZXMgZnVydGhlcgorICogCQkJCWN1c3RvbSBmaW5l IHR1bmluZyBmYXIgYmV5b25nIHdoYXQgbWF5IGJlCisgKiAJCQkJcG9zc2libGUgaW4geDg2X2Vh cmx5X2luaXRfcGxhdGZvcm1fcXVpcmtzKCkgYnkKKyAqIAkJCQlvbmx5IHVzaW5nIHRoZSBjdXJy ZW50IHg4Nl9oYXJkd2FyZV9zdWJhcmNoCisgKiAJCQkJc2VtYW50aWNzLgogICovCiBzdHJ1Y3Qg eDg2X3BsYXRmb3JtX29wcyB7CiAJdW5zaWduZWQgbG9uZyAoKmNhbGlicmF0ZV90c2MpKHZvaWQp OwpAQCAtMTY1LDYgKzE4Miw4IEBAIHN0cnVjdCB4ODZfcGxhdGZvcm1fb3BzIHsKIAl2b2lkICgq c2F2ZV9zY2hlZF9jbG9ja19zdGF0ZSkodm9pZCk7CiAJdm9pZCAoKnJlc3RvcmVfc2NoZWRfY2xv Y2tfc3RhdGUpKHZvaWQpOwogCXZvaWQgKCphcGljX3Bvc3RfaW5pdCkodm9pZCk7CisJc3RydWN0 IHg4Nl9sZWdhY3lfZmVhdHVyZXMgbGVnYWN5OworCXZvaWQgKCpzZXRfbGVnYWN5X2ZlYXR1cmVz KSh2b2lkKTsKIH07CiAKIHN0cnVjdCBwY2lfZGV2OwpAQCAtMTg2LDYgKzIwNSw4IEBAIGV4dGVy biBzdHJ1Y3QgeDg2X2NwdWluaXRfb3BzIHg4Nl9jcHVpbml0OwogZXh0ZXJuIHN0cnVjdCB4ODZf cGxhdGZvcm1fb3BzIHg4Nl9wbGF0Zm9ybTsKIGV4dGVybiBzdHJ1Y3QgeDg2X21zaV9vcHMgeDg2 X21zaTsKIGV4dGVybiBzdHJ1Y3QgeDg2X2lvX2FwaWNfb3BzIHg4Nl9pb19hcGljX29wczsKKwor ZXh0ZXJuIHZvaWQgeDg2X2Vhcmx5X2luaXRfcGxhdGZvcm1fcXVpcmtzKHZvaWQpOwogZXh0ZXJu IHZvaWQgeDg2X2luaXRfbm9vcCh2b2lkKTsKIGV4dGVybiB2b2lkIHg4Nl9pbml0X3VpbnRfbm9v cCh1bnNpZ25lZCBpbnQgdW51c2VkKTsKIApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL01h a2VmaWxlIGIvYXJjaC94ODYva2VybmVsL01ha2VmaWxlCmluZGV4IDg5ZjhhZGUwYmM3Yy4uN2E5 ZTQ0ZDkzNWRlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvTWFrZWZpbGUKKysrIGIvYXJj aC94ODYva2VybmVsL01ha2VmaWxlCkBAIC0yLDcgKzIsMTEgQEAKICMgTWFrZWZpbGUgZm9yIHRo ZSBsaW51eCBrZXJuZWwuCiAjCiAKLWV4dHJhLXkgICAgICAgICAgICAgICAgOj0gaGVhZF8kKEJJ VFMpLm8gaGVhZCQoQklUUykubyBoZWFkLm8gdm1saW51eC5sZHMKK2V4dHJhLXkJOj0gaGVhZF8k KEJJVFMpLm8KK2V4dHJhLXkJKz0gaGVhZCQoQklUUykubworZXh0cmEteQkrPSBoZWFkLm8KK2V4 dHJhLXkJKz0gcGxhdGZvcm0tcXVpcmtzLm8KK2V4dHJhLXkJKz0gdm1saW51eC5sZHMKIAogQ1BQ RkxBR1Nfdm1saW51eC5sZHMgKz0gLVUkKFVUU19NQUNISU5FKQogCmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9rZXJuZWwvaGVhZDMyLmMgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKaW5kZXggMjkx MWVmM2E5ZjFjLi5kNzg0YmI1NDdhOWQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFk MzIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvaGVhZDMyLmMKQEAgLTM0LDYgKzM0LDggQEAgYXNt bGlua2FnZSBfX3Zpc2libGUgdm9pZCBfX2luaXQgaTM4Nl9zdGFydF9rZXJuZWwodm9pZCkKIAlj cjRfaW5pdF9zaGFkb3coKTsKIAlzYW5pdGl6ZV9ib290X3BhcmFtcygmYm9vdF9wYXJhbXMpOwog CisJeDg2X2Vhcmx5X2luaXRfcGxhdGZvcm1fcXVpcmtzKCk7CisKIAkvKiBDYWxsIHRoZSBzdWJh cmNoIHNwZWNpZmljIGVhcmx5IHNldHVwIGZ1bmN0aW9uICovCiAJc3dpdGNoIChib290X3BhcmFt cy5oZHIuaGFyZHdhcmVfc3ViYXJjaCkgewogCWNhc2UgWDg2X1NVQkFSQ0hfSU5URUxfTUlEOgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jIGIvYXJjaC94ODYva2VybmVsL2hl YWQ2NC5jCmluZGV4IDFmNDQyMmQ1YzhkMC4uYjcyZmIwYjcxZGQxIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9rZXJuZWwvaGVhZDY0LmMKKysrIGIvYXJjaC94ODYva2VybmVsL2hlYWQ2NC5jCkBAIC0x ODIsNiArMTgyLDcgQEAgdm9pZCBfX2luaXQgeDg2XzY0X3N0YXJ0X3Jlc2VydmF0aW9ucyhjaGFy ICpyZWFsX21vZGVfZGF0YSkKIAlpZiAoIWJvb3RfcGFyYW1zLmhkci52ZXJzaW9uKQogCQljb3B5 X2Jvb3RkYXRhKF9fdmEocmVhbF9tb2RlX2RhdGEpKTsKIAorCXg4Nl9lYXJseV9pbml0X3BsYXRm b3JtX3F1aXJrcygpOwogCXJlc2VydmVfZWJkYV9yZWdpb24oKTsKIAogCXN3aXRjaCAoYm9vdF9w YXJhbXMuaGRyLmhhcmR3YXJlX3N1YmFyY2gpIHsKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5l bC9wbGF0Zm9ybS1xdWlya3MuYyBiL2FyY2gveDg2L2tlcm5lbC9wbGF0Zm9ybS1xdWlya3MuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjAyMWE1Zjk3M2NlMwotLS0g L2Rldi9udWxsCisrKyBiL2FyY2gveDg2L2tlcm5lbC9wbGF0Zm9ybS1xdWlya3MuYwpAQCAtMCww ICsxLDIxIEBACisjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CisjaW5jbHVkZSA8bGludXgvaW5p dC5oPgorCisjaW5jbHVkZSA8YXNtL3NldHVwLmg+CisjaW5jbHVkZSA8YXNtL2Jpb3NfZWJkYS5o PgorCit2b2lkIF9faW5pdCB4ODZfZWFybHlfaW5pdF9wbGF0Zm9ybV9xdWlya3Modm9pZCkKK3sK Kwl4ODZfcGxhdGZvcm0ubGVnYWN5LnJ0YyA9IDE7CisKKwlzd2l0Y2ggKGJvb3RfcGFyYW1zLmhk ci5oYXJkd2FyZV9zdWJhcmNoKSB7CisJY2FzZSBYODZfU1VCQVJDSF9YRU46CisJY2FzZSBYODZf U1VCQVJDSF9MR1VFU1Q6CisJY2FzZSBYODZfU1VCQVJDSF9JTlRFTF9NSUQ6CisJCXg4Nl9wbGF0 Zm9ybS5sZWdhY3kucnRjID0gMDsKKwkJYnJlYWs7CisJfQorCisJaWYgKHg4Nl9wbGF0Zm9ybS5z ZXRfbGVnYWN5X2ZlYXR1cmVzKQorCQl4ODZfcGxhdGZvcm0uc2V0X2xlZ2FjeV9mZWF0dXJlcygp OworfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL3J0Yy5jIGIvYXJjaC94ODYva2VybmVs L3J0Yy5jCmluZGV4IDRhZjhkMDYzZmIzNi4uNjJjNDhkYTM4ODlkIDEwMDY0NAotLS0gYS9hcmNo L3g4Ni9rZXJuZWwvcnRjLmMKKysrIGIvYXJjaC94ODYva2VybmVsL3J0Yy5jCkBAIC0xNCw2ICsx NCw3IEBACiAjaW5jbHVkZSA8YXNtL3RpbWUuaD4KICNpbmNsdWRlIDxhc20vaW50ZWwtbWlkLmg+ CiAjaW5jbHVkZSA8YXNtL3J0Yy5oPgorI2luY2x1ZGUgPGFzbS9zZXR1cC5oPgogCiAjaWZkZWYg Q09ORklHX1g4Nl8zMgogLyoKQEAgLTE4OCwxMCArMTg5LDYgQEAgc3RhdGljIF9faW5pdCBpbnQg YWRkX3J0Y19jbW9zKHZvaWQpCiAJaWYgKG9mX2hhdmVfcG9wdWxhdGVkX2R0KCkpCiAJCXJldHVy biAwOwogCi0JLyogSW50ZWwgTUlEIHBsYXRmb3JtcyBkb24ndCBoYXZlIGlvcG9ydCBydGMgKi8K LQlpZiAoaW50ZWxfbWlkX2lkZW50aWZ5X2NwdSgpKQotCQlyZXR1cm4gLUVOT0RFVjsKLQogI2lm ZGVmIENPTkZJR19BQ1BJCiAJaWYgKGFjcGlfZ2JsX0ZBRFQuYm9vdF9mbGFncyAmIEFDUElfRkFE VF9OT19DTU9TX1JUQykgewogCQkvKiBUaGlzIHdhcm5pbmcgY2FuIGxpa2VseSBnbyBhd2F5IGFn YWluIGluIGEgeWVhciBvciB0d28uICovCkBAIC0yMDAsNyArMTk3LDcgQEAgc3RhdGljIF9faW5p dCBpbnQgYWRkX3J0Y19jbW9zKHZvaWQpCiAJfQogI2VuZGlmCiAKLQlpZiAocGFyYXZpcnRfZW5h YmxlZCgpICYmICFwYXJhdmlydF9oYXMoUlRDKSkKKwlpZiAoIXg4Nl9wbGF0Zm9ybS5sZWdhY3ku cnRjKQogCQlyZXR1cm4gLUVOT0RFVjsKIAogCXBsYXRmb3JtX2RldmljZV9yZWdpc3RlcigmcnRj X2RldmljZSk7CmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jIGIvYXJjaC94ODYv bGd1ZXN0L2Jvb3QuYwppbmRleCBmZDU3ZDNhZTdlMTYuLmY1NDk3ZWU1ZmQyZiAxMDA2NDQKLS0t IGEvYXJjaC94ODYvbGd1ZXN0L2Jvb3QuYworKysgYi9hcmNoL3g4Ni9sZ3Vlc3QvYm9vdC5jCkBA IC0xNDE0LDcgKzE0MTQsNiBAQCBfX2luaXQgdm9pZCBsZ3Vlc3RfaW5pdCh2b2lkKQogCXB2X2lu Zm8ua2VybmVsX3JwbCA9IDE7CiAJLyogRXZlcnlvbmUgZXhjZXB0IFhlbiBydW5zIHdpdGggdGhp cyBzZXQuICovCiAJcHZfaW5mby5zaGFyZWRfa2VybmVsX3BtZCA9IDE7Ci0JcHZfaW5mby5mZWF0 dXJlcyA9IDA7CiAKIAkvKgogCSAqIFdlIHNldCB1cCBhbGwgdGhlIGxndWVzdCBvdmVycmlkZXMg Zm9yIHNlbnNpdGl2ZSBvcGVyYXRpb25zLiAgVGhlc2UKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hl bi9lbmxpZ2h0ZW4uYyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwppbmRleCA0MDQ4N2YxZWNi NGMuLmIwODQ4OWJhNTA1MSAxMDA2NDQKLS0tIGEvYXJjaC94ODYveGVuL2VubGlnaHRlbi5jCisr KyBiL2FyY2gveDg2L3hlbi9lbmxpZ2h0ZW4uYwpAQCAtMTE5Miw3ICsxMTkyLDYgQEAgc3RhdGlj IGNvbnN0IHN0cnVjdCBwdl9pbmZvIHhlbl9pbmZvIF9faW5pdGNvbnN0ID0gewogI2lmZGVmIENP TkZJR19YODZfNjQKIAkuZXh0cmFfdXNlcl82NGJpdF9jcyA9IEZMQVRfVVNFUl9DUzY0LAogI2Vu ZGlmCi0JLmZlYXR1cmVzID0gMCwKIAkubmFtZSA9ICJYZW4iLAogfTsKIApAQCAtMTUwNSw2ICsx NTA0LDExIEBAIHN0YXRpYyB2b2lkIF9faW5pdCB4ZW5fcHZoX2Vhcmx5X2d1ZXN0X2luaXQodm9p ZCkKIH0KICNlbmRpZiAgICAvKiBDT05GSUdfWEVOX1BWSCAqLwogCitzdGF0aWMgdm9pZCBfX2lu aXQgeGVuX2RvbTBfc2V0X2xlZ2FjeV9mZWF0dXJlcyh2b2lkKQoreworCXg4Nl9wbGF0Zm9ybS5s ZWdhY3kucnRjID0gMTsKK30KKwogLyogRmlyc3QgQyBmdW5jdGlvbiB0byBiZSBjYWxsZWQgb24g WGVuIGJvb3QgKi8KIGFzbWxpbmthZ2UgX192aXNpYmxlIHZvaWQgX19pbml0IHhlbl9zdGFydF9r ZXJuZWwodm9pZCkKIHsKQEAgLTE1MjUsOCArMTUyOSw2IEBAIGFzbWxpbmthZ2UgX192aXNpYmxl IHZvaWQgX19pbml0IHhlbl9zdGFydF9rZXJuZWwodm9pZCkKIAogCS8qIEluc3RhbGwgWGVuIHBh cmF2aXJ0IG9wcyAqLwogCXB2X2luZm8gPSB4ZW5faW5mbzsKLQlpZiAoeGVuX2luaXRpYWxfZG9t YWluKCkpCi0JCXB2X2luZm8uZmVhdHVyZXMgfD0gUFZfU1VQUE9SVEVEX1JUQzsKIAlwdl9pbml0 X29wcyA9IHhlbl9pbml0X29wczsKIAlpZiAoIXhlbl9wdmhfZG9tYWluKCkpIHsKIAkJcHZfY3B1 X29wcyA9IHhlbl9jcHVfb3BzOwpAQCAtMTY3OSw2ICsxNjgxLDggQEAgYXNtbGlua2FnZSBfX3Zp c2libGUgdm9pZCBfX2luaXQgeGVuX3N0YXJ0X2tlcm5lbCh2b2lkKQogCQkJLnUuZmlybXdhcmVf aW5mby50eXBlID0gWEVOX0ZXX0tCRF9TSElGVF9GTEFHUywKIAkJfTsKIAorCQl4ODZfcGxhdGZv cm0uc2V0X2xlZ2FjeV9mZWF0dXJlcyA9CisJCQkJeGVuX2RvbTBfc2V0X2xlZ2FjeV9mZWF0dXJl czsKIAkJeGVuX2luaXRfdmdhKGluZm8sIHhlbl9zdGFydF9pbmZvLT5jb25zb2xlLmRvbTAuaW5m b19zaXplKTsKIAkJeGVuX3N0YXJ0X2luZm8tPmNvbnNvbGUuZG9tVS5tZm4gPSAwOwogCQl4ZW5f c3RhcnRfaW5mby0+Y29uc29sZS5kb21VLmV2dGNobiA9IDA7Ci0tIAoyLjcuMgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==