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 X-Spam-Level: X-Spam-Status: No, score=-9.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E91D3C282E1 for ; Thu, 25 Apr 2019 08:38:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A438B208E4 for ; Thu, 25 Apr 2019 08:38:50 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=wdc.com header.i=@wdc.com header.b="p4fqHGOl"; dkim=pass (1024-bit key) header.d=sharedspace.onmicrosoft.com header.i=@sharedspace.onmicrosoft.com header.b="P5qTjfOP" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729892AbfDYIis (ORCPT ); Thu, 25 Apr 2019 04:38:48 -0400 Received: from esa6.hgst.iphmx.com ([216.71.154.45]:29378 "EHLO esa6.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729837AbfDYIip (ORCPT ); Thu, 25 Apr 2019 04:38:45 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1556181525; x=1587717525; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=k127NLqeGS+MZmLkGdSenAQexgzrPzIdVWpx8joL73s=; b=p4fqHGOlVy7Bn7HZo3tRDOuhpXy13RMq00WQd72D6B0ClMDPMJ7ZFqin sb0e4/rV9Ydh1yNQw1lGGdmVKIX0ct50MZXzyTi4Ac3bzTvWYDIrDZumH +x1eOjWlSlYy+Ua1JsvHWEi8H3cihjjBRcOfSUSkWHYbk0XT6H3MgLMQR J6iVMEshOFU09eNpvumFaahFx8QB7PGETd95mRcSglbnPD7Miw8bfjFrh vy1jweP1+Jl3dOkW4CQljIaQnobQxmkgvjDUwdmhf4GU81Qqa6XzziSOc KA9XmXAIhDDz6GFDLt00gDWilJhhVyc9Cbvm15f2qv7YgBpl8dRBAL1sM g==; X-IronPort-AV: E=Sophos;i="5.60,393,1549900800"; d="scan'208";a="108506806" Received: from mail-dm3nam03lp2057.outbound.protection.outlook.com (HELO NAM03-DM3-obe.outbound.protection.outlook.com) ([104.47.41.57]) by ob1.hgst.iphmx.com with ESMTP; 25 Apr 2019 16:38:44 +0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sharedspace.onmicrosoft.com; s=selector1-wdc-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=k127NLqeGS+MZmLkGdSenAQexgzrPzIdVWpx8joL73s=; b=P5qTjfOPbd99VdiAmUW8RLe/LkmmHgh3Li6WiMFmawFcRp9Y238VasJ7NtkulZSsUz6iAa9pQ8xAOUcfBjD6HLBeVZlQPFm6yCcdarynZqCK0vxWlbPooc9UEf05n6w4lghTppX0dZdomH+0E66O4niGZtGmV9oGtfyE9l9d4CY= Received: from MN2PR04MB6061.namprd04.prod.outlook.com (20.178.246.15) by MN2PR04MB5485.namprd04.prod.outlook.com (20.178.248.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1813.12; Thu, 25 Apr 2019 08:38:41 +0000 Received: from MN2PR04MB6061.namprd04.prod.outlook.com ([fe80::ad2f:3a0f:2de1:6fb2]) by MN2PR04MB6061.namprd04.prod.outlook.com ([fe80::ad2f:3a0f:2de1:6fb2%5]) with mapi id 15.20.1813.017; Thu, 25 Apr 2019 08:38:41 +0000 From: Anup Patel To: Palmer Dabbelt , Albert Ou CC: Atish Patra , Paul Walmsley , Christoph Hellwig , "linux-riscv@lists.infradead.org" , "linux-kernel@vger.kernel.org" , Anup Patel Subject: [PATCH v6 3/3] RISC-V: Access CSRs using CSR numbers Thread-Topic: [PATCH v6 3/3] RISC-V: Access CSRs using CSR numbers Thread-Index: AQHU+0JJUCpu8Tsc7k+BI7W1CLIMyg== Date: Thu, 25 Apr 2019 08:38:41 +0000 Message-ID: <20190425083804.11991-4-anup.patel@wdc.com> References: <20190425083804.11991-1-anup.patel@wdc.com> In-Reply-To: <20190425083804.11991-1-anup.patel@wdc.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: MA1PR0101CA0039.INDPRD01.PROD.OUTLOOK.COM (2603:1096:a00:22::25) To MN2PR04MB6061.namprd04.prod.outlook.com (2603:10b6:208:d8::15) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Anup.Patel@wdc.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [129.253.179.161] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 55c01b19-2eee-49f2-bf30-08d6c9596b61 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:MN2PR04MB5485; x-ms-traffictypediagnostic: MN2PR04MB5485: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 0018A2705B x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(136003)(39860400002)(366004)(346002)(396003)(376002)(189003)(199004)(76176011)(66446008)(14444005)(186003)(6506007)(86362001)(14454004)(25786009)(44832011)(11346002)(6116002)(486006)(476003)(64756008)(386003)(3846002)(2171002)(66476007)(66556008)(316002)(5660300002)(54906003)(446003)(68736007)(256004)(102836004)(2906002)(52116002)(2616005)(110136005)(26005)(66946007)(53936002)(1076003)(4326008)(73956011)(6512007)(71190400001)(8936002)(36756003)(99286004)(81166006)(6486002)(66066001)(8676002)(6436002)(71200400001)(305945005)(72206003)(97736004)(7736002)(478600001)(50226002)(81156014);DIR:OUT;SFP:1102;SCL:1;SRVR:MN2PR04MB5485;H:MN2PR04MB6061.namprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: i11PavLbNvByK3jO8CNnjiYQexVICpTrL48O2QhlYolQC2yr5OAMZuHhX4FCMXUpLDF/P5Yg4STMG3m8N0XcsNRuIjdYI7XJ7fijJz4WnOxEEEW6uLU7xsFVOTsEF0ezZDvlvoyhXDRGNk/sAQHMxB0vnNZkBebq4hJoSEJ133SqATPUekOsbj/cflC4c9p4GDu77PBGqoMHGKL/CKOGkKKtSwYFRhNTK9D6rDTHutLQxXpTcjoyz/vkeEFkCmHafEpnzgErWpqHct0EV4LvBQJWio3H6eiCaiS7ezUvz88d9Nbn39JHUcZPuIAK4cERxup8LIyLxELsGluqA3jaKJflgstMmUA99jLC+d1R2AeMnGwzk7sQhlBhsIZAknjGQMZ1mvH1jY0RiNpudGwm7oN7ib7eYI7BP1XmXjyywfY= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: wdc.com X-MS-Exchange-CrossTenant-Network-Message-Id: 55c01b19-2eee-49f2-bf30-08d6c9596b61 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2019 08:38:41.3426 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b61c8803-16f3-4c35-9b17-6f65f441df86 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB5485 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org V2Ugc2hvdWxkIHByZWZlciBhY2Nlc3NpbmcgQ1NScyB1c2luZyB0aGVpciBDU1IgbnVtYmVycyBi ZWNhdXNlOg0KMS4gSXQgY29tcGlsZXMgZmluZSB3aXRoIG9sZGVyIHRvb2xjaGFpbnMuDQoyLiBX ZSBjYW4gdXNlIGxhdGVzdCBDU1IgbmFtZXMgaW4gI2RlZmluZSBtYWNybyBuYW1lcyBvZiBDU1Ig bnVtYmVycw0KICAgYXMtcGVyIFJJU0MtViBzcGVjLg0KMy4gV2UgY2FuIGFjY2VzcyBuZXdseSBh ZGRlZCBDU1JzIGV2ZW4gaWYgdG9vbGNoYWluIGRvZXMgbm90IHJlY29nbml6ZQ0KICAgbmV3bHkg YWRkZXMgQ1NScyBieSBuYW1lLg0KDQpTaWduZWQtb2ZmLWJ5OiBBbnVwIFBhdGVsIDxhbnVwLnBh dGVsQHdkYy5jb20+DQpSZXZpZXdlZC1ieTogQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+ DQotLS0NCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oICAgICAgICAgfCAzMiArKysrKysr KysrKysrKysrKysrKysrLS0tLS0tDQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9pcnFmbGFncy5o ICAgIHwgMTAgKysrKy0tLS0tDQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9tbXVfY29udGV4dC5o IHwgIDcgKy0tLS0tDQogYXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUyAgICAgICAgICAgIHwgMjIg KysrKysrKysrLS0tLS0tLS0tLQ0KIGFyY2gvcmlzY3Yva2VybmVsL2hlYWQuUyAgICAgICAgICAg ICB8IDEyICsrKysrLS0tLS0tDQogYXJjaC9yaXNjdi9rZXJuZWwvcGVyZl9ldmVudC5jICAgICAg IHwgIDQgKystLQ0KIGFyY2gvcmlzY3Yva2VybmVsL3NtcC5jICAgICAgICAgICAgICB8ICAyICst DQogYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYyAgICAgICAgICAgIHwgIDYgKysrLS0tDQogYXJj aC9yaXNjdi9tbS9mYXVsdC5jICAgICAgICAgICAgICAgIHwgIDYgKy0tLS0tDQogOSBmaWxlcyBj aGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBh L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vY3NyLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nz ci5oDQppbmRleCBhODlhOWJmMmM3ZjIuLjNjM2MyNmMzYTFmMSAxMDA2NDQNCi0tLSBhL2FyY2gv cmlzY3YvaW5jbHVkZS9hc20vY3NyLmgNCisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vY3Ny LmgNCkBAIC0xNCw2ICsxNCw3IEBADQogI2lmbmRlZiBfQVNNX1JJU0NWX0NTUl9IDQogI2RlZmlu ZSBfQVNNX1JJU0NWX0NTUl9IDQogDQorI2luY2x1ZGUgPGFzbS9hc20uaD4NCiAjaW5jbHVkZSA8 bGludXgvY29uc3QuaD4NCiANCiAvKiBTdGF0dXMgcmVnaXN0ZXIgZmxhZ3MgKi8NCkBAIC03OSwx MiArODAsMjkgQEANCiAjZGVmaW5lIFNJRV9TVElFCQkoX0FDKDB4MSwgVUwpIDw8IElSUV9TX1RJ TUVSKQ0KICNkZWZpbmUgU0lFX1NFSUUJCShfQUMoMHgxLCBVTCkgPDwgSVJRX1NfRVhUKQ0KIA0K KyNkZWZpbmUgQ1NSX0NZQ0xFCQkweGMwMA0KKyNkZWZpbmUgQ1NSX1RJTUUJCTB4YzAxDQorI2Rl ZmluZSBDU1JfSU5TVFJFVAkJMHhjMDINCisjZGVmaW5lIENTUl9TU1RBVFVTCQkweDEwMA0KKyNk ZWZpbmUgQ1NSX1NJRQkJCTB4MTA0DQorI2RlZmluZSBDU1JfU1RWRUMJCTB4MTA1DQorI2RlZmlu ZSBDU1JfU0NPVU5URVJFTgkJMHgxMDYNCisjZGVmaW5lIENTUl9TU0NSQVRDSAkJMHgxNDANCisj ZGVmaW5lIENTUl9TRVBDCQkweDE0MQ0KKyNkZWZpbmUgQ1NSX1NDQVVTRQkJMHgxNDINCisjZGVm aW5lIENTUl9TVFZBTAkJMHgxNDMNCisjZGVmaW5lIENTUl9TSVAJCQkweDE0NA0KKyNkZWZpbmUg Q1NSX1NBVFAJCTB4MTgwDQorI2RlZmluZSBDU1JfQ1lDTEVICQkweGM4MA0KKyNkZWZpbmUgQ1NS X1RJTUVICQkweGM4MQ0KKyNkZWZpbmUgQ1NSX0lOU1RSRVRICQkweGM4Mg0KKw0KICNpZm5kZWYg X19BU1NFTUJMWV9fDQogDQogI2RlZmluZSBjc3Jfc3dhcChjc3IsIHZhbCkJCQkJCVwNCiAoewkJ CQkJCQkJXA0KIAl1bnNpZ25lZCBsb25nIF9fdiA9ICh1bnNpZ25lZCBsb25nKSh2YWwpOwkJXA0K LQlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImNzcnJ3ICUwLCAiICNjc3IgIiwgJTEiCQlcDQorCV9f YXNtX18gX192b2xhdGlsZV9fICgiY3NycncgJTAsICIgX19BU01fU1RSKGNzcikgIiwgJTEiXA0K IAkJCSAgICAgIDogIj1yIiAoX192KSA6ICJySyIgKF9fdikJCVwNCiAJCQkgICAgICA6ICJtZW1v cnkiKTsJCQlcDQogCV9fdjsJCQkJCQkJXA0KQEAgLTkzLDcgKzExMSw3IEBADQogI2RlZmluZSBj c3JfcmVhZChjc3IpCQkJCQkJXA0KICh7CQkJCQkJCQlcDQogCXJlZ2lzdGVyIHVuc2lnbmVkIGxv bmcgX192OwkJCQlcDQotCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NyciAlMCwgIiAjY3NyCQkJ XA0KKwlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImNzcnIgJTAsICIgX19BU01fU1RSKGNzcikJXA0K IAkJCSAgICAgIDogIj1yIiAoX192KSA6CQkJXA0KIAkJCSAgICAgIDogIm1lbW9yeSIpOwkJCVwN CiAJX192OwkJCQkJCQlcDQpAQCAtMTAyLDcgKzEyMCw3IEBADQogI2RlZmluZSBjc3Jfd3JpdGUo Y3NyLCB2YWwpCQkJCQlcDQogKHsJCQkJCQkJCVwNCiAJdW5zaWduZWQgbG9uZyBfX3YgPSAodW5z aWduZWQgbG9uZykodmFsKTsJCVwNCi0JX19hc21fXyBfX3ZvbGF0aWxlX18gKCJjc3J3ICIgI2Nz ciAiLCAlMCIJCVwNCisJX19hc21fXyBfX3ZvbGF0aWxlX18gKCJjc3J3ICIgX19BU01fU1RSKGNz cikgIiwgJTAiCVwNCiAJCQkgICAgICA6IDogInJLIiAoX192KQkJCVwNCiAJCQkgICAgICA6ICJt ZW1vcnkiKTsJCQlcDQogfSkNCkBAIC0xMTAsNyArMTI4LDcgQEANCiAjZGVmaW5lIGNzcl9yZWFk X3NldChjc3IsIHZhbCkJCQkJCVwNCiAoewkJCQkJCQkJXA0KIAl1bnNpZ25lZCBsb25nIF9fdiA9 ICh1bnNpZ25lZCBsb25nKSh2YWwpOwkJXA0KLQlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImNzcnJz ICUwLCAiICNjc3IgIiwgJTEiCQlcDQorCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NycnMgJTAs ICIgX19BU01fU1RSKGNzcikgIiwgJTEiXA0KIAkJCSAgICAgIDogIj1yIiAoX192KSA6ICJySyIg KF9fdikJCVwNCiAJCQkgICAgICA6ICJtZW1vcnkiKTsJCQlcDQogCV9fdjsJCQkJCQkJXA0KQEAg LTExOSw3ICsxMzcsNyBAQA0KICNkZWZpbmUgY3NyX3NldChjc3IsIHZhbCkJCQkJCVwNCiAoewkJ CQkJCQkJXA0KIAl1bnNpZ25lZCBsb25nIF9fdiA9ICh1bnNpZ25lZCBsb25nKSh2YWwpOwkJXA0K LQlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImNzcnMgIiAjY3NyICIsICUwIgkJXA0KKwlfX2FzbV9f IF9fdm9sYXRpbGVfXyAoImNzcnMgIiBfX0FTTV9TVFIoY3NyKSAiLCAlMCIJXA0KIAkJCSAgICAg IDogOiAicksiIChfX3YpCQkJXA0KIAkJCSAgICAgIDogIm1lbW9yeSIpOwkJCVwNCiB9KQ0KQEAg LTEyNyw3ICsxNDUsNyBAQA0KICNkZWZpbmUgY3NyX3JlYWRfY2xlYXIoY3NyLCB2YWwpCQkJCVwN CiAoewkJCQkJCQkJXA0KIAl1bnNpZ25lZCBsb25nIF9fdiA9ICh1bnNpZ25lZCBsb25nKSh2YWwp OwkJXA0KLQlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImNzcnJjICUwLCAiICNjc3IgIiwgJTEiCQlc DQorCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NycmMgJTAsICIgX19BU01fU1RSKGNzcikgIiwg JTEiXA0KIAkJCSAgICAgIDogIj1yIiAoX192KSA6ICJySyIgKF9fdikJCVwNCiAJCQkgICAgICA6 ICJtZW1vcnkiKTsJCQlcDQogCV9fdjsJCQkJCQkJXA0KQEAgLTEzNiw3ICsxNTQsNyBAQA0KICNk ZWZpbmUgY3NyX2NsZWFyKGNzciwgdmFsKQkJCQkJXA0KICh7CQkJCQkJCQlcDQogCXVuc2lnbmVk IGxvbmcgX192ID0gKHVuc2lnbmVkIGxvbmcpKHZhbCk7CQlcDQotCV9fYXNtX18gX192b2xhdGls ZV9fICgiY3NyYyAiICNjc3IgIiwgJTAiCQlcDQorCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3Ny YyAiIF9fQVNNX1NUUihjc3IpICIsICUwIglcDQogCQkJICAgICAgOiA6ICJySyIgKF9fdikJCQlc DQogCQkJICAgICAgOiAibWVtb3J5Iik7CQkJXA0KIH0pDQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNj di9pbmNsdWRlL2FzbS9pcnFmbGFncy5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9pcnFmbGFn cy5oDQppbmRleCAwN2EzYzZkNTcwNmYuLjFhNjliM2JjZDM3MSAxMDA2NDQNCi0tLSBhL2FyY2gv cmlzY3YvaW5jbHVkZS9hc20vaXJxZmxhZ3MuaA0KKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2Fz bS9pcnFmbGFncy5oDQpAQCAtMjEsMjUgKzIxLDI1IEBADQogLyogcmVhZCBpbnRlcnJ1cHQgZW5h YmxlZCBzdGF0dXMgKi8NCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYXJjaF9sb2NhbF9z YXZlX2ZsYWdzKHZvaWQpDQogew0KLQlyZXR1cm4gY3NyX3JlYWQoc3N0YXR1cyk7DQorCXJldHVy biBjc3JfcmVhZChDU1JfU1NUQVRVUyk7DQogfQ0KIA0KIC8qIHVuY29uZGl0aW9uYWxseSBlbmFi bGUgaW50ZXJydXB0cyAqLw0KIHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2xvY2FsX2lycV9lbmFi bGUodm9pZCkNCiB7DQotCWNzcl9zZXQoc3N0YXR1cywgU1JfU0lFKTsNCisJY3NyX3NldChDU1Jf U1NUQVRVUywgU1JfU0lFKTsNCiB9DQogDQogLyogdW5jb25kaXRpb25hbGx5IGRpc2FibGUgaW50 ZXJydXB0cyAqLw0KIHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2xvY2FsX2lycV9kaXNhYmxlKHZv aWQpDQogew0KLQljc3JfY2xlYXIoc3N0YXR1cywgU1JfU0lFKTsNCisJY3NyX2NsZWFyKENTUl9T U1RBVFVTLCBTUl9TSUUpOw0KIH0NCiANCiAvKiBnZXQgc3RhdHVzIGFuZCBkaXNhYmxlIGludGVy cnVwdHMgKi8NCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgYXJjaF9sb2NhbF9pcnFfc2F2 ZSh2b2lkKQ0KIHsNCi0JcmV0dXJuIGNzcl9yZWFkX2NsZWFyKHNzdGF0dXMsIFNSX1NJRSk7DQor CXJldHVybiBjc3JfcmVhZF9jbGVhcihDU1JfU1NUQVRVUywgU1JfU0lFKTsNCiB9DQogDQogLyog dGVzdCBmbGFncyAqLw0KQEAgLTU3LDcgKzU3LDcgQEAgc3RhdGljIGlubGluZSBpbnQgYXJjaF9p cnFzX2Rpc2FibGVkKHZvaWQpDQogLyogc2V0IGludGVycnVwdCBlbmFibGVkIHN0YXR1cyAqLw0K IHN0YXRpYyBpbmxpbmUgdm9pZCBhcmNoX2xvY2FsX2lycV9yZXN0b3JlKHVuc2lnbmVkIGxvbmcg ZmxhZ3MpDQogew0KLQljc3Jfc2V0KHNzdGF0dXMsIGZsYWdzICYgU1JfU0lFKTsNCisJY3NyX3Nl dChDU1JfU1NUQVRVUywgZmxhZ3MgJiBTUl9TSUUpOw0KIH0NCiANCiAjZW5kaWYgLyogX0FTTV9S SVNDVl9JUlFGTEFHU19IICovDQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9t bXVfY29udGV4dC5oIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9tbXVfY29udGV4dC5oDQppbmRl eCAzMzZkNjBlYzU2OTguLjk4Yzc2YzgyMTM2NyAxMDA2NDQNCi0tLSBhL2FyY2gvcmlzY3YvaW5j bHVkZS9hc20vbW11X2NvbnRleHQuaA0KKysrIGIvYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9tbXVf Y29udGV4dC5oDQpAQCAtODMsMTIgKzgzLDcgQEAgc3RhdGljIGlubGluZSB2b2lkIHN3aXRjaF9t bShzdHJ1Y3QgbW1fc3RydWN0ICpwcmV2LA0KIAkJY3B1bWFza19jbGVhcl9jcHUoY3B1LCBtbV9j cHVtYXNrKHByZXYpKTsNCiAJCWNwdW1hc2tfc2V0X2NwdShjcHUsIG1tX2NwdW1hc2sobmV4dCkp Ow0KIA0KLQkJLyoNCi0JCSAqIFVzZSB0aGUgb2xkIHNwYnRyIG5hbWUgaW5zdGVhZCBvZiB1c2lu ZyB0aGUgY3VycmVudCBzYXRwDQotCQkgKiBuYW1lIHRvIHN1cHBvcnQgYmludXRpbHMgMi4yOSB3 aGljaCBkb2Vzbid0IGtub3cgYWJvdXQgdGhlDQotCQkgKiBwcml2aWxlZ2VkIElTQSAxLjEwIHll dC4NCi0JCSAqLw0KLQkJY3NyX3dyaXRlKHNwdGJyLCB2aXJ0X3RvX3BmbihuZXh0LT5wZ2QpIHwg U0FUUF9NT0RFKTsNCisJCWNzcl93cml0ZShDU1JfU0FUUCwgdmlydF90b19wZm4obmV4dC0+cGdk KSB8IFNBVFBfTU9ERSk7DQogCQlsb2NhbF9mbHVzaF90bGJfYWxsKCk7DQogDQogCQlmbHVzaF9p Y2FjaGVfZGVmZXJyZWQobmV4dCk7DQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvZW50 cnkuUyBiL2FyY2gvcmlzY3Yva2VybmVsL2VudHJ5LlMNCmluZGV4IGZkOWI1N2M4YjRjZS4uMWMx ZWNjMjM4Y2ZhIDEwMDY0NA0KLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUw0KKysrIGIv YXJjaC9yaXNjdi9rZXJuZWwvZW50cnkuUw0KQEAgLTM3LDExICszNywxMSBAQA0KIAkgKiB0aGUg a2VybmVsIHRocmVhZCBwb2ludGVyLiAgSWYgd2UgY2FtZSBmcm9tIHRoZSBrZXJuZWwsIHNzY3Jh dGNoDQogCSAqIHdpbGwgY29udGFpbiAwLCBhbmQgd2Ugc2hvdWxkIGNvbnRpbnVlIG9uIHRoZSBj dXJyZW50IFRQLg0KIAkgKi8NCi0JY3NycncgdHAsIHNzY3JhdGNoLCB0cA0KKwljc3JydyB0cCwg Q1NSX1NTQ1JBVENILCB0cA0KIAlibmV6IHRwLCBfc2F2ZV9jb250ZXh0DQogDQogX3Jlc3RvcmVf a2VybmVsX3Rwc3A6DQotCWNzcnIgdHAsIHNzY3JhdGNoDQorCWNzcnIgdHAsIENTUl9TU0NSQVRD SA0KIAlSRUdfUyBzcCwgVEFTS19USV9LRVJORUxfU1AodHApDQogX3NhdmVfY29udGV4dDoNCiAJ UkVHX1Mgc3AsIFRBU0tfVElfVVNFUl9TUCh0cCkNCkBAIC04NywxMSArODcsMTEgQEAgX3NhdmVf Y29udGV4dDoNCiAJbGkgdDAsIFNSX1NVTSB8IFNSX0ZTDQogDQogCVJFR19MIHMwLCBUQVNLX1RJ X1VTRVJfU1AodHApDQotCWNzcnJjIHMxLCBzc3RhdHVzLCB0MA0KLQljc3JyIHMyLCBzZXBjDQot CWNzcnIgczMsIHNiYWRhZGRyDQotCWNzcnIgczQsIHNjYXVzZQ0KLQljc3JyIHM1LCBzc2NyYXRj aA0KKwljc3JyYyBzMSwgQ1NSX1NTVEFUVVMsIHQwDQorCWNzcnIgczIsIENTUl9TRVBDDQorCWNz cnIgczMsIENTUl9TVFZBTA0KKwljc3JyIHM0LCBDU1JfU0NBVVNFDQorCWNzcnIgczUsIENTUl9T U0NSQVRDSA0KIAlSRUdfUyBzMCwgUFRfU1Aoc3ApDQogCVJFR19TIHMxLCBQVF9TU1RBVFVTKHNw KQ0KIAlSRUdfUyBzMiwgUFRfU0VQQyhzcCkNCkBAIC0xMDcsOCArMTA3LDggQEAgX3NhdmVfY29u dGV4dDoNCiAJLm1hY3JvIFJFU1RPUkVfQUxMDQogCVJFR19MIGEwLCBQVF9TU1RBVFVTKHNwKQ0K IAlSRUdfTCBhMiwgUFRfU0VQQyhzcCkNCi0JY3NydyBzc3RhdHVzLCBhMA0KLQljc3J3IHNlcGMs IGEyDQorCWNzcncgQ1NSX1NTVEFUVVMsIGEwDQorCWNzcncgQ1NSX1NFUEMsIGEyDQogDQogCVJF R19MIHgxLCAgUFRfUkEoc3ApDQogCVJFR19MIHgzLCAgUFRfR1Aoc3ApDQpAQCAtMTU1LDcgKzE1 NSw3IEBAIEVOVFJZKGhhbmRsZV9leGNlcHRpb24pDQogCSAqIFNldCBzc2NyYXRjaCByZWdpc3Rl ciB0byAwLCBzbyB0aGF0IGlmIGEgcmVjdXJzaXZlIGV4Y2VwdGlvbg0KIAkgKiBvY2N1cnMsIHRo ZSBleGNlcHRpb24gdmVjdG9yIGtub3dzIGl0IGNhbWUgZnJvbSB0aGUga2VybmVsDQogCSAqLw0K LQljc3J3IHNzY3JhdGNoLCB4MA0KKwljc3J3IENTUl9TU0NSQVRDSCwgeDANCiANCiAJLyogTG9h ZCB0aGUgZ2xvYmFsIHBvaW50ZXIgKi8NCiAub3B0aW9uIHB1c2gNCkBAIC0yNDgsNyArMjQ4LDcg QEAgcmVzdW1lX3VzZXJzcGFjZToNCiAJICogU2F2ZSBUUCBpbnRvIHNzY3JhdGNoLCBzbyB3ZSBj YW4gZmluZCB0aGUga2VybmVsIGRhdGEgc3RydWN0dXJlcw0KIAkgKiBhZ2Fpbi4NCiAJICovDQot CWNzcncgc3NjcmF0Y2gsIHRwDQorCWNzcncgQ1NSX1NTQ1JBVENILCB0cA0KIA0KIHJlc3RvcmVf YWxsOg0KIAlSRVNUT1JFX0FMTA0KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL2hlYWQu UyBiL2FyY2gvcmlzY3Yva2VybmVsL2hlYWQuUw0KaW5kZXggZmU4ODRjZDY5YWJkLi4wNDE0OTI2 MzZiNDUgMTAwNjQ0DQotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFkLlMNCisrKyBiL2FyY2gv cmlzY3Yva2VybmVsL2hlYWQuUw0KQEAgLTIzLDcgKzIzLDcgQEANCiBfX0lOSVQNCiBFTlRSWShf c3RhcnQpDQogCS8qIE1hc2sgYWxsIGludGVycnVwdHMgKi8NCi0JY3NydyBzaWUsIHplcm8NCisJ Y3NydyBDU1JfU0lFLCB6ZXJvDQogDQogCS8qIExvYWQgdGhlIGdsb2JhbCBwb2ludGVyICovDQog Lm9wdGlvbiBwdXNoDQpAQCAtODksNyArODksNyBAQCByZWxvY2F0ZToNCiAJLyogUG9pbnQgc3R2 ZWMgdG8gdmlydHVhbCBhZGRyZXNzIG9mIGludHJ1Y3Rpb24gYWZ0ZXIgc2F0cCB3cml0ZSAqLw0K IAlsYSBhMCwgMWYNCiAJYWRkIGEwLCBhMCwgYTENCi0JY3NydyBzdHZlYywgYTANCisJY3NydyBD U1JfU1RWRUMsIGEwDQogDQogCS8qIENvbXB1dGUgc2F0cCBmb3Iga2VybmVsIHBhZ2UgdGFibGVz LCBidXQgZG9uJ3QgbG9hZCBpdCB5ZXQgKi8NCiAJbGEgYTIsIHN3YXBwZXJfcGdfZGlyDQpAQCAt MTA1LDEyICsxMDUsMTIgQEAgcmVsb2NhdGU6DQogCXNybCBhMCwgYTAsIFBBR0VfU0hJRlQNCiAJ b3IgYTAsIGEwLCBhMQ0KIAlzZmVuY2Uudm1hDQotCWNzcncgc3B0YnIsIGEwDQorCWNzcncgQ1NS X1NBVFAsIGEwDQogLmFsaWduIDINCiAxOg0KIAkvKiBTZXQgdHJhcCB2ZWN0b3IgdG8gc3BpbiBm b3JldmVyIHRvIGhlbHAgZGVidWcgKi8NCiAJbGEgYTAsIC5Mc2Vjb25kYXJ5X3BhcmsNCi0JY3Ny dyBzdHZlYywgYTANCisJY3NydyBDU1JfU1RWRUMsIGEwDQogDQogCS8qIFJlbG9hZCB0aGUgZ2xv YmFsIHBvaW50ZXIgKi8NCiAub3B0aW9uIHB1c2gNCkBAIC0xMTksNyArMTE5LDcgQEAgcmVsb2Nh dGU6DQogLm9wdGlvbiBwb3ANCiANCiAJLyogU3dpdGNoIHRvIGtlcm5lbCBwYWdlIHRhYmxlcyAq Lw0KLQljc3J3IHNwdGJyLCBhMg0KKwljc3J3IENTUl9TQVRQLCBhMg0KIA0KIAlyZXQNCiANCkBA IC0xMzAsNyArMTMwLDcgQEAgcmVsb2NhdGU6DQogDQogCS8qIFNldCB0cmFwIHZlY3RvciB0byBz cGluIGZvcmV2ZXIgdG8gaGVscCBkZWJ1ZyAqLw0KIAlsYSBhMywgLkxzZWNvbmRhcnlfcGFyaw0K LQljc3J3IHN0dmVjLCBhMw0KKwljc3J3IENTUl9TVFZFQywgYTMNCiANCiAJc2xsaSBhMywgYTAs IExHUkVHDQogCWxhIGExLCBfX2NwdV91cF9zdGFja19wb2ludGVyDQpkaWZmIC0tZ2l0IGEvYXJj aC9yaXNjdi9rZXJuZWwvcGVyZl9ldmVudC5jIGIvYXJjaC9yaXNjdi9rZXJuZWwvcGVyZl9ldmVu dC5jDQppbmRleCA2NjdlZTcwZGVmZWEuLjkxNjI2ZDlhZTVmMiAxMDA2NDQNCi0tLSBhL2FyY2gv cmlzY3Yva2VybmVsL3BlcmZfZXZlbnQuYw0KKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvcGVyZl9l dmVudC5jDQpAQCAtMTg1LDEwICsxODUsMTAgQEAgc3RhdGljIGlubGluZSB1NjQgcmVhZF9jb3Vu dGVyKGludCBpZHgpDQogDQogCXN3aXRjaCAoaWR4KSB7DQogCWNhc2UgUklTQ1ZfUE1VX0NZQ0xF Og0KLQkJdmFsID0gY3NyX3JlYWQoY3ljbGUpOw0KKwkJdmFsID0gY3NyX3JlYWQoQ1NSX0NZQ0xF KTsNCiAJCWJyZWFrOw0KIAljYXNlIFJJU0NWX1BNVV9JTlNUUkVUOg0KLQkJdmFsID0gY3NyX3Jl YWQoaW5zdHJldCk7DQorCQl2YWwgPSBjc3JfcmVhZChDU1JfSU5TVFJFVCk7DQogCQlicmVhazsN CiAJZGVmYXVsdDoNCiAJCVdBUk5fT05fT05DRShpZHggPCAwIHx8CWlkeCA+IFJJU0NWX01BWF9D T1VOVEVSUyk7DQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9rZXJuZWwvc21wLmMgYi9hcmNoL3Jp c2N2L2tlcm5lbC9zbXAuYw0KaW5kZXggMGM0MWQwN2VjMjgxLi5mMjQ0YzYzZDI5ZTQgMTAwNjQ0 DQotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9zbXAuYw0KKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwv c21wLmMNCkBAIC04OSw3ICs4OSw3IEBAIHZvaWQgcmlzY3Zfc29mdHdhcmVfaW50ZXJydXB0KHZv aWQpDQogCXVuc2lnbmVkIGxvbmcgKnN0YXRzID0gaXBpX2RhdGFbc21wX3Byb2Nlc3Nvcl9pZCgp XS5zdGF0czsNCiANCiAJLyogQ2xlYXIgcGVuZGluZyBJUEkgKi8NCi0JY3NyX2NsZWFyKHNpcCwg U0lFX1NTSUUpOw0KKwljc3JfY2xlYXIoQ1NSX1NJUCwgU0lFX1NTSUUpOw0KIA0KIAl3aGlsZSAo dHJ1ZSkgew0KIAkJdW5zaWduZWQgbG9uZyBvcHM7DQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9r ZXJuZWwvdHJhcHMuYyBiL2FyY2gvcmlzY3Yva2VybmVsL3RyYXBzLmMNCmluZGV4IDI0YTkzMzNk ZGEyYy4uMWI0MDdhOWRiM2ZjIDEwMDY0NA0KLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMu Yw0KKysrIGIvYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYw0KQEAgLTE1OSw5ICsxNTksOSBAQCB2 b2lkIF9faW5pdCB0cmFwX2luaXQodm9pZCkNCiAJICogU2V0IHN1cDAgc2NyYXRjaCByZWdpc3Rl ciB0byAwLCBpbmRpY2F0aW5nIHRvIGV4Y2VwdGlvbiB2ZWN0b3INCiAJICogdGhhdCB3ZSBhcmUg cHJlc2VudGx5IGV4ZWN1dGluZyBpbiB0aGUga2VybmVsDQogCSAqLw0KLQljc3Jfd3JpdGUoc3Nj cmF0Y2gsIDApOw0KKwljc3Jfd3JpdGUoQ1NSX1NTQ1JBVENILCAwKTsNCiAJLyogU2V0IHRoZSBl eGNlcHRpb24gdmVjdG9yIGFkZHJlc3MgKi8NCi0JY3NyX3dyaXRlKHN0dmVjLCAmaGFuZGxlX2V4 Y2VwdGlvbik7DQorCWNzcl93cml0ZShDU1JfU1RWRUMsICZoYW5kbGVfZXhjZXB0aW9uKTsNCiAJ LyogRW5hYmxlIGFsbCBpbnRlcnJ1cHRzICovDQotCWNzcl93cml0ZShzaWUsIC0xKTsNCisJY3Ny X3dyaXRlKENTUl9TSUUsIC0xKTsNCiB9DQpkaWZmIC0tZ2l0IGEvYXJjaC9yaXNjdi9tbS9mYXVs dC5jIGIvYXJjaC9yaXNjdi9tbS9mYXVsdC5jDQppbmRleCA4ODQwMWQ1MTI1YmMuLjI2MjkzYmMw NTNhOCAxMDA2NDQNCi0tLSBhL2FyY2gvcmlzY3YvbW0vZmF1bHQuYw0KKysrIGIvYXJjaC9yaXNj di9tbS9mYXVsdC5jDQpAQCAtMjM5LDEzICsyMzksOSBAQCBhc21saW5rYWdlIHZvaWQgZG9fcGFn ZV9mYXVsdChzdHJ1Y3QgcHRfcmVncyAqcmVncykNCiAJCSAqIERvIF9ub3RfIHVzZSAidHNrLT5h Y3RpdmVfbW0tPnBnZCIgaGVyZS4NCiAJCSAqIFdlIG1pZ2h0IGJlIGluc2lkZSBhbiBpbnRlcnJ1 cHQgaW4gdGhlIG1pZGRsZQ0KIAkJICogb2YgYSB0YXNrIHN3aXRjaC4NCi0JCSAqDQotCQkgKiBO b3RlOiBVc2UgdGhlIG9sZCBzcGJ0ciBuYW1lIGluc3RlYWQgb2YgdXNpbmcgdGhlIGN1cnJlbnQN Ci0JCSAqIHNhdHAgbmFtZSB0byBzdXBwb3J0IGJpbnV0aWxzIDIuMjkgd2hpY2ggZG9lc24ndCBr bm93IGFib3V0DQotCQkgKiB0aGUgcHJpdmlsZWdlZCBJU0EgMS4xMCB5ZXQuDQogCQkgKi8NCiAJ CWluZGV4ID0gcGdkX2luZGV4KGFkZHIpOw0KLQkJcGdkID0gKHBnZF90ICopcGZuX3RvX3ZpcnQo Y3NyX3JlYWQoc3B0YnIpKSArIGluZGV4Ow0KKwkJcGdkID0gKHBnZF90ICopcGZuX3RvX3ZpcnQo Y3NyX3JlYWQoQ1NSX1NBVFApKSArIGluZGV4Ow0KIAkJcGdkX2sgPSBpbml0X21tLnBnZCArIGlu ZGV4Ow0KIA0KIAkJaWYgKCFwZ2RfcHJlc2VudCgqcGdkX2spKQ0KLS0gDQoyLjE3LjENCg0K