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 EFA11CAC582 for ; Mon, 8 Sep 2025 23:54:00 +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=GHz2DxNigAXIVcrQM4pbicMhmnqt5dWgKLS6ooLGhbs=; b=llzATLhItzTuft lWx9PgVgz80PUbzLzaioYWZbaUvrvztIE/b2qAkg543NvUige8x4T02yp32l5m9UeWjXL1exn9x6s 93UTqKVdxwlrpfBB/8pT8pfXt29pglUBw5YBcWHwPpdl4FluKhtF1Tpm0E1zEDquYcziH+tc5gdFY vjd597QBoMNqXQIIBM6fAp2vHD0ycFPqpYbqz1tvpAxglqEvZpyPRxozV3e1YmQMFSqDu2UWMjGyA A2LXvo94ExX6ZFaLaDVIQrht25WIY/PlD6laV/h/edsLBMUhbZTH3H0LlIecr9vPrSpcPf1gO3w1P rHxtGfyOVZa+SCdy+OLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1uvlg9-000000035Qm-0BOo; Mon, 08 Sep 2025 23:53:45 +0000 Received: from mail-pl1-x62d.google.com ([2607:f8b0:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1uvgSn-00000001ULF-3YM5 for linux-riscv@lists.infradead.org; Mon, 08 Sep 2025 18:19:39 +0000 Received: by mail-pl1-x62d.google.com with SMTP id d9443c01a7336-2445806df50so40982835ad.1 for ; Mon, 08 Sep 2025 11:19:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc.com; s=google; t=1757355577; x=1757960377; 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=OlSQveSkmHqeqOCz+8QD3cqQ+2CFh4AB3iYCoih56HI=; b=JdjJEYOeuekQFShm45cHzL0AyvccLfcRybzVkmvo5LnGrb0A8hGhmh4fpZZdxuPm0d aSaNAk+eGkaKwnTT2IpOMFKgiZZ/qQQNoLUuqdRCC6rxP4ZMnqNuG7U6aVkrijvY4lcZ pPSAvjLG1UlEJxcqch7SaqGYzRipJeOGM3/z2oszUe+r2ZCP6J18BWIFb6PcUCV/4C+S pz1yabrTdQ1jC7UsW4Iq0bkEVWX1ULZhyned/RXrXt5+QFgmEObmLUD1M8TilGPmbCfF FAvpwqsl2l59FiWU+2eP6cnpIAcfvlq9FNPWVnVa4O4Q9sMorQbeC1Dm+dPdjwCJBtIV ckLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1757355577; x=1757960377; 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=OlSQveSkmHqeqOCz+8QD3cqQ+2CFh4AB3iYCoih56HI=; b=ofrmjjwqkN5/as1LQZSZbCa1xR9Stoh/EUEOFkrJusFBwYoPjvpLbuhTKR3taMVLPg UZjwc3Hj0UqilJhYdYOFcKzFaoq+ZO51nZPozQLcAgDAraPo+rm1uPZ/5vFkxJaOXwh9 iOLwsTmrLxNaRUzJEBSQ+Bai8Kh7h58dXvkmgvj1NfN4sgOfgl/jdZ2NBVAR2JSW7Dib Nyk9TzNz1DhZuEKim4ILq1osSicDlvMCPTrK4Vl+50OjPsIkxGZ3UsV3zviEM0NHIppW 2cC86af+PEUd+P847wI4X/PrBNVw6PzaSJLdHf6mPE/sIXIR6gVep3lJt3XOiPTx+XmX ns5A== X-Forwarded-Encrypted: i=1; AJvYcCUAaOuUGK1wPe7mWjbU+eTn1BGVTuPlRVFachtO4NZYnUSlViXjaPUehW2+JzM6P7m9n/w0AIAA+3LkEw==@lists.infradead.org X-Gm-Message-State: AOJu0YwFBL1te4dW6gSmrVu5QlaTzilAbonQj/8j7GP8ASMnmk/72Qee tF/PXAnKIL/azGYjcLU/XqPAdXuy2C0kBZ9MiWy51XX8bkarkPR8hW+1cUIq5VbXnwk= X-Gm-Gg: ASbGncu8fpNEfC93NT9n42o9Vdrg5tr5EaMrHzkWLKN/25DNBl4UGI8YtomP9nU8ViO 6e+CJVXfyROlmzxL9meCWamX9g7IKnqv96BxRN3s1XRmUyTLIuUbDpe/qAgxHmHMKe1yJzf9Cy4 lI0ct/KK5zKpFsH+pz30O1rDABpVVTG0PhHtyaJY9+lvXHG1Xom2c+GMQPlpFxaH1ULSR/bxtM6 rAThMz4t46mbWDvLiuDLqXLBjsieKVIYNMlSm506DfgvEL7bcS2ktFXHhc0Yk35wOWlpuCDQBy+ W/858TjFe/nQXEoUU6+YBelcVDJnJ0OOoAKf0a4NTOx5rsOvcxfaNL/j9KS9hA3/eQGrkvNSzvO JJ2N5YKlvw74gkw== X-Google-Smtp-Source: AGHT+IGcxXdPyuA6sk3PlCCwbFJFwb57wOSa8X+xCQ07GgjSceHh/z87cR7mb6zcPGNFekV+LMmIPg== X-Received: by 2002:a17:902:a5c3:b0:24c:e9b8:c07 with SMTP id d9443c01a7336-25174374060mr81160125ad.43.1757355577047; Mon, 08 Sep 2025 11:19:37 -0700 (PDT) Received: from cleger.eu.int ([2001:41d0:420:f300::]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-24ccd763948sm117012755ad.118.2025.09.08.11.19.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 08 Sep 2025 11:19:36 -0700 (PDT) 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 v7 4/5] perf: RISC-V: add support for SSE event Date: Mon, 8 Sep 2025 18:17:06 +0000 Message-ID: <20250908181717.1997461-5-cleger@rivosinc.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250908181717.1997461-1-cleger@rivosinc.com> References: <20250908181717.1997461-1-cleger@rivosinc.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250908_111937_884212_FFFB8F13 X-CRM114-Status: GOOD ( 21.86 ) 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 cGVyZi9LY29uZmlnIGIvZHJpdmVycy9wZXJmL0tjb25maWcKaW5kZXggYTkxODhkZWMzNmZlLi5i ZWEwOGQ0Njg5YjEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGVyZi9LY29uZmlnCisrKyBiL2RyaXZl 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 cmlzY3ZfcG11X3NiaS5jCmluZGV4IDY5OGRlOGRkZjg5NS4uYTg2NGE1NDNjY2M4IDEwMDY0NAot LS0gYS9kcml2ZXJzL3BlcmYvcmlzY3ZfcG11X3NiaS5jCisrKyBiL2RyaXZlcnMvcGVyZi9yaXNj dl9wbXVfc2JpLmMKQEAgLTE3LDYgKzE3LDcgQEAKICNpbmNsdWRlIDxsaW51eC9pcnFkb21haW4u aD4KICNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KICNpbmNsdWRlIDxsaW51eC9vZi5oPgorI2lu Y2x1ZGUgPGxpbnV4L3Jpc2N2X3NiaV9zc2UuaD4KICNpbmNsdWRlIDxsaW51eC9jcHVfcG0uaD4K ICNpbmNsdWRlIDxsaW51eC9zY2hlZC9jbG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L3NvYy9hbmRl cy9pcnEuaD4KQEAgLTk0OCwxMCArOTQ5LDEwIEBAIHN0YXRpYyB2b2lkIHBtdV9zYmlfc3RhcnRf b3ZlcmZsb3dfbWFzayhzdHJ1Y3QgcmlzY3ZfcG11ICpwbXUsCiAJCXBtdV9zYmlfc3RhcnRfb3Zm X2N0cnNfc2JpKGNwdV9od19ldnQsIGN0cl9vdmZfbWFzayk7CiB9CiAKLXN0YXRpYyBpcnFyZXR1 cm5fdCBwbXVfc2JpX292Zl9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmRldikKK3N0YXRpYyBpcnFy ZXR1cm5fdCBwbXVfc2JpX292Zl9oYW5kbGVyKHN0cnVjdCBjcHVfaHdfZXZlbnRzICpjcHVfaHdf ZXZ0LAorCQkJCSAgICAgICBzdHJ1Y3QgcHRfcmVncyAqcmVncywgYm9vbCBmcm9tX3NzZSkKIHsK IAlzdHJ1Y3QgcGVyZl9zYW1wbGVfZGF0YSBkYXRhOwotCXN0cnVjdCBwdF9yZWdzICpyZWdzOwog CXN0cnVjdCBod19wZXJmX2V2ZW50ICpod19ldnQ7CiAJdW5pb24gc2JpX3BtdV9jdHJfaW5mbyAq aW5mbzsKIAlpbnQgbGlkeCwgaGlkeCwgZmlkeDsKQEAgLTk1OSw3ICs5NjAsNiBAQCBzdGF0aWMg aXJxcmV0dXJuX3QgcG11X3NiaV9vdmZfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXYpCiAJc3Ry dWN0IHBlcmZfZXZlbnQgKmV2ZW50OwogCXU2NCBvdmVyZmxvdzsKIAl1NjQgb3ZlcmZsb3dlZF9j dHJzID0gMDsKLQlzdHJ1Y3QgY3B1X2h3X2V2ZW50cyAqY3B1X2h3X2V2dCA9IGRldjsKIAl1NjQg c3RhcnRfY2xvY2sgPSBzY2hlZF9jbG9jaygpOwogCXN0cnVjdCByaXNjdl9wbXVfc25hcHNob3Rf ZGF0YSAqc2RhdGEgPSBjcHVfaHdfZXZ0LT5zbmFwc2hvdF9hZGRyOwogCkBAIC05NjksMTMgKzk2 OSwxNSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcG11X3NiaV9vdmZfaGFuZGxlcihpbnQgaXJxLCB2 b2lkICpkZXYpCiAJLyogRmlybXdhcmUgY291bnRlciBkb24ndCBzdXBwb3J0IG92ZXJmbG93IHll dCAqLwogCWZpZHggPSBmaW5kX2ZpcnN0X2JpdChjcHVfaHdfZXZ0LT51c2VkX2h3X2N0cnMsIFJJ U0NWX01BWF9DT1VOVEVSUyk7CiAJaWYgKGZpZHggPT0gUklTQ1ZfTUFYX0NPVU5URVJTKSB7Ci0J CWNzcl9jbGVhcihDU1JfU0lQLCBCSVQocmlzY3ZfcG11X2lycV9udW0pKTsKKwkJaWYgKCFmcm9t X3NzZSkKKwkJCWNzcl9jbGVhcihDU1JfU0lQLCBCSVQocmlzY3ZfcG11X2lycV9udW0pKTsKIAkJ cmV0dXJuIElSUV9OT05FOwogCX0KIAogCWV2ZW50ID0gY3B1X2h3X2V2dC0+ZXZlbnRzW2ZpZHhd OwogCWlmICghZXZlbnQpIHsKLQkJQUxUX1NCSV9QTVVfT1ZGX0NMRUFSX1BFTkRJTkcocmlzY3Zf cG11X2lycV9tYXNrKTsKKwkJaWYgKCFmcm9tX3NzZSkKKwkJCUFMVF9TQklfUE1VX09WRl9DTEVB Ul9QRU5ESU5HKHJpc2N2X3BtdV9pcnFfbWFzayk7CiAJCXJldHVybiBJUlFfTk9ORTsKIAl9CiAK QEAgLTk5MCwxNiArOTkyLDE2IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBwbXVfc2JpX292Zl9oYW5k bGVyKGludCBpcnEsIHZvaWQgKmRldikKIAogCS8qCiAJICogT3ZlcmZsb3cgaW50ZXJydXB0IHBl bmRpbmcgYml0IHNob3VsZCBvbmx5IGJlIGNsZWFyZWQgYWZ0ZXIgc3RvcHBpbmcKLQkgKiBhbGwg dGhlIGNvdW50ZXJzIHRvIGF2b2lkIGFueSByYWNlIGNvbmRpdGlvbi4KKwkgKiBhbGwgdGhlIGNv dW50ZXJzIHRvIGF2b2lkIGFueSByYWNlIGNvbmRpdGlvbi4gV2hlbiB1c2luZyBTU0UsCisJICog aW50ZXJydXB0IGlzIGNsZWFyZWQgd2hlbiBzdG9wcGluZyBjb3VudGVycy4KIAkgKi8KLQlBTFRf U0JJX1BNVV9PVkZfQ0xFQVJfUEVORElORyhyaXNjdl9wbXVfaXJxX21hc2spOworCWlmICghZnJv bV9zc2UpCisJCUFMVF9TQklfUE1VX09WRl9DTEVBUl9QRU5ESU5HKHJpc2N2X3BtdV9pcnFfbWFz ayk7CiAKIAkvKiBObyBvdmVyZmxvdyBiaXQgaXMgc2V0ICovCiAJaWYgKCFvdmVyZmxvdykKIAkJ cmV0dXJuIElSUV9OT05FOwogCi0JcmVncyA9IGdldF9pcnFfcmVncygpOwotCiAJZm9yX2VhY2hf c2V0X2JpdChsaWR4LCBjcHVfaHdfZXZ0LT51c2VkX2h3X2N0cnMsIFJJU0NWX01BWF9DT1VOVEVS UykgewogCQlzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQgPSBjcHVfaHdfZXZ0LT5ldmVudHNbbGlk eF07CiAKQEAgLTEwNTUsNiArMTA1Nyw1MSBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgcG11X3NiaV9v dmZfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkZXYpCiAJcmV0dXJuIElSUV9IQU5ETEVEOwogfQog CitzdGF0aWMgaXJxcmV0dXJuX3QgcG11X3NiaV9vdmZfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9p ZCAqZGV2KQoreworCXJldHVybiBwbXVfc2JpX292Zl9oYW5kbGVyKGRldiwgZ2V0X2lycV9yZWdz KCksIGZhbHNlKTsKK30KKworI2lmZGVmIENPTkZJR19SSVNDVl9QTVVfU0JJX1NTRQorc3RhdGlj IGludCBwbXVfc2JpX292Zl9zc2VfaGFuZGxlcih1MzIgZXZ0LCB2b2lkICphcmcsIHN0cnVjdCBw dF9yZWdzICpyZWdzKQoreworCXN0cnVjdCBjcHVfaHdfZXZlbnRzIF9fcGVyY3B1ICpod19ldmVu dHMgPSBhcmc7CisJc3RydWN0IGNwdV9od19ldmVudHMgKmh3X2V2ZW50ID0gcmF3X2NwdV9wdHIo aHdfZXZlbnRzKTsKKworCXBtdV9zYmlfb3ZmX2hhbmRsZXIoaHdfZXZlbnQsIHJlZ3MsIHRydWUp OworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcG11X3NiaV9zZXR1cF9zc2Uoc3RydWN0 IHJpc2N2X3BtdSAqcG11KQoreworCWludCByZXQ7CisJc3RydWN0IHNzZV9ldmVudCAqZXZ0Owor CXN0cnVjdCBjcHVfaHdfZXZlbnRzIF9fcGVyY3B1ICpod19ldmVudHMgPSBwbXUtPmh3X2V2ZW50 czsKKworCWV2dCA9IHNzZV9ldmVudF9yZWdpc3RlcihTQklfU1NFX0VWRU5UX0xPQ0FMX1BNVV9P VkVSRkxPVywgMCwKKwkJCQkgcG11X3NiaV9vdmZfc3NlX2hhbmRsZXIsIGh3X2V2ZW50cyk7CisJ aWYgKElTX0VSUihldnQpKQorCQlyZXR1cm4gUFRSX0VSUihldnQpOworCisJcmV0ID0gc3NlX2V2 ZW50X2VuYWJsZShldnQpOworCWlmIChyZXQpIHsKKwkJc3NlX2V2ZW50X3VucmVnaXN0ZXIoZXZ0 KTsKKwkJcmV0dXJuIHJldDsKKwl9CisKKwlwcl9pbmZvKCJ1c2luZyBTU0UgZm9yIFBNVSBldmVu dCBkZWxpdmVyeVxuIik7CisJcG11LT5zc2VfZXZ0ID0gZXZ0OworCisJcmV0dXJuIHJldDsKK30K KyNlbHNlCitzdGF0aWMgaW50IHBtdV9zYmlfc2V0dXBfc3NlKHN0cnVjdCByaXNjdl9wbXUgKnBt dSkKK3sKKwlyZXR1cm4gLUVPUE5PVFNVUFA7Cit9CisjZW5kaWYKKwogc3RhdGljIGludCBwbXVf c2JpX3N0YXJ0aW5nX2NwdSh1bnNpZ25lZCBpbnQgY3B1LCBzdHJ1Y3QgaGxpc3Rfbm9kZSAqbm9k ZSkKIHsKIAlzdHJ1Y3QgcmlzY3ZfcG11ICpwbXUgPSBobGlzdF9lbnRyeV9zYWZlKG5vZGUsIHN0 cnVjdCByaXNjdl9wbXUsIG5vZGUpOwpAQCAtMTEwNSw2ICsxMTUyLDEwIEBAIHN0YXRpYyBpbnQg cG11X3NiaV9zZXR1cF9pcnFzKHN0cnVjdCByaXNjdl9wbXUgKnBtdSwgc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRlCiAJc3RydWN0IGNwdV9od19ldmVudHMgX19wZXJjcHUgKmh3X2V2ZW50cyA9 IHBtdS0+aHdfZXZlbnRzOwogCXN0cnVjdCBpcnFfZG9tYWluICpkb21haW4gPSBOVUxMOwogCisJ cmV0ID0gcG11X3NiaV9zZXR1cF9zc2UocG11KTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIDA7CisK IAlpZiAocmlzY3ZfaXNhX2V4dGVuc2lvbl9hdmFpbGFibGUoTlVMTCwgU1NDT0ZQTUYpKSB7CiAJ CXJpc2N2X3BtdV9pcnFfbnVtID0gUlZfSVJRX1BNVTsKIAkJcmlzY3ZfcG11X3VzZV9pcnEgPSB0 cnVlOwpAQCAtMTEzOSw3ICsxMTkwLDcgQEAgc3RhdGljIGludCBwbXVfc2JpX3NldHVwX2lycXMo c3RydWN0IHJpc2N2X3BtdSAqcG11LCBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGUKIAkJcmV0 dXJuIC1FTk9ERVY7CiAJfQogCi0JcmV0ID0gcmVxdWVzdF9wZXJjcHVfaXJxKHJpc2N2X3BtdV9p cnEsIHBtdV9zYmlfb3ZmX2hhbmRsZXIsICJyaXNjdi1wbXUiLCBod19ldmVudHMpOworCXJldCA9 IHJlcXVlc3RfcGVyY3B1X2lycShyaXNjdl9wbXVfaXJxLCBwbXVfc2JpX292Zl9pcnFfaGFuZGxl ciwgInJpc2N2LXBtdSIsIGh3X2V2ZW50cyk7CiAJaWYgKHJldCkgewogCQlwcl9lcnIoInJlZ2lz dGVyaW5nIHBlcmNwdSBpcnEgZmFpbGVkIFslZF1cbiIsIHJldCk7CiAJCXJldHVybiByZXQ7CmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BlcmYvcmlzY3ZfcG11LmggYi9pbmNsdWRlL2xpbnV4 L3BlcmYvcmlzY3ZfcG11LmgKaW5kZXggNzAxOTc0NjM5ZmYyLi5jZDQ5M2ZjYWI5YjMgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvbGludXgvcGVyZi9yaXNjdl9wbXUuaAorKysgYi9pbmNsdWRlL2xpbnV4 L3BlcmYvcmlzY3ZfcG11LmgKQEAgLTI4LDYgKzI4LDggQEAKIAogI2RlZmluZSBSSVNDVl9QTVVf Q09ORklHMV9HVUVTVF9FVkVOVFMgMHgxCiAKK3N0cnVjdCBzc2VfZXZlbnQ7CisKIHN0cnVjdCBj cHVfaHdfZXZlbnRzIHsKIAkvKiBjdXJyZW50bHkgZW5hYmxlZCBldmVudHMgKi8KIAlpbnQJCQlu X2V2ZW50czsKQEAgLTU0LDYgKzU2LDkgQEAgc3RydWN0IHJpc2N2X3BtdSB7CiAJY2hhcgkJKm5h bWU7CiAKIAlpcnFyZXR1cm5fdAkoKmhhbmRsZV9pcnEpKGludCBpcnFfbnVtLCB2b2lkICpkZXYp OworI2lmZGVmIENPTkZJR19SSVNDVl9QTVVfU0JJX1NTRQorCXN0cnVjdCBzc2VfZXZlbnQgKnNz ZV9ldnQ7CisjZW5kaWYKIAogCXVuc2lnbmVkIGxvbmcJY21hc2s7CiAJdTY0CQkoKmN0cl9yZWFk KShzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpOwotLSAKMi40My4wCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtcmlzY3YgbWFpbGluZyBsaXN0 CmxpbnV4LXJpc2N2QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yaXNjdgo=