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=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,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 CA5EFC48BDA for ; Tue, 25 Jun 2019 20:57:43 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id A0A7320663 for ; Tue, 25 Jun 2019 20:57:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="J775P0Va" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726401AbfFYU5l (ORCPT ); Tue, 25 Jun 2019 16:57:41 -0400 Received: from mail-eopbgr140054.outbound.protection.outlook.com ([40.107.14.54]:20873 "EHLO EUR01-VE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726376AbfFYU5k (ORCPT ); Tue, 25 Jun 2019 16:57:40 -0400 ARC-Seal: i=1; a=rsa-sha256; s=testarcselector01; d=microsoft.com; cv=none; b=P4bDK9fOQzzZUVClpZtMk91AoYtXXlGm2ujmUvs7gwhnokXY8u4Ue0DRPewUH0yK3tcA2dDqP4GtyLi4iBmK2uJpqRa3WKibfO7bQy9WckM+sJX3lwTdZdPPZYWpYYrGiA6R5EeirWx+TFdhssRdXjL4jNy5DIQDNRgBcU6kWts= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=testarcselector01; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FYPg42gtesq0bzoKy8Q694OjJSFnWggRTBx/aw2TKsA=; b=o92T5gqtPH+WXtxYyzH/cs+eaEIPxMe9HO5PidR9qh7uxCjoqXyLmD+yfKrvUF8XjjvQaeupxKVG/WeiBggtwaSOZAj8xcfRqCtFavAaswJqPgNrBRlQcMyqGhhdU3NM+T8RkazoDx9+OnVfevzVJL3xDViz23kY2GBxe+6S0ls= ARC-Authentication-Results: i=1; test.office365.com 1;spf=none;dmarc=none;dkim=none;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FYPg42gtesq0bzoKy8Q694OjJSFnWggRTBx/aw2TKsA=; b=J775P0Va9z/z6YE8PA8rHJKKVT0wWEtT4SGm0ijTPFwh/iwaiMXKkAB6NgHa4xRqwcdU/QrrUb+PFJJWZ8W1bwiXa83K3KjxprN9uCNWJ9sgak3bqF2R+jRssc/2H1BW6Pu+Gz3v2lxz3g188XRXZskPliml/dgS5XckOMMKwu8= Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com (10.172.227.7) by DB6PR0501MB2696.eurprd05.prod.outlook.com (10.172.225.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2008.16; Tue, 25 Jun 2019 20:57:30 +0000 Received: from DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::a901:6951:59de:3278]) by DB6PR0501MB2759.eurprd05.prod.outlook.com ([fe80::a901:6951:59de:3278%2]) with mapi id 15.20.2008.014; Tue, 25 Jun 2019 20:57:30 +0000 From: Saeed Mahameed To: "David S. Miller" , Doug Ledford , Jason Gunthorpe CC: Leon Romanovsky , Or Gerlitz , Sagi Grimberg , Tal Gilboa , "netdev@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Saeed Mahameed Subject: [for-next V2 01/10] linux/dim: Move logic to dim.h Thread-Topic: [for-next V2 01/10] linux/dim: Move logic to dim.h Thread-Index: AQHVK5iaVhSUhuGko0CwjtWHa5fzZw== Date: Tue, 25 Jun 2019 20:57:30 +0000 Message-ID: <20190625205701.17849-2-saeedm@mellanox.com> References: <20190625205701.17849-1-saeedm@mellanox.com> In-Reply-To: <20190625205701.17849-1-saeedm@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: git-send-email 2.21.0 x-originating-ip: [209.116.155.178] x-clientproxiedby: BYAPR03CA0025.namprd03.prod.outlook.com (2603:10b6:a02:a8::38) To DB6PR0501MB2759.eurprd05.prod.outlook.com (2603:10a6:4:84::7) authentication-results: spf=none (sender IP is ) smtp.mailfrom=saeedm@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 65c80d18-2896-4921-e7c5-08d6f9afbc9b x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:DB6PR0501MB2696; x-ms-traffictypediagnostic: DB6PR0501MB2696: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:262; x-forefront-prvs: 0079056367 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(396003)(136003)(376002)(366004)(346002)(199004)(189003)(6512007)(66476007)(186003)(86362001)(305945005)(3846002)(26005)(6116002)(68736007)(7736002)(102836004)(50226002)(99286004)(53936002)(6636002)(76176011)(1076003)(2906002)(5660300002)(6436002)(64756008)(14454004)(66556008)(25786009)(486006)(52116002)(73956011)(71190400001)(6486002)(6506007)(11346002)(81166006)(71200400001)(446003)(386003)(66946007)(256004)(81156014)(66446008)(478600001)(4326008)(66066001)(8676002)(107886003)(2616005)(36756003)(316002)(476003)(8936002)(110136005)(54906003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB6PR0501MB2696;H:DB6PR0501MB2759.eurprd05.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: nLruHNCglZ235aFC1EUQWSHkMgSjwqy92xREy6fNAzXvdZ4RR6r6ISycz3ZXXRHwD28h5uet02f+70UFLykYTzS1BULiUmS157+ptFqQ2Gn/ot36Y36Op33kpW0+YLppWbyvAGPX3CrTof6zp5oRtTzwx9hHRtyaXAlzOxi1M4fQ43dQvZMQODAk+he+IXlzY9aUc5ouK6V4JUiN4t5g+CQvgsblAw9c0I5SbyhM1Z8hbW0cosNmM/UnmPEKeUhlDSrjTU1G3OrHKlHD7Hp9kqlHdq61yynFapbH43XF52Pu6y1DGV06pdnnMn2BHg8nfxm3Wi6dO7QqvWntzOvm+i121eQ9IJFrlVlcpao65nxlLdDO2uz3HNdJEA8/dP42MqHWLAX0uXey0q9f3OHAELzZghjt4sa1qHEEKtQXY4M= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65c80d18-2896-4921-e7c5-08d6f9afbc9b X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Jun 2019 20:57:30.4636 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: saeedm@mellanox.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0501MB2696 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org RnJvbTogVGFsIEdpbGJvYSA8dGFsZ2lAbWVsbGFub3guY29tPg0KDQpJbiBwcmVwYXJhdGlvbiBm b3Igc3VwcG9ydGluZyBtb3JlIGltcGxlbWVudGF0aW9ucyBvZiB0aGUgRElNDQphbGdvcml0aG0s IEknbSBtb3Zpbmcgd2hhdCB3b3VsZCBiZWNvbWUgY29tbW9uIGxvZ2ljIHRvIGEgY29tbW9uDQps aWJyYXJ5LiBEb3duc3RyZWFtIERJTSBpbXBsZW1lbnRhdGlvbnMgd2lsbCB1c2UgdGhlIGNvbW1v biBsaWINCmZvciB0aGVpciBpbXBsZW1lbnRhdGlvbi4NCg0KU2lnbmVkLW9mZi1ieTogVGFsIEdp bGJvYSA8dGFsZ2lAbWVsbGFub3guY29tPg0KU2lnbmVkLW9mZi1ieTogU2FlZWQgTWFoYW1lZWQg PHNhZWVkbUBtZWxsYW5veC5jb20+DQotLS0NCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICB8ICAg MSArDQogaW5jbHVkZS9saW51eC9kaW0uaCAgICAgfCAxNTMgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKw0KIGluY2x1ZGUvbGludXgvbmV0X2RpbS5oIHwgMTQ4ICstLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogMyBmaWxlcyBjaGFuZ2VkLCAxNTYg aW5zZXJ0aW9ucygrKSwgMTQ2IGRlbGV0aW9ucygtKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNs dWRlL2xpbnV4L2RpbS5oDQoNCmRpZmYgLS1naXQgYS9NQUlOVEFJTkVSUyBiL01BSU5UQUlORVJT DQppbmRleCA0MjljNmM2MjQ4NjEuLjVkNGI4NTJkOWQzOSAxMDA2NDQNCi0tLSBhL01BSU5UQUlO RVJTDQorKysgYi9NQUlOVEFJTkVSUw0KQEAgLTU1ODksNiArNTU4OSw3IEBAIERZTkFNSUMgSU5U RVJSVVBUIE1PREVSQVRJT04NCiBNOglUYWwgR2lsYm9hIDx0YWxnaUBtZWxsYW5veC5jb20+DQog UzoJTWFpbnRhaW5lZA0KIEY6CWluY2x1ZGUvbGludXgvbmV0X2RpbS5oDQorRjoJaW5jbHVkZS9s aW51eC9kaW0uaA0KIA0KIERaIERFQ1NUQVRJT04gRFoxMSBTRVJJQUwgRFJJVkVSDQogTToJIk1h Y2llaiBXLiBSb3p5Y2tpIiA8bWFjcm9AbGludXgtbWlwcy5vcmc+DQpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9saW51eC9kaW0uaCBiL2luY2x1ZGUvbGludXgvZGltLmgNCm5ldyBmaWxlIG1vZGUgMTAw NjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLjY3ZDdjYTQwZjNkZA0KLS0tIC9kZXYvbnVsbA0KKysr IGIvaW5jbHVkZS9saW51eC9kaW0uaA0KQEAgLTAsMCArMSwxNTMgQEANCisvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMCBPUiBMaW51eC1PcGVuSUIgKi8NCisvKiBDb3B5cmlnaHQg KGMpIDIwMTkgTWVsbGFub3ggVGVjaG5vbG9naWVzLiAqLw0KKw0KKyNpZm5kZWYgRElNX0gNCisj ZGVmaW5lIERJTV9IDQorDQorI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KKw0KKyNkZWZpbmUg TkVUX0RJTV9ORVZFTlRTIDY0DQorDQorLyogbW9yZSB0aGFuIDEwJSBkaWZmZXJlbmNlICovDQor I2RlZmluZSBJU19TSUdOSUZJQ0FOVF9ESUZGKHZhbCwgcmVmKSBcDQorCSgoKDEwMFVMICogYWJz KCh2YWwpIC0gKHJlZikpKSAvIChyZWYpKSA+IDEwKQ0KKyNkZWZpbmUgQklUX0dBUChiaXRzLCBl bmQsIHN0YXJ0KSAoKCgoZW5kKSAtIChzdGFydCkpICsgQklUX1VMTChiaXRzKSkgXA0KKyYgKEJJ VF9VTEwoYml0cykgLSAxKSkNCisNCitzdHJ1Y3QgbmV0X2RpbV9jcV9tb2RlciB7DQorCXUxNiB1 c2VjOw0KKwl1MTYgcGt0czsNCisJdTggY3FfcGVyaW9kX21vZGU7DQorfTsNCisNCitzdHJ1Y3Qg bmV0X2RpbV9zYW1wbGUgew0KKwlrdGltZV90IHRpbWU7DQorCXUzMiBwa3RfY3RyOw0KKwl1MzIg Ynl0ZV9jdHI7DQorCXUxNiBldmVudF9jdHI7DQorfTsNCisNCitzdHJ1Y3QgbmV0X2RpbV9zdGF0 cyB7DQorCWludCBwcG1zOyAvKiBwYWNrZXRzIHBlciBtc2VjICovDQorCWludCBicG1zOyAvKiBi eXRlcyBwZXIgbXNlYyAqLw0KKwlpbnQgZXBtczsgLyogZXZlbnRzIHBlciBtc2VjICovDQorfTsN CisNCitzdHJ1Y3QgbmV0X2RpbSB7IC8qIER5bmFtaWMgSW50ZXJydXB0IE1vZGVyYXRpb24gKi8N CisJdTggc3RhdGU7DQorCXN0cnVjdCBuZXRfZGltX3N0YXRzIHByZXZfc3RhdHM7DQorCXN0cnVj dCBuZXRfZGltX3NhbXBsZSBzdGFydF9zYW1wbGU7DQorCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3Jr Ow0KKwl1OCBwcm9maWxlX2l4Ow0KKwl1OCBtb2RlOw0KKwl1OCB0dW5lX3N0YXRlOw0KKwl1OCBz dGVwc19yaWdodDsNCisJdTggc3RlcHNfbGVmdDsNCisJdTggdGlyZWQ7DQorfTsNCisNCitlbnVt IHsNCisJTkVUX0RJTV9DUV9QRVJJT0RfTU9ERV9TVEFSVF9GUk9NX0VRRSA9IDB4MCwNCisJTkVU X0RJTV9DUV9QRVJJT0RfTU9ERV9TVEFSVF9GUk9NX0NRRSA9IDB4MSwNCisJTkVUX0RJTV9DUV9Q RVJJT0RfTlVNX01PREVTDQorfTsNCisNCitlbnVtIHsNCisJTkVUX0RJTV9TVEFSVF9NRUFTVVJF LA0KKwlORVRfRElNX01FQVNVUkVfSU5fUFJPR1JFU1MsDQorCU5FVF9ESU1fQVBQTFlfTkVXX1BS T0ZJTEUsDQorfTsNCisNCitlbnVtIHsNCisJTkVUX0RJTV9QQVJLSU5HX09OX1RPUCwNCisJTkVU X0RJTV9QQVJLSU5HX1RJUkVELA0KKwlORVRfRElNX0dPSU5HX1JJR0hULA0KKwlORVRfRElNX0dP SU5HX0xFRlQsDQorfTsNCisNCitlbnVtIHsNCisJTkVUX0RJTV9TVEFUU19XT1JTRSwNCisJTkVU X0RJTV9TVEFUU19TQU1FLA0KKwlORVRfRElNX1NUQVRTX0JFVFRFUiwNCit9Ow0KKw0KK2VudW0g ew0KKwlORVRfRElNX1NURVBQRUQsDQorCU5FVF9ESU1fVE9PX1RJUkVELA0KKwlORVRfRElNX09O X0VER0UsDQorfTsNCisNCitzdGF0aWMgaW5saW5lIGJvb2wgbmV0X2RpbV9vbl90b3Aoc3RydWN0 IG5ldF9kaW0gKm5ldF9kaW0pDQorew0KKwlzd2l0Y2ggKG5ldF9kaW0tPnR1bmVfc3RhdGUpIHsN CisJY2FzZSBORVRfRElNX1BBUktJTkdfT05fVE9QOg0KKwljYXNlIE5FVF9ESU1fUEFSS0lOR19U SVJFRDoNCisJCXJldHVybiB0cnVlOw0KKwljYXNlIE5FVF9ESU1fR09JTkdfUklHSFQ6DQorCQly ZXR1cm4gKG5ldF9kaW0tPnN0ZXBzX2xlZnQgPiAxKSAmJiAobmV0X2RpbS0+c3RlcHNfcmlnaHQg PT0gMSk7DQorCWRlZmF1bHQ6IC8qIE5FVF9ESU1fR09JTkdfTEVGVCAqLw0KKwkJcmV0dXJuIChu ZXRfZGltLT5zdGVwc19yaWdodCA+IDEpICYmIChuZXRfZGltLT5zdGVwc19sZWZ0ID09IDEpOw0K Kwl9DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCBuZXRfZGltX3R1cm4oc3RydWN0IG5ldF9k aW0gKm5ldF9kaW0pDQorew0KKwlzd2l0Y2ggKG5ldF9kaW0tPnR1bmVfc3RhdGUpIHsNCisJY2Fz ZSBORVRfRElNX1BBUktJTkdfT05fVE9QOg0KKwljYXNlIE5FVF9ESU1fUEFSS0lOR19USVJFRDoN CisJCWJyZWFrOw0KKwljYXNlIE5FVF9ESU1fR09JTkdfUklHSFQ6DQorCQluZXRfZGltLT50dW5l X3N0YXRlID0gTkVUX0RJTV9HT0lOR19MRUZUOw0KKwkJbmV0X2RpbS0+c3RlcHNfbGVmdCA9IDA7 DQorCQlicmVhazsNCisJY2FzZSBORVRfRElNX0dPSU5HX0xFRlQ6DQorCQluZXRfZGltLT50dW5l X3N0YXRlID0gTkVUX0RJTV9HT0lOR19SSUdIVDsNCisJCW5ldF9kaW0tPnN0ZXBzX3JpZ2h0ID0g MDsNCisJCWJyZWFrOw0KKwl9DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZCBuZXRfZGltX3Bh cmtfb25fdG9wKHN0cnVjdCBuZXRfZGltICpuZXRfZGltKQ0KK3sNCisJbmV0X2RpbS0+c3RlcHNf cmlnaHQgID0gMDsNCisJbmV0X2RpbS0+c3RlcHNfbGVmdCAgID0gMDsNCisJbmV0X2RpbS0+dGly ZWQgICAgICAgID0gMDsNCisJbmV0X2RpbS0+dHVuZV9zdGF0ZSAgID0gTkVUX0RJTV9QQVJLSU5H X09OX1RPUDsNCit9DQorDQorc3RhdGljIGlubGluZSB2b2lkIG5ldF9kaW1fcGFya190aXJlZChz dHJ1Y3QgbmV0X2RpbSAqbmV0X2RpbSkNCit7DQorCW5ldF9kaW0tPnN0ZXBzX3JpZ2h0ICA9IDA7 DQorCW5ldF9kaW0tPnN0ZXBzX2xlZnQgICA9IDA7DQorCW5ldF9kaW0tPnR1bmVfc3RhdGUgICA9 IE5FVF9ESU1fUEFSS0lOR19USVJFRDsNCit9DQorDQorc3RhdGljIGlubGluZSB2b2lkDQorbmV0 X2RpbV9zYW1wbGUodTE2IGV2ZW50X2N0ciwgdTY0IHBhY2tldHMsIHU2NCBieXRlcywgc3RydWN0 IG5ldF9kaW1fc2FtcGxlICpzKQ0KK3sNCisJcy0+dGltZQkgICAgID0ga3RpbWVfZ2V0KCk7DQor CXMtPnBrdF9jdHIgICA9IHBhY2tldHM7DQorCXMtPmJ5dGVfY3RyICA9IGJ5dGVzOw0KKwlzLT5l dmVudF9jdHIgPSBldmVudF9jdHI7DQorfQ0KKw0KK3N0YXRpYyBpbmxpbmUgdm9pZA0KK25ldF9k aW1fY2FsY19zdGF0cyhzdHJ1Y3QgbmV0X2RpbV9zYW1wbGUgKnN0YXJ0LCBzdHJ1Y3QgbmV0X2Rp bV9zYW1wbGUgKmVuZCwNCisJCSAgIHN0cnVjdCBuZXRfZGltX3N0YXRzICpjdXJyX3N0YXRzKQ0K K3sNCisJLyogdTMyIGhvbGRzIHVwIHRvIDcxIG1pbnV0ZXMsIHNob3VsZCBiZSBlbm91Z2ggKi8N CisJdTMyIGRlbHRhX3VzID0ga3RpbWVfdXNfZGVsdGEoZW5kLT50aW1lLCBzdGFydC0+dGltZSk7 DQorCXUzMiBucGt0cyA9IEJJVF9HQVAoQklUU19QRVJfVFlQRSh1MzIpLCBlbmQtPnBrdF9jdHIs IHN0YXJ0LT5wa3RfY3RyKTsNCisJdTMyIG5ieXRlcyA9IEJJVF9HQVAoQklUU19QRVJfVFlQRSh1 MzIpLCBlbmQtPmJ5dGVfY3RyLA0KKwkJCSAgICAgc3RhcnQtPmJ5dGVfY3RyKTsNCisNCisJaWYg KCFkZWx0YV91cykNCisJCXJldHVybjsNCisNCisJY3Vycl9zdGF0cy0+cHBtcyA9IERJVl9ST1VO RF9VUChucGt0cyAqIFVTRUNfUEVSX01TRUMsIGRlbHRhX3VzKTsNCisJY3Vycl9zdGF0cy0+YnBt cyA9IERJVl9ST1VORF9VUChuYnl0ZXMgKiBVU0VDX1BFUl9NU0VDLCBkZWx0YV91cyk7DQorCWN1 cnJfc3RhdHMtPmVwbXMgPSBESVZfUk9VTkRfVVAoTkVUX0RJTV9ORVZFTlRTICogVVNFQ19QRVJf TVNFQywNCisJCQkJCWRlbHRhX3VzKTsNCit9DQorDQorI2VuZGlmIC8qIERJTV9IICovDQpkaWZm IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9uZXRfZGltLmggYi9pbmNsdWRlL2xpbnV4L25ldF9kaW0u aA0KaW5kZXggZmQ0NTgzODlmN2QxLi4zNzNjZGE3NGIxNjcgMTAwNjQ0DQotLS0gYS9pbmNsdWRl L2xpbnV4L25ldF9kaW0uaA0KKysrIGIvaW5jbHVkZS9saW51eC9uZXRfZGltLmgNCkBAIC0zNSw3 MyArMzUsMTAgQEANCiAjZGVmaW5lIE5FVF9ESU1fSA0KIA0KICNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4NCi0NCi1zdHJ1Y3QgbmV0X2RpbV9jcV9tb2RlciB7DQotCXUxNiB1c2VjOw0KLQl1MTYg cGt0czsNCi0JdTggY3FfcGVyaW9kX21vZGU7DQotfTsNCi0NCi1zdHJ1Y3QgbmV0X2RpbV9zYW1w bGUgew0KLQlrdGltZV90IHRpbWU7DQotCXUzMiAgICAgcGt0X2N0cjsNCi0JdTMyICAgICBieXRl X2N0cjsNCi0JdTE2ICAgICBldmVudF9jdHI7DQotfTsNCi0NCi1zdHJ1Y3QgbmV0X2RpbV9zdGF0 cyB7DQotCWludCBwcG1zOyAvKiBwYWNrZXRzIHBlciBtc2VjICovDQotCWludCBicG1zOyAvKiBi eXRlcyBwZXIgbXNlYyAqLw0KLQlpbnQgZXBtczsgLyogZXZlbnRzIHBlciBtc2VjICovDQotfTsN Ci0NCi1zdHJ1Y3QgbmV0X2RpbSB7IC8qIEFkYXB0aXZlIE1vZGVyYXRpb24gKi8NCi0JdTggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlOw0KLQlzdHJ1Y3QgbmV0X2Rp bV9zdGF0cyAgICAgICAgICAgICAgICAgICAgcHJldl9zdGF0czsNCi0Jc3RydWN0IG5ldF9kaW1f c2FtcGxlICAgICAgICAgICAgICAgICAgIHN0YXJ0X3NhbXBsZTsNCi0Jc3RydWN0IHdvcmtfc3Ry dWN0ICAgICAgICAgICAgICAgICAgICAgIHdvcms7DQotCXU4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwcm9maWxlX2l4Ow0KLQl1OCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbW9kZTsNCi0JdTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHR1bmVfc3RhdGU7DQotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdGVwc19yaWdodDsNCi0JdTggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0ZXBzX2xlZnQ7DQotCXU4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0aXJlZDsNCi19Ow0KLQ0KLWVudW0gew0KLQlORVRfRElNX0NRX1BFUklPRF9NT0RFX1NUQVJU X0ZST01fRVFFID0gMHgwLA0KLQlORVRfRElNX0NRX1BFUklPRF9NT0RFX1NUQVJUX0ZST01fQ1FF ID0gMHgxLA0KLQlORVRfRElNX0NRX1BFUklPRF9OVU1fTU9ERVMNCi19Ow0KLQ0KLS8qIEFkYXB0 aXZlIG1vZGVyYXRpb24gbG9naWMgKi8NCi1lbnVtIHsNCi0JTkVUX0RJTV9TVEFSVF9NRUFTVVJF LA0KLQlORVRfRElNX01FQVNVUkVfSU5fUFJPR1JFU1MsDQotCU5FVF9ESU1fQVBQTFlfTkVXX1BS T0ZJTEUsDQotfTsNCi0NCi1lbnVtIHsNCi0JTkVUX0RJTV9QQVJLSU5HX09OX1RPUCwNCi0JTkVU X0RJTV9QQVJLSU5HX1RJUkVELA0KLQlORVRfRElNX0dPSU5HX1JJR0hULA0KLQlORVRfRElNX0dP SU5HX0xFRlQsDQotfTsNCi0NCi1lbnVtIHsNCi0JTkVUX0RJTV9TVEFUU19XT1JTRSwNCi0JTkVU X0RJTV9TVEFUU19TQU1FLA0KLQlORVRfRElNX1NUQVRTX0JFVFRFUiwNCi19Ow0KLQ0KLWVudW0g ew0KLQlORVRfRElNX1NURVBQRUQsDQotCU5FVF9ESU1fVE9PX1RJUkVELA0KLQlORVRfRElNX09O X0VER0UsDQotfTsNCisjaW5jbHVkZSA8bGludXgvZGltLmg+DQogDQogI2RlZmluZSBORVRfRElN X1BBUkFNU19OVU1fUFJPRklMRVMgNQ0KLS8qIEFkYXB0aXZlIG1vZGVyYXRpb24gcHJvZmlsZXMg Ki8NCisvKiBOZXRkZXYgZHluYW1pYyBpbnRlcnJ1cHQgbW9kZXJhdGlvbiBwcm9maWxlcyAqLw0K ICNkZWZpbmUgTkVUX0RJTV9ERUZBVUxUX1JYX0NRX01PREVSQVRJT05fUEtUU19GUk9NX0VRRSAy NTYNCiAjZGVmaW5lIE5FVF9ESU1fREVGQVVMVF9UWF9DUV9NT0RFUkFUSU9OX1BLVFNfRlJPTV9F UUUgMTI4DQogI2RlZmluZSBORVRfRElNX0RFRl9QUk9GSUxFX0NRRSAxDQpAQCAtMTg4LDM2ICsx MjUsNiBAQCBuZXRfZGltX2dldF9kZWZfdHhfbW9kZXJhdGlvbih1OCBjcV9wZXJpb2RfbW9kZSkN CiAJcmV0dXJuIG5ldF9kaW1fZ2V0X3R4X21vZGVyYXRpb24oY3FfcGVyaW9kX21vZGUsIHByb2Zp bGVfaXgpOw0KIH0NCiANCi1zdGF0aWMgaW5saW5lIGJvb2wgbmV0X2RpbV9vbl90b3Aoc3RydWN0 IG5ldF9kaW0gKmRpbSkNCi17DQotCXN3aXRjaCAoZGltLT50dW5lX3N0YXRlKSB7DQotCWNhc2Ug TkVUX0RJTV9QQVJLSU5HX09OX1RPUDoNCi0JY2FzZSBORVRfRElNX1BBUktJTkdfVElSRUQ6DQot CQlyZXR1cm4gdHJ1ZTsNCi0JY2FzZSBORVRfRElNX0dPSU5HX1JJR0hUOg0KLQkJcmV0dXJuIChk aW0tPnN0ZXBzX2xlZnQgPiAxKSAmJiAoZGltLT5zdGVwc19yaWdodCA9PSAxKTsNCi0JZGVmYXVs dDogLyogTkVUX0RJTV9HT0lOR19MRUZUICovDQotCQlyZXR1cm4gKGRpbS0+c3RlcHNfcmlnaHQg PiAxKSAmJiAoZGltLT5zdGVwc19sZWZ0ID09IDEpOw0KLQl9DQotfQ0KLQ0KLXN0YXRpYyBpbmxp bmUgdm9pZCBuZXRfZGltX3R1cm4oc3RydWN0IG5ldF9kaW0gKmRpbSkNCi17DQotCXN3aXRjaCAo ZGltLT50dW5lX3N0YXRlKSB7DQotCWNhc2UgTkVUX0RJTV9QQVJLSU5HX09OX1RPUDoNCi0JY2Fz ZSBORVRfRElNX1BBUktJTkdfVElSRUQ6DQotCQlicmVhazsNCi0JY2FzZSBORVRfRElNX0dPSU5H X1JJR0hUOg0KLQkJZGltLT50dW5lX3N0YXRlID0gTkVUX0RJTV9HT0lOR19MRUZUOw0KLQkJZGlt LT5zdGVwc19sZWZ0ID0gMDsNCi0JCWJyZWFrOw0KLQljYXNlIE5FVF9ESU1fR09JTkdfTEVGVDoN Ci0JCWRpbS0+dHVuZV9zdGF0ZSA9IE5FVF9ESU1fR09JTkdfUklHSFQ7DQotCQlkaW0tPnN0ZXBz X3JpZ2h0ID0gMDsNCi0JCWJyZWFrOw0KLQl9DQotfQ0KLQ0KIHN0YXRpYyBpbmxpbmUgaW50IG5l dF9kaW1fc3RlcChzdHJ1Y3QgbmV0X2RpbSAqZGltKQ0KIHsNCiAJaWYgKGRpbS0+dGlyZWQgPT0g KE5FVF9ESU1fUEFSQU1TX05VTV9QUk9GSUxFUyAqIDIpKQ0KQEAgLTI0NSwyMSArMTUyLDYgQEAg c3RhdGljIGlubGluZSBpbnQgbmV0X2RpbV9zdGVwKHN0cnVjdCBuZXRfZGltICpkaW0pDQogCXJl dHVybiBORVRfRElNX1NURVBQRUQ7DQogfQ0KIA0KLXN0YXRpYyBpbmxpbmUgdm9pZCBuZXRfZGlt X3Bhcmtfb25fdG9wKHN0cnVjdCBuZXRfZGltICpkaW0pDQotew0KLQlkaW0tPnN0ZXBzX3JpZ2h0 ICA9IDA7DQotCWRpbS0+c3RlcHNfbGVmdCAgID0gMDsNCi0JZGltLT50aXJlZCAgICAgICAgPSAw Ow0KLQlkaW0tPnR1bmVfc3RhdGUgICA9IE5FVF9ESU1fUEFSS0lOR19PTl9UT1A7DQotfQ0KLQ0K LXN0YXRpYyBpbmxpbmUgdm9pZCBuZXRfZGltX3BhcmtfdGlyZWQoc3RydWN0IG5ldF9kaW0gKmRp bSkNCi17DQotCWRpbS0+c3RlcHNfcmlnaHQgID0gMDsNCi0JZGltLT5zdGVwc19sZWZ0ICAgPSAw Ow0KLQlkaW0tPnR1bmVfc3RhdGUgICA9IE5FVF9ESU1fUEFSS0lOR19USVJFRDsNCi19DQotDQog c3RhdGljIGlubGluZSB2b2lkIG5ldF9kaW1fZXhpdF9wYXJraW5nKHN0cnVjdCBuZXRfZGltICpk aW0pDQogew0KIAlkaW0tPnR1bmVfc3RhdGUgPSBkaW0tPnByb2ZpbGVfaXggPyBORVRfRElNX0dP SU5HX0xFRlQgOg0KQEAgLTI2Nyw5ICsxNTksNiBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbmV0X2Rp bV9leGl0X3Bhcmtpbmcoc3RydWN0IG5ldF9kaW0gKmRpbSkNCiAJbmV0X2RpbV9zdGVwKGRpbSk7 DQogfQ0KIA0KLSNkZWZpbmUgSVNfU0lHTklGSUNBTlRfRElGRih2YWwsIHJlZikgXA0KLQkoKCgx MDBVTCAqIGFicygodmFsKSAtIChyZWYpKSkgLyAocmVmKSkgPiAxMCkgLyogbW9yZSB0aGFuIDEw JSBkaWZmZXJlbmNlICovDQotDQogc3RhdGljIGlubGluZSBpbnQgbmV0X2RpbV9zdGF0c19jb21w YXJlKHN0cnVjdCBuZXRfZGltX3N0YXRzICpjdXJyLA0KIAkJCQkJc3RydWN0IG5ldF9kaW1fc3Rh dHMgKnByZXYpDQogew0KQEAgLTM1MSwzOSArMjQwLDYgQEAgc3RhdGljIGlubGluZSBib29sIG5l dF9kaW1fZGVjaXNpb24oc3RydWN0IG5ldF9kaW1fc3RhdHMgKmN1cnJfc3RhdHMsDQogCXJldHVy biBkaW0tPnByb2ZpbGVfaXggIT0gcHJldl9peDsNCiB9DQogDQotc3RhdGljIGlubGluZSB2b2lk IG5ldF9kaW1fc2FtcGxlKHUxNiBldmVudF9jdHIsDQotCQkJCSAgdTY0IHBhY2tldHMsDQotCQkJ CSAgdTY0IGJ5dGVzLA0KLQkJCQkgIHN0cnVjdCBuZXRfZGltX3NhbXBsZSAqcykNCi17DQotCXMt PnRpbWUJICAgICA9IGt0aW1lX2dldCgpOw0KLQlzLT5wa3RfY3RyICAgPSBwYWNrZXRzOw0KLQlz LT5ieXRlX2N0ciAgPSBieXRlczsNCi0Jcy0+ZXZlbnRfY3RyID0gZXZlbnRfY3RyOw0KLX0NCi0N Ci0jZGVmaW5lIE5FVF9ESU1fTkVWRU5UUyA2NA0KLSNkZWZpbmUgQklUX0dBUChiaXRzLCBlbmQs IHN0YXJ0KSAoKCgoZW5kKSAtIChzdGFydCkpICsgQklUX1VMTChiaXRzKSkgJiAoQklUX1VMTChi aXRzKSAtIDEpKQ0KLQ0KLXN0YXRpYyBpbmxpbmUgdm9pZCBuZXRfZGltX2NhbGNfc3RhdHMoc3Ry dWN0IG5ldF9kaW1fc2FtcGxlICpzdGFydCwNCi0JCQkJICAgICAgc3RydWN0IG5ldF9kaW1fc2Ft cGxlICplbmQsDQotCQkJCSAgICAgIHN0cnVjdCBuZXRfZGltX3N0YXRzICpjdXJyX3N0YXRzKQ0K LXsNCi0JLyogdTMyIGhvbGRzIHVwIHRvIDcxIG1pbnV0ZXMsIHNob3VsZCBiZSBlbm91Z2ggKi8N Ci0JdTMyIGRlbHRhX3VzID0ga3RpbWVfdXNfZGVsdGEoZW5kLT50aW1lLCBzdGFydC0+dGltZSk7 DQotCXUzMiBucGt0cyA9IEJJVF9HQVAoQklUU19QRVJfVFlQRSh1MzIpLCBlbmQtPnBrdF9jdHIs IHN0YXJ0LT5wa3RfY3RyKTsNCi0JdTMyIG5ieXRlcyA9IEJJVF9HQVAoQklUU19QRVJfVFlQRSh1 MzIpLCBlbmQtPmJ5dGVfY3RyLA0KLQkJCSAgICAgc3RhcnQtPmJ5dGVfY3RyKTsNCi0NCi0JaWYg KCFkZWx0YV91cykNCi0JCXJldHVybjsNCi0NCi0JY3Vycl9zdGF0cy0+cHBtcyA9IERJVl9ST1VO RF9VUChucGt0cyAqIFVTRUNfUEVSX01TRUMsIGRlbHRhX3VzKTsNCi0JY3Vycl9zdGF0cy0+YnBt cyA9IERJVl9ST1VORF9VUChuYnl0ZXMgKiBVU0VDX1BFUl9NU0VDLCBkZWx0YV91cyk7DQotCWN1 cnJfc3RhdHMtPmVwbXMgPSBESVZfUk9VTkRfVVAoTkVUX0RJTV9ORVZFTlRTICogVVNFQ19QRVJf TVNFQywNCi0JCQkJCWRlbHRhX3VzKTsNCi19DQotDQogc3RhdGljIGlubGluZSB2b2lkIG5ldF9k aW0oc3RydWN0IG5ldF9kaW0gKmRpbSwNCiAJCQkgICBzdHJ1Y3QgbmV0X2RpbV9zYW1wbGUgZW5k X3NhbXBsZSkNCiB7DQotLSANCjIuMjEuMA0KDQo=