Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp596422yba; Sat, 13 Apr 2019 08:39:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqyFHOgDmyHNR58caEO8b1s0yhFe83DkqGLoAex4hTFg891OgaX2rI+gDXe55OIL+WGJXn79 X-Received: by 2002:a17:902:b484:: with SMTP id y4mr64037577plr.88.1555169985995; Sat, 13 Apr 2019 08:39:45 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555169985; cv=none; d=google.com; s=arc-20160816; b=uslHjbhURp3aCyIQQD0RDh+QzZ+Z/XXmCZeGVIIl7IwbK/anE/HUPnTn8L7lrgUYw5 IoyoalKHxGEhLFL3uvyVKqodr6Ux/Nkz7yEv5OSQKe+c+pyfjvZDTTJWDJoAKJ2xqqyW Nf9St39/eIUozh6zitDz9jAuWEYMC11W8r+jtC+0R59fvaT26KLu6DDMhdeRwYWlei+k qbsc5Of/MOI3cRZsV4tlv4tOJR7jOlIzM7nZ/BdWVgEw73SAZeClpM5Up8+UIxJR/0uz CzOwvr7F0v0g3jv01nNUICarKvD23fl3LwVgY6BOlek2gra+Jy8seEjHq7UF9xyUfrSl K+eQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :wdcipoutbound:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:dkim-signature:dkim-signature; bh=gLQaYrZDbmZxISGuDP2UpELMy5uEAPTKXvFE6eaNs7o=; b=hqYJNBmZ+LiRl8G7GFe/EPUypFysVeryhIIrZJqS0wEz/6kxatGZtFoGWSHplhx7b6 B7eHnUf+RlbmkHoH4Bl+izpjjxhKvCDVs6DrNxFxbcx9JtB2G5wKAuJWU4opWHBdnAsY nCv/WD/5NC9ir/LFag0Rxm4WjigrRJphCJF2qcxnnr0BpudpUycFr+CDl4TVet+7TmcY gDpp7BiBidTTXh9u8OdGjwFnuESBf7bSCn+ihA0YKThNZfaa1Fis260tBxfxhLujRU5l JNMXviaYOJTDJnz2CfjAcXHUCpooqTO6DlLt6pRWzVXE3MbK0s1tdhp4V4ac4bgey18D w9QQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@wdc.com header.s=dkim.wdc.com header.b=dh7vpVVn; dkim=pass header.i=@sharedspace.onmicrosoft.com header.s=selector1-wdc-com header.b=boRjrTZm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=wdc.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f24si6611044pgv.511.2019.04.13.08.39.29; Sat, 13 Apr 2019 08:39:45 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@wdc.com header.s=dkim.wdc.com header.b=dh7vpVVn; dkim=pass header.i=@sharedspace.onmicrosoft.com header.s=selector1-wdc-com header.b=boRjrTZm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=wdc.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727309AbfDMPiu (ORCPT + 99 others); Sat, 13 Apr 2019 11:38:50 -0400 Received: from esa2.hgst.iphmx.com ([68.232.143.124]:6961 "EHLO esa2.hgst.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727245AbfDMPir (ORCPT ); Sat, 13 Apr 2019 11:38:47 -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=1555170013; x=1586706013; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=gLQaYrZDbmZxISGuDP2UpELMy5uEAPTKXvFE6eaNs7o=; b=dh7vpVVnYJ6QM2Xl4WP7m25h4cOkj1UJYV0uXA46ghTThssKflAPQlcD CMa9LG5rQW6oWBM/3QrzQKZ/6KZu26JsAVuF18EPgGsGveseadOtFhKCR tGHLvcBZzAw6lPGdvffICPL+S43OmYkE3Qt7H+yABJNJpHszam3Q7DXwn DOCO4vS6ml9ijMbSTnLzgymL8glIANPcvrJ67Vstyb8oFdgFr+myA0zCr CzpK9lEbzUV6hkbhxEHfs6iG3LahwhZaVNoRDuYai82PwaoD91LUZFQSf 1qtjX9h4zyF9I4r7TeFv2qyf0g/rId2IxpJd7CRg9lY7noyE/W/fMl2yl w==; X-IronPort-AV: E=Sophos;i="5.60,345,1549900800"; d="scan'208";a="204828675" Received: from mail-bl2nam02lp2055.outbound.protection.outlook.com (HELO NAM02-BL2-obe.outbound.protection.outlook.com) ([104.47.38.55]) by ob1.hgst.iphmx.com with ESMTP; 13 Apr 2019 23:40:11 +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=gLQaYrZDbmZxISGuDP2UpELMy5uEAPTKXvFE6eaNs7o=; b=boRjrTZmbRlzbsPaLG4QyUhiI4bnozgsKY8swxzi5L4s4gWjcf8j5cM+gzfJOY/uOFgJDqeImrR3sUHj/7krsgV7pisi29MlIjdaYPbMcrlycu1m02fS2+fa52gXzlheW6GWkuaYZd3RqXSCTaq+yrVa9QnWes01oqxp6qg4Zjg= Received: from MN2PR04MB6061.namprd04.prod.outlook.com (20.178.246.15) by MN2PR04MB5501.namprd04.prod.outlook.com (20.178.245.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1792.17; Sat, 13 Apr 2019 15:38:44 +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.1792.018; Sat, 13 Apr 2019 15:38:44 +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 v2 3/3] RISC-V: Access CSRs using CSR numbers Thread-Topic: [PATCH v2 3/3] RISC-V: Access CSRs using CSR numbers Thread-Index: AQHU8g76UV2mHqgJqEKGaOYNUpxpNQ== Date: Sat, 13 Apr 2019 15:38:44 +0000 Message-ID: <20190413153807.116227-4-anup.patel@wdc.com> References: <20190413153807.116227-1-anup.patel@wdc.com> In-Reply-To: <20190413153807.116227-1-anup.patel@wdc.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: PN1PR0101CA0032.INDPRD01.PROD.OUTLOOK.COM (2603:1096:c00:c::18) 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: [106.51.17.210] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: aeb05068-8e37-4d5b-5137-08d6c0261c63 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600139)(711020)(4605104)(4618075)(2017052603328)(7193020);SRVR:MN2PR04MB5501; x-ms-traffictypediagnostic: MN2PR04MB5501: wdcipoutbound: EOP-TRUE x-microsoft-antispam-prvs: x-forefront-prvs: 00064751B6 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(39860400002)(376002)(396003)(136003)(346002)(366004)(199004)(189003)(2906002)(71190400001)(71200400001)(97736004)(50226002)(1076003)(186003)(68736007)(102836004)(8936002)(6486002)(86362001)(110136005)(54906003)(316002)(9456002)(78486014)(55236004)(4326008)(30864003)(81166006)(81156014)(6506007)(386003)(5660300002)(26005)(8676002)(36756003)(105586002)(44832011)(106356001)(14444005)(256004)(76176011)(3846002)(14454004)(478600001)(72206003)(6116002)(52116002)(6512007)(25786009)(99286004)(53936002)(11346002)(446003)(486006)(2171002)(66066001)(7736002)(6436002)(476003)(305945005)(2616005);DIR:OUT;SFP:1102;SCL:1;SRVR:MN2PR04MB5501;H:MN2PR04MB6061.namprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: VoGCM/RhGT5y+FbUq8/rBorn11P19OS5kEwYHTPYr4LWrV1CrXxrGtU2wAfL/XBDPk/OE5LQqfjq6Lzs7S/fpPs1gRMjcGv4ez7MDVEAx8YVt9rMUdj1zMXp+1jQ3NY4/rzQXn2ABAN8X0vIIJzeY80rvNVK//F0tzI9FXqh5bY2yasxtFfWzmLtI5LkWR9sh+U4tBEtLiqU4KqVSkyoDlzatBzThcTL1VRZnNo1HmiUbVU/tuXddMMIPWaWb0vZTxi0e/Z+TRjtnnzo9BfGKwdqFemNRopdn+X/zw9c/r0wBikWEivVVThe7r202EBpdFA8vxfjRkJpMt4Q04T8g8cufsnLEvOb2f7iPwYcDMFi6/66AXWf92D/ZIxTmL4/Z6/DNfVmm0HnUyoMLq5aUZUjMySkxERuU5owLcjjOgQ= 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: aeb05068-8e37-4d5b-5137-08d6c0261c63 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Apr 2019 15:38:44.0447 (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: MN2PR04MB5501 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+DQotLS0NCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oICAgICAgICAg fCAxNSArKysrKysrKy0tLS0tLS0NCiBhcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2VuY29kaW5nLmgg ICAgfCAxNiArKysrKysrKysrKysrKysrDQogYXJjaC9yaXNjdi9pbmNsdWRlL2FzbS9pcnFmbGFn cy5oICAgIHwgMTAgKysrKystLS0tLQ0KIGFyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11X2NvbnRl eHQuaCB8ICA3ICstLS0tLS0NCiBhcmNoL3Jpc2N2L2tlcm5lbC9lbnRyeS5TICAgICAgICAgICAg fCAyMiArKysrKysrKysrKy0tLS0tLS0tLS0tDQogYXJjaC9yaXNjdi9rZXJuZWwvaGVhZC5TICAg ICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0tDQogYXJjaC9yaXNjdi9rZXJuZWwvcGVyZl9ldmVu dC5jICAgICAgIHwgIDQgKystLQ0KIGFyY2gvcmlzY3Yva2VybmVsL3NtcC5jICAgICAgICAgICAg ICB8ICAyICstDQogYXJjaC9yaXNjdi9rZXJuZWwvdHJhcHMuYyAgICAgICAgICAgIHwgIDYgKysr LS0tDQogYXJjaC9yaXNjdi9tbS9mYXVsdC5jICAgICAgICAgICAgICAgIHwgIDYgKy0tLS0tDQog MTAgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pDQoNCmRp ZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oIGIvYXJjaC9yaXNjdi9pbmNs dWRlL2FzbS9jc3IuaA0KaW5kZXggOGNmNjk4ZTM5NDYzLi42YmY1NjUyZDM1NjUgMTAwNjQ0DQot LS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2Nzci5oDQorKysgYi9hcmNoL3Jpc2N2L2luY2x1 ZGUvYXNtL2Nzci5oDQpAQCAtMTQsNiArMTQsNyBAQA0KICNpZm5kZWYgX0FTTV9SSVNDVl9DU1Jf SA0KICNkZWZpbmUgX0FTTV9SSVNDVl9DU1JfSA0KIA0KKyNpbmNsdWRlIDxhc20vYXNtLmg+DQog I2luY2x1ZGUgPGFzbS9lbmNvZGluZy5oPg0KIA0KICNpZm5kZWYgX19BU1NFTUJMWV9fDQpAQCAt MjEsNyArMjIsNyBAQA0KICNkZWZpbmUgY3NyX3N3YXAoY3NyLCB2YWwpCQkJCQlcDQogKHsJCQkJ CQkJCVwNCiAJdW5zaWduZWQgbG9uZyBfX3YgPSAodW5zaWduZWQgbG9uZykodmFsKTsJCVwNCi0J X19hc21fXyBfX3ZvbGF0aWxlX18gKCJjc3JydyAlMCwgIiAjY3NyICIsICUxIgkJXA0KKwlfX2Fz bV9fIF9fdm9sYXRpbGVfXyAoImNzcnJ3ICUwLCAiIF9fQVNNX1NUUihjc3IpICIsICUxIlwNCiAJ CQkgICAgICA6ICI9ciIgKF9fdikgOiAicksiIChfX3YpCQlcDQogCQkJICAgICAgOiAibWVtb3J5 Iik7CQkJXA0KIAlfX3Y7CQkJCQkJCVwNCkBAIC0zMCw3ICszMSw3IEBADQogI2RlZmluZSBjc3Jf cmVhZChjc3IpCQkJCQkJXA0KICh7CQkJCQkJCQlcDQogCXJlZ2lzdGVyIHVuc2lnbmVkIGxvbmcg X192OwkJCQlcDQotCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NyciAlMCwgIiAjY3NyCQkJXA0K KwlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoImNzcnIgJTAsICIgX19BU01fU1RSKGNzcikJXA0KIAkJ CSAgICAgIDogIj1yIiAoX192KSA6CQkJXA0KIAkJCSAgICAgIDogIm1lbW9yeSIpOwkJCVwNCiAJ X192OwkJCQkJCQlcDQpAQCAtMzksNyArNDAsNyBAQA0KICNkZWZpbmUgY3NyX3dyaXRlKGNzciwg dmFsKQkJCQkJXA0KICh7CQkJCQkJCQlcDQogCXVuc2lnbmVkIGxvbmcgX192ID0gKHVuc2lnbmVk IGxvbmcpKHZhbCk7CQlcDQotCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NydyAiICNjc3IgIiwg JTAiCQlcDQorCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NydyAiIF9fQVNNX1NUUihjc3IpICIs ICUwIglcDQogCQkJICAgICAgOiA6ICJySyIgKF9fdikJCQlcDQogCQkJICAgICAgOiAibWVtb3J5 Iik7CQkJXA0KIH0pDQpAQCAtNDcsNyArNDgsNyBAQA0KICNkZWZpbmUgY3NyX3JlYWRfc2V0KGNz ciwgdmFsKQkJCQkJXA0KICh7CQkJCQkJCQlcDQogCXVuc2lnbmVkIGxvbmcgX192ID0gKHVuc2ln bmVkIGxvbmcpKHZhbCk7CQlcDQotCV9fYXNtX18gX192b2xhdGlsZV9fICgiY3NycnMgJTAsICIg I2NzciAiLCAlMSIJCVwNCisJX19hc21fXyBfX3ZvbGF0aWxlX18gKCJjc3JycyAlMCwgIiBfX0FT TV9TVFIoY3NyKSAiLCAlMSJcDQogCQkJICAgICAgOiAiPXIiIChfX3YpIDogInJLIiAoX192KQkJ XA0KIAkJCSAgICAgIDogIm1lbW9yeSIpOwkJCVwNCiAJX192OwkJCQkJCQlcDQpAQCAtNTYsNyAr NTcsNyBAQA0KICNkZWZpbmUgY3NyX3NldChjc3IsIHZhbCkJCQkJCVwNCiAoewkJCQkJCQkJXA0K IAl1bnNpZ25lZCBsb25nIF9fdiA9ICh1bnNpZ25lZCBsb25nKSh2YWwpOwkJXA0KLQlfX2FzbV9f IF9fdm9sYXRpbGVfXyAoImNzcnMgIiAjY3NyICIsICUwIgkJXA0KKwlfX2FzbV9fIF9fdm9sYXRp bGVfXyAoImNzcnMgIiBfX0FTTV9TVFIoY3NyKSAiLCAlMCIJXA0KIAkJCSAgICAgIDogOiAicksi IChfX3YpCQkJXA0KIAkJCSAgICAgIDogIm1lbW9yeSIpOwkJCVwNCiB9KQ0KQEAgLTY0LDcgKzY1 LDcgQEANCiAjZGVmaW5lIGNzcl9yZWFkX2NsZWFyKGNzciwgdmFsKQkJCQlcDQogKHsJCQkJCQkJ CVwNCiAJdW5zaWduZWQgbG9uZyBfX3YgPSAodW5zaWduZWQgbG9uZykodmFsKTsJCVwNCi0JX19h c21fXyBfX3ZvbGF0aWxlX18gKCJjc3JyYyAlMCwgIiAjY3NyICIsICUxIgkJXA0KKwlfX2FzbV9f IF9fdm9sYXRpbGVfXyAoImNzcnJjICUwLCAiIF9fQVNNX1NUUihjc3IpICIsICUxIlwNCiAJCQkg ICAgICA6ICI9ciIgKF9fdikgOiAicksiIChfX3YpCQlcDQogCQkJICAgICAgOiAibWVtb3J5Iik7 CQkJXA0KIAlfX3Y7CQkJCQkJCVwNCkBAIC03Myw3ICs3NCw3IEBADQogI2RlZmluZSBjc3JfY2xl YXIoY3NyLCB2YWwpCQkJCQlcDQogKHsJCQkJCQkJCVwNCiAJdW5zaWduZWQgbG9uZyBfX3YgPSAo dW5zaWduZWQgbG9uZykodmFsKTsJCVwNCi0JX19hc21fXyBfX3ZvbGF0aWxlX18gKCJjc3JjICIg I2NzciAiLCAlMCIJCVwNCisJX19hc21fXyBfX3ZvbGF0aWxlX18gKCJjc3JjICIgX19BU01fU1RS KGNzcikgIiwgJTAiCVwNCiAJCQkgICAgICA6IDogInJLIiAoX192KQkJCVwNCiAJCQkgICAgICA6 ICJtZW1vcnkiKTsJCQlcDQogfSkNCmRpZmYgLS1naXQgYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNt L2VuY29kaW5nLmggYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2VuY29kaW5nLmgNCmluZGV4IDRm MTg3ODU0ZmQ4Yi4uNzE3YjgyM2FjMTEwIDEwMDY0NA0KLS0tIGEvYXJjaC9yaXNjdi9pbmNsdWRl L2FzbS9lbmNvZGluZy5oDQorKysgYi9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2VuY29kaW5nLmgN CkBAIC03Niw0ICs3NiwyMCBAQA0KICNkZWZpbmUgU0lFX1NUSUUJCShfQUMoMHgxLCBVTCkgPDwg SVJRX1NfVElNRVIpDQogI2RlZmluZSBTSUVfU0VJRQkJKF9BQygweDEsIFVMKSA8PCBJUlFfU19F WFQpDQogDQorI2RlZmluZSBDU1JfVElNRQkJMHhjMDENCisjZGVmaW5lIENTUl9JTlNUUkVUCQkw eGMwMg0KKyNkZWZpbmUgQ1NSX1NTVEFUVVMJCTB4MTAwDQorI2RlZmluZSBDU1JfU0lFCQkJMHgx MDQNCisjZGVmaW5lIENTUl9TVFZFQwkJMHgxMDUNCisjZGVmaW5lIENTUl9TQ09VTlRFUkVOCQkw eDEwNg0KKyNkZWZpbmUgQ1NSX1NTQ1JBVENICQkweDE0MA0KKyNkZWZpbmUgQ1NSX1NFUEMJCTB4 MTQxDQorI2RlZmluZSBDU1JfU0NBVVNFCQkweDE0Mg0KKyNkZWZpbmUgQ1NSX1NUVkFMCQkweDE0 Mw0KKyNkZWZpbmUgQ1NSX1NJUAkJCTB4MTQ0DQorI2RlZmluZSBDU1JfU0FUUAkJMHgxODANCisj ZGVmaW5lIENTUl9DWUNMRUgJCTB4YzgwDQorI2RlZmluZSBDU1JfVElNRUgJCTB4YzgxDQorI2Rl ZmluZSBDU1JfSU5TVFJFVEgJCTB4YzgyDQorDQogI2VuZGlmIC8qIF9BU01fUklTQ1ZfRU5DT0RJ TkdfSCAqLw0KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vaXJxZmxhZ3MuaCBi L2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vaXJxZmxhZ3MuaA0KaW5kZXggMDdhM2M2ZDU3MDZmLi4x YTY5YjNiY2QzNzEgMTAwNjQ0DQotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL2lycWZsYWdz LmgNCisrKyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vaXJxZmxhZ3MuaA0KQEAgLTIxLDI1ICsy MSwyNSBAQA0KIC8qIHJlYWQgaW50ZXJydXB0IGVuYWJsZWQgc3RhdHVzICovDQogc3RhdGljIGlu bGluZSB1bnNpZ25lZCBsb25nIGFyY2hfbG9jYWxfc2F2ZV9mbGFncyh2b2lkKQ0KIHsNCi0JcmV0 dXJuIGNzcl9yZWFkKHNzdGF0dXMpOw0KKwlyZXR1cm4gY3NyX3JlYWQoQ1NSX1NTVEFUVVMpOw0K IH0NCiANCiAvKiB1bmNvbmRpdGlvbmFsbHkgZW5hYmxlIGludGVycnVwdHMgKi8NCiBzdGF0aWMg aW5saW5lIHZvaWQgYXJjaF9sb2NhbF9pcnFfZW5hYmxlKHZvaWQpDQogew0KLQljc3Jfc2V0KHNz dGF0dXMsIFNSX1NJRSk7DQorCWNzcl9zZXQoQ1NSX1NTVEFUVVMsIFNSX1NJRSk7DQogfQ0KIA0K IC8qIHVuY29uZGl0aW9uYWxseSBkaXNhYmxlIGludGVycnVwdHMgKi8NCiBzdGF0aWMgaW5saW5l IHZvaWQgYXJjaF9sb2NhbF9pcnFfZGlzYWJsZSh2b2lkKQ0KIHsNCi0JY3NyX2NsZWFyKHNzdGF0 dXMsIFNSX1NJRSk7DQorCWNzcl9jbGVhcihDU1JfU1NUQVRVUywgU1JfU0lFKTsNCiB9DQogDQog LyogZ2V0IHN0YXR1cyBhbmQgZGlzYWJsZSBpbnRlcnJ1cHRzICovDQogc3RhdGljIGlubGluZSB1 bnNpZ25lZCBsb25nIGFyY2hfbG9jYWxfaXJxX3NhdmUodm9pZCkNCiB7DQotCXJldHVybiBjc3Jf cmVhZF9jbGVhcihzc3RhdHVzLCBTUl9TSUUpOw0KKwlyZXR1cm4gY3NyX3JlYWRfY2xlYXIoQ1NS X1NTVEFUVVMsIFNSX1NJRSk7DQogfQ0KIA0KIC8qIHRlc3QgZmxhZ3MgKi8NCkBAIC01Nyw3ICs1 Nyw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IGFyY2hfaXJxc19kaXNhYmxlZCh2b2lkKQ0KIC8qIHNl dCBpbnRlcnJ1cHQgZW5hYmxlZCBzdGF0dXMgKi8NCiBzdGF0aWMgaW5saW5lIHZvaWQgYXJjaF9s b2NhbF9pcnFfcmVzdG9yZSh1bnNpZ25lZCBsb25nIGZsYWdzKQ0KIHsNCi0JY3NyX3NldChzc3Rh dHVzLCBmbGFncyAmIFNSX1NJRSk7DQorCWNzcl9zZXQoQ1NSX1NTVEFUVVMsIGZsYWdzICYgU1Jf U0lFKTsNCiB9DQogDQogI2VuZGlmIC8qIF9BU01fUklTQ1ZfSVJRRkxBR1NfSCAqLw0KZGlmZiAt LWdpdCBhL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaCBiL2FyY2gvcmlzY3Yv aW5jbHVkZS9hc20vbW11X2NvbnRleHQuaA0KaW5kZXggMzM2ZDYwZWM1Njk4Li45OGM3NmM4MjEz NjcgMTAwNjQ0DQotLS0gYS9hcmNoL3Jpc2N2L2luY2x1ZGUvYXNtL21tdV9jb250ZXh0LmgNCisr KyBiL2FyY2gvcmlzY3YvaW5jbHVkZS9hc20vbW11X2NvbnRleHQuaA0KQEAgLTgzLDEyICs4Myw3 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBzd2l0Y2hfbW0oc3RydWN0IG1tX3N0cnVjdCAqcHJldiwN CiAJCWNwdW1hc2tfY2xlYXJfY3B1KGNwdSwgbW1fY3B1bWFzayhwcmV2KSk7DQogCQljcHVtYXNr X3NldF9jcHUoY3B1LCBtbV9jcHVtYXNrKG5leHQpKTsNCiANCi0JCS8qDQotCQkgKiBVc2UgdGhl IG9sZCBzcGJ0ciBuYW1lIGluc3RlYWQgb2YgdXNpbmcgdGhlIGN1cnJlbnQgc2F0cA0KLQkJICog bmFtZSB0byBzdXBwb3J0IGJpbnV0aWxzIDIuMjkgd2hpY2ggZG9lc24ndCBrbm93IGFib3V0IHRo ZQ0KLQkJICogcHJpdmlsZWdlZCBJU0EgMS4xMCB5ZXQuDQotCQkgKi8NCi0JCWNzcl93cml0ZShz cHRiciwgdmlydF90b19wZm4obmV4dC0+cGdkKSB8IFNBVFBfTU9ERSk7DQorCQljc3Jfd3JpdGUo Q1NSX1NBVFAsIHZpcnRfdG9fcGZuKG5leHQtPnBnZCkgfCBTQVRQX01PREUpOw0KIAkJbG9jYWxf Zmx1c2hfdGxiX2FsbCgpOw0KIA0KIAkJZmx1c2hfaWNhY2hlX2RlZmVycmVkKG5leHQpOw0KZGlm ZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL2VudHJ5LlMgYi9hcmNoL3Jpc2N2L2tlcm5lbC9l bnRyeS5TDQppbmRleCBmZDliNTdjOGI0Y2UuLjFjMWVjYzIzOGNmYSAxMDA2NDQNCi0tLSBhL2Fy Y2gvcmlzY3Yva2VybmVsL2VudHJ5LlMNCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL2VudHJ5LlMN CkBAIC0zNywxMSArMzcsMTEgQEANCiAJICogdGhlIGtlcm5lbCB0aHJlYWQgcG9pbnRlci4gIElm IHdlIGNhbWUgZnJvbSB0aGUga2VybmVsLCBzc2NyYXRjaA0KIAkgKiB3aWxsIGNvbnRhaW4gMCwg YW5kIHdlIHNob3VsZCBjb250aW51ZSBvbiB0aGUgY3VycmVudCBUUC4NCiAJICovDQotCWNzcnJ3 IHRwLCBzc2NyYXRjaCwgdHANCisJY3NycncgdHAsIENTUl9TU0NSQVRDSCwgdHANCiAJYm5leiB0 cCwgX3NhdmVfY29udGV4dA0KIA0KIF9yZXN0b3JlX2tlcm5lbF90cHNwOg0KLQljc3JyIHRwLCBz c2NyYXRjaA0KKwljc3JyIHRwLCBDU1JfU1NDUkFUQ0gNCiAJUkVHX1Mgc3AsIFRBU0tfVElfS0VS TkVMX1NQKHRwKQ0KIF9zYXZlX2NvbnRleHQ6DQogCVJFR19TIHNwLCBUQVNLX1RJX1VTRVJfU1Ao dHApDQpAQCAtODcsMTEgKzg3LDExIEBAIF9zYXZlX2NvbnRleHQ6DQogCWxpIHQwLCBTUl9TVU0g fCBTUl9GUw0KIA0KIAlSRUdfTCBzMCwgVEFTS19USV9VU0VSX1NQKHRwKQ0KLQljc3JyYyBzMSwg c3N0YXR1cywgdDANCi0JY3NyciBzMiwgc2VwYw0KLQljc3JyIHMzLCBzYmFkYWRkcg0KLQljc3Jy IHM0LCBzY2F1c2UNCi0JY3NyciBzNSwgc3NjcmF0Y2gNCisJY3NycmMgczEsIENTUl9TU1RBVFVT LCB0MA0KKwljc3JyIHMyLCBDU1JfU0VQQw0KKwljc3JyIHMzLCBDU1JfU1RWQUwNCisJY3NyciBz NCwgQ1NSX1NDQVVTRQ0KKwljc3JyIHM1LCBDU1JfU1NDUkFUQ0gNCiAJUkVHX1MgczAsIFBUX1NQ KHNwKQ0KIAlSRUdfUyBzMSwgUFRfU1NUQVRVUyhzcCkNCiAJUkVHX1MgczIsIFBUX1NFUEMoc3Ap DQpAQCAtMTA3LDggKzEwNyw4IEBAIF9zYXZlX2NvbnRleHQ6DQogCS5tYWNybyBSRVNUT1JFX0FM TA0KIAlSRUdfTCBhMCwgUFRfU1NUQVRVUyhzcCkNCiAJUkVHX0wgYTIsIFBUX1NFUEMoc3ApDQot CWNzcncgc3N0YXR1cywgYTANCi0JY3NydyBzZXBjLCBhMg0KKwljc3J3IENTUl9TU1RBVFVTLCBh MA0KKwljc3J3IENTUl9TRVBDLCBhMg0KIA0KIAlSRUdfTCB4MSwgIFBUX1JBKHNwKQ0KIAlSRUdf TCB4MywgIFBUX0dQKHNwKQ0KQEAgLTE1NSw3ICsxNTUsNyBAQCBFTlRSWShoYW5kbGVfZXhjZXB0 aW9uKQ0KIAkgKiBTZXQgc3NjcmF0Y2ggcmVnaXN0ZXIgdG8gMCwgc28gdGhhdCBpZiBhIHJlY3Vy c2l2ZSBleGNlcHRpb24NCiAJICogb2NjdXJzLCB0aGUgZXhjZXB0aW9uIHZlY3RvciBrbm93cyBp dCBjYW1lIGZyb20gdGhlIGtlcm5lbA0KIAkgKi8NCi0JY3NydyBzc2NyYXRjaCwgeDANCisJY3Ny dyBDU1JfU1NDUkFUQ0gsIHgwDQogDQogCS8qIExvYWQgdGhlIGdsb2JhbCBwb2ludGVyICovDQog Lm9wdGlvbiBwdXNoDQpAQCAtMjQ4LDcgKzI0OCw3IEBAIHJlc3VtZV91c2Vyc3BhY2U6DQogCSAq IFNhdmUgVFAgaW50byBzc2NyYXRjaCwgc28gd2UgY2FuIGZpbmQgdGhlIGtlcm5lbCBkYXRhIHN0 cnVjdHVyZXMNCiAJICogYWdhaW4uDQogCSAqLw0KLQljc3J3IHNzY3JhdGNoLCB0cA0KKwljc3J3 IENTUl9TU0NSQVRDSCwgdHANCiANCiByZXN0b3JlX2FsbDoNCiAJUkVTVE9SRV9BTEwNCmRpZmYg LS1naXQgYS9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFkLlMgYi9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFk LlMNCmluZGV4IGZlODg0Y2Q2OWFiZC4uMDQxNDkyNjM2YjQ1IDEwMDY0NA0KLS0tIGEvYXJjaC9y aXNjdi9rZXJuZWwvaGVhZC5TDQorKysgYi9hcmNoL3Jpc2N2L2tlcm5lbC9oZWFkLlMNCkBAIC0y Myw3ICsyMyw3IEBADQogX19JTklUDQogRU5UUlkoX3N0YXJ0KQ0KIAkvKiBNYXNrIGFsbCBpbnRl cnJ1cHRzICovDQotCWNzcncgc2llLCB6ZXJvDQorCWNzcncgQ1NSX1NJRSwgemVybw0KIA0KIAkv KiBMb2FkIHRoZSBnbG9iYWwgcG9pbnRlciAqLw0KIC5vcHRpb24gcHVzaA0KQEAgLTg5LDcgKzg5 LDcgQEAgcmVsb2NhdGU6DQogCS8qIFBvaW50IHN0dmVjIHRvIHZpcnR1YWwgYWRkcmVzcyBvZiBp bnRydWN0aW9uIGFmdGVyIHNhdHAgd3JpdGUgKi8NCiAJbGEgYTAsIDFmDQogCWFkZCBhMCwgYTAs IGExDQotCWNzcncgc3R2ZWMsIGEwDQorCWNzcncgQ1NSX1NUVkVDLCBhMA0KIA0KIAkvKiBDb21w dXRlIHNhdHAgZm9yIGtlcm5lbCBwYWdlIHRhYmxlcywgYnV0IGRvbid0IGxvYWQgaXQgeWV0ICov DQogCWxhIGEyLCBzd2FwcGVyX3BnX2Rpcg0KQEAgLTEwNSwxMiArMTA1LDEyIEBAIHJlbG9jYXRl Og0KIAlzcmwgYTAsIGEwLCBQQUdFX1NISUZUDQogCW9yIGEwLCBhMCwgYTENCiAJc2ZlbmNlLnZt YQ0KLQljc3J3IHNwdGJyLCBhMA0KKwljc3J3IENTUl9TQVRQLCBhMA0KIC5hbGlnbiAyDQogMToN CiAJLyogU2V0IHRyYXAgdmVjdG9yIHRvIHNwaW4gZm9yZXZlciB0byBoZWxwIGRlYnVnICovDQog CWxhIGEwLCAuTHNlY29uZGFyeV9wYXJrDQotCWNzcncgc3R2ZWMsIGEwDQorCWNzcncgQ1NSX1NU VkVDLCBhMA0KIA0KIAkvKiBSZWxvYWQgdGhlIGdsb2JhbCBwb2ludGVyICovDQogLm9wdGlvbiBw dXNoDQpAQCAtMTE5LDcgKzExOSw3IEBAIHJlbG9jYXRlOg0KIC5vcHRpb24gcG9wDQogDQogCS8q IFN3aXRjaCB0byBrZXJuZWwgcGFnZSB0YWJsZXMgKi8NCi0JY3NydyBzcHRiciwgYTINCisJY3Ny dyBDU1JfU0FUUCwgYTINCiANCiAJcmV0DQogDQpAQCAtMTMwLDcgKzEzMCw3IEBAIHJlbG9jYXRl Og0KIA0KIAkvKiBTZXQgdHJhcCB2ZWN0b3IgdG8gc3BpbiBmb3JldmVyIHRvIGhlbHAgZGVidWcg Ki8NCiAJbGEgYTMsIC5Mc2Vjb25kYXJ5X3BhcmsNCi0JY3NydyBzdHZlYywgYTMNCisJY3NydyBD U1JfU1RWRUMsIGEzDQogDQogCXNsbGkgYTMsIGEwLCBMR1JFRw0KIAlsYSBhMSwgX19jcHVfdXBf c3RhY2tfcG9pbnRlcg0KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL3BlcmZfZXZlbnQu YyBiL2FyY2gvcmlzY3Yva2VybmVsL3BlcmZfZXZlbnQuYw0KaW5kZXggNjY3ZWU3MGRlZmVhLi45 MTYyNmQ5YWU1ZjIgMTAwNjQ0DQotLS0gYS9hcmNoL3Jpc2N2L2tlcm5lbC9wZXJmX2V2ZW50LmMN CisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL3BlcmZfZXZlbnQuYw0KQEAgLTE4NSwxMCArMTg1LDEw IEBAIHN0YXRpYyBpbmxpbmUgdTY0IHJlYWRfY291bnRlcihpbnQgaWR4KQ0KIA0KIAlzd2l0Y2gg KGlkeCkgew0KIAljYXNlIFJJU0NWX1BNVV9DWUNMRToNCi0JCXZhbCA9IGNzcl9yZWFkKGN5Y2xl KTsNCisJCXZhbCA9IGNzcl9yZWFkKENTUl9DWUNMRSk7DQogCQlicmVhazsNCiAJY2FzZSBSSVND Vl9QTVVfSU5TVFJFVDoNCi0JCXZhbCA9IGNzcl9yZWFkKGluc3RyZXQpOw0KKwkJdmFsID0gY3Ny X3JlYWQoQ1NSX0lOU1RSRVQpOw0KIAkJYnJlYWs7DQogCWRlZmF1bHQ6DQogCQlXQVJOX09OX09O Q0UoaWR4IDwgMCB8fAlpZHggPiBSSVNDVl9NQVhfQ09VTlRFUlMpOw0KZGlmZiAtLWdpdCBhL2Fy Y2gvcmlzY3Yva2VybmVsL3NtcC5jIGIvYXJjaC9yaXNjdi9rZXJuZWwvc21wLmMNCmluZGV4IDBj NDFkMDdlYzI4MS4uZjI0NGM2M2QyOWU0IDEwMDY0NA0KLS0tIGEvYXJjaC9yaXNjdi9rZXJuZWwv c21wLmMNCisrKyBiL2FyY2gvcmlzY3Yva2VybmVsL3NtcC5jDQpAQCAtODksNyArODksNyBAQCB2 b2lkIHJpc2N2X3NvZnR3YXJlX2ludGVycnVwdCh2b2lkKQ0KIAl1bnNpZ25lZCBsb25nICpzdGF0 cyA9IGlwaV9kYXRhW3NtcF9wcm9jZXNzb3JfaWQoKV0uc3RhdHM7DQogDQogCS8qIENsZWFyIHBl bmRpbmcgSVBJICovDQotCWNzcl9jbGVhcihzaXAsIFNJRV9TU0lFKTsNCisJY3NyX2NsZWFyKENT Ul9TSVAsIFNJRV9TU0lFKTsNCiANCiAJd2hpbGUgKHRydWUpIHsNCiAJCXVuc2lnbmVkIGxvbmcg b3BzOw0KZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3Yva2VybmVsL3RyYXBzLmMgYi9hcmNoL3Jpc2N2 L2tlcm5lbC90cmFwcy5jDQppbmRleCAyNGE5MzMzZGRhMmMuLjFiNDA3YTlkYjNmYyAxMDA2NDQN Ci0tLSBhL2FyY2gvcmlzY3Yva2VybmVsL3RyYXBzLmMNCisrKyBiL2FyY2gvcmlzY3Yva2VybmVs L3RyYXBzLmMNCkBAIC0xNTksOSArMTU5LDkgQEAgdm9pZCBfX2luaXQgdHJhcF9pbml0KHZvaWQp DQogCSAqIFNldCBzdXAwIHNjcmF0Y2ggcmVnaXN0ZXIgdG8gMCwgaW5kaWNhdGluZyB0byBleGNl cHRpb24gdmVjdG9yDQogCSAqIHRoYXQgd2UgYXJlIHByZXNlbnRseSBleGVjdXRpbmcgaW4gdGhl IGtlcm5lbA0KIAkgKi8NCi0JY3NyX3dyaXRlKHNzY3JhdGNoLCAwKTsNCisJY3NyX3dyaXRlKENT Ul9TU0NSQVRDSCwgMCk7DQogCS8qIFNldCB0aGUgZXhjZXB0aW9uIHZlY3RvciBhZGRyZXNzICov DQotCWNzcl93cml0ZShzdHZlYywgJmhhbmRsZV9leGNlcHRpb24pOw0KKwljc3Jfd3JpdGUoQ1NS X1NUVkVDLCAmaGFuZGxlX2V4Y2VwdGlvbik7DQogCS8qIEVuYWJsZSBhbGwgaW50ZXJydXB0cyAq Lw0KLQljc3Jfd3JpdGUoc2llLCAtMSk7DQorCWNzcl93cml0ZShDU1JfU0lFLCAtMSk7DQogfQ0K ZGlmZiAtLWdpdCBhL2FyY2gvcmlzY3YvbW0vZmF1bHQuYyBiL2FyY2gvcmlzY3YvbW0vZmF1bHQu Yw0KaW5kZXggODg0MDFkNTEyNWJjLi4yNjI5M2JjMDUzYTggMTAwNjQ0DQotLS0gYS9hcmNoL3Jp c2N2L21tL2ZhdWx0LmMNCisrKyBiL2FyY2gvcmlzY3YvbW0vZmF1bHQuYw0KQEAgLTIzOSwxMyAr MjM5LDkgQEAgYXNtbGlua2FnZSB2b2lkIGRvX3BhZ2VfZmF1bHQoc3RydWN0IHB0X3JlZ3MgKnJl Z3MpDQogCQkgKiBEbyBfbm90XyB1c2UgInRzay0+YWN0aXZlX21tLT5wZ2QiIGhlcmUuDQogCQkg KiBXZSBtaWdodCBiZSBpbnNpZGUgYW4gaW50ZXJydXB0IGluIHRoZSBtaWRkbGUNCiAJCSAqIG9m IGEgdGFzayBzd2l0Y2guDQotCQkgKg0KLQkJICogTm90ZTogVXNlIHRoZSBvbGQgc3BidHIgbmFt ZSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBjdXJyZW50DQotCQkgKiBzYXRwIG5hbWUgdG8gc3VwcG9y dCBiaW51dGlscyAyLjI5IHdoaWNoIGRvZXNuJ3Qga25vdyBhYm91dA0KLQkJICogdGhlIHByaXZp bGVnZWQgSVNBIDEuMTAgeWV0Lg0KIAkJICovDQogCQlpbmRleCA9IHBnZF9pbmRleChhZGRyKTsN Ci0JCXBnZCA9IChwZ2RfdCAqKXBmbl90b192aXJ0KGNzcl9yZWFkKHNwdGJyKSkgKyBpbmRleDsN CisJCXBnZCA9IChwZ2RfdCAqKXBmbl90b192aXJ0KGNzcl9yZWFkKENTUl9TQVRQKSkgKyBpbmRl eDsNCiAJCXBnZF9rID0gaW5pdF9tbS5wZ2QgKyBpbmRleDsNCiANCiAJCWlmICghcGdkX3ByZXNl bnQoKnBnZF9rKSkNCi0tIA0KMi4xNy4xDQoNCg==