From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4B6B7C54EBC for ; Thu, 12 Jan 2023 09:59:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=D7xfp3v/ocg0Wv9b9sHQLYkb21svtgf9Fqg90NA+62k=; b=glBSTPBVkgx95n +E+M8Ml30cOQtgPChtFixkmfqidpg7q3wjjpfvbmztr9Z2lT1qltyO0OiaCfiXkZSaZISUjcszAwK rXZAfs/wIpC/l2vAYEqB/hBre6jR1CbLPvTvpv788egwx5Ye2oD8wi12FR1RWE6s5lhf1mp0f2HeF xWTcGgQ7eSq/9YcmDvIg3UnuO1lLZo2w3Ql+sf78ZUHJR1/HPujJfL7dg5T57dKO0dR6vJm3ApL0S MMnapb7b0Aau2OZqcTBllWJ589e5Dw5gmziB7q50NiJd4II7N0Jn1d/8FqSii4xiVKg6fXd0JzoQT 9BdRFO3929FKj/+w9xYw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFuN5-00EUIZ-6j; Thu, 12 Jan 2023 09:59:43 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pFuMy-00EUFf-33 for linux-riscv@lists.infradead.org; Thu, 12 Jan 2023 09:59:41 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 94C9A61FC9; Thu, 12 Jan 2023 09:59:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id D8E56C433EF; Thu, 12 Jan 2023 09:59:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1673517575; bh=ov53+ts3ejAwo3cmJB+ajVIeHg/P5atVZoT9XKX/5m0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UBqgsL6nqGuy2k5TLIl+vUC2XafzHa49m1jbvojkxDXH1Pd60By4FjLJz9HKPVBH8 nR0Z0ZUtebQ9R5qq8h916GXvd3bQ0ntR6mmRE0npk2HRgaFiOUcWdrN0NaGi02WsCB Lfy/iJXIRleNAtCcEkdEIj9RxMAW7JEJproHkg8MLO1SLsSSrQmjLLy2VlPHOTgmLq k3sabRCD5P7ljq3OcUcsriInXrwfsudT/c12yHGsvK7DwqYn7rVvED3ghz9gQoYA6w lCNnM9ZhXbQTNBfiCSiei60gC/iZ1mA7Dg/LSW4IhhD/xrV1uw/Oo68ZM5YhCEte07 nuqRqfcQ3gMzA== From: guoren@kernel.org To: arnd@arndb.de, guoren@kernel.org, palmer@rivosinc.com, tglx@linutronix.de, peterz@infradead.org, luto@kernel.org, conor.dooley@microchip.com, heiko@sntech.de, jszhang@kernel.org, lazyparser@gmail.com, falcon@tinylab.org, chenhuacai@kernel.org, apatel@ventanamicro.com, atishp@atishpatra.org, mark.rutland@arm.com, ben@decadent.org.uk, bjorn@kernel.org Cc: linux-arch@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org, Guo Ren , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Yipeng Zou Subject: [PATCH -next V14 4/7] riscv: entry: Convert to generic entry Date: Thu, 12 Jan 2023 04:58:45 -0500 Message-Id: <20230112095848.1464404-5-guoren@kernel.org> X-Mailer: git-send-email 2.36.1 In-Reply-To: <20230112095848.1464404-1-guoren@kernel.org> References: <20230112095848.1464404-1-guoren@kernel.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230112_015938_035112_65C36F38 X-CRM114-Status: GOOD ( 31.76 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org RnJvbTogR3VvIFJlbiA8Z3VvcmVuQGxpbnV4LmFsaWJhYmEuY29tPgoKVGhpcyBwYXRjaCBjb252 ZXJ0cyByaXNjdiB0byB1c2UgdGhlIGdlbmVyaWMgZW50cnkgaW5mcmFzdHJ1Y3R1cmUgZnJvbQpr ZXJuZWwvZW50cnkvKi4gVGhlIGdlbmVyaWMgZW50cnkgbWFrZXMgbWFpbnRhaW5lcnMnIHdvcmsg ZWFzaWVyIGFuZApjb2RlcyBtb3JlIGVsZWdhbnQuIEhlcmUgYXJlIHRoZSBjaGFuZ2VzOgoKIC0g TW9yZSBjbGVhciBlbnRyeS5TIHdpdGggaGFuZGxlX2V4Y2VwdGlvbiBhbmQgcmV0X2Zyb21fZXhj ZXB0aW9uCiAtIEdldCByaWQgb2YgY29tcGxleCBjdXN0b20gc2lnbmFsIGltcGxlbWVudGF0aW9u CiAtIE1vdmUgc3lzY2FsbCBwcm9jZWR1cmUgZnJvbSBhc3NlbWJseSB0byBDLCB3aGljaCBpcyBt dWNoIG1vcmUKICAgcmVhZGFibGUuCiAtIENvbm5lY3QgcmV0X2Zyb21fZm9yayAmIHJldF9mcm9t X2tlcm5lbF90aHJlYWQgdG8gZ2VuZXJpYyBlbnRyeS4KIC0gV3JhcCB3aXRoIGlycWVudHJ5X2Vu dGVyL2V4aXQgYW5kIHN5c2NhbGxfZW50ZXIvZXhpdF9mcm9tX3VzZXJfbW9kZQogLSBVc2UgdGhl IHN0YW5kYXJkIHByZWVtcHRpb24gY29kZSBpbnN0ZWFkIG9mIGN1c3RvbQoKU3VnZ2VzdGVkLWJ5 OiBIdWFjYWkgQ2hlbiA8Y2hlbmh1YWNhaUBrZXJuZWwub3JnPgpSZXZpZXdlZC1ieTogQmrDtnJu IFTDtnBlbCA8Ympvcm5Acml2b3NpbmMuY29tPgpUZXN0ZWQtYnk6IFlpcGVuZyBab3UgPHpvdXlp cGVuZ0BodWF3ZWkuY29tPgpUZXN0ZWQtYnk6IEppc2hlbmcgWmhhbmcgPGpzemhhbmdAa2VybmVs Lm9yZz4KU2lnbmVkLW9mZi1ieTogR3VvIFJlbiA8Z3VvcmVuQGxpbnV4LmFsaWJhYmEuY29tPgpT aWduZWQtb2ZmLWJ5OiBHdW8gUmVuIDxndW9yZW5Aa2VybmVsLm9yZz4KQ2M6IEJlbiBIdXRjaGlu Z3MgPGJlbkBkZWNhZGVudC5vcmcudWs+Ci0tLQogYXJjaC9yaXNjdi9LY29uZmlnICAgICAgICAg ICAgICAgICAgICAgIHwgICAxICsKIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXNtLXByb3RvdHlw ZXMuaCB8ICAgMiArCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oICAgICAgICAgICAgfCAg IDEgLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9lbnRyeS1jb21tb24uaCAgIHwgIDExICsrCiBh cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3B0cmFjZS5oICAgICAgICAgfCAgMTAgKy0KIGFyY2gvcmlz Y3YvaW5jbHVkZS9hc20vc3RhY2t0cmFjZS5oICAgICB8ICAgNSArCiBhcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL3N5c2NhbGwuaCAgICAgICAgfCAgMjEgKysKIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20v dGhyZWFkX2luZm8uaCAgICB8ICAxMyArLQogYXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUyAgICAg ICAgICAgICAgIHwgMjQyICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogYXJjaC9yaXNjdi9rZXJu ZWwvaGVhZC5oICAgICAgICAgICAgICAgIHwgICAxIC0KIGFyY2gvcmlzY3Yva2VybmVsL3B0cmFj ZS5jICAgICAgICAgICAgICB8ICA0MyAtLS0tLQogYXJjaC9yaXNjdi9rZXJuZWwvc2lnbmFsLmMg ICAgICAgICAgICAgIHwgIDI5ICstLQogYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYyAgICAgICAg ICAgICAgIHwgMTM4ICsrKysrKysrKysrKy0tCiBhcmNoL3Jpc2N2L21tL2ZhdWx0LmMgICAgICAg ICAgICAgICAgICAgfCAgIDYgKy0KIDE0IGZpbGVzIGNoYW5nZWQsIDIwOCBpbnNlcnRpb25zKCsp LCAzMTUgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9yaXNjdi9pbmNsdWRl L2FzbS9lbnRyeS1jb21tb24uaAoKZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvS2NvbmZpZyBiL2Fy Y2gvcmlzY3YvS2NvbmZpZwppbmRleCBlMmI2NTYwNDNhYmYuLjU1MmQ3ZmQ2OGFlYiAxMDA2NDQK LS0tIGEvYXJjaC9yaXNjdi9LY29uZmlnCisrKyBiL2FyY2gvcmlzY3YvS2NvbmZpZwpAQCAtNTgs NiArNTgsNyBAQCBjb25maWcgUklTQ1YKIAlzZWxlY3QgR0VORVJJQ19BVE9NSUM2NCBpZiAhNjRC SVQKIAlzZWxlY3QgR0VORVJJQ19DTE9DS0VWRU5UU19CUk9BRENBU1QgaWYgU01QCiAJc2VsZWN0 IEdFTkVSSUNfRUFSTFlfSU9SRU1BUAorCXNlbGVjdCBHRU5FUklDX0VOVFJZCiAJc2VsZWN0IEdF TkVSSUNfR0VUVElNRU9GREFZIGlmIEhBVkVfR0VORVJJQ19WRFNPCiAJc2VsZWN0IEdFTkVSSUNf SURMRV9QT0xMX1NFVFVQCiAJc2VsZWN0IEdFTkVSSUNfSU9SRU1BUCBpZiBNTVUKZGlmZiAtLWdp dCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXNtLXByb3RvdHlwZXMuaCBiL2FyY2gvcmlzY3Yv aW5jbHVkZS9hc20vYXNtLXByb3RvdHlwZXMuaAppbmRleCBlZjM4NmZjZjM5MzkuLjYxYmE4ZWQ0 M2Q4ZiAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9hc20tcHJvdG90eXBlcy5o CisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vYXNtLXByb3RvdHlwZXMuaApAQCAtMjcsNSAr MjcsNyBAQCBERUNMQVJFX0RPX0VSUk9SX0lORk8oZG9fdHJhcF9icmVhayk7CiAKIGFzbWxpbmth Z2UgdW5zaWduZWQgbG9uZyBnZXRfb3ZlcmZsb3dfc3RhY2sodm9pZCk7CiBhc21saW5rYWdlIHZv aWQgaGFuZGxlX2JhZF9zdGFjayhzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Cithc21saW5rYWdlIHZv aWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Cithc21saW5rYWdlIHZvaWQg ZG9faXJxKHN0cnVjdCBwdF9yZWdzICpyZWdzKTsKIAogI2VuZGlmIC8qIF9BU01fUklTQ1ZfUFJP VE9UWVBFU19IICovCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oIGIv YXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9jc3IuaAppbmRleCAwZTU3MWY2NDgzZDkuLjdjMmI4Y2Ri N2I3NyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9jc3IuaAorKysgYi9hcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oCkBAIC00MCw3ICs0MCw2IEBACiAjZGVmaW5lIFNSX1VY TAkJX0FDKDB4MzAwMDAwMDAwLCBVTCkgLyogWExFTiBtYXNrIGZvciBVLW1vZGUgKi8KICNkZWZp bmUgU1JfVVhMXzMyCV9BQygweDEwMDAwMDAwMCwgVUwpIC8qIFhMRU4gPSAzMiBmb3IgVS1tb2Rl ICovCiAjZGVmaW5lIFNSX1VYTF82NAlfQUMoMHgyMDAwMDAwMDAsIFVMKSAvKiBYTEVOID0gNjQg Zm9yIFUtbW9kZSAqLwotI2RlZmluZSBTUl9VWExfU0hJRlQJMzIKICNlbmRpZgogCiAvKiBTQVRQ IGZsYWdzICovCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2VudHJ5LWNvbW1v bi5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9lbnRyeS1jb21tb24uaApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjZlNGRlZTQ5ZDg0YgotLS0gL2Rldi9udWxsCisr KyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vZW50cnktY29tbW9uLmgKQEAgLTAsMCArMSwxMSBA QAorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAgKi8KKworI2lmbmRlZiBfQVNN X1JJU0NWX0VOVFJZX0NPTU1PTl9ICisjZGVmaW5lIF9BU01fUklTQ1ZfRU5UUllfQ09NTU9OX0gK KworI2luY2x1ZGUgPGFzbS9zdGFja3RyYWNlLmg+CisKK3ZvaWQgaGFuZGxlX3BhZ2VfZmF1bHQo c3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwordm9pZCBoYW5kbGVfYnJlYWsoc3RydWN0IHB0X3JlZ3Mg KnJlZ3MpOworCisjZW5kaWYgLyogX0FTTV9SSVNDVl9FTlRSWV9DT01NT05fSCAqLwpkaWZmIC0t Z2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wdHJhY2UuaCBiL2FyY2gvcmlzY3YvaW5jbHVk ZS9hc20vcHRyYWNlLmgKaW5kZXggNmVjZDQ2MTEyOWQyLi5iNWIwYWRjYzg1YzEgMTAwNjQ0Ci0t LSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vcHRyYWNlLmgKKysrIGIvYXJjaC9yaXNjdi9pbmNs dWRlL2FzbS9wdHJhY2UuaApAQCAtNTMsNiArNTMsOSBAQCBzdHJ1Y3QgcHRfcmVncyB7CiAJdW5z aWduZWQgbG9uZyBvcmlnX2EwOwogfTsKIAorI2RlZmluZSBQVFJBQ0VfU1lTRU1VCQkJMHgxZgor I2RlZmluZSBQVFJBQ0VfU1lTRU1VX1NJTkdMRVNURVAJMHgyMAorCiAjaWZkZWYgQ09ORklHXzY0 QklUCiAjZGVmaW5lIFJFR19GTVQgIiUwMTZseCIKICNlbHNlCkBAIC0xMjEsOCArMTI0LDYgQEAg ZXh0ZXJuIHVuc2lnbmVkIGxvbmcgcmVnc19nZXRfa2VybmVsX3N0YWNrX250aChzdHJ1Y3QgcHRf cmVncyAqcmVncywKIAogdm9pZCBwcmVwYXJlX2Z0cmFjZV9yZXR1cm4odW5zaWduZWQgbG9uZyAq cGFyZW50LCB1bnNpZ25lZCBsb25nIHNlbGZfYWRkciwKIAkJCSAgIHVuc2lnbmVkIGxvbmcgZnJh bWVfcG9pbnRlcik7Ci1pbnQgZG9fc3lzY2FsbF90cmFjZV9lbnRlcihzdHJ1Y3QgcHRfcmVncyAq cmVncyk7Ci12b2lkIGRvX3N5c2NhbGxfdHJhY2VfZXhpdChzdHJ1Y3QgcHRfcmVncyAqcmVncyk7 CiAKIC8qKgogICogcmVnc19nZXRfcmVnaXN0ZXIoKSAtIGdldCByZWdpc3RlciB2YWx1ZSBmcm9t IGl0cyBvZmZzZXQKQEAgLTE3Miw2ICsxNzMsMTEgQEAgc3RhdGljIGlubGluZSB1bnNpZ25lZCBs b25nIHJlZ3NfZ2V0X2tlcm5lbF9hcmd1bWVudChzdHJ1Y3QgcHRfcmVncyAqcmVncywKIAlyZXR1 cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQgcmVnc19pcnFzX2Rpc2FibGVkKHN0cnVjdCBw dF9yZWdzICpyZWdzKQoreworCXJldHVybiAhKHJlZ3MtPnN0YXR1cyAmIFNSX1BJRSk7Cit9CisK ICNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KIAogI2VuZGlmIC8qIF9BU01fUklTQ1ZfUFRSQUNF X0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc3RhY2t0cmFjZS5oIGIv YXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zdGFja3RyYWNlLmgKaW5kZXggMzQ1MGMxOTEyYWZkLi5m N2U4ZWYyNDE4YjkgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc3RhY2t0cmFj ZS5oCisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc3RhY2t0cmFjZS5oCkBAIC0xNiw0ICsx Niw5IEBAIGV4dGVybiB2b2lkIG5vdHJhY2Ugd2Fsa19zdGFja2ZyYW1lKHN0cnVjdCB0YXNrX3N0 cnVjdCAqdGFzaywgc3RydWN0IHB0X3JlZ3MgKnJlCiBleHRlcm4gdm9pZCBkdW1wX2JhY2t0cmFj ZShzdHJ1Y3QgcHRfcmVncyAqcmVncywgc3RydWN0IHRhc2tfc3RydWN0ICp0YXNrLAogCQkJICAg Y29uc3QgY2hhciAqbG9nbHZsKTsKIAorc3RhdGljIGlubGluZSBib29sIG9uX3RocmVhZF9zdGFj ayh2b2lkKQoreworCXJldHVybiAhKCgodW5zaWduZWQgbG9uZykoY3VycmVudC0+c3RhY2spIF4g Y3VycmVudF9zdGFja19wb2ludGVyKSAmIH4oVEhSRUFEX1NJWkUgLSAxKSk7Cit9CisKICNlbmRp ZiAvKiBfQVNNX1JJU0NWX1NUQUNLVFJBQ0VfSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS9zeXNjYWxsLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3N5c2NhbGwuaApp bmRleCAzODRhNjNiODY0MjAuLjczNjExMGUxZmQ3OCAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS9zeXNjYWxsLmgKKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zeXNjYWxs LmgKQEAgLTc0LDUgKzc0LDI2IEBAIHN0YXRpYyBpbmxpbmUgaW50IHN5c2NhbGxfZ2V0X2FyY2go c3RydWN0IHRhc2tfc3RydWN0ICp0YXNrKQogI2VuZGlmCiB9CiAKK3R5cGVkZWYgbG9uZyAoKnN5 c2NhbGxfdCkodWxvbmcsIHVsb25nLCB1bG9uZywgdWxvbmcsIHVsb25nLCB1bG9uZywgdWxvbmcp Oworc3RhdGljIGlubGluZSB2b2lkIHN5c2NhbGxfaGFuZGxlcihzdHJ1Y3QgcHRfcmVncyAqcmVn cywgdWxvbmcgc3lzY2FsbCkKK3sKKwlzeXNjYWxsX3QgZm47CisKKyNpZmRlZiBDT05GSUdfQ09N UEFUCisJaWYgKChyZWdzLT5zdGF0dXMgJiBTUl9VWEwpID09IFNSX1VYTF8zMikKKwkJZm4gPSBj b21wYXRfc3lzX2NhbGxfdGFibGVbc3lzY2FsbF07CisJZWxzZQorI2VuZGlmCisJCWZuID0gc3lz X2NhbGxfdGFibGVbc3lzY2FsbF07CisKKwlyZWdzLT5hMCA9IGZuKHJlZ3MtPm9yaWdfYTAsIHJl Z3MtPmExLCByZWdzLT5hMiwKKwkJICAgICAgcmVncy0+YTMsIHJlZ3MtPmE0LCByZWdzLT5hNSwg cmVncy0+YTYpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgYXJjaF9zeXNjYWxsX2lzX3Zkc29f c2lncmV0dXJuKHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCXJldHVybiBmYWxzZTsKK30KKwog YXNtbGlua2FnZSBsb25nIHN5c19yaXNjdl9mbHVzaF9pY2FjaGUodWludHB0cl90LCB1aW50cHRy X3QsIHVpbnRwdHJfdCk7CiAjZW5kaWYJLyogX0FTTV9SSVNDVl9TWVNDQUxMX0ggKi8KZGlmZiAt LWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaCBiL2FyY2gvcmlzY3Yv aW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAppbmRleCA2NzMyMmY4NzhlMGQuLjdkZTRmYjk2ZjBi NSAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS90aHJlYWRfaW5mby5oCisrKyBi L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaApAQCAtNjYsNiArNjYsNyBAQCBz dHJ1Y3QgdGhyZWFkX2luZm8gewogCWxvbmcJCQlrZXJuZWxfc3A7CS8qIEtlcm5lbCBzdGFjayBw b2ludGVyICovCiAJbG9uZwkJCXVzZXJfc3A7CS8qIFVzZXIgc3RhY2sgcG9pbnRlciAqLwogCWlu dAkJCWNwdTsKKwl1bnNpZ25lZCBsb25nCQlzeXNjYWxsX3dvcms7CS8qIFNZU0NBTExfV09SS18g ZmxhZ3MgKi8KIH07CiAKIC8qCkBAIC04OCwyNiArODksMTggQEAgc3RydWN0IHRocmVhZF9pbmZv IHsKICAqIC0gcGVuZGluZyB3b3JrLXRvLWJlLWRvbmUgZmxhZ3MgYXJlIGluIGxvd2VzdCBoYWxm LXdvcmQKICAqIC0gb3RoZXIgZmxhZ3MgaW4gdXBwZXIgaGFsZi13b3JkKHMpCiAgKi8KLSNkZWZp bmUgVElGX1NZU0NBTExfVFJBQ0UJMAkvKiBzeXNjYWxsIHRyYWNlIGFjdGl2ZSAqLwogI2RlZmlu ZSBUSUZfTk9USUZZX1JFU1VNRQkxCS8qIGNhbGxiYWNrIGJlZm9yZSByZXR1cm5pbmcgdG8gdXNl ciAqLwogI2RlZmluZSBUSUZfU0lHUEVORElORwkJMgkvKiBzaWduYWwgcGVuZGluZyAqLwogI2Rl ZmluZSBUSUZfTkVFRF9SRVNDSEVECTMJLyogcmVzY2hlZHVsaW5nIG5lY2Vzc2FyeSAqLwogI2Rl ZmluZSBUSUZfUkVTVE9SRV9TSUdNQVNLCTQJLyogcmVzdG9yZSBzaWduYWwgbWFzayBpbiBkb19z aWduYWwoKSAqLwogI2RlZmluZSBUSUZfTUVNRElFCQk1CS8qIGlzIHRlcm1pbmF0aW5nIGR1ZSB0 byBPT00ga2lsbGVyICovCi0jZGVmaW5lIFRJRl9TWVNDQUxMX1RSQUNFUE9JTlQgIDYgICAgICAg Lyogc3lzY2FsbCB0cmFjZXBvaW50IGluc3RydW1lbnRhdGlvbiAqLwotI2RlZmluZSBUSUZfU1lT Q0FMTF9BVURJVAk3CS8qIHN5c2NhbGwgYXVkaXRpbmcgKi8KLSNkZWZpbmUgVElGX1NFQ0NPTVAJ CTgJLyogc3lzY2FsbCBzZWN1cmUgY29tcHV0aW5nICovCiAjZGVmaW5lIFRJRl9OT1RJRllfU0lH TkFMCTkJLyogc2lnbmFsIG5vdGlmaWNhdGlvbnMgZXhpc3QgKi8KICNkZWZpbmUgVElGX1VQUk9C RQkJMTAJLyogdXByb2JlIGJyZWFrcG9pbnQgb3Igc2luZ2xlc3RlcCAqLwogI2RlZmluZSBUSUZf MzJCSVQJCTExCS8qIGNvbXBhdC1tb2RlIDMyYml0IHByb2Nlc3MgKi8KIAotI2RlZmluZSBfVElG X1NZU0NBTExfVFJBQ0UJKDEgPDwgVElGX1NZU0NBTExfVFJBQ0UpCiAjZGVmaW5lIF9USUZfTk9U SUZZX1JFU1VNRQkoMSA8PCBUSUZfTk9USUZZX1JFU1VNRSkKICNkZWZpbmUgX1RJRl9TSUdQRU5E SU5HCQkoMSA8PCBUSUZfU0lHUEVORElORykKICNkZWZpbmUgX1RJRl9ORUVEX1JFU0NIRUQJKDEg PDwgVElGX05FRURfUkVTQ0hFRCkKLSNkZWZpbmUgX1RJRl9TWVNDQUxMX1RSQUNFUE9JTlQJKDEg PDwgVElGX1NZU0NBTExfVFJBQ0VQT0lOVCkKLSNkZWZpbmUgX1RJRl9TWVNDQUxMX0FVRElUCSgx IDw8IFRJRl9TWVNDQUxMX0FVRElUKQotI2RlZmluZSBfVElGX1NFQ0NPTVAJCSgxIDw8IFRJRl9T RUNDT01QKQogI2RlZmluZSBfVElGX05PVElGWV9TSUdOQUwJKDEgPDwgVElGX05PVElGWV9TSUdO QUwpCiAjZGVmaW5lIF9USUZfVVBST0JFCQkoMSA8PCBUSUZfVVBST0JFKQogCkBAIC0xMTUsOCAr MTA4LDQgQEAgc3RydWN0IHRocmVhZF9pbmZvIHsKIAkoX1RJRl9OT1RJRllfUkVTVU1FIHwgX1RJ Rl9TSUdQRU5ESU5HIHwgX1RJRl9ORUVEX1JFU0NIRUQgfCBcCiAJIF9USUZfTk9USUZZX1NJR05B TCB8IF9USUZfVVBST0JFKQogCi0jZGVmaW5lIF9USUZfU1lTQ0FMTF9XT1JLIFwKLQkoX1RJRl9T WVNDQUxMX1RSQUNFIHwgX1RJRl9TWVNDQUxMX1RSQUNFUE9JTlQgfCBfVElGX1NZU0NBTExfQVVE SVQgfCBcCi0JIF9USUZfU0VDQ09NUCkKLQogI2VuZGlmIC8qIF9BU01fUklTQ1ZfVEhSRUFEX0lO Rk9fSCAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUyBiL2FyY2gvcmlz Y3Yva2VybmVsL2VudHJ5LlMKaW5kZXggOTlkMzhmZGY4YjE4Li5iYzMyMmY5MmJhMzQgMTAwNjQ0 Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL2VudHJ5LlMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwv ZW50cnkuUwpAQCAtMTQsMTEgKzE0LDcgQEAKICNpbmNsdWRlIDxhc20vYXNtLW9mZnNldHMuaD4K ICNpbmNsdWRlIDxhc20vZXJyYXRhX2xpc3QuaD4KIAotI2lmICFJU19FTkFCTEVEKENPTkZJR19Q UkVFTVBUSU9OKQotLnNldCByZXN1bWVfa2VybmVsLCByZXN0b3JlX2FsbAotI2VuZGlmCi0KLUVO VFJZKGhhbmRsZV9leGNlcHRpb24pCitTWU1fQ09ERV9TVEFSVChoYW5kbGVfZXhjZXB0aW9uKQog CS8qCiAJICogSWYgY29taW5nIGZyb20gdXNlcnNwYWNlLCBwcmVzZXJ2ZSB0aGUgdXNlciB0aHJl YWQgcG9pbnRlciBhbmQgbG9hZAogCSAqIHRoZSBrZXJuZWwgdGhyZWFkIHBvaW50ZXIuICBJZiB3 ZSBjYW1lIGZyb20gdGhlIGtlcm5lbCwgdGhlIHNjcmF0Y2gKQEAgLTEwNiwxOSArMTAyLDggQEAg X3NhdmVfY29udGV4dDoKIC5vcHRpb24gbm9yZWxheAogCWxhIGdwLCBfX2dsb2JhbF9wb2ludGVy JAogLm9wdGlvbiBwb3AKLQotI2lmZGVmIENPTkZJR19UUkFDRV9JUlFGTEFHUwotCWNhbGwgX190 cmFjZV9oYXJkaXJxc19vZmYKLSNlbmRpZgotCi0jaWZkZWYgQ09ORklHX0NPTlRFWFRfVFJBQ0tJ TkdfVVNFUgotCS8qIElmIHByZXZpb3VzIHN0YXRlIGlzIGluIHVzZXIgbW9kZSwgY2FsbCB1c2Vy X2V4aXRfY2FsbGFibGUoKS4gKi8KLQlsaSAgIGEwLCBTUl9QUAotCWFuZCBhMCwgczEsIGEwCi0J Ym5leiBhMCwgc2tpcF9jb250ZXh0X3RyYWNraW5nCi0JY2FsbCB1c2VyX2V4aXRfY2FsbGFibGUK LXNraXBfY29udGV4dF90cmFja2luZzoKLSNlbmRpZgorCW1vdmUgYTAsIHNwIC8qIHB0X3JlZ3Mg Ki8KKwlsYSByYSwgcmV0X2Zyb21fZXhjZXB0aW9uCiAKIAkvKgogCSAqIE1TQiBvZiBjYXVzZSBk aWZmZXJlbnRpYXRlcyBiZXR3ZWVuCkBAIC0xMjYsMzggKzExMSwxMyBAQCBza2lwX2NvbnRleHRf dHJhY2tpbmc6CiAJICovCiAJYmdlIHM0LCB6ZXJvLCAxZgogCi0JbGEgcmEsIHJldF9mcm9tX2V4 Y2VwdGlvbgotCiAJLyogSGFuZGxlIGludGVycnVwdHMgKi8KLQltb3ZlIGEwLCBzcCAvKiBwdF9y ZWdzICovCi0JbGEgYTEsIGdlbmVyaWNfaGFuZGxlX2FyY2hfaXJxCi0JanIgYTEKLTE6Ci0JLyoK LQkgKiBFeGNlcHRpb25zIHJ1biB3aXRoIGludGVycnVwdHMgZW5hYmxlZCBvciBkaXNhYmxlZCBk ZXBlbmRpbmcgb24gdGhlCi0JICogc3RhdGUgb2YgU1JfUElFIGluIG0vc3N0YXR1cy4KLQkgKi8K LQlhbmRpIHQwLCBzMSwgU1JfUElFCi0JYmVxeiB0MCwgMWYKLQkvKiBrcHJvYmVzLCBlbnRlcmVk IHZpYSBlYnJlYWssIG11c3QgaGF2ZSBpbnRlcnJ1cHRzIGRpc2FibGVkLiAqLwotCWxpIHQwLCBF WENfQlJFQUtQT0lOVAotCWJlcSBzNCwgdDAsIDFmCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZM QUdTCi0JY2FsbCBfX3RyYWNlX2hhcmRpcnFzX29uCi0jZW5kaWYKLQljc3JzIENTUl9TVEFUVVMs IFNSX0lFCi0KKwl0YWlsIGRvX2lycQogMToKLQlsYSByYSwgcmV0X2Zyb21fZXhjZXB0aW9uCi0J LyogSGFuZGxlIHN5c2NhbGxzICovCi0JbGkgdDAsIEVYQ19TWVNDQUxMCi0JYmVxIHM0LCB0MCwg aGFuZGxlX3N5c2NhbGwKLQogCS8qIEhhbmRsZSBvdGhlciBleGNlcHRpb25zICovCiAJc2xsaSB0 MCwgczQsIFJJU0NWX0xHUFRSCiAJbGEgdDEsIGV4Y3BfdmVjdF90YWJsZQogCWxhIHQyLCBleGNw X3ZlY3RfdGFibGVfZW5kCi0JbW92ZSBhMCwgc3AgLyogcHRfcmVncyAqLwogCWFkZCB0MCwgdDEs IHQwCiAJLyogQ2hlY2sgaWYgZXhjZXB0aW9uIGNvZGUgbGllcyB3aXRoaW4gYm91bmRzICovCiAJ YmdldSB0MCwgdDIsIDFmCkBAIC0xNjUsOTUgKzEyNSwxNyBAQCBza2lwX2NvbnRleHRfdHJhY2tp bmc6CiAJanIgdDAKIDE6CiAJdGFpbCBkb190cmFwX3Vua25vd24KK1NZTV9DT0RFX0VORChoYW5k bGVfZXhjZXB0aW9uKQogCi1oYW5kbGVfc3lzY2FsbDoKLSNpZmRlZiBDT05GSUdfUklTQ1ZfTV9N T0RFCi0JLyoKLQkgKiBXaGVuIHJ1bm5pbmcgaXMgTS1Nb2RlIChubyBNTVUgY29uZmlnKSwgTVBJ RSBkb2VzIG5vdCBnZXQgc2V0LgotCSAqIEFzIGEgcmVzdWx0LCB3ZSBuZWVkIHRvIGZvcmNlIGVu YWJsZSBpbnRlcnJ1cHRzIGhlcmUgYmVjYXVzZQotCSAqIGhhbmRsZV9leGNlcHRpb24gZGlkIG5v dCBkbyBzZXQgU1JfSUUgYXMgaXQgYWx3YXlzIHNlZXMgU1JfUElFCi0JICogYmVpbmcgY2xlYXJl ZC4KLQkgKi8KLQljc3JzIENTUl9TVEFUVVMsIFNSX0lFCi0jZW5kaWYKLSNpZiBkZWZpbmVkKENP TkZJR19UUkFDRV9JUlFGTEFHUykgfHwgZGVmaW5lZChDT05GSUdfQ09OVEVYVF9UUkFDS0lOR19V U0VSKQotCS8qIFJlY292ZXIgYTAgLSBhNyBmb3Igc3lzdGVtIGNhbGxzICovCi0JUkVHX0wgYTAs IFBUX0EwKHNwKQotCVJFR19MIGExLCBQVF9BMShzcCkKLQlSRUdfTCBhMiwgUFRfQTIoc3ApCi0J UkVHX0wgYTMsIFBUX0EzKHNwKQotCVJFR19MIGE0LCBQVF9BNChzcCkKLQlSRUdfTCBhNSwgUFRf QTUoc3ApCi0JUkVHX0wgYTYsIFBUX0E2KHNwKQotCVJFR19MIGE3LCBQVF9BNyhzcCkKLSNlbmRp ZgotCSAvKiBzYXZlIHRoZSBpbml0aWFsIEEwIHZhbHVlIChuZWVkZWQgaW4gc2lnbmFsIGhhbmRs ZXJzKSAqLwotCVJFR19TIGEwLCBQVF9PUklHX0EwKHNwKQotCS8qCi0JICogQWR2YW5jZSBTRVBD IHRvIGF2b2lkIGV4ZWN1dGluZyB0aGUgb3JpZ2luYWwKLQkgKiBzY2FsbCBpbnN0cnVjdGlvbiBv biBzcmV0Ci0JICovCi0JYWRkaSBzMiwgczIsIDB4NAotCVJFR19TIHMyLCBQVF9FUEMoc3ApCi0J LyogVHJhY2Ugc3lzY2FsbHMsIGJ1dCBvbmx5IGlmIHJlcXVlc3RlZCBieSB0aGUgdXNlci4gKi8K LQlSRUdfTCB0MCwgVEFTS19USV9GTEFHUyh0cCkKLQlhbmRpIHQwLCB0MCwgX1RJRl9TWVNDQUxM X1dPUksKLQlibmV6IHQwLCBoYW5kbGVfc3lzY2FsbF90cmFjZV9lbnRlcgotY2hlY2tfc3lzY2Fs bF9ucjoKLQkvKiBDaGVjayB0byBtYWtlIHN1cmUgd2UgZG9uJ3QganVtcCB0byBhIGJvZ3VzIHN5 c2NhbGwgbnVtYmVyLiAqLwotCWxpIHQwLCBfX05SX3N5c2NhbGxzCi0JbGEgczAsIHN5c19uaV9z eXNjYWxsCi0JLyoKLQkgKiBTeXNjYWxsIG51bWJlciBoZWxkIGluIGE3LgotCSAqIElmIHN5c2Nh bGwgbnVtYmVyIGlzIGFib3ZlIGFsbG93ZWQgdmFsdWUsIHJlZGlyZWN0IHRvIG5pX3N5c2NhbGwu Ci0JICovCi0JYmdldSBhNywgdDAsIDNmCi0jaWZkZWYgQ09ORklHX0NPTVBBVAotCVJFR19MIHMw LCBQVF9TVEFUVVMoc3ApCi0Jc3JsaSBzMCwgczAsIFNSX1VYTF9TSElGVAotCWFuZGkgczAsIHMw LCAoU1JfVVhMID4+IFNSX1VYTF9TSElGVCkKLQlsaSB0MCwgKFNSX1VYTF8zMiA+PiBTUl9VWExf U0hJRlQpCi0Jc3ViIHQwLCBzMCwgdDAKLQlibmV6IHQwLCAxZgotCi0JLyogQ2FsbCBjb21wYXRf c3lzY2FsbCAqLwotCWxhIHMwLCBjb21wYXRfc3lzX2NhbGxfdGFibGUKLQlqIDJmCi0xOgotI2Vu ZGlmCi0JLyogQ2FsbCBzeXNjYWxsICovCi0JbGEgczAsIHN5c19jYWxsX3RhYmxlCi0yOgotCXNs bGkgdDAsIGE3LCBSSVNDVl9MR1BUUgotCWFkZCBzMCwgczAsIHQwCi0JUkVHX0wgczAsIDAoczAp Ci0zOgotCWphbHIgczAKLQotcmV0X2Zyb21fc3lzY2FsbDoKLQkvKiBTZXQgdXNlciBhMCB0byBr ZXJuZWwgYTAgKi8KLQlSRUdfUyBhMCwgUFRfQTAoc3ApCi0JLyoKLQkgKiBXZSBkaWRuJ3QgZXhl Y3V0ZSB0aGUgYWN0dWFsIHN5c2NhbGwuCi0JICogU2VjY29tcCBhbHJlYWR5IHNldCByZXR1cm4g dmFsdWUgZm9yIHRoZSBjdXJyZW50IHRhc2sgcHRfcmVncy4KLQkgKiAoSWYgaXQgd2FzIGNvbmZp Z3VyZWQgd2l0aCBTRUNDT01QX1JFVF9FUlJOTy9UUkFDRSkKLQkgKi8KLXJldF9mcm9tX3N5c2Nh bGxfcmVqZWN0ZWQ6Ci0jaWZkZWYgQ09ORklHX0RFQlVHX1JTRVEKLQltb3ZlIGEwLCBzcAotCWNh bGwgcnNlcV9zeXNjYWxsCi0jZW5kaWYKLQkvKiBUcmFjZSBzeXNjYWxscywgYnV0IG9ubHkgaWYg cmVxdWVzdGVkIGJ5IHRoZSB1c2VyLiAqLwotCVJFR19MIHQwLCBUQVNLX1RJX0ZMQUdTKHRwKQot CWFuZGkgdDAsIHQwLCBfVElGX1NZU0NBTExfV09SSwotCWJuZXogdDAsIGhhbmRsZV9zeXNjYWxs X3RyYWNlX2V4aXQKLQorLyoKKyAqIFRoZSByZXRfZnJvbV9leGNlcHRpb24gbXVzdCBiZSBjYWxs ZWQgd2l0aCBpbnRlcnJ1cHQgZGlzYWJsZWQuIEhlcmUgaXMgdGhlCisgKiBjYWxsZXIgbGlzdDoK KyAqICAtIGhhbmRsZV9leGNlcHRpb24KKyAqICAtIHJldF9mcm9tX2ZvcmsKKyAqICAtIHJldF9m cm9tX2tlcm5lbF90aHJlYWQKKyAqLwogU1lNX0NPREVfU1RBUlRfTk9BTElHTihyZXRfZnJvbV9l eGNlcHRpb24pCiAJUkVHX0wgczAsIFBUX1NUQVRVUyhzcCkKLQljc3JjIENTUl9TVEFUVVMsIFNS X0lFCi0jaWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JY2FsbCBfX3RyYWNlX2hhcmRpcnFz X29mZgotI2VuZGlmCiAjaWZkZWYgQ09ORklHX1JJU0NWX01fTU9ERQogCS8qIHRoZSBNUFAgdmFs dWUgaXMgdG9vIGxhcmdlIHRvIGJlIHVzZWQgYXMgYW4gaW1tZWRpYXRlIGFyZyBmb3IgYWRkaSAq LwogCWxpIHQwLCBTUl9NUFAKQEAgLTI2MSwxNyArMTQzLDcgQEAgU1lNX0NPREVfU1RBUlRfTk9B TElHTihyZXRfZnJvbV9leGNlcHRpb24pCiAjZWxzZQogCWFuZGkgczAsIHMwLCBTUl9TUFAKICNl bmRpZgotCWJuZXogczAsIHJlc3VtZV9rZXJuZWwKLVNZTV9DT0RFX0VORChyZXRfZnJvbV9leGNl cHRpb24pCi0KLQkvKiBJbnRlcnJ1cHRzIG11c3QgYmUgZGlzYWJsZWQgaGVyZSBzbyBmbGFncyBh cmUgY2hlY2tlZCBhdG9taWNhbGx5ICovCi0JUkVHX0wgczAsIFRBU0tfVElfRkxBR1ModHApIC8q IGN1cnJlbnRfdGhyZWFkX2luZm8tPmZsYWdzICovCi0JYW5kaSBzMSwgczAsIF9USUZfV09SS19N QVNLCi0JYm5leiBzMSwgcmVzdW1lX3VzZXJzcGFjZV9zbG93Ci1yZXN1bWVfdXNlcnNwYWNlOgot I2lmZGVmIENPTkZJR19DT05URVhUX1RSQUNLSU5HX1VTRVIKLQljYWxsIHVzZXJfZW50ZXJfY2Fs bGFibGUKLSNlbmRpZgorCWJuZXogczAsIDFmCiAKIAkvKiBTYXZlIHVud291bmQga2VybmVsIHN0 YWNrIHBvaW50ZXIgaW4gdGhyZWFkX2luZm8gKi8KIAlhZGRpIHMwLCBzcCwgUFRfU0laRV9PTl9T VEFDSwpAQCAtMjgyLDE4ICsxNTQsNyBAQCByZXN1bWVfdXNlcnNwYWNlOgogCSAqIHN0cnVjdHVy ZXMgYWdhaW4uCiAJICovCiAJY3NydyBDU1JfU0NSQVRDSCwgdHAKLQotcmVzdG9yZV9hbGw6Ci0j aWZkZWYgQ09ORklHX1RSQUNFX0lSUUZMQUdTCi0JUkVHX0wgczEsIFBUX1NUQVRVUyhzcCkKLQlh bmRpIHQwLCBzMSwgU1JfUElFCi0JYmVxeiB0MCwgMWYKLQljYWxsIF9fdHJhY2VfaGFyZGlycXNf b24KLQlqIDJmCiAxOgotCWNhbGwgX190cmFjZV9oYXJkaXJxc19vZmYKLTI6Ci0jZW5kaWYKIAlS RUdfTCBhMCwgUFRfU1RBVFVTKHNwKQogCS8qCiAJICogVGhlIGN1cnJlbnQgbG9hZCByZXNlcnZh dGlvbiBpcyBlZmZlY3RpdmVseSBwYXJ0IG9mIHRoZSBwcm9jZXNzb3IncwpAQCAtMzU2LDQ3ICsy MTcsMTAgQEAgcmVzdG9yZV9hbGw6CiAjZWxzZQogCXNyZXQKICNlbmRpZgotCi0jaWYgSVNfRU5B QkxFRChDT05GSUdfUFJFRU1QVElPTikKLXJlc3VtZV9rZXJuZWw6Ci0JUkVHX0wgczAsIFRBU0tf VElfUFJFRU1QVF9DT1VOVCh0cCkKLQlibmV6IHMwLCByZXN0b3JlX2FsbAotCVJFR19MIHMwLCBU QVNLX1RJX0ZMQUdTKHRwKQotCWFuZGkgczAsIHMwLCBfVElGX05FRURfUkVTQ0hFRAotCWJlcXog czAsIHJlc3RvcmVfYWxsCi0JY2FsbCBwcmVlbXB0X3NjaGVkdWxlX2lycQotCWogcmVzdG9yZV9h bGwKLSNlbmRpZgotCi1yZXN1bWVfdXNlcnNwYWNlX3Nsb3c6Ci0JLyogRW50ZXIgc2xvdyBwYXRo IGZvciBzdXBwbGVtZW50YXJ5IHByb2Nlc3NpbmcgKi8KLQltb3ZlIGEwLCBzcCAvKiBwdF9yZWdz ICovCi0JbW92ZSBhMSwgczAgLyogY3VycmVudF90aHJlYWRfaW5mby0+ZmxhZ3MgKi8KLQljYWxs IGRvX3dvcmtfcGVuZGluZwotCWogcmVzdW1lX3VzZXJzcGFjZQotCi0vKiBTbG93IHBhdGhzIGZv ciBwdHJhY2UuICovCi1oYW5kbGVfc3lzY2FsbF90cmFjZV9lbnRlcjoKLQltb3ZlIGEwLCBzcAot CWNhbGwgZG9fc3lzY2FsbF90cmFjZV9lbnRlcgotCW1vdmUgdDAsIGEwCi0JUkVHX0wgYTAsIFBU X0EwKHNwKQotCVJFR19MIGExLCBQVF9BMShzcCkKLQlSRUdfTCBhMiwgUFRfQTIoc3ApCi0JUkVH X0wgYTMsIFBUX0EzKHNwKQotCVJFR19MIGE0LCBQVF9BNChzcCkKLQlSRUdfTCBhNSwgUFRfQTUo c3ApCi0JUkVHX0wgYTYsIFBUX0E2KHNwKQotCVJFR19MIGE3LCBQVF9BNyhzcCkKLQlibmV6IHQw LCByZXRfZnJvbV9zeXNjYWxsX3JlamVjdGVkCi0JaiBjaGVja19zeXNjYWxsX25yCi1oYW5kbGVf c3lzY2FsbF90cmFjZV9leGl0OgotCW1vdmUgYTAsIHNwCi0JY2FsbCBkb19zeXNjYWxsX3RyYWNl X2V4aXQKLQlqIHJldF9mcm9tX2V4Y2VwdGlvbgorU1lNX0NPREVfRU5EKHJldF9mcm9tX2V4Y2Vw dGlvbikKIAogI2lmZGVmIENPTkZJR19WTUFQX1NUQUNLCi1oYW5kbGVfa2VybmVsX3N0YWNrX292 ZXJmbG93OgorU1lNX0NPREVfU1RBUlRfTE9DQUwoaGFuZGxlX2tlcm5lbF9zdGFja19vdmVyZmxv dykKIAkvKgogCSAqIFRha2VzIHRoZSBwc3VlZG8tc3BpbmxvY2sgZm9yIHRoZSBzaGFkb3cgc3Rh Y2ssIGluIGNhc2UgbXVsdGlwbGUKIAkgKiBoYXJ0cyBhcmUgY29uY3VycmVudGx5IG92ZXJmbG93 aW5nIHRoZWlyIGtlcm5lbCBzdGFja3MuICBXZSBjb3VsZApAQCAtNTA1LDIzICszMjksMjUgQEAg cmVzdG9yZV9jYWxsZXJfcmVnOgogCVJFR19TIHM1LCBQVF9UUChzcCkKIAltb3ZlIGEwLCBzcAog CXRhaWwgaGFuZGxlX2JhZF9zdGFjaworU1lNX0NPREVfRU5EKGhhbmRsZV9rZXJuZWxfc3RhY2tf b3ZlcmZsb3cpCiAjZW5kaWYKIAotRU5EKGhhbmRsZV9leGNlcHRpb24pCi0KLUVOVFJZKHJldF9m cm9tX2ZvcmspCitTWU1fQ09ERV9TVEFSVChyZXRfZnJvbV9mb3JrKQorCWNhbGwgc2NoZWR1bGVf dGFpbAorCW1vdmUgYTAsIHNwIC8qIHB0X3JlZ3MgKi8KIAlsYSByYSwgcmV0X2Zyb21fZXhjZXB0 aW9uCi0JdGFpbCBzY2hlZHVsZV90YWlsCi1FTkRQUk9DKHJldF9mcm9tX2ZvcmspCisJdGFpbCBz eXNjYWxsX2V4aXRfdG9fdXNlcl9tb2RlCitTWU1fQ09ERV9FTkQocmV0X2Zyb21fZm9yaykKIAot RU5UUlkocmV0X2Zyb21fa2VybmVsX3RocmVhZCkKK1NZTV9DT0RFX1NUQVJUKHJldF9mcm9tX2tl cm5lbF90aHJlYWQpCiAJY2FsbCBzY2hlZHVsZV90YWlsCiAJLyogQ2FsbCBmbihhcmcpICovCi0J bGEgcmEsIHJldF9mcm9tX2V4Y2VwdGlvbgogCW1vdmUgYTAsIHMxCi0JanIgczAKLUVORFBST0Mo cmV0X2Zyb21fa2VybmVsX3RocmVhZCkKLQorCWphbHIgczAKKwltb3ZlIGEwLCBzcCAvKiBwdF9y ZWdzICovCisJbGEgcmEsIHJldF9mcm9tX2V4Y2VwdGlvbgorCXRhaWwgc3lzY2FsbF9leGl0X3Rv X3VzZXJfbW9kZQorU1lNX0NPREVfRU5EKHJldF9mcm9tX2tlcm5lbF90aHJlYWQpCiAKIC8qCiAg KiBJbnRlZ2VyIHJlZ2lzdGVyIGNvbnRleHQgc3dpdGNoCkBAIC01MzMsNyArMzU5LDcgQEAgRU5E UFJPQyhyZXRfZnJvbV9rZXJuZWxfdGhyZWFkKQogICogVGhlIHZhbHVlIG9mIGEwIGFuZCBhMSBt dXN0IGJlIHByZXNlcnZlZCBieSB0aGlzIGZ1bmN0aW9uLCBhcyB0aGF0J3MgaG93CiAgKiBhcmd1 bWVudHMgYXJlIHBhc3NlZCB0byBzY2hlZHVsZV90YWlsLgogICovCi1FTlRSWShfX3N3aXRjaF90 bykKK1NZTV9GVU5DX1NUQVJUKF9fc3dpdGNoX3RvKQogCS8qIFNhdmUgY29udGV4dCBpbnRvIHBy ZXYtPnRocmVhZCAqLwogCWxpICAgIGE0LCAgVEFTS19USFJFQURfUkEKIAlhZGQgICBhMywgYTAs IGE0CkBAIC01NzAsNyArMzk2LDcgQEAgRU5UUlkoX19zd2l0Y2hfdG8pCiAJLyogVGhlIG9mZnNl dCBvZiB0aHJlYWRfaW5mbyBpbiB0YXNrX3N0cnVjdCBpcyB6ZXJvLiAqLwogCW1vdmUgdHAsIGEx CiAJcmV0Ci1FTkRQUk9DKF9fc3dpdGNoX3RvKQorU1lNX0ZVTkNfRU5EKF9fc3dpdGNoX3RvKQog CiAjaWZuZGVmIENPTkZJR19NTVUKICNkZWZpbmUgZG9fcGFnZV9mYXVsdCBkb190cmFwX3Vua25v d24KQEAgLTU3OSw3ICs0MDUsNyBAQCBFTkRQUk9DKF9fc3dpdGNoX3RvKQogCS5zZWN0aW9uICIu cm9kYXRhIgogCS5hbGlnbiBMR1JFRwogCS8qIEV4Y2VwdGlvbiB2ZWN0b3IgdGFibGUgKi8KLUVO VFJZKGV4Y3BfdmVjdF90YWJsZSkKK1NZTV9DT0RFX1NUQVJUKGV4Y3BfdmVjdF90YWJsZSkKIAlS SVNDVl9QVFIgZG9fdHJhcF9pbnNuX21pc2FsaWduZWQKIAlBTFRfSU5TTl9GQVVMVChSSVNDVl9Q VFIgZG9fdHJhcF9pbnNuX2ZhdWx0KQogCVJJU0NWX1BUUiBkb190cmFwX2luc25faWxsZWdhbApA QCAtNTg4LDcgKzQxNCw3IEBAIEVOVFJZKGV4Y3BfdmVjdF90YWJsZSkKIAlSSVNDVl9QVFIgZG9f dHJhcF9sb2FkX2ZhdWx0CiAJUklTQ1ZfUFRSIGRvX3RyYXBfc3RvcmVfbWlzYWxpZ25lZAogCVJJ U0NWX1BUUiBkb190cmFwX3N0b3JlX2ZhdWx0Ci0JUklTQ1ZfUFRSIGRvX3RyYXBfZWNhbGxfdSAv KiBzeXN0ZW0gY2FsbCwgZ2V0cyBpbnRlcmNlcHRlZCAqLworCVJJU0NWX1BUUiBkb190cmFwX2Vj YWxsX3UgLyogc3lzdGVtIGNhbGwgKi8KIAlSSVNDVl9QVFIgZG9fdHJhcF9lY2FsbF9zCiAJUklT Q1ZfUFRSIGRvX3RyYXBfdW5rbm93bgogCVJJU0NWX1BUUiBkb190cmFwX2VjYWxsX20KQEAgLTU5 OCwxMSArNDI0LDExIEBAIEVOVFJZKGV4Y3BfdmVjdF90YWJsZSkKIAlSSVNDVl9QVFIgZG9fdHJh cF91bmtub3duCiAJUklTQ1ZfUFRSIGRvX3BhZ2VfZmF1bHQgICAvKiBzdG9yZSBwYWdlIGZhdWx0 ICovCiBleGNwX3ZlY3RfdGFibGVfZW5kOgotRU5EKGV4Y3BfdmVjdF90YWJsZSkKK1NZTV9DT0RF X0VORChleGNwX3ZlY3RfdGFibGUpCiAKICNpZm5kZWYgQ09ORklHX01NVQotRU5UUlkoX191c2Vy X3J0X3NpZ3JldHVybikKK1NZTV9DT0RFX1NUQVJUKF9fdXNlcl9ydF9zaWdyZXR1cm4pCiAJbGkg YTcsIF9fTlJfcnRfc2lncmV0dXJuCiAJc2NhbGwKLUVORChfX3VzZXJfcnRfc2lncmV0dXJuKQor U1lNX0NPREVfRU5EKF9fdXNlcl9ydF9zaWdyZXR1cm4pCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3Yva2VybmVsL2hlYWQuaCBiL2FyY2gvcmlzY3Yva2VybmVsL2hlYWQuaAppbmRleCA3 MjY3MzFhZGE1MzQuLmE1NTZmZGFhZmVkOSAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwv aGVhZC5oCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL2hlYWQuaApAQCAtMTAsNyArMTAsNiBAQAog CiBleHRlcm4gYXRvbWljX3QgaGFydF9sb3R0ZXJ5OwogCi1hc21saW5rYWdlIHZvaWQgZG9fcGFn ZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncyk7CiBhc21saW5rYWdlIHZvaWQgX19pbml0IHNl dHVwX3ZtKHVpbnRwdHJfdCBkdGJfcGEpOwogI2lmZGVmIENPTkZJR19YSVBfS0VSTkVMCiBhc21s aW5rYWdlIHZvaWQgX19pbml0IF9fY29weV9kYXRhKHZvaWQpOwpkaWZmIC0tZ2l0IGEvYXJjaC9y aXNjdi9rZXJuZWwvcHRyYWNlLmMgYi9hcmNoL3Jpc2N2L2tlcm5lbC9wdHJhY2UuYwppbmRleCA0 NGY0YjFjYTMxNWQuLjIzYzQ4YjE0YTBlNyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwv cHRyYWNlLmMKKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvcHRyYWNlLmMKQEAgLTE5LDkgKzE5LDYg QEAKICNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPgogI2luY2x1ZGUgPGxpbnV4L3NjaGVkL3Rhc2tf c3RhY2suaD4KIAotI2RlZmluZSBDUkVBVEVfVFJBQ0VfUE9JTlRTCi0jaW5jbHVkZSA8dHJhY2Uv ZXZlbnRzL3N5c2NhbGxzLmg+Ci0KIGVudW0gcmlzY3ZfcmVnc2V0IHsKIAlSRUdTRVRfWCwKICNp ZmRlZiBDT05GSUdfRlBVCkBAIC0yMjgsNDYgKzIyNSw2IEBAIGxvbmcgYXJjaF9wdHJhY2Uoc3Ry dWN0IHRhc2tfc3RydWN0ICpjaGlsZCwgbG9uZyByZXF1ZXN0LAogCXJldHVybiByZXQ7CiB9CiAK LS8qCi0gKiBBbGxvd3MgUFRSQUNFX1NZU0NBTEwgdG8gd29yay4gIFRoZXNlIGFyZSBjYWxsZWQg ZnJvbSBlbnRyeS5TIGluCi0gKiB7aGFuZGxlLHJldF9mcm9tfV9zeXNjYWxsLgotICovCi1fX3Zp c2libGUgaW50IGRvX3N5c2NhbGxfdHJhY2VfZW50ZXIoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCi17 Ci0JaWYgKHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0UpKQotCQlpZiAocHRyYWNl X3JlcG9ydF9zeXNjYWxsX2VudHJ5KHJlZ3MpKQotCQkJcmV0dXJuIC0xOwotCi0JLyoKLQkgKiBE byB0aGUgc2VjdXJlIGNvbXB1dGluZyBhZnRlciBwdHJhY2U7IGZhaWx1cmVzIHNob3VsZCBiZSBm YXN0LgotCSAqIElmIHRoaXMgZmFpbHMgd2UgbWlnaHQgaGF2ZSByZXR1cm4gdmFsdWUgaW4gYTAg ZnJvbSBzZWNjb21wCi0JICogKHZpYSBTRUNDT01QX1JFVF9FUlJOTy9UUkFDRSkuCi0JICovCi0J aWYgKHNlY3VyZV9jb21wdXRpbmcoKSA9PSAtMSkKLQkJcmV0dXJuIC0xOwotCi0jaWZkZWYgQ09O RklHX0hBVkVfU1lTQ0FMTF9UUkFDRVBPSU5UUwotCWlmICh0ZXN0X3RocmVhZF9mbGFnKFRJRl9T WVNDQUxMX1RSQUNFUE9JTlQpKQotCQl0cmFjZV9zeXNfZW50ZXIocmVncywgc3lzY2FsbF9nZXRf bnIoY3VycmVudCwgcmVncykpOwotI2VuZGlmCi0KLQlhdWRpdF9zeXNjYWxsX2VudHJ5KHJlZ3Mt PmE3LCByZWdzLT5hMCwgcmVncy0+YTEsIHJlZ3MtPmEyLCByZWdzLT5hMyk7Ci0JcmV0dXJuIDA7 Ci19Ci0KLV9fdmlzaWJsZSB2b2lkIGRvX3N5c2NhbGxfdHJhY2VfZXhpdChzdHJ1Y3QgcHRfcmVn cyAqcmVncykKLXsKLQlhdWRpdF9zeXNjYWxsX2V4aXQocmVncyk7Ci0KLQlpZiAodGVzdF90aHJl YWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFDRSkpCi0JCXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9leGl0 KHJlZ3MsIDApOwotCi0jaWZkZWYgQ09ORklHX0hBVkVfU1lTQ0FMTF9UUkFDRVBPSU5UUwotCWlm ICh0ZXN0X3RocmVhZF9mbGFnKFRJRl9TWVNDQUxMX1RSQUNFUE9JTlQpKQotCQl0cmFjZV9zeXNf ZXhpdChyZWdzLCByZWdzX3JldHVybl92YWx1ZShyZWdzKSk7Ci0jZW5kaWYKLX0KLQogI2lmZGVm IENPTkZJR19DT01QQVQKIHN0YXRpYyBpbnQgY29tcGF0X3Jpc2N2X2dwcl9nZXQoc3RydWN0IHRh c2tfc3RydWN0ICp0YXJnZXQsCiAJCQkJY29uc3Qgc3RydWN0IHVzZXJfcmVnc2V0ICpyZWdzZXQs CmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9zaWduYWwuYyBiL2FyY2gvcmlzY3Yva2Vy bmVsL3NpZ25hbC5jCmluZGV4IGJmYjJhZmE0MTM1Zi4uMmUzNjUwODQ0MTdlIDEwMDY0NAotLS0g YS9hcmNoL3Jpc2N2L2tlcm5lbC9zaWduYWwuYworKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9zaWdu YWwuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N5c2NhbGxzLmg+CiAjaW5j bHVkZSA8bGludXgvcmVzdW1lX3VzZXJfbW9kZS5oPgogI2luY2x1ZGUgPGxpbnV4L2xpbmthZ2Uu aD4KKyNpbmNsdWRlIDxsaW51eC9lbnRyeS1jb21tb24uaD4KIAogI2luY2x1ZGUgPGFzbS91Y29u dGV4dC5oPgogI2luY2x1ZGUgPGFzbS92ZHNvLmg+CkBAIC0yNzQsNyArMjc1LDcgQEAgc3RhdGlj IHZvaWQgaGFuZGxlX3NpZ25hbChzdHJ1Y3Qga3NpZ25hbCAqa3NpZywgc3RydWN0IHB0X3JlZ3Mg KnJlZ3MpCiAJc2lnbmFsX3NldHVwX2RvbmUocmV0LCBrc2lnLCAwKTsKIH0KIAotc3RhdGljIHZv aWQgZG9fc2lnbmFsKHN0cnVjdCBwdF9yZWdzICpyZWdzKQordm9pZCBhcmNoX2RvX3NpZ25hbF9v cl9yZXN0YXJ0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogewogCXN0cnVjdCBrc2lnbmFsIGtzaWc7 CiAKQEAgLTMxMSwyOSArMzEyLDMgQEAgc3RhdGljIHZvaWQgZG9fc2lnbmFsKHN0cnVjdCBwdF9y ZWdzICpyZWdzKQogCSAqLwogCXJlc3RvcmVfc2F2ZWRfc2lnbWFzaygpOwogfQotCi0vKgotICog SGFuZGxlIGFueSBwZW5kaW5nIHdvcmsgb24gdGhlIHJlc3VtZS10by11c2Vyc3BhY2UgcGF0aCwg YXMgaW5kaWNhdGVkIGJ5Ci0gKiBfVElGX1dPUktfTUFTSy4gRW50ZXJlZCBmcm9tIGFzc2VtYmx5 IHdpdGggSVJRcyBvZmYuCi0gKi8KLWFzbWxpbmthZ2UgX192aXNpYmxlIHZvaWQgZG9fd29ya19w ZW5kaW5nKHN0cnVjdCBwdF9yZWdzICpyZWdzLAotCQkJCQkgIHVuc2lnbmVkIGxvbmcgdGhyZWFk X2luZm9fZmxhZ3MpCi17Ci0JZG8gewotCQlpZiAodGhyZWFkX2luZm9fZmxhZ3MgJiBfVElGX05F RURfUkVTQ0hFRCkgewotCQkJc2NoZWR1bGUoKTsKLQkJfSBlbHNlIHsKLQkJCWxvY2FsX2lycV9l bmFibGUoKTsKLQkJCWlmICh0aHJlYWRfaW5mb19mbGFncyAmIF9USUZfVVBST0JFKQotCQkJCXVw cm9iZV9ub3RpZnlfcmVzdW1lKHJlZ3MpOwotCQkJLyogSGFuZGxlIHBlbmRpbmcgc2lnbmFsIGRl bGl2ZXJ5ICovCi0JCQlpZiAodGhyZWFkX2luZm9fZmxhZ3MgJiAoX1RJRl9TSUdQRU5ESU5HIHwK LQkJCQkJCSBfVElGX05PVElGWV9TSUdOQUwpKQotCQkJCWRvX3NpZ25hbChyZWdzKTsKLQkJCWlm ICh0aHJlYWRfaW5mb19mbGFncyAmIF9USUZfTk9USUZZX1JFU1VNRSkKLQkJCQlyZXN1bWVfdXNl cl9tb2RlX3dvcmsocmVncyk7Ci0JCX0KLQkJbG9jYWxfaXJxX2Rpc2FibGUoKTsKLQkJdGhyZWFk X2luZm9fZmxhZ3MgPSByZWFkX3RocmVhZF9mbGFncygpOwotCX0gd2hpbGUgKHRocmVhZF9pbmZv X2ZsYWdzICYgX1RJRl9XT1JLX01BU0spOwotfQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJu ZWwvdHJhcHMuYyBiL2FyY2gvcmlzY3Yva2VybmVsL3RyYXBzLmMKaW5kZXggOTZlYzc2YzU0ZmYy Li4wYjc2NDA3MWRlOGMgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3RyYXBzLmMKKysr IGIvYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYwpAQCAtMTcsMTIgKzE3LDE0IEBACiAjaW5jbHVk ZSA8bGludXgvbW9kdWxlLmg+CiAjaW5jbHVkZSA8bGludXgvaXJxLmg+CiAjaW5jbHVkZSA8bGlu dXgva2V4ZWMuaD4KKyNpbmNsdWRlIDxsaW51eC9lbnRyeS1jb21tb24uaD4KIAogI2luY2x1ZGUg PGFzbS9hc20tcHJvdG90eXBlcy5oPgogI2luY2x1ZGUgPGFzbS9idWcuaD4KICNpbmNsdWRlIDxh c20vY3NyLmg+CiAjaW5jbHVkZSA8YXNtL3Byb2Nlc3Nvci5oPgogI2luY2x1ZGUgPGFzbS9wdHJh Y2UuaD4KKyNpbmNsdWRlIDxhc20vc3lzY2FsbC5oPgogI2luY2x1ZGUgPGFzbS90aHJlYWRfaW5m by5oPgogCiBpbnQgc2hvd191bmhhbmRsZWRfc2lnbmFscyA9IDE7CkBAIC05OSwxMCArMTAxLDE4 IEBAIHN0YXRpYyB2b2lkIGRvX3RyYXBfZXJyb3Ioc3RydWN0IHB0X3JlZ3MgKnJlZ3MsIGludCBz aWdubywgaW50IGNvZGUsCiAjZWxzZQogI2RlZmluZSBfX3RyYXBfc2VjdGlvbiBub2luc3RyCiAj ZW5kaWYKLSNkZWZpbmUgRE9fRVJST1JfSU5GTyhuYW1lLCBzaWdubywgY29kZSwgc3RyKQkJCQlc Ci1hc21saW5rYWdlIF9fdmlzaWJsZSBfX3RyYXBfc2VjdGlvbiB2b2lkIG5hbWUoc3RydWN0IHB0 X3JlZ3MgKnJlZ3MpCVwKLXsJCQkJCQkJCQlcCi0JZG9fdHJhcF9lcnJvcihyZWdzLCBzaWdubywg Y29kZSwgcmVncy0+ZXBjLCAiT29wcyAtICIgc3RyKTsJXAorI2RlZmluZSBET19FUlJPUl9JTkZP KG5hbWUsIHNpZ25vLCBjb2RlLCBzdHIpCQkJCQlcCithc21saW5rYWdlIF9fdmlzaWJsZSBfX3Ry YXBfc2VjdGlvbiB2b2lkIG5hbWUoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCQlcCit7CQkJCQkJCQkJ CVwKKwlpZiAodXNlcl9tb2RlKHJlZ3MpKSB7CQkJCQkJCVwKKwkJaXJxZW50cnlfZW50ZXJfZnJv bV91c2VyX21vZGUocmVncyk7CQkJCVwKKwkJZG9fdHJhcF9lcnJvcihyZWdzLCBzaWdubywgY29k ZSwgcmVncy0+ZXBjLCAiT29wcyAtICIgc3RyKTsJXAorCQlpcnFlbnRyeV9leGl0X3RvX3VzZXJf bW9kZShyZWdzKTsJCQkJXAorCX0gZWxzZSB7CQkJCQkJCQlcCisJCWlycWVudHJ5X3N0YXRlX3Qg c3RhdGUgPSBpcnFlbnRyeV9ubWlfZW50ZXIocmVncyk7CQlcCisJCWRvX3RyYXBfZXJyb3IocmVn cywgc2lnbm8sIGNvZGUsIHJlZ3MtPmVwYywgIk9vcHMgLSAiIHN0cik7CVwKKwkJaXJxZW50cnlf bm1pX2V4aXQocmVncywgc3RhdGUpOwkJCQkJXAorCX0JCQkJCQkJCQlcCiB9CiAKIERPX0VSUk9S X0lORk8oZG9fdHJhcF91bmtub3duLApAQCAtMTI0LDI2ICsxMzQsNTAgQEAgRE9fRVJST1JfSU5G Tyhkb190cmFwX3N0b3JlX21pc2FsaWduZWQsCiBpbnQgaGFuZGxlX21pc2FsaWduZWRfbG9hZChz dHJ1Y3QgcHRfcmVncyAqcmVncyk7CiBpbnQgaGFuZGxlX21pc2FsaWduZWRfc3RvcmUoc3RydWN0 IHB0X3JlZ3MgKnJlZ3MpOwogCi1hc21saW5rYWdlIHZvaWQgX190cmFwX3NlY3Rpb24gZG9fdHJh cF9sb2FkX21pc2FsaWduZWQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCithc21saW5rYWdlIF9fdmlz aWJsZSBfX3RyYXBfc2VjdGlvbiB2b2lkIGRvX3RyYXBfbG9hZF9taXNhbGlnbmVkKHN0cnVjdCBw dF9yZWdzICpyZWdzKQogewotCWlmICghaGFuZGxlX21pc2FsaWduZWRfbG9hZChyZWdzKSkKLQkJ cmV0dXJuOwotCWRvX3RyYXBfZXJyb3IocmVncywgU0lHQlVTLCBCVVNfQURSQUxOLCByZWdzLT5l cGMsCi0JCSAgICAgICJPb3BzIC0gbG9hZCBhZGRyZXNzIG1pc2FsaWduZWQiKTsKKwlpZiAodXNl cl9tb2RlKHJlZ3MpKSB7CisJCWlycWVudHJ5X2VudGVyX2Zyb21fdXNlcl9tb2RlKHJlZ3MpOwor CisJCWlmIChoYW5kbGVfbWlzYWxpZ25lZF9sb2FkKHJlZ3MpKQorCQkJZG9fdHJhcF9lcnJvcihy ZWdzLCBTSUdCVVMsIEJVU19BRFJBTE4sIHJlZ3MtPmVwYywKKwkJCSAgICAgICJPb3BzIC0gbG9h ZCBhZGRyZXNzIG1pc2FsaWduZWQiKTsKKworCQlpcnFlbnRyeV9leGl0X3RvX3VzZXJfbW9kZShy ZWdzKTsKKwl9IGVsc2UgeworCQlpcnFlbnRyeV9zdGF0ZV90IHN0YXRlID0gaXJxZW50cnlfbm1p X2VudGVyKHJlZ3MpOworCisJCWlmIChoYW5kbGVfbWlzYWxpZ25lZF9sb2FkKHJlZ3MpKQorCQkJ ZG9fdHJhcF9lcnJvcihyZWdzLCBTSUdCVVMsIEJVU19BRFJBTE4sIHJlZ3MtPmVwYywKKwkJCSAg ICAgICJPb3BzIC0gbG9hZCBhZGRyZXNzIG1pc2FsaWduZWQiKTsKKworCQlpcnFlbnRyeV9ubWlf ZXhpdChyZWdzLCBzdGF0ZSk7CisJfQogfQogCi1hc21saW5rYWdlIHZvaWQgX190cmFwX3NlY3Rp b24gZG9fdHJhcF9zdG9yZV9taXNhbGlnbmVkKHN0cnVjdCBwdF9yZWdzICpyZWdzKQorYXNtbGlu a2FnZSBfX3Zpc2libGUgX190cmFwX3NlY3Rpb24gdm9pZCBkb190cmFwX3N0b3JlX21pc2FsaWdu ZWQoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7Ci0JaWYgKCFoYW5kbGVfbWlzYWxpZ25lZF9zdG9y ZShyZWdzKSkKLQkJcmV0dXJuOwotCWRvX3RyYXBfZXJyb3IocmVncywgU0lHQlVTLCBCVVNfQURS QUxOLCByZWdzLT5lcGMsCi0JCSAgICAgICJPb3BzIC0gc3RvcmUgKG9yIEFNTykgYWRkcmVzcyBt aXNhbGlnbmVkIik7CisJaWYgKHVzZXJfbW9kZShyZWdzKSkgeworCQlpcnFlbnRyeV9lbnRlcl9m cm9tX3VzZXJfbW9kZShyZWdzKTsKKworCQlpZiAoaGFuZGxlX21pc2FsaWduZWRfc3RvcmUocmVn cykpCisJCQlkb190cmFwX2Vycm9yKHJlZ3MsIFNJR0JVUywgQlVTX0FEUkFMTiwgcmVncy0+ZXBj LAorCQkJCSJPb3BzIC0gc3RvcmUgKG9yIEFNTykgYWRkcmVzcyBtaXNhbGlnbmVkIik7CisKKwkJ aXJxZW50cnlfZXhpdF90b191c2VyX21vZGUocmVncyk7CisJfSBlbHNlIHsKKwkJaXJxZW50cnlf c3RhdGVfdCBzdGF0ZSA9IGlycWVudHJ5X25taV9lbnRlcihyZWdzKTsKKworCQlpZiAoaGFuZGxl X21pc2FsaWduZWRfc3RvcmUocmVncykpCisJCQlkb190cmFwX2Vycm9yKHJlZ3MsIFNJR0JVUywg QlVTX0FEUkFMTiwgcmVncy0+ZXBjLAorCQkJCSJPb3BzIC0gc3RvcmUgKG9yIEFNTykgYWRkcmVz cyBtaXNhbGlnbmVkIik7CisKKwkJaXJxZW50cnlfbm1pX2V4aXQocmVncywgc3RhdGUpOworCX0K IH0KICNlbmRpZgogRE9fRVJST1JfSU5GTyhkb190cmFwX3N0b3JlX2ZhdWx0LAogCVNJR1NFR1Ys IFNFR1ZfQUNDRVJSLCAic3RvcmUgKG9yIEFNTykgYWNjZXNzIGZhdWx0Iik7Ci1ET19FUlJPUl9J TkZPKGRvX3RyYXBfZWNhbGxfdSwKLQlTSUdJTEwsIElMTF9JTExUUlAsICJlbnZpcm9ubWVudCBj YWxsIGZyb20gVS1tb2RlIik7CiBET19FUlJPUl9JTkZPKGRvX3RyYXBfZWNhbGxfcywKIAlTSUdJ TEwsIElMTF9JTExUUlAsICJlbnZpcm9ubWVudCBjYWxsIGZyb20gUy1tb2RlIik7CiBET19FUlJP Ul9JTkZPKGRvX3RyYXBfZWNhbGxfbSwKQEAgLTE1OSw3ICsxOTMsNyBAQCBzdGF0aWMgaW5saW5l IHVuc2lnbmVkIGxvbmcgZ2V0X2JyZWFrX2luc25fbGVuZ3RoKHVuc2lnbmVkIGxvbmcgcGMpCiAJ cmV0dXJuIEdFVF9JTlNOX0xFTkdUSChpbnNuKTsKIH0KIAotYXNtbGlua2FnZSBfX3Zpc2libGUg X190cmFwX3NlY3Rpb24gdm9pZCBkb190cmFwX2JyZWFrKHN0cnVjdCBwdF9yZWdzICpyZWdzKQor dm9pZCBoYW5kbGVfYnJlYWsoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCiB7CiAjaWZkZWYgQ09ORklH X0tQUk9CRVMKIAlpZiAoa3Byb2JlX3NpbmdsZV9zdGVwX2hhbmRsZXIocmVncykpCkBAIC0xODks NyArMjIzLDc1IEBAIGFzbWxpbmthZ2UgX192aXNpYmxlIF9fdHJhcF9zZWN0aW9uIHZvaWQgZG9f dHJhcF9icmVhayhzdHJ1Y3QgcHRfcmVncyAqcmVncykKIAllbHNlCiAJCWRpZShyZWdzLCAiS2Vy bmVsIEJVRyIpOwogfQotTk9LUFJPQkVfU1lNQk9MKGRvX3RyYXBfYnJlYWspOworCithc21saW5r YWdlIF9fdmlzaWJsZSBfX3RyYXBfc2VjdGlvbiB2b2lkIGRvX3RyYXBfYnJlYWsoc3RydWN0IHB0 X3JlZ3MgKnJlZ3MpCit7CisJaWYgKHVzZXJfbW9kZShyZWdzKSkgeworCQlpcnFlbnRyeV9lbnRl cl9mcm9tX3VzZXJfbW9kZShyZWdzKTsKKworCQloYW5kbGVfYnJlYWsocmVncyk7CisKKwkJaXJx ZW50cnlfZXhpdF90b191c2VyX21vZGUocmVncyk7CisJfSBlbHNlIHsKKwkJaXJxZW50cnlfc3Rh dGVfdCBzdGF0ZSA9IGlycWVudHJ5X25taV9lbnRlcihyZWdzKTsKKworCQloYW5kbGVfYnJlYWso cmVncyk7CisKKwkJaXJxZW50cnlfbm1pX2V4aXQocmVncywgc3RhdGUpOworCX0KK30KKworYXNt bGlua2FnZSBfX3Zpc2libGUgX190cmFwX3NlY3Rpb24gdm9pZCBkb190cmFwX2VjYWxsX3Uoc3Ry dWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJaWYgKHVzZXJfbW9kZShyZWdzKSkgeworCQl1bG9uZyBz eXNjYWxsID0gcmVncy0+YTc7CisKKwkJc3lzY2FsbCA9IHN5c2NhbGxfZW50ZXJfZnJvbV91c2Vy X21vZGUocmVncywgc3lzY2FsbCk7CisKKwkJcmVncy0+ZXBjICs9IDQ7CisJCXJlZ3MtPm9yaWdf YTAgPSByZWdzLT5hMDsKKworCQlpZiAoc3lzY2FsbCA8IE5SX3N5c2NhbGxzKQorCQkJc3lzY2Fs bF9oYW5kbGVyKHJlZ3MsIHN5c2NhbGwpOworCQllbHNlCisJCQlyZWdzLT5hMCA9IC1FTk9TWVM7 CisKKwkJc3lzY2FsbF9leGl0X3RvX3VzZXJfbW9kZShyZWdzKTsKKwl9IGVsc2UgeworCQlpcnFl bnRyeV9zdGF0ZV90IHN0YXRlID0gaXJxZW50cnlfbm1pX2VudGVyKHJlZ3MpOworCisJCWRvX3Ry YXBfZXJyb3IocmVncywgU0lHSUxMLCBJTExfSUxMVFJQLCByZWdzLT5lcGMsCisJCQkiT29wcyAt IGVudmlyb25tZW50IGNhbGwgZnJvbSBVLW1vZGUiKTsKKworCQlpcnFlbnRyeV9ubWlfZXhpdChy ZWdzLCBzdGF0ZSk7CisJfQorCit9CisKK2FzbWxpbmthZ2UgX192aXNpYmxlIG5vaW5zdHIgdm9p ZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCWlycWVudHJ5X3N0YXRl X3Qgc3RhdGUgPSBpcnFlbnRyeV9lbnRlcihyZWdzKTsKKworCWhhbmRsZV9wYWdlX2ZhdWx0KHJl Z3MpOworCisJbG9jYWxfaXJxX2Rpc2FibGUoKTsKKworCWlycWVudHJ5X2V4aXQocmVncywgc3Rh dGUpOworfQorCithc21saW5rYWdlIF9fdmlzaWJsZSBub2luc3RyIHZvaWQgZG9faXJxKHN0cnVj dCBwdF9yZWdzICpyZWdzKQoreworCXN0cnVjdCBwdF9yZWdzICpvbGRfcmVnczsKKwlpcnFlbnRy eV9zdGF0ZV90IHN0YXRlID0gaXJxZW50cnlfZW50ZXIocmVncyk7CisKKwlpcnFfZW50ZXJfcmN1 KCk7CisJb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7CisJaGFuZGxlX2FyY2hfaXJxKHJl Z3MpOworCXNldF9pcnFfcmVncyhvbGRfcmVncyk7CisJaXJxX2V4aXRfcmN1KCk7CisKKwlpcnFl bnRyeV9leGl0KHJlZ3MsIHN0YXRlKTsKK30KIAogI2lmZGVmIENPTkZJR19HRU5FUklDX0JVRwog aW50IGlzX3ZhbGlkX2J1Z2FkZHIodW5zaWduZWQgbG9uZyBwYykKZGlmZiAtLWdpdCBhL2FyY2gv cmlzY3YvbW0vZmF1bHQuYyBiL2FyY2gvcmlzY3YvbW0vZmF1bHQuYwppbmRleCBkODZmN2NlYmQ0 YTcuLmE0NGU3ZDE1MzExYyAxMDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9tbS9mYXVsdC5jCisrKyBi L2FyY2gvcmlzY3YvbW0vZmF1bHQuYwpAQCAtMTUsNiArMTUsNyBAQAogI2luY2x1ZGUgPGxpbnV4 L3VhY2Nlc3MuaD4KICNpbmNsdWRlIDxsaW51eC9rcHJvYmVzLmg+CiAjaW5jbHVkZSA8bGludXgv a2ZlbmNlLmg+CisjaW5jbHVkZSA8bGludXgvZW50cnktY29tbW9uLmg+CiAKICNpbmNsdWRlIDxh c20vcHRyYWNlLmg+CiAjaW5jbHVkZSA8YXNtL3RsYmZsdXNoLmg+CkBAIC0yMDQsNyArMjA1LDcg QEAgc3RhdGljIGlubGluZSBib29sIGFjY2Vzc19lcnJvcih1bnNpZ25lZCBsb25nIGNhdXNlLCBz dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkKICAqIFRoaXMgcm91dGluZSBoYW5kbGVzIHBhZ2Ug ZmF1bHRzLiAgSXQgZGV0ZXJtaW5lcyB0aGUgYWRkcmVzcyBhbmQgdGhlCiAgKiBwcm9ibGVtLCBh bmQgdGhlbiBwYXNzZXMgaXQgb2ZmIHRvIG9uZSBvZiB0aGUgYXBwcm9wcmlhdGUgcm91dGluZXMu CiAgKi8KLWFzbWxpbmthZ2Ugdm9pZCBkb19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdz KQordm9pZCBoYW5kbGVfcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncykKIHsKIAlzdHJ1 Y3QgdGFza19zdHJ1Y3QgKnRzazsKIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYTsKQEAgLTI1 MSw3ICsyNTIsNyBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFnZV9mYXVsdChzdHJ1Y3QgcHRfcmVn cyAqcmVncykKIAl9CiAjZW5kaWYKIAkvKiBFbmFibGUgaW50ZXJydXB0cyBpZiB0aGV5IHdlcmUg ZW5hYmxlZCBpbiB0aGUgcGFyZW50IGNvbnRleHQuICovCi0JaWYgKGxpa2VseShyZWdzLT5zdGF0 dXMgJiBTUl9QSUUpKQorCWlmICghcmVnc19pcnFzX2Rpc2FibGVkKHJlZ3MpKQogCQlsb2NhbF9p cnFfZW5hYmxlKCk7CiAKIAkvKgpAQCAtMzUxLDQgKzM1MiwzIEBAIGFzbWxpbmthZ2Ugdm9pZCBk b19wYWdlX2ZhdWx0KHN0cnVjdCBwdF9yZWdzICpyZWdzKQogCX0KIAlyZXR1cm47CiB9Ci1OT0tQ Uk9CRV9TWU1CT0woZG9fcGFnZV9mYXVsdCk7Ci0tIAoyLjM2LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWlsaW5nIGxpc3QK bGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==