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 60B96CCFA07 for ; Wed, 5 Nov 2025 08:29:34 +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=yCt0pUtDvWvU8s1B+1kPhNaA9/qHfR+OUX4VXpyjsUE=; b=B40WwFwNHLTRnf UvaThHnsyjD9BlordfWkH44uW+CLziJ8+HIWUfO2HV2D7u+ERMPaTCo6bYlxlE4fWnqKLYBPJ/Bee nyfWMnhc39JuATloTSE4cAkTmErTZuyESq8OhSVWATQFYo3AUYlHF+gFw5rsAAvZb/9ejbqANUcCF ZIDh11DFg+5kD5pKKc/qxxcAIyWpAjh7akCaQiuVbhQGSo4WnwNcFqRzJb5Jgl2NbsOoD3TB2CXKC l7LbnSWtZXJq2VvZxKOXJKeebQOrO/CXk56S/HDOi2bvEZIgcm8eSKjdp2zeXFvKFPvcCMIUh/goq 5NHrobH6QGtlMenPA2eg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1vGYtQ-0000000DHdQ-04ur; Wed, 05 Nov 2025 08:29:24 +0000 Received: from mail-pl1-x631.google.com ([2607:f8b0:4864:20::631]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1vGYtN-0000000DHap-1YKJ for linux-riscv@lists.infradead.org; Wed, 05 Nov 2025 08:29:22 +0000 Received: by mail-pl1-x631.google.com with SMTP id d9443c01a7336-2955805b7acso5727985ad.1 for ; Wed, 05 Nov 2025 00:29:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc.com; s=google; t=1762331360; x=1762936160; darn=lists.infradead.org; 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=UpAlHv9OQWYvUlKWgP1gdNckfEi918WeQvUwQAzIeaA=; b=GNyc3cCKvhM2aNWdK1pqBW78RgpTuFGPI8dspoNxf3GiGvFbsj1+kmLDN7KoCMil6Z xLeR+KgIYo3PUUl7m8233lW/c24RwpFZVOqjFtBpALLbmPjsVpYQ3pnU070RvPbEHea4 6lQOVXYeOFRseyTHlPlFPa+4Jabfp1SKgrry360PUqMND9oqT9bL/M0gJhyV53y0PVvH 5BYhN6u5EQbh8JhBFNuwHuAuUXh/m8HiqURPysbFaSD87eUd8ji1kDwVABpYcDTWFxms WRFtsp35jtBgykSpPIpVskJv8XXgiDEZ6/HY7jIHMwvLRJ7d4c6ZcTEvqNBGEbVJjQT+ +JjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1762331360; x=1762936160; 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=UpAlHv9OQWYvUlKWgP1gdNckfEi918WeQvUwQAzIeaA=; b=SvdUkGds3fleKP7I3oHT2jIw6s1g8jJAIPrYhPr39UPmO4reEWnDa3WKJhNt3/uvJQ G7XkT0b3jAnMEpcA8OPnUQreIlFm+D4XX0PHLtrl4BozviHSg2A7mutC+NFKXF5J4UWR gE/sUYMTi8uOXnkv3dRRn+cZ61G67RoM3w6Hku5HiRXuYZFyzCLLymqJyA1mmseOhSKJ L5iNp4Kn3R9lDfRNacPDm0aXPXUyLaB9agsXak2omxcIYCWFuAYub516gp/ZVxzIuD7C yNrdvrySq19e3HKsPF5H7vvEx0SqbzJjNu3m3ZhtLdmjmXjpL36l3JXOUnPTy0SHUaAt R7kA== X-Forwarded-Encrypted: i=1; AJvYcCVusQfqmjkxgKG+sCDQPfeRwKigGgoEUeqIEosQQc9DQl2PXT+pQkBGGkTZth2F0YU3ieItnmNsPn7+0g==@lists.infradead.org X-Gm-Message-State: AOJu0YyB7NTXFaSYGpBnCEoscjeJKBD4GevZIpHpuOdhSKjczNh6OK9u /Prvj50GPYR/Ffa8TZNWZqzAtHHMFV924V3E/Qdk36Flq/w3sb6NYR+C7XVSCv5mbUY= X-Gm-Gg: ASbGncuCjuDnyjwnzXLnzysKnEvvCzznOq0h67oPJLWZNWsKw6eG+nWeSGnGpE1aLHA UogqGpTP+VMNhE++IdWkaMjAZ8zFdEMjo+Akf1besH26c2tX8GIQ3WgLZ+QWU64fPi+ot+Dn6TX xYq8+5nsj4Sd7+TnlRe+xNnsIaUjrMMbY8w9UlkNCnZ2sGY8fDty43row+W6+4zAZMF5ERlkWaZ cZ6fD5GRsmqqUlVNrJwIu7um7qt38GkoxPAW2WrH6VVU7mZFhTVNhai5TZnvrXxW+EE+/GTsWOS +es0OFBmHLZE3bLgO/Jx1b3gtjRt0rQrtvLnc2biZ1/+SFVRY1iAlWZNIUnSF4LYj8rWb/9antV WQ1//b/CiTnHVv1OGzHR9Sgedu8AaWPxiq/PEabgqsdrGYTxcTUz9R1mJ X-Google-Smtp-Source: AGHT+IF2Z6homljqV5rqhE78buYnfAbixEFj/1q40usfOdn/g6EqgmSRtkgSbkwfy2jLGxHxkCHQEw== X-Received: by 2002:a17:902:e5cb:b0:273:ef4c:60f3 with SMTP id d9443c01a7336-295f937c8a7mr84723755ad.4.1762331360459; Wed, 05 Nov 2025 00:29:20 -0800 (PST) Received: from cleger.eu.int ([2001:41d0:420:f300::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-29601a741e3sm51870875ad.98.2025.11.05.00.29.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Nov 2025 00:29:19 -0800 (PST) From: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= To: Paul Walmsley , Palmer Dabbelt , linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: =?UTF-8?q?Cl=C3=A9ment=20L=C3=A9ger?= , Himanshu Chauhan , Anup Patel , Xu Lu , Atish Patra , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Yunhui Cui Subject: [PATCH v8 4/5] perf: RISC-V: add support for SSE event Date: Wed, 5 Nov 2025 08:26:36 +0000 Message-ID: <20251105082639.342973-5-cleger@rivosinc.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251105082639.342973-1-cleger@rivosinc.com> References: <20251105082639.342973-1-cleger@rivosinc.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20251105_002921_434264_5DBBC583 X-CRM114-Status: GOOD ( 21.24 ) 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 SW4gb3JkZXIgdG8gdXNlIFNTRSB3aXRoaW4gUE1VIGRyaXZlcnMsIHJlZ2lzdGVyIGEgU1NFIGhh bmRsZXIgZm9yIHRoZQpsb2NhbCBQTVUgZXZlbnQuIFJldXNlIHRoZSBleGlzdGluZyBvdmVyZmxv dyBJUlEgaGFuZGxlciBhbmQgcGFzcwphcHByb3ByaWF0ZSBwdF9yZWdzLiBBZGQgYSBjb25maWcg b3B0aW9uIFJJU0NWX1BNVV9TU0UgdG8gc2VsZWN0IGV2ZW50CmRlbGl2ZXJ5IHZpYSBTU0UgZXZl bnRzLgoKU2lnbmVkLW9mZi1ieTogQ2zDqW1lbnQgTMOpZ2VyIDxjbGVnZXJAcml2b3NpbmMuY29t PgotLS0KIGRyaXZlcnMvcGVyZi9LY29uZmlnICAgICAgICAgICB8IDEwICsrKysrCiBkcml2ZXJz L3BlcmYvcmlzY3ZfcG11LmMgICAgICAgfCAyMyArKysrKysrKysrKwogZHJpdmVycy9wZXJmL3Jp c2N2X3BtdV9zYmkuYyAgIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQog aW5jbHVkZS9saW51eC9wZXJmL3Jpc2N2X3BtdS5oIHwgIDUgKysrCiA0IGZpbGVzIGNoYW5nZWQs IDk5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv cGVyZi9LY29uZmlnIGIvZHJpdmVycy9wZXJmL0tjb25maWcKaW5kZXggNjM4MzIxZmM5ODAwLi5k NmZmYzJiMDM2ZTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGVyZi9LY29uZmlnCisrKyBiL2RyaXZl cnMvcGVyZi9LY29uZmlnCkBAIC0xMDUsNiArMTA1LDE2IEBAIGNvbmZpZyBSSVNDVl9QTVVfU0JJ CiAJICBmdWxsIHBlcmYgZmVhdHVyZSBzdXBwb3J0IGkuZS4gY291bnRlciBvdmVyZmxvdywgcHJp dmlsZWdlIG1vZGUKIAkgIGZpbHRlcmluZywgY291bnRlciBjb25maWd1cmF0aW9uLgogCitjb25m aWcgUklTQ1ZfUE1VX1NCSV9TU0UKKwlkZXBlbmRzIG9uIFJJU0NWX1BNVSAmJiBSSVNDVl9TQklf U1NFCisJYm9vbCAiUklTQy1WIFBNVSBTU0UgZXZlbnRzIgorCWRlZmF1bHQgbgorCWhlbHAKKwkg IFNheSB5IGlmIHlvdSB3YW50IHRvIHVzZSBTU0UgZXZlbnRzIHRvIGRlbGl2ZXIgUE1VIGludGVy cnVwdHMuIFRoaXMKKwkgIHByb3ZpZGVzIGEgd2F5IHRvIHByb2ZpbGUgdGhlIGtlcm5lbCBhdCBh bnkgbGV2ZWwgYnkgdXNpbmcgTk1JLWxpa2UKKwkgIFNTRSBldmVudHMuIFNTRSBldmVudHMgYmVp bmcgcmVhbGx5IGludHJ1c2l2ZSwgdGhpcyBvcHRpb24gYWxsb3dzCisJICB0byBzZWxlY3QgaXQg b25seSBpZiBuZWVkZWQuCisKIGNvbmZpZyBTVEFSRklWRV9TVEFSTElOS19QTVUKIAlkZXBlbmRz IG9uIEFSQ0hfU1RBUkZJVkUgfHwgQ09NUElMRV9URVNUCiAJZGVwZW5kcyBvbiA2NEJJVApkaWZm IC0tZ2l0IGEvZHJpdmVycy9wZXJmL3Jpc2N2X3BtdS5jIGIvZHJpdmVycy9wZXJmL3Jpc2N2X3Bt dS5jCmluZGV4IDc2NDQxNDdkNTBiNC4uZGRhMjgxNDgwMWMwIDEwMDY0NAotLS0gYS9kcml2ZXJz L3BlcmYvcmlzY3ZfcG11LmMKKysrIGIvZHJpdmVycy9wZXJmL3Jpc2N2X3BtdS5jCkBAIC0xMyw2 ICsxMyw3IEBACiAjaW5jbHVkZSA8bGludXgvaXJxZGVzYy5oPgogI2luY2x1ZGUgPGxpbnV4L3Bl cmYvcmlzY3ZfcG11Lmg+CiAjaW5jbHVkZSA8bGludXgvcHJpbnRrLmg+CisjaW5jbHVkZSA8bGlu dXgvcmlzY3Zfc2JpX3NzZS5oPgogI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgogI2luY2x1ZGUgPGxp bnV4L3NjaGVkX2Nsb2NrLmg+CiAKQEAgLTI1NCw2ICsyNTUsMjQgQEAgdm9pZCByaXNjdl9wbXVf c3RhcnQoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxhZ3MpCiAJcGVyZl9ldmVudF91 cGRhdGVfdXNlcnBhZ2UoZXZlbnQpOwogfQogCisjaWZkZWYgQ09ORklHX1JJU0NWX1BNVV9TQklf U1NFCitzdGF0aWMgdm9pZCByaXNjdl9wbXVfZGlzYWJsZShzdHJ1Y3QgcG11ICpwbXUpCit7CisJ c3RydWN0IHJpc2N2X3BtdSAqcnZwbXUgPSB0b19yaXNjdl9wbXUocG11KTsKKworCWlmIChydnBt dS0+c3NlX2V2dCkKKwkJc3NlX2V2ZW50X2Rpc2FibGVfbG9jYWwocnZwbXUtPnNzZV9ldnQpOwor fQorCitzdGF0aWMgdm9pZCByaXNjdl9wbXVfZW5hYmxlKHN0cnVjdCBwbXUgKnBtdSkKK3sKKwlz dHJ1Y3QgcmlzY3ZfcG11ICpydnBtdSA9IHRvX3Jpc2N2X3BtdShwbXUpOworCisJaWYgKHJ2cG11 LT5zc2VfZXZ0KQorCQlzc2VfZXZlbnRfZW5hYmxlX2xvY2FsKHJ2cG11LT5zc2VfZXZ0KTsKK30K KyNlbmRpZgorCiBzdGF0aWMgaW50IHJpc2N2X3BtdV9hZGQoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50LCBpbnQgZmxhZ3MpCiB7CiAJc3RydWN0IHJpc2N2X3BtdSAqcnZwbXUgPSB0b19yaXNjdl9w bXUoZXZlbnQtPnBtdSk7CkBAIC00MTEsNiArNDMwLDEwIEBAIHN0cnVjdCByaXNjdl9wbXUgKnJp c2N2X3BtdV9hbGxvYyh2b2lkKQogCQkuZXZlbnRfbWFwcGVkCT0gcmlzY3ZfcG11X2V2ZW50X21h cHBlZCwKIAkJLmV2ZW50X3VubWFwcGVkCT0gcmlzY3ZfcG11X2V2ZW50X3VubWFwcGVkLAogCQku ZXZlbnRfaWR4CT0gcmlzY3ZfcG11X2V2ZW50X2lkeCwKKyNpZmRlZiBDT05GSUdfUklTQ1ZfUE1V X1NCSV9TU0UKKwkJLnBtdV9lbmFibGUJPSByaXNjdl9wbXVfZW5hYmxlLAorCQkucG11X2Rpc2Fi bGUJPSByaXNjdl9wbXVfZGlzYWJsZSwKKyNlbmRpZgogCQkuYWRkCQk9IHJpc2N2X3BtdV9hZGQs CiAJCS5kZWwJCT0gcmlzY3ZfcG11X2RlbCwKIAkJLnN0YXJ0CQk9IHJpc2N2X3BtdV9zdGFydCwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGVyZi9yaXNjdl9wbXVfc2JpLmMgYi9kcml2ZXJzL3BlcmYv cmlzY3ZfcG11X3NiaS5jCmluZGV4IGUyNTVjMWIwNjllYy4uYzg1MmY2NGE1MDIyIDEwMDY0NAot LS0gYS9kcml2ZXJzL3BlcmYvcmlzY3ZfcG11X3NiaS5jCisrKyBiL2RyaXZlcnMvcGVyZi9yaXNj dl9wbXVfc2JpLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pcnFkb21haW4u aD4KICNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2lu Y2x1ZGUgPGxpbnV4L3Jpc2N2X3NiaV9zc2UuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVfcG0uaD4K ICNpbmNsdWRlIDxsaW51eC9zY2hlZC9jbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NvYy9hbmRl cy9pcnEuaD4KQEAgLTEwMzgsMTAgKzEwMzksMTAgQEAgc3RhdGljIHZvaWQgcG11X3NiaV9zdGFy dF9vdmVyZmxvd19tYXNrKHN0cnVjdCByaXNjdl9wbXUgKnBtdSwKIAkJcG11X3NiaV9zdGFydF9v dmZfY3Ryc19zYmkoY3B1X2h3X2V2dCwgY3RyX292Zl9tYXNrKTsKIH0KIAotc3RhdGljIGlycXJl dHVybl90IHBtdV9zYmlfb3ZmX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2KQorc3RhdGljIGly cXJldHVybl90IHBtdV9zYmlfb3ZmX2hhbmRsZXIoc3RydWN0IGNwdV9od19ldmVudHMgKmNwdV9o d19ldnQsCisJCQkJICAgICAgIHN0cnVjdCBwdF9yZWdzICpyZWdzLCBib29sIGZyb21fc3NlKQog ewogCXN0cnVjdCBwZXJmX3NhbXBsZV9kYXRhIGRhdGE7Ci0Jc3RydWN0IHB0X3JlZ3MgKnJlZ3M7 CiAJc3RydWN0IGh3X3BlcmZfZXZlbnQgKmh3X2V2dDsKIAl1bmlvbiBzYmlfcG11X2N0cl9pbmZv ICppbmZvOwogCWludCBsaWR4LCBoaWR4LCBmaWR4OwpAQCAtMTA0OSw3ICsxMDUwLDYgQEAgc3Rh dGljIGlycXJldHVybl90IHBtdV9zYmlfb3ZmX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2KQog CXN0cnVjdCBwZXJmX2V2ZW50ICpldmVudDsKIAl1NjQgb3ZlcmZsb3c7CiAJdTY0IG92ZXJmbG93 ZWRfY3RycyA9IDA7Ci0Jc3RydWN0IGNwdV9od19ldmVudHMgKmNwdV9od19ldnQgPSBkZXY7CiAJ dTY0IHN0YXJ0X2Nsb2NrID0gc2NoZWRfY2xvY2soKTsKIAlzdHJ1Y3QgcmlzY3ZfcG11X3NuYXBz aG90X2RhdGEgKnNkYXRhID0gY3B1X2h3X2V2dC0+c25hcHNob3RfYWRkcjsKIApAQCAtMTA1OSwx MyArMTA1OSwxNSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcG11X3NiaV9vdmZfaGFuZGxlcihpbnQg aXJxLCB2b2lkICpkZXYpCiAJLyogRmlybXdhcmUgY291bnRlciBkb24ndCBzdXBwb3J0IG92ZXJm bG93IHlldCAqLwogCWZpZHggPSBmaW5kX2ZpcnN0X2JpdChjcHVfaHdfZXZ0LT51c2VkX2h3X2N0 cnMsIFJJU0NWX01BWF9DT1VOVEVSUyk7CiAJaWYgKGZpZHggPT0gUklTQ1ZfTUFYX0NPVU5URVJT KSB7Ci0JCWNzcl9jbGVhcihDU1JfU0lQLCBCSVQocmlzY3ZfcG11X2lycV9udW0pKTsKKwkJaWYg KCFmcm9tX3NzZSkKKwkJCWNzcl9jbGVhcihDU1JfU0lQLCBCSVQocmlzY3ZfcG11X2lycV9udW0p KTsKIAkJcmV0dXJuIElSUV9OT05FOwogCX0KIAogCWV2ZW50ID0gY3B1X2h3X2V2dC0+ZXZlbnRz W2ZpZHhdOwogCWlmICghZXZlbnQpIHsKLQkJQUxUX1NCSV9QTVVfT1ZGX0NMRUFSX1BFTkRJTkco cmlzY3ZfcG11X2lycV9tYXNrKTsKKwkJaWYgKCFmcm9tX3NzZSkKKwkJCUFMVF9TQklfUE1VX09W Rl9DTEVBUl9QRU5ESU5HKHJpc2N2X3BtdV9pcnFfbWFzayk7CiAJCXJldHVybiBJUlFfTk9ORTsK IAl9CiAKQEAgLTEwODAsMTYgKzEwODIsMTYgQEAgc3RhdGljIGlycXJldHVybl90IHBtdV9zYmlf b3ZmX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqZGV2KQogCiAJLyoKIAkgKiBPdmVyZmxvdyBpbnRl cnJ1cHQgcGVuZGluZyBiaXQgc2hvdWxkIG9ubHkgYmUgY2xlYXJlZCBhZnRlciBzdG9wcGluZwot CSAqIGFsbCB0aGUgY291bnRlcnMgdG8gYXZvaWQgYW55IHJhY2UgY29uZGl0aW9uLgorCSAqIGFs bCB0aGUgY291bnRlcnMgdG8gYXZvaWQgYW55IHJhY2UgY29uZGl0aW9uLiBXaGVuIHVzaW5nIFNT RSwKKwkgKiBpbnRlcnJ1cHQgaXMgY2xlYXJlZCB3aGVuIHN0b3BwaW5nIGNvdW50ZXJzLgogCSAq LwotCUFMVF9TQklfUE1VX09WRl9DTEVBUl9QRU5ESU5HKHJpc2N2X3BtdV9pcnFfbWFzayk7CisJ aWYgKCFmcm9tX3NzZSkKKwkJQUxUX1NCSV9QTVVfT1ZGX0NMRUFSX1BFTkRJTkcocmlzY3ZfcG11 X2lycV9tYXNrKTsKIAogCS8qIE5vIG92ZXJmbG93IGJpdCBpcyBzZXQgKi8KIAlpZiAoIW92ZXJm bG93KQogCQlyZXR1cm4gSVJRX05PTkU7CiAKLQlyZWdzID0gZ2V0X2lycV9yZWdzKCk7Ci0KIAlm b3JfZWFjaF9zZXRfYml0KGxpZHgsIGNwdV9od19ldnQtPnVzZWRfaHdfY3RycywgUklTQ1ZfTUFY X0NPVU5URVJTKSB7CiAJCXN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCA9IGNwdV9od19ldnQtPmV2 ZW50c1tsaWR4XTsKIApAQCAtMTE0NSw2ICsxMTQ3LDUxIEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBw bXVfc2JpX292Zl9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldikKIAlyZXR1cm4gSVJRX0hBTkRM RUQ7CiB9CiAKK3N0YXRpYyBpcnFyZXR1cm5fdCBwbXVfc2JpX292Zl9pcnFfaGFuZGxlcihpbnQg aXJxLCB2b2lkICpkZXYpCit7CisJcmV0dXJuIHBtdV9zYmlfb3ZmX2hhbmRsZXIoZGV2LCBnZXRf aXJxX3JlZ3MoKSwgZmFsc2UpOworfQorCisjaWZkZWYgQ09ORklHX1JJU0NWX1BNVV9TQklfU1NF CitzdGF0aWMgaW50IHBtdV9zYmlfb3ZmX3NzZV9oYW5kbGVyKHUzMiBldnQsIHZvaWQgKmFyZywg c3RydWN0IHB0X3JlZ3MgKnJlZ3MpCit7CisJc3RydWN0IGNwdV9od19ldmVudHMgX19wZXJjcHUg Kmh3X2V2ZW50cyA9IGFyZzsKKwlzdHJ1Y3QgY3B1X2h3X2V2ZW50cyAqaHdfZXZlbnQgPSByYXdf Y3B1X3B0cihod19ldmVudHMpOworCisJcG11X3NiaV9vdmZfaGFuZGxlcihod19ldmVudCwgcmVn cywgdHJ1ZSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwbXVfc2JpX3NldHVwX3Nz ZShzdHJ1Y3QgcmlzY3ZfcG11ICpwbXUpCit7CisJaW50IHJldDsKKwlzdHJ1Y3Qgc3NlX2V2ZW50 ICpldnQ7CisJc3RydWN0IGNwdV9od19ldmVudHMgX19wZXJjcHUgKmh3X2V2ZW50cyA9IHBtdS0+ aHdfZXZlbnRzOworCisJZXZ0ID0gc3NlX2V2ZW50X3JlZ2lzdGVyKFNCSV9TU0VfRVZFTlRfTE9D QUxfUE1VX09WRVJGTE9XLCAwLAorCQkJCSBwbXVfc2JpX292Zl9zc2VfaGFuZGxlciwgaHdfZXZl bnRzKTsKKwlpZiAoSVNfRVJSKGV2dCkpCisJCXJldHVybiBQVFJfRVJSKGV2dCk7CisKKwlyZXQg PSBzc2VfZXZlbnRfZW5hYmxlKGV2dCk7CisJaWYgKHJldCkgeworCQlzc2VfZXZlbnRfdW5yZWdp c3RlcihldnQpOworCQlyZXR1cm4gcmV0OworCX0KKworCXByX2luZm8oInVzaW5nIFNTRSBmb3Ig UE1VIGV2ZW50IGRlbGl2ZXJ5XG4iKTsKKwlwbXUtPnNzZV9ldnQgPSBldnQ7CisKKwlyZXR1cm4g cmV0OworfQorI2Vsc2UKK3N0YXRpYyBpbnQgcG11X3NiaV9zZXR1cF9zc2Uoc3RydWN0IHJpc2N2 X3BtdSAqcG11KQoreworCXJldHVybiAtRU9QTk9UU1VQUDsKK30KKyNlbmRpZgorCiBzdGF0aWMg aW50IHBtdV9zYmlfc3RhcnRpbmdfY3B1KHVuc2lnbmVkIGludCBjcHUsIHN0cnVjdCBobGlzdF9u b2RlICpub2RlKQogewogCXN0cnVjdCByaXNjdl9wbXUgKnBtdSA9IGhsaXN0X2VudHJ5X3NhZmUo bm9kZSwgc3RydWN0IHJpc2N2X3BtdSwgbm9kZSk7CkBAIC0xMTk1LDYgKzEyNDIsMTAgQEAgc3Rh dGljIGludCBwbXVfc2JpX3NldHVwX2lycXMoc3RydWN0IHJpc2N2X3BtdSAqcG11LCBzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGUKIAlzdHJ1Y3QgY3B1X2h3X2V2ZW50cyBfX3BlcmNwdSAqaHdf ZXZlbnRzID0gcG11LT5od19ldmVudHM7CiAJc3RydWN0IGlycV9kb21haW4gKmRvbWFpbiA9IE5V TEw7CiAKKwlyZXQgPSBwbXVfc2JpX3NldHVwX3NzZShwbXUpOworCWlmICghcmV0KQorCQlyZXR1 cm4gMDsKKwogCWlmIChyaXNjdl9pc2FfZXh0ZW5zaW9uX2F2YWlsYWJsZShOVUxMLCBTU0NPRlBN RikpIHsKIAkJcmlzY3ZfcG11X2lycV9udW0gPSBSVl9JUlFfUE1VOwogCQlyaXNjdl9wbXVfdXNl X2lycSA9IHRydWU7CkBAIC0xMjI5LDcgKzEyODAsNyBAQCBzdGF0aWMgaW50IHBtdV9zYmlfc2V0 dXBfaXJxcyhzdHJ1Y3QgcmlzY3ZfcG11ICpwbXUsIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZQogCQlyZXR1cm4gLUVOT0RFVjsKIAl9CiAKLQlyZXQgPSByZXF1ZXN0X3BlcmNwdV9pcnEocmlz Y3ZfcG11X2lycSwgcG11X3NiaV9vdmZfaGFuZGxlciwgInJpc2N2LXBtdSIsIGh3X2V2ZW50cyk7 CisJcmV0ID0gcmVxdWVzdF9wZXJjcHVfaXJxKHJpc2N2X3BtdV9pcnEsIHBtdV9zYmlfb3ZmX2ly cV9oYW5kbGVyLCAicmlzY3YtcG11IiwgaHdfZXZlbnRzKTsKIAlpZiAocmV0KSB7CiAJCXByX2Vy cigicmVnaXN0ZXJpbmcgcGVyY3B1IGlycSBmYWlsZWQgWyVkXVxuIiwgcmV0KTsKIAkJcmV0dXJu IHJldDsKZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvcGVyZi9yaXNjdl9wbXUuaCBiL2luY2x1 ZGUvbGludXgvcGVyZi9yaXNjdl9wbXUuaAppbmRleCBmODJhMjgwNDA1OTQuLjA4ZmRjZjZiYWY0 ZSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9wZXJmL3Jpc2N2X3BtdS5oCisrKyBiL2luY2x1 ZGUvbGludXgvcGVyZi9yaXNjdl9wbXUuaApAQCAtMjgsNiArMjgsOCBAQAogCiAjZGVmaW5lIFJJ U0NWX1BNVV9DT05GSUcxX0dVRVNUX0VWRU5UUyAweDEKIAorc3RydWN0IHNzZV9ldmVudDsKKwog c3RydWN0IGNwdV9od19ldmVudHMgewogCS8qIGN1cnJlbnRseSBlbmFibGVkIGV2ZW50cyAqLwog CWludAkJCW5fZXZlbnRzOwpAQCAtNTQsNiArNTYsOSBAQCBzdHJ1Y3QgcmlzY3ZfcG11IHsKIAlj aGFyCQkqbmFtZTsKIAogCWlycXJldHVybl90CSgqaGFuZGxlX2lycSkoaW50IGlycV9udW0sIHZv aWQgKmRldik7CisjaWZkZWYgQ09ORklHX1JJU0NWX1BNVV9TQklfU1NFCisJc3RydWN0IHNzZV9l dmVudCAqc3NlX2V2dDsKKyNlbmRpZgogCiAJdW5zaWduZWQgbG9uZwljbWFzazsKIAl1NjQJCSgq Y3RyX3JlYWQpKHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCk7Ci0tIAoyLjQzLjAKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1yaXNjdiBtYWls aW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==