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 D337AC7EE23 for ; Mon, 5 Jun 2023 15:40:52 +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:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ssfZz+K44x+Owvnro6uh2RfcvWhg/Y71Uk8k2GYDbSk=; b=27ZuxsMi6UkNVH 6nkyblAPkeXKdDmRpAC3S6d5CIkXUyg6/+gi9UMZu4Y2XP2dL0mD5dhVJTgoOuQfMcEzSc173CWYB OrOC85ALjuYkcwmye8qC4AN86ABcbHMeqtaBBBhl+kco5ts0I/CeuCO2BQKpkyw8FL9cFo5w0Jlgf 6uOtJTxxjvucrxKbJuWORmj7C3t2MEhmPPrUEc53L1yzkvE0PYyYTQegyMhY/soaSTi3LXZExudqc pQMZ1AEyKmk2Maiax/Svxa3abPuIlNXFPy2vi7jyBXwNCTcRJVpBpkqKesbu/jblG1JEATBKT7Nrh ZPENfP4d4dLHvseCwFxw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1q6CK8-00FzC3-17; Mon, 05 Jun 2023 15:40:48 +0000 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1q6CK4-00Fz8Y-2B for linux-riscv@lists.infradead.org; Mon, 05 Jun 2023 15:40:46 +0000 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-1b038064d97so45475705ad.0 for ; Mon, 05 Jun 2023 08:40:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sifive.com; s=google; t=1685979644; x=1688571644; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=H5ABTghwvTI+9r/qQCKwtiC6pFEmv/0ohdPEWRF58vQ=; b=N5mTfs+lL7zxW+pL+xEYpOnLt4Bv9JOjSWzap19lL6Kre44vjZlN0vK0pm/Mxzsuwe TtuKdSVgOfxRH1PmIdzx47KpfA4xyj262YIB7/Hlna+1HLdLd99v0zfuZ7IZ1NEV2Ndh W6j/W0Gu6FdM/6AtBDOAVUJBkc9zGT+Fim7n19LLweNFthzmyCAk/gcB8ZAu0iD6AH/v LclOxjdX3WUTE9l/Oja95KmOQR+fvA7kq0+hyMlwBnQ2jekOGtLtwIuQS1T6zvCqujQu DeM+2k1zTMNUoPs2d6zfynMFBZY3oJZvhNFrgB2eWPcBoCNsngww5+V/xBQaOaV4UlVr v7+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685979644; x=1688571644; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=H5ABTghwvTI+9r/qQCKwtiC6pFEmv/0ohdPEWRF58vQ=; b=VuWBE4SrTZ8ZT+OgJK7ewMNXDvAEQiZUJCB2RjKw5PuTnJctWj4iERAPdXq3zVIsOu t53zFWjEcOu5SOtUqvmttCJQ1Jdxnxw7SVVOpi/RDklA9XbRS+BwfIbR4WcPDHsqElC6 6rdKK5lKaQQPq5DLhhWKsUuN6yQk6S3eZJfH2LkHvfrlX5gxVTuuYx0AL05ZaJT8PfzB kf6UN11hLG97dnJz4L7PFHtgauxyUgwFgzX1Xb3f7bHg1NdLgHBwOV1CkH/5e1Vhq9DW wztDyL2D2D1MYEVSy+A6MMyOiy+KRLE+XrQdANX5IAn6usWSwwslnVYXQEDy8rcsXaED T+RQ== X-Gm-Message-State: AC+VfDz6lOHOEx4LmP2WEPGouRc9sTFCiq3s+pP+pPKGvf0AAfUx+ZMS NbwHiV1vFQN9e1p5+QjLDXs/76CEyOY2f05hpGCAVQcJFFyw6U2stkCULbBCv4cD3QbPiXWwoNd V1QzcXPDFkM9ckpkPKi+KrsRkDa+bWHXHMZEDQ6qq9V7HitSnkEJAxLi6Hf/1dCoUOHe+ZZ2iKl Gy5zEIPo04JglFq8E= X-Google-Smtp-Source: ACHHUZ7uA9bDyWuvzGvUPYr/uB402G/5hp1cVeED86CmlSqKsIuxEz5sfvvR1j388KxSjkBEpf0SuQ== X-Received: by 2002:a17:902:ec90:b0:1b1:94a8:ab2d with SMTP id x16-20020a170902ec9000b001b194a8ab2dmr9133436plg.29.1685979643627; Mon, 05 Jun 2023 08:40:43 -0700 (PDT) Received: from hsinchu26.internal.sifive.com (59-124-168-89.hinet-ip.hinet.net. [59.124.168.89]) by smtp.gmail.com with ESMTPSA id jk19-20020a170903331300b001b0aec3ed59sm6725962plb.256.2023.06.05.08.40.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jun 2023 08:40:43 -0700 (PDT) From: Andy Chiu To: linux-riscv@lists.infradead.org, palmer@dabbelt.com, anup@brainfault.org, atishp@atishpatra.org, kvm-riscv@lists.infradead.org, kvm@vger.kernel.org Subject: [PATCH -next v21 10/27] riscv: Add task switch support for vector Date: Mon, 5 Jun 2023 11:07:07 +0000 Message-Id: <20230605110724.21391-11-andy.chiu@sifive.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230605110724.21391-1-andy.chiu@sifive.com> References: <20230605110724.21391-1-andy.chiu@sifive.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230605_084044_718019_EE7FC5FE X-CRM114-Status: GOOD ( 17.34 ) 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: , Cc: Kefeng Wang , guoren@linux.alibaba.com, Jisheng Zhang , Nick Knight , Peter Zijlstra , vineetg@rivosinc.com, Vincent Chen , Conor Dooley , Albert Ou , Guo Ren , Ruinland Tsai , Andy Chiu , Paul Walmsley , greentime.hu@sifive.com, Heiko Stuebner 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 RnJvbTogR3JlZW50aW1lIEh1IDxncmVlbnRpbWUuaHVAc2lmaXZlLmNvbT4KClRoaXMgcGF0Y2gg YWRkcyB0YXNrIHN3aXRjaCBzdXBwb3J0IGZvciB2ZWN0b3IuIEl0IGFsc28gc3VwcG9ydHMgYWxs Cmxlbmd0aHMgb2Ygdmxlbi4KClN1Z2dlc3RlZC1ieTogQW5kcmV3IFdhdGVybWFuIDxhbmRyZXdA c2lmaXZlLmNvbT4KQ28tZGV2ZWxvcGVkLWJ5OiBOaWNrIEtuaWdodCA8bmljay5rbmlnaHRAc2lm aXZlLmNvbT4KU2lnbmVkLW9mZi1ieTogTmljayBLbmlnaHQgPG5pY2sua25pZ2h0QHNpZml2ZS5j b20+CkNvLWRldmVsb3BlZC1ieTogR3VvIFJlbiA8Z3VvcmVuQGxpbnV4LmFsaWJhYmEuY29tPgpT aWduZWQtb2ZmLWJ5OiBHdW8gUmVuIDxndW9yZW5AbGludXguYWxpYmFiYS5jb20+CkNvLWRldmVs b3BlZC1ieTogVmluY2VudCBDaGVuIDx2aW5jZW50LmNoZW5Ac2lmaXZlLmNvbT4KU2lnbmVkLW9m Zi1ieTogVmluY2VudCBDaGVuIDx2aW5jZW50LmNoZW5Ac2lmaXZlLmNvbT4KQ28tZGV2ZWxvcGVk LWJ5OiBSdWlubGFuZCBUc2FpIDxydWlubGFuZC50c2FpQHNpZml2ZS5jb20+ClNpZ25lZC1vZmYt Ynk6IFJ1aW5sYW5kIFRzYWkgPHJ1aW5sYW5kLnRzYWlAc2lmaXZlLmNvbT4KU2lnbmVkLW9mZi1i eTogR3JlZW50aW1lIEh1IDxncmVlbnRpbWUuaHVAc2lmaXZlLmNvbT4KU2lnbmVkLW9mZi1ieTog VmluZWV0IEd1cHRhIDx2aW5lZXRnQHJpdm9zaW5jLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5keSBD aGl1IDxhbmR5LmNoaXVAc2lmaXZlLmNvbT4KUmV2aWV3ZWQtYnk6IENvbm9yIERvb2xleSA8Y29u b3IuZG9vbGV5QG1pY3JvY2hpcC5jb20+ClJldmlld2VkLWJ5OiBCasO2cm4gVMO2cGVsIDxiam9y bkByaXZvc2luYy5jb20+ClJldmlld2VkLWJ5OiBIZWlrbyBTdHVlYm5lciA8aGVpa28uc3R1ZWJu ZXJAdnJ1bGwuZXU+ClRlc3RlZC1ieTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvLnN0dWVibmVyQHZy dWxsLmV1PgotLS0KQ2hhbmdlbG9nIHYyMToKIC0gbW92ZSByaXNjdl92X3ZzdGF0ZV9vZmYoY2hp bGRyZWdzKTsgdG8gYSBwcm9wZXIgcGxhY2UuCi0tLQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9w cm9jZXNzb3IuaCAgIHwgIDEgKwogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zd2l0Y2hfdG8uaCAg IHwgIDMgKysrCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmggfCAgMyArKysK IGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vdmVjdG9yLmggICAgICB8IDM4ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysKIGFyY2gvcmlzY3Yva2VybmVsL3Byb2Nlc3MuYyAgICAgICAgICB8IDE5 ICsrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDY0IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIvYXJjaC9yaXNjdi9p bmNsdWRlL2FzbS9wcm9jZXNzb3IuaAppbmRleCA5NGEwNTkwYzY5NzEuLmYwZGRmNjkxYWM1ZSAx MDA2NDQKLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaAorKysgYi9hcmNo L3Jpc2N2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCkBAIC0zOSw2ICszOSw3IEBAIHN0cnVjdCB0 aHJlYWRfc3RydWN0IHsKIAl1bnNpZ25lZCBsb25nIHNbMTJdOwkvKiBzWzBdOiBmcmFtZSBwb2lu dGVyICovCiAJc3RydWN0IF9fcmlzY3ZfZF9leHRfc3RhdGUgZnN0YXRlOwogCXVuc2lnbmVkIGxv bmcgYmFkX2NhdXNlOworCXN0cnVjdCBfX3Jpc2N2X3ZfZXh0X3N0YXRlIHZzdGF0ZTsKIH07CiAK IC8qIFdoaXRlbGlzdCB0aGUgZnN0YXRlIGZyb20gdGhlIHRhc2tfc3RydWN0IGZvciBoYXJkZW5l ZCB1c2VyY29weSAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zd2l0Y2hf dG8uaCBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc3dpdGNoX3RvLmgKaW5kZXggNGI5NmIxM2Rl ZTI3Li5hNzI3YmU3MjNjNTYgMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vc3dp dGNoX3RvLmgKKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9zd2l0Y2hfdG8uaApAQCAtOCw2 ICs4LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4L2p1bXBfbGFiZWwuaD4KICNpbmNsdWRlIDxsaW51 eC9zY2hlZC90YXNrX3N0YWNrLmg+CisjaW5jbHVkZSA8YXNtL3ZlY3Rvci5oPgogI2luY2x1ZGUg PGFzbS9od2NhcC5oPgogI2luY2x1ZGUgPGFzbS9wcm9jZXNzb3IuaD4KICNpbmNsdWRlIDxhc20v cHRyYWNlLmg+CkBAIC03OCw2ICs3OSw4IEBAIGRvIHsJCQkJCQkJXAogCXN0cnVjdCB0YXNrX3N0 cnVjdCAqX19uZXh0ID0gKG5leHQpOwkJXAogCWlmIChoYXNfZnB1KCkpCQkJCQlcCiAJCV9fc3dp dGNoX3RvX2ZwdShfX3ByZXYsIF9fbmV4dCk7CVwKKwlpZiAoaGFzX3ZlY3RvcigpKQkJCQkJXAor CQlfX3N3aXRjaF90b192ZWN0b3IoX19wcmV2LCBfX25leHQpOwlcCiAJKChsYXN0KSA9IF9fc3dp dGNoX3RvKF9fcHJldiwgX19uZXh0KSk7CQlcCiB9IHdoaWxlICgwKQogCmRpZmYgLS1naXQgYS9h cmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUv YXNtL3RocmVhZF9pbmZvLmgKaW5kZXggZTBkMjAyMTM0YjQ0Li45N2U2ZjY1ZWMxNzYgMTAwNjQ0 Ci0tLSBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdGhyZWFkX2luZm8uaAorKysgYi9hcmNoL3Jp c2N2L2luY2x1ZGUvYXNtL3RocmVhZF9pbmZvLmgKQEAgLTgxLDYgKzgxLDkgQEAgc3RydWN0IHRo cmVhZF9pbmZvIHsKIAkucHJlZW1wdF9jb3VudAk9IElOSVRfUFJFRU1QVF9DT1VOVCwJXAogfQog Cit2b2lkIGFyY2hfcmVsZWFzZV90YXNrX3N0cnVjdChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRzayk7 CitpbnQgYXJjaF9kdXBfdGFza19zdHJ1Y3Qoc3RydWN0IHRhc2tfc3RydWN0ICpkc3QsIHN0cnVj dCB0YXNrX3N0cnVjdCAqc3JjKTsKKwogI2VuZGlmIC8qICFfX0FTU0VNQkxZX18gKi8KIAogLyoK ZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vdmVjdG9yLmggYi9hcmNoL3Jpc2N2 L2luY2x1ZGUvYXNtL3ZlY3Rvci5oCmluZGV4IDNjMjlmNGViNTUyYS4uY2U2YTc1ZTljZjYyIDEw MDY0NAotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL3ZlY3Rvci5oCisrKyBiL2FyY2gvcmlz Y3YvaW5jbHVkZS9hc20vdmVjdG9yLmgKQEAgLTEyLDYgKzEyLDkgQEAKICNpZmRlZiBDT05GSUdf UklTQ1ZfSVNBX1YKIAogI2luY2x1ZGUgPGxpbnV4L3N0cmluZ2lmeS5oPgorI2luY2x1ZGUgPGxp bnV4L3NjaGVkLmg+CisjaW5jbHVkZSA8bGludXgvc2NoZWQvdGFza19zdGFjay5oPgorI2luY2x1 ZGUgPGFzbS9wdHJhY2UuaD4KICNpbmNsdWRlIDxhc20vaHdjYXAuaD4KICNpbmNsdWRlIDxhc20v Y3NyLmg+CiAjaW5jbHVkZSA8YXNtL2FzbS5oPgpAQCAtMTI0LDYgKzEyNywzOCBAQCBzdGF0aWMg aW5saW5lIHZvaWQgX19yaXNjdl92X3ZzdGF0ZV9yZXN0b3JlKHN0cnVjdCBfX3Jpc2N2X3ZfZXh0 X3N0YXRlICpyZXN0b3JlXwogCXJpc2N2X3ZfZGlzYWJsZSgpOwogfQogCitzdGF0aWMgaW5saW5l IHZvaWQgcmlzY3Zfdl92c3RhdGVfc2F2ZShzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRhc2ssCisJCQkJ ICAgICAgIHN0cnVjdCBwdF9yZWdzICpyZWdzKQoreworCWlmICgocmVncy0+c3RhdHVzICYgU1Jf VlMpID09IFNSX1ZTX0RJUlRZKSB7CisJCXN0cnVjdCBfX3Jpc2N2X3ZfZXh0X3N0YXRlICp2c3Rh dGUgPSAmdGFzay0+dGhyZWFkLnZzdGF0ZTsKKworCQlfX3Jpc2N2X3ZfdnN0YXRlX3NhdmUodnN0 YXRlLCB2c3RhdGUtPmRhdGFwKTsKKwkJX19yaXNjdl92X3ZzdGF0ZV9jbGVhbihyZWdzKTsKKwl9 Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCByaXNjdl92X3ZzdGF0ZV9yZXN0b3JlKHN0cnVjdCB0 YXNrX3N0cnVjdCAqdGFzaywKKwkJCQkJICBzdHJ1Y3QgcHRfcmVncyAqcmVncykKK3sKKwlpZiAo KHJlZ3MtPnN0YXR1cyAmIFNSX1ZTKSAhPSBTUl9WU19PRkYpIHsKKwkJc3RydWN0IF9fcmlzY3Zf dl9leHRfc3RhdGUgKnZzdGF0ZSA9ICZ0YXNrLT50aHJlYWQudnN0YXRlOworCisJCV9fcmlzY3Zf dl92c3RhdGVfcmVzdG9yZSh2c3RhdGUsIHZzdGF0ZS0+ZGF0YXApOworCQlfX3Jpc2N2X3ZfdnN0 YXRlX2NsZWFuKHJlZ3MpOworCX0KK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fc3dpdGNoX3Rv X3ZlY3RvcihzdHJ1Y3QgdGFza19zdHJ1Y3QgKnByZXYsCisJCQkJICAgICAgc3RydWN0IHRhc2tf c3RydWN0ICpuZXh0KQoreworCXN0cnVjdCBwdF9yZWdzICpyZWdzOworCisJcmVncyA9IHRhc2tf cHRfcmVncyhwcmV2KTsKKwlyaXNjdl92X3ZzdGF0ZV9zYXZlKHByZXYsIHJlZ3MpOworCXJpc2N2 X3ZfdnN0YXRlX3Jlc3RvcmUobmV4dCwgdGFza19wdF9yZWdzKG5leHQpKTsKK30KKwogI2Vsc2Ug LyogISBDT05GSUdfUklTQ1ZfSVNBX1YgICovCiAKIHN0cnVjdCBwdF9yZWdzOwpAQCAtMTMyLDYg KzE2Nyw5IEBAIHN0YXRpYyBpbmxpbmUgaW50IHJpc2N2X3Zfc2V0dXBfdnNpemUodm9pZCkgeyBy ZXR1cm4gLUVPUE5PVFNVUFA7IH0KIHN0YXRpYyBfX2Fsd2F5c19pbmxpbmUgYm9vbCBoYXNfdmVj dG9yKHZvaWQpIHsgcmV0dXJuIGZhbHNlOyB9CiBzdGF0aWMgaW5saW5lIGJvb2wgcmlzY3Zfdl92 c3RhdGVfcXVlcnkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpIHsgcmV0dXJuIGZhbHNlOyB9CiAjZGVm aW5lIHJpc2N2X3ZfdnNpemUgKDApCisjZGVmaW5lIHJpc2N2X3ZfdnN0YXRlX3NhdmUodGFzaywg cmVncykJCWRvIHt9IHdoaWxlICgwKQorI2RlZmluZSByaXNjdl92X3ZzdGF0ZV9yZXN0b3JlKHRh c2ssIHJlZ3MpCWRvIHt9IHdoaWxlICgwKQorI2RlZmluZSBfX3N3aXRjaF90b192ZWN0b3IoX19w cmV2LCBfX25leHQpCWRvIHt9IHdoaWxlICgwKQogI2RlZmluZSByaXNjdl92X3ZzdGF0ZV9vZmYo cmVncykJCWRvIHt9IHdoaWxlICgwKQogI2RlZmluZSByaXNjdl92X3ZzdGF0ZV9vbihyZWdzKQkJ CWRvIHt9IHdoaWxlICgwKQogCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9wcm9jZXNz LmMgYi9hcmNoL3Jpc2N2L2tlcm5lbC9wcm9jZXNzLmMKaW5kZXggZTJhMDYwMDY2NzMwLi43OGVi NWFjNDU4ODggMTAwNjQ0Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3Byb2Nlc3MuYworKysgYi9h cmNoL3Jpc2N2L2tlcm5lbC9wcm9jZXNzLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxh c20vc3dpdGNoX3RvLmg+CiAjaW5jbHVkZSA8YXNtL3RocmVhZF9pbmZvLmg+CiAjaW5jbHVkZSA8 YXNtL2NwdWlkbGUuaD4KKyNpbmNsdWRlIDxhc20vdmVjdG9yLmg+CiAKIHJlZ2lzdGVyIHVuc2ln bmVkIGxvbmcgZ3BfaW5fZ2xvYmFsIF9fYXNtX18oImdwIik7CiAKQEAgLTE0NiwxMiArMTQ3LDI4 IEBAIHZvaWQgZmx1c2hfdGhyZWFkKHZvaWQpCiAJZnN0YXRlX29mZihjdXJyZW50LCB0YXNrX3B0 X3JlZ3MoY3VycmVudCkpOwogCW1lbXNldCgmY3VycmVudC0+dGhyZWFkLmZzdGF0ZSwgMCwgc2l6 ZW9mKGN1cnJlbnQtPnRocmVhZC5mc3RhdGUpKTsKICNlbmRpZgorI2lmZGVmIENPTkZJR19SSVND Vl9JU0FfVgorCS8qIFJlc2V0IHZlY3RvciBzdGF0ZSAqLworCXJpc2N2X3ZfdnN0YXRlX29mZih0 YXNrX3B0X3JlZ3MoY3VycmVudCkpOworCWtmcmVlKGN1cnJlbnQtPnRocmVhZC52c3RhdGUuZGF0 YXApOworCW1lbXNldCgmY3VycmVudC0+dGhyZWFkLnZzdGF0ZSwgMCwgc2l6ZW9mKHN0cnVjdCBf X3Jpc2N2X3ZfZXh0X3N0YXRlKSk7CisjZW5kaWYKK30KKwordm9pZCBhcmNoX3JlbGVhc2VfdGFz a19zdHJ1Y3Qoc3RydWN0IHRhc2tfc3RydWN0ICp0c2spCit7CisJLyogRnJlZSB0aGUgdmVjdG9y IGNvbnRleHQgb2YgZGF0YXAuICovCisJaWYgKGhhc192ZWN0b3IoKSkKKwkJa2ZyZWUodHNrLT50 aHJlYWQudnN0YXRlLmRhdGFwKTsKIH0KIAogaW50IGFyY2hfZHVwX3Rhc2tfc3RydWN0KHN0cnVj dCB0YXNrX3N0cnVjdCAqZHN0LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnNyYykKIHsKIAlmc3RhdGVf c2F2ZShzcmMsIHRhc2tfcHRfcmVncyhzcmMpKTsKIAkqZHN0ID0gKnNyYzsKKwkvKiBjbGVhciBl bnRpcmUgViBjb250ZXh0LCBpbmNsdWRpbmcgZGF0YXAgZm9yIGEgbmV3IHRhc2sgKi8KKwltZW1z ZXQoJmRzdC0+dGhyZWFkLnZzdGF0ZSwgMCwgc2l6ZW9mKHN0cnVjdCBfX3Jpc2N2X3ZfZXh0X3N0 YXRlKSk7CisKIAlyZXR1cm4gMDsKIH0KIApAQCAtMTc2LDYgKzE5Myw4IEBAIGludCBjb3B5X3Ro cmVhZChzdHJ1Y3QgdGFza19zdHJ1Y3QgKnAsIGNvbnN0IHN0cnVjdCBrZXJuZWxfY2xvbmVfYXJn cyAqYXJncykKIAkJcC0+dGhyZWFkLnNbMV0gPSAodW5zaWduZWQgbG9uZylhcmdzLT5mbl9hcmc7 CiAJfSBlbHNlIHsKIAkJKmNoaWxkcmVncyA9ICooY3VycmVudF9wdF9yZWdzKCkpOworCQkvKiBU dXJuIG9mZiBzdGF0dXMuVlMgKi8KKwkJcmlzY3Zfdl92c3RhdGVfb2ZmKGNoaWxkcmVncyk7CiAJ CWlmICh1c3ApIC8qIFVzZXIgZm9yayAqLwogCQkJY2hpbGRyZWdzLT5zcCA9IHVzcDsKIAkJaWYg KGNsb25lX2ZsYWdzICYgQ0xPTkVfU0VUVExTKQotLSAKMi4xNy4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0 CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=