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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8ADBAC433F5 for ; Fri, 22 Oct 2021 06:35:45 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7291760EE2 for ; Fri, 22 Oct 2021 06:35:45 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231822AbhJVGiB (ORCPT ); Fri, 22 Oct 2021 02:38:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229545AbhJVGh7 (ORCPT ); Fri, 22 Oct 2021 02:37:59 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D5BC4C061764 for ; Thu, 21 Oct 2021 23:35:42 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id n36-20020a17090a5aa700b0019fa884ab85so4932249pji.5 for ; Thu, 21 Oct 2021 23:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=5Etr2b1BhsF/GbVEF28+ESptJncVbUwV68n7PbA8dyY=; b=aTJFUvx7aQuZfx34TN3pJYw8QpfRJ6GVXH5ED94CpG4VBLSpBQQGh6lfazS6KiksQB 57Grcs5IJUCKN0vr70NJrp9BtshcZcd+9XmQ6CjmhZ8+VBFGdljzCd8Yl/BJxvBAjfAf 5gKM3lxkG2LcX1AQa4MPEoApYp9yyowYHKQWtwFI279Gf2LhH+ovS3gE/S1J+5IzxpfH MiFFmxohVjzPZWGolUJGA+YSkpq04oomVV9X9X6UZewEPAFuLX8WOm217L552iCu8gjN e8rZnOMgRXBsagdg6VsNaz4HuCTEtUUPkj1Cx0x/n9yXn24IoeOTHz8+5IatrmcKLmBg InmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=5Etr2b1BhsF/GbVEF28+ESptJncVbUwV68n7PbA8dyY=; b=sXLDnqcj7CFrQi8y+ZRutNwwieK/noRy9VviXJqDnwkGVP++2d/VDf4SlMKPHi4xXe ++8FCr4UA/p4FM4TtiORB2xPfiN7ZbYm1321R4+hcK8m894px103sfvAAvKvwGhzYvR9 2v2eAkaps8Yrn3fMqR9EaHk3wncGGnFxP4mq5T7fCaPvNQh90I9BMhzvjF+Up4aoabgW 8U6c9O1yk1xPWh3U4qUSU/mZvSh5XeNgeM8CAmcI/zuLBcS1OAhC4BzTHrf4HTL3ef+7 n+laTKN0bzn3RWJje5X7nUQgiqOFddjKZnaMbGD9oaBvLWAsfdPNouZEVskeKUyLSPjE bsTw== X-Gm-Message-State: AOAM532iBYsGI0rLG/wFTr8BVvZR6BgQ8hZQvpUMEnLGfpkLkXGlQIXZ girI3Vl5BzTsWXNwLU4zN4YPPN31vKwhSm+1fSE= X-Google-Smtp-Source: ABdhPJwA6NaSO/m4Fz3GcUmDbjeJZ68GGYz9oMrd4HBvvo8hjcJU5iqMNVTkW17pBu4203EwT2pVj1vOkGF7L4qqhso= X-Received: by 2002:a17:902:e74a:b0:13f:3538:fca0 with SMTP id p10-20020a170902e74a00b0013f3538fca0mr9595878plf.22.1634884542351; Thu, 21 Oct 2021 23:35:42 -0700 (PDT) MIME-Version: 1.0 References: <20211021180236.37428-1-mark.rutland@arm.com> <20211021180236.37428-8-mark.rutland@arm.com> In-Reply-To: <20211021180236.37428-8-mark.rutland@arm.com> From: Greentime Hu Date: Fri, 22 Oct 2021 14:35:05 +0800 Message-ID: Subject: Re: [PATCH 07/15] irq: nds32: avoid CONFIG_HANDLE_DOMAIN_IRQ To: Mark Rutland Cc: Linux Kernel Mailing List , Albert Ou , Catalin Marinas , Vincent Chen , Guo Ren , Jonas Bonn , kernelfans@gmail.com, linux-arm-kernel@lists.infradead.org, Russell King , maz@kernel.org, Nickhu , Palmer Dabbelt , paulmck@kernel.org, Paul Walmsley , Peter Zijlstra , Stafford Horne , Stefan Kristiansson , Thomas Gleixner , Linus Torvalds , Thomas Bogendoerfer , vgupta@kernel.org, Will Deacon , Alan Kao , =?UTF-8?B?Sy5DLiBLdWVuLUNoZXJuIExpbijmnpflnaTmiJAp?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Mark Rutland =E6=96=BC 2021=E5=B9=B410=E6=9C=8822=E6= =97=A5 =E9=80=B1=E4=BA=94 =E4=B8=8A=E5=8D=882:03=E5=AF=AB=E9=81=93=EF=BC=9A > > In preparation for removing HANDLE_DOMAIN_IRQ, have arch/nds32 perform > all the necessary IRQ entry accounting in its entry code. > > Currently arch/nds32 is tightly coupled with the ativic32 irqchip, and > while the entry code should logically live under arch/nds32/, moving the > entry logic there makes things more convoluted. So for now, place the > entry logic in the ativic32 irqchip, but separated into a separate > function to make the split of responsibility clear. > > In future this should probably use GENERIC_IRQ_MULTI_HANDLER to cleanly > decouple this. > > There should be no functional change as a result of this patch. > > Signed-off-by: Mark Rutland > Cc: Greentime Hu > Cc: Marc Zyngier > Cc: Nick Hu > Cc: Thomas Gleixner > Cc: Vincent Chen > --- > arch/nds32/Kconfig | 1 - > drivers/irqchip/irq-ativic32.c | 22 ++++++++++++++++++++-- > 2 files changed, 20 insertions(+), 3 deletions(-) > > diff --git a/arch/nds32/Kconfig b/arch/nds32/Kconfig > index aea26e739543..4d1421b18734 100644 > --- a/arch/nds32/Kconfig > +++ b/arch/nds32/Kconfig > @@ -27,7 +27,6 @@ config NDS32 > select GENERIC_LIB_MULDI3 > select GENERIC_LIB_UCMPDI2 > select GENERIC_TIME_VSYSCALL > - select HANDLE_DOMAIN_IRQ > select HAVE_ARCH_TRACEHOOK > select HAVE_DEBUG_KMEMLEAK > select HAVE_EXIT_THREAD > diff --git a/drivers/irqchip/irq-ativic32.c b/drivers/irqchip/irq-ativic3= 2.c > index 476d6024aaf2..223dd2f97d28 100644 > --- a/drivers/irqchip/irq-ativic32.c > +++ b/drivers/irqchip/irq-ativic32.c > @@ -5,11 +5,14 @@ > #include > #include > #include > +#include > #include > #include > #include > #include > > +#include > + > unsigned long wake_mask; > > static void ativic32_ack_irq(struct irq_data *data) > @@ -103,10 +106,25 @@ static irq_hw_number_t get_intr_src(void) > - NDS32_VECTOR_offINTERRUPT; > } > > -asmlinkage void asm_do_IRQ(struct pt_regs *regs) > +static void ativic32_handle_irq(struct pt_regs *regs) > { > irq_hw_number_t hwirq =3D get_intr_src(); > - handle_domain_irq(root_domain, hwirq, regs); > + generic_handle_domain_irq(root_domain, hwirq); > +} > + > +/* > + * TODO: convert nds32 to GENERIC_IRQ_MULTI_HANDLER so that this entry l= ogic > + * can live in arch code. > + */ > +asmlinkage void asm_do_IRQ(struct pt_regs *regs) > +{ > + struct pt_regs *old_regs; > + > + irq_enter(); > + old_regs =3D set_irq_regs(regs); > + ativic32_handle_irq(regs); > + set_irq_regs(old_regs); > + irq_exit(); > } > > int __init ativic32_init_irq(struct device_node *node, struct device_nod= e *parent) > -- > 2.11.0 > Loop in Alan and KC. 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 mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7BD0FC433F5 for ; Fri, 22 Oct 2021 06:37:25 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 400D260E73 for ; Fri, 22 Oct 2021 06:37:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 400D260E73 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org 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:Cc:To:Subject:Message-ID:Date:From: In-Reply-To:References:MIME-Version:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=IP9tmCznzHMClD+RzHyDb9J3qo19L6JZ+H/+1qH80tE=; b=HvFPKqeBbd3EJ+ 63KaIyv0E8iGxZHGhrk9HsekXcNAiP/DNKPL4kHChsJwR22GLH7Q5y3o9NBCAZ5TxCQzIpA+paZ+I X5SnHIURRpdLVAT1qJgMfDBI0Ga43dO16Lcdw2zSa+YQZRKT7s5bDkCCgK8gDG5I+Uqi2mCfiiz4W FpOtWCZb1V3dfcjfZX9Ec7EMrjABNH/MgLjwYSR4aTPJcesP3Fed54t0AWdUpSQuPAgCPXrkGnh9X OmtWd3LRfcJUgxeZzxBhIa3pzH2+rwENok657K5J0D1oZNNIYljHPxWBNkLvinRlnL8VdLlJHs9qh r6Oxz0Tn8xc3VpJdcHCA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mdo9b-009p78-SZ; Fri, 22 Oct 2021 06:35:48 +0000 Received: from mail-pj1-x102c.google.com ([2607:f8b0:4864:20::102c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mdo9X-009p6J-Nl for linux-arm-kernel@lists.infradead.org; Fri, 22 Oct 2021 06:35:45 +0000 Received: by mail-pj1-x102c.google.com with SMTP id n11-20020a17090a2bcb00b001a1e7a0a6a6so1237944pje.0 for ; Thu, 21 Oct 2021 23:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=5Etr2b1BhsF/GbVEF28+ESptJncVbUwV68n7PbA8dyY=; b=aTJFUvx7aQuZfx34TN3pJYw8QpfRJ6GVXH5ED94CpG4VBLSpBQQGh6lfazS6KiksQB 57Grcs5IJUCKN0vr70NJrp9BtshcZcd+9XmQ6CjmhZ8+VBFGdljzCd8Yl/BJxvBAjfAf 5gKM3lxkG2LcX1AQa4MPEoApYp9yyowYHKQWtwFI279Gf2LhH+ovS3gE/S1J+5IzxpfH MiFFmxohVjzPZWGolUJGA+YSkpq04oomVV9X9X6UZewEPAFuLX8WOm217L552iCu8gjN e8rZnOMgRXBsagdg6VsNaz4HuCTEtUUPkj1Cx0x/n9yXn24IoeOTHz8+5IatrmcKLmBg InmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=5Etr2b1BhsF/GbVEF28+ESptJncVbUwV68n7PbA8dyY=; b=CONgMqGrcJj/jOwhRFaueEkaN8e/vY4AoIIlGaIFwRXHzwgCq6qNQk5Gn8NQU77VhT EEBmWreLf9FsV+2QsyWwsQmtMUa75/6erpUC3V5yu8MIvo1SmBUGdrMIq5+VmP/em2CV /I6CFlWOzAoAAsgB6dNpHsBkznjynIvGIHV3iXEhi2yZXswnaRCCTZOIJ5JvuU11zUHR op4RQC3DkQOpVOrDJH5XKAXwVchYzSpV6s89BxSDdctXR7pcMKCKGXfavP62Nlm4l1E0 Kmy2x0iyDEjDi7ZXGLACcJBAqaOKncPqP5TJfdCdHfKgyBQzBk2IJNNMhXgEdy+hfz55 hUlA== X-Gm-Message-State: AOAM530yoZtVFRSjXI5p3vthkHHGNxr6nagp4DrbXaMcfY+Z+wHNBnm2 cqBKvKTFc6cIhiOzMw/csRPeLNe2MZjEtGw7wSg= X-Google-Smtp-Source: ABdhPJwA6NaSO/m4Fz3GcUmDbjeJZ68GGYz9oMrd4HBvvo8hjcJU5iqMNVTkW17pBu4203EwT2pVj1vOkGF7L4qqhso= X-Received: by 2002:a17:902:e74a:b0:13f:3538:fca0 with SMTP id p10-20020a170902e74a00b0013f3538fca0mr9595878plf.22.1634884542351; Thu, 21 Oct 2021 23:35:42 -0700 (PDT) MIME-Version: 1.0 References: <20211021180236.37428-1-mark.rutland@arm.com> <20211021180236.37428-8-mark.rutland@arm.com> In-Reply-To: <20211021180236.37428-8-mark.rutland@arm.com> From: Greentime Hu Date: Fri, 22 Oct 2021 14:35:05 +0800 Message-ID: Subject: Re: [PATCH 07/15] irq: nds32: avoid CONFIG_HANDLE_DOMAIN_IRQ To: Mark Rutland Cc: Linux Kernel Mailing List , Albert Ou , Catalin Marinas , Vincent Chen , Guo Ren , Jonas Bonn , kernelfans@gmail.com, linux-arm-kernel@lists.infradead.org, Russell King , maz@kernel.org, Nickhu , Palmer Dabbelt , paulmck@kernel.org, Paul Walmsley , Peter Zijlstra , Stafford Horne , Stefan Kristiansson , Thomas Gleixner , Linus Torvalds , Thomas Bogendoerfer , vgupta@kernel.org, Will Deacon , Alan Kao , =?UTF-8?B?Sy5DLiBLdWVuLUNoZXJuIExpbijmnpflnaTmiJAp?= X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211021_233543_799103_819EDDDD X-CRM114-Status: GOOD ( 24.84 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org TWFyayBSdXRsYW5kIDxtYXJrLnJ1dGxhbmRAYXJtLmNvbT4g5pa8IDIwMjHlubQxMOaciDIy5pel IOmAseS6lCDkuIrljYgyOjAz5a+r6YGT77yaCj4KPiBJbiBwcmVwYXJhdGlvbiBmb3IgcmVtb3Zp bmcgSEFORExFX0RPTUFJTl9JUlEsIGhhdmUgYXJjaC9uZHMzMiBwZXJmb3JtCj4gYWxsIHRoZSBu ZWNlc3NhcnkgSVJRIGVudHJ5IGFjY291bnRpbmcgaW4gaXRzIGVudHJ5IGNvZGUuCj4KPiBDdXJy ZW50bHkgYXJjaC9uZHMzMiBpcyB0aWdodGx5IGNvdXBsZWQgd2l0aCB0aGUgYXRpdmljMzIgaXJx Y2hpcCwgYW5kCj4gd2hpbGUgdGhlIGVudHJ5IGNvZGUgc2hvdWxkIGxvZ2ljYWxseSBsaXZlIHVu ZGVyIGFyY2gvbmRzMzIvLCBtb3ZpbmcgdGhlCj4gZW50cnkgbG9naWMgdGhlcmUgbWFrZXMgdGhp bmdzIG1vcmUgY29udm9sdXRlZC4gU28gZm9yIG5vdywgcGxhY2UgdGhlCj4gZW50cnkgbG9naWMg aW4gdGhlIGF0aXZpYzMyIGlycWNoaXAsIGJ1dCBzZXBhcmF0ZWQgaW50byBhIHNlcGFyYXRlCj4g ZnVuY3Rpb24gdG8gbWFrZSB0aGUgc3BsaXQgb2YgcmVzcG9uc2liaWxpdHkgY2xlYXIuCj4KPiBJ biBmdXR1cmUgdGhpcyBzaG91bGQgcHJvYmFibHkgdXNlIEdFTkVSSUNfSVJRX01VTFRJX0hBTkRM RVIgdG8gY2xlYW5seQo+IGRlY291cGxlIHRoaXMuCj4KPiBUaGVyZSBzaG91bGQgYmUgbm8gZnVu Y3Rpb25hbCBjaGFuZ2UgYXMgYSByZXN1bHQgb2YgdGhpcyBwYXRjaC4KPgo+IFNpZ25lZC1vZmYt Ynk6IE1hcmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+Cj4gQ2M6IEdyZWVudGltZSBI dSA8Z3JlZW4uaHVAZ21haWwuY29tPgo+IENjOiBNYXJjIFp5bmdpZXIgPG1hekBrZXJuZWwub3Jn Pgo+IENjOiBOaWNrIEh1IDxuaWNraHVAYW5kZXN0ZWNoLmNvbT4KPiBDYzogVGhvbWFzIEdsZWl4 bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+Cj4gQ2M6IFZpbmNlbnQgQ2hlbiA8ZGVhbmJvNDIyQGdt YWlsLmNvbT4KPiAtLS0KPiAgYXJjaC9uZHMzMi9LY29uZmlnICAgICAgICAgICAgIHwgIDEgLQo+ ICBkcml2ZXJzL2lycWNoaXAvaXJxLWF0aXZpYzMyLmMgfCAyMiArKysrKysrKysrKysrKysrKysr Ky0tCj4gIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkK Pgo+IGRpZmYgLS1naXQgYS9hcmNoL25kczMyL0tjb25maWcgYi9hcmNoL25kczMyL0tjb25maWcK PiBpbmRleCBhZWEyNmU3Mzk1NDMuLjRkMTQyMWIxODczNCAxMDA2NDQKPiAtLS0gYS9hcmNoL25k czMyL0tjb25maWcKPiArKysgYi9hcmNoL25kczMyL0tjb25maWcKPiBAQCAtMjcsNyArMjcsNiBA QCBjb25maWcgTkRTMzIKPiAgICAgICAgIHNlbGVjdCBHRU5FUklDX0xJQl9NVUxESTMKPiAgICAg ICAgIHNlbGVjdCBHRU5FUklDX0xJQl9VQ01QREkyCj4gICAgICAgICBzZWxlY3QgR0VORVJJQ19U SU1FX1ZTWVNDQUxMCj4gLSAgICAgICBzZWxlY3QgSEFORExFX0RPTUFJTl9JUlEKPiAgICAgICAg IHNlbGVjdCBIQVZFX0FSQ0hfVFJBQ0VIT09LCj4gICAgICAgICBzZWxlY3QgSEFWRV9ERUJVR19L TUVNTEVBSwo+ICAgICAgICAgc2VsZWN0IEhBVkVfRVhJVF9USFJFQUQKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9pcnFjaGlwL2lycS1hdGl2aWMzMi5jIGIvZHJpdmVycy9pcnFjaGlwL2lycS1hdGl2 aWMzMi5jCj4gaW5kZXggNDc2ZDYwMjRhYWYyLi4yMjNkZDJmOTdkMjggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9pcnFjaGlwL2lycS1hdGl2aWMzMi5jCj4gKysrIGIvZHJpdmVycy9pcnFjaGlwL2ly cS1hdGl2aWMzMi5jCj4gQEAgLTUsMTEgKzUsMTQgQEAKPiAgI2luY2x1ZGUgPGxpbnV4L29mLmg+ Cj4gICNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L29mX2FkZHJl c3MuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2hhcmRpcnEuaD4KPiAgI2luY2x1ZGUgPGxpbnV4L2lu dGVycnVwdC5oPgo+ICAjaW5jbHVkZSA8bGludXgvaXJxZG9tYWluLmg+Cj4gICNpbmNsdWRlIDxs aW51eC9pcnFjaGlwLmg+Cj4gICNpbmNsdWRlIDxuZHMzMl9pbnRyaW5zaWMuaD4KPgo+ICsjaW5j bHVkZSA8YXNtL2lycV9yZWdzLmg+Cj4gKwo+ICB1bnNpZ25lZCBsb25nIHdha2VfbWFzazsKPgo+ ICBzdGF0aWMgdm9pZCBhdGl2aWMzMl9hY2tfaXJxKHN0cnVjdCBpcnFfZGF0YSAqZGF0YSkKPiBA QCAtMTAzLDEwICsxMDYsMjUgQEAgc3RhdGljIGlycV9od19udW1iZXJfdCBnZXRfaW50cl9zcmMo dm9pZCkKPiAgICAgICAgICAgICAgICAgLSBORFMzMl9WRUNUT1Jfb2ZmSU5URVJSVVBUOwo+ICB9 Cj4KPiAtYXNtbGlua2FnZSB2b2lkIGFzbV9kb19JUlEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCj4g K3N0YXRpYyB2b2lkIGF0aXZpYzMyX2hhbmRsZV9pcnEoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCj4g IHsKPiAgICAgICAgIGlycV9od19udW1iZXJfdCBod2lycSA9IGdldF9pbnRyX3NyYygpOwo+IC0g ICAgICAgaGFuZGxlX2RvbWFpbl9pcnEocm9vdF9kb21haW4sIGh3aXJxLCByZWdzKTsKPiArICAg ICAgIGdlbmVyaWNfaGFuZGxlX2RvbWFpbl9pcnEocm9vdF9kb21haW4sIGh3aXJxKTsKPiArfQo+ ICsKPiArLyoKPiArICogVE9ETzogY29udmVydCBuZHMzMiB0byBHRU5FUklDX0lSUV9NVUxUSV9I QU5ETEVSIHNvIHRoYXQgdGhpcyBlbnRyeSBsb2dpYwo+ICsgKiBjYW4gbGl2ZSBpbiBhcmNoIGNv ZGUuCj4gKyAqLwo+ICthc21saW5rYWdlIHZvaWQgYXNtX2RvX0lSUShzdHJ1Y3QgcHRfcmVncyAq cmVncykKPiArewo+ICsgICAgICAgc3RydWN0IHB0X3JlZ3MgKm9sZF9yZWdzOwo+ICsKPiArICAg ICAgIGlycV9lbnRlcigpOwo+ICsgICAgICAgb2xkX3JlZ3MgPSBzZXRfaXJxX3JlZ3MocmVncyk7 Cj4gKyAgICAgICBhdGl2aWMzMl9oYW5kbGVfaXJxKHJlZ3MpOwo+ICsgICAgICAgc2V0X2lycV9y ZWdzKG9sZF9yZWdzKTsKPiArICAgICAgIGlycV9leGl0KCk7Cj4gIH0KPgo+ICBpbnQgX19pbml0 IGF0aXZpYzMyX2luaXRfaXJxKHN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZSwgc3RydWN0IGRldmlj ZV9ub2RlICpwYXJlbnQpCj4gLS0KPiAyLjExLjAKPgoKTG9vcCBpbiBBbGFuIGFuZCBLQy4KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1r ZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpo dHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJu ZWwK