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=-6.0 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY,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 74B02C31E46 for ; Wed, 12 Jun 2019 07:22:57 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 2BBD820896 for ; Wed, 12 Jun 2019 07:22:57 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="Q5QnxV7M" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731419AbfFLHW4 (ORCPT ); Wed, 12 Jun 2019 03:22:56 -0400 Received: from mail-eopbgr40081.outbound.protection.outlook.com ([40.107.4.81]:52486 "EHLO EUR03-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1731310AbfFLHWz (ORCPT ); Wed, 12 Jun 2019 03:22:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3ZYGhN+PfjGDl9fx/CFy2UoPJQRQ4lsVNm1caQt4Q1o=; b=Q5QnxV7MXp3YfyierO9KMGRLHjjQuq19tdpMZw1CWKIFQ42SEXXG8jotnQW6Gl7P0+VB7Z/o5gzU802roPv9WWpMdjEdvkh9FxN/GYcSN8lVOiT2oRMGcr9PiQRTNzejOyd0tkkf3LXZ05TnGAOWSeDclxNRbPjCOdULcZk/mU8= Received: from VI1PR08MB5488.eurprd08.prod.outlook.com (52.133.246.150) by VI1PR08MB3824.eurprd08.prod.outlook.com (20.178.15.219) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1965.12; Wed, 12 Jun 2019 07:22:51 +0000 Received: from VI1PR08MB5488.eurprd08.prod.outlook.com ([fe80::e9f4:59c8:9be1:910b]) by VI1PR08MB5488.eurprd08.prod.outlook.com ([fe80::e9f4:59c8:9be1:910b%4]) with mapi id 15.20.1987.010; Wed, 12 Jun 2019 07:22:51 +0000 From: "Lowry Li (Arm Technology China)" To: Liviu Dudau , "james qian wang (Arm Technology China)" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , Brian Starkey CC: "Julien Yin (Arm Technology China)" , "Jonathan Chai (Arm Technology China)" , Ayan Halder , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , nd Subject: [PATCH v3 1/2] drm/komeda: Adds SMMU support Thread-Topic: [PATCH v3 1/2] drm/komeda: Adds SMMU support Thread-Index: AQHVIO+kb1PZ7gRlpkedRKVoOfYr0g== Date: Wed, 12 Jun 2019 07:22:51 +0000 Message-ID: <1560324143-25099-2-git-send-email-lowry.li@arm.com> References: <1560324143-25099-1-git-send-email-lowry.li@arm.com> In-Reply-To: <1560324143-25099-1-git-send-email-lowry.li@arm.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [113.29.88.7] x-clientproxiedby: HK0P153CA0017.APCP153.PROD.OUTLOOK.COM (2603:1096:203:18::29) To VI1PR08MB5488.eurprd08.prod.outlook.com (2603:10a6:803:137::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Lowry.Li@arm.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 1.9.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9d6dd992-969d-4b0b-2a85-08d6ef06c739 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:VI1PR08MB3824; x-ms-traffictypediagnostic: VI1PR08MB3824: nodisclaimer: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:313; x-forefront-prvs: 0066D63CE6 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(346002)(136003)(376002)(39860400002)(366004)(396003)(199004)(189003)(50226002)(64756008)(99286004)(6116002)(66946007)(305945005)(102836004)(7736002)(66556008)(5660300002)(66476007)(5024004)(14444005)(25786009)(68736007)(8676002)(6636002)(53936002)(76176011)(73956011)(256004)(4326008)(6506007)(55236004)(8936002)(386003)(81166006)(86362001)(52116002)(2501003)(2201001)(316002)(6512007)(81156014)(6486002)(6436002)(66446008)(71190400001)(3846002)(54906003)(14454004)(110136005)(2616005)(11346002)(66066001)(486006)(2906002)(478600001)(446003)(36756003)(476003)(72206003)(26005)(186003)(71200400001)(473944003);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR08MB3824;H:VI1PR08MB5488.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: YKOjGfbjRBXmOA0ti8sRbwXWoPwz/RoUstoyTLrWjxAqBU107C8Zz4nL6BfAM6Atv3r133oGvbZyNgBljXisy6gqIFnMOXitNDSotIPX0k/ZFKsbC6dkXwBa4yuqaJQbAmBfuZcxqn56DuYqEAtRWTFdg8VtCBIttXVNDR4OFApRwaWBkS9wU5qqOVB2uiD7FInF2Bs72Lmdl8BcCDrjLSF1wZYctaZ4ELalAD5nW7IfOlMrJMh7WQ4u0IUoCb85zmcpsT7mpTHYTL9/Y5XUz82LyDlrXMS29s3t6Vu2HN3YD+IhcK2apjaD7FiFvjGRQ2k1gWgHmfD4ZbWYutJGRHjmLWhnF3r2OenwflUljpL1blkpcDlayqQlVlRLnovjPOL8pg4VotRuGj4zzXklUum5jLCQNJD/VNi22NtILSA= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d6dd992-969d-4b0b-2a85-08d6ef06c739 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2019 07:22:51.3210 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Lowry.Li@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB3824 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogIkxvd3J5IExpIChBcm0gVGVjaG5vbG9neSBDaGluYSkiIDxMb3dyeS5MaUBhcm0uY29t Pg0KDQpBZGRzIGlvbW11X2Nvbm5lY3QgYW5kIGRpc2Nvbm5lY3QgZm9yIFNNTVUgc3VwcG9ydCwg YW5kIGNvbmZpZ3VyZXMNClRCVSB0cmFuc2xhdGlvbiBvbmNlIFNNTVUgaGFzIGJlZW4gYXR0YWNo ZWQgdG8gdGhlIGRpc3BsYXkgZGV2aWNlLg0KDQpTaWduZWQtb2ZmLWJ5OiBMb3dyeSBMaSAoQXJt IFRlY2hub2xvZ3kgQ2hpbmEpIDxsb3dyeS5saUBhcm0uY29tPg0KLS0tDQogLi4uL2dwdS9kcm0v YXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgfCAgNSArKysNCiBkcml2ZXJz L2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgICB8IDQ5ICsrKysrKysr KysrKysrKysrKysrKysNCiBkcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVk YV9kZXYuYyAgICB8IDE4ICsrKysrKysrDQogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfZGV2LmggICAgfCAgNyArKysrDQogLi4uL2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMgICAgfCAgMiArDQogLi4uL2RybS9hcm0vZGlzcGxheS9r b21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmggICAgfCAgMiArDQogNiBmaWxlcyBjaGFuZ2VkLCA4 MyBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2Q3MS9kNzFfY29tcG9uZW50LmMNCmluZGV4IDRlMjZhODAuLjRhNDhkZDYgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfY29t cG9uZW50LmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3 MV9jb21wb25lbnQuYw0KQEAgLTIxNSw2ICsyMTUsOCBAQCBzdGF0aWMgdm9pZCBkNzFfbGF5ZXJf dXBkYXRlKHN0cnVjdCBrb21lZGFfY29tcG9uZW50ICpjLA0KIAltYWxpZHBfd3JpdGUzMihyZWcs IExBWUVSX0ZNVCwga2ZiLT5mb3JtYXRfY2Fwcy0+aHdfaWQpOw0KIAltYWxpZHBfd3JpdGUzMihy ZWcsIEJMS19JTl9TSVpFLCBIVl9TSVpFKHN0LT5oc2l6ZSwgc3QtPnZzaXplKSk7DQogDQorCWlm IChrZmItPmlzX3ZhKQ0KKwkJY3RybCB8PSBMX1RCVV9FTjsNCiAJbWFsaWRwX3dyaXRlMzJfbWFz ayhyZWcsIEJMS19DT05UUk9MLCBjdHJsX21hc2ssIGN0cmwpOw0KIH0NCiANCkBAIC0zNDgsNiAr MzUwLDkgQEAgc3RhdGljIHZvaWQgZDcxX3diX2xheWVyX3VwZGF0ZShzdHJ1Y3Qga29tZWRhX2Nv bXBvbmVudCAqYywNCiAJCQkgICAgICAgZmItPnBpdGNoZXNbaV0gJiAweEZGRkYpOw0KIAl9DQog DQorCWlmIChrZmItPmlzX3ZhKQ0KKwkJY3RybCB8PSBMV19UQlVfRU47DQorDQogCW1hbGlkcF93 cml0ZTMyKHJlZywgTEFZRVJfRk1ULCBrZmItPmZvcm1hdF9jYXBzLT5od19pZCk7DQogCW1hbGlk cF93cml0ZTMyKHJlZywgQkxLX0lOX1NJWkUsIEhWX1NJWkUoc3QtPmhzaXplLCBzdC0+dnNpemUp KTsNCiAJbWFsaWRwX3dyaXRlMzIocmVnLCBCTEtfSU5QVVRfSUQwLCB0b19kNzFfaW5wdXRfaWQo JnN0YXRlLT5pbnB1dHNbMF0pKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rp c3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL2Q3MS9kNzFfZGV2LmMNCmluZGV4IDhlNjgyYzcuLjNkYWI1MDc3IDEwMDY0NA0KLS0t IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9kNzEvZDcxX2Rldi5jDQorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMNCkBAIC01 MTcsNiArNTE3LDUzIEBAIHN0YXRpYyB2b2lkIGQ3MV9pbml0X2ZtdF90Ymwoc3RydWN0IGtvbWVk YV9kZXYgKm1kZXYpDQogCXRhYmxlLT5uX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGQ3MV9mb3JtYXRf Y2Fwc190YWJsZSk7DQogfQ0KIA0KK3N0YXRpYyBpbnQgZDcxX2Nvbm5lY3RfaW9tbXUoc3RydWN0 IGtvbWVkYV9kZXYgKm1kZXYpDQorew0KKwlzdHJ1Y3QgZDcxX2RldiAqZDcxID0gbWRldi0+Y2hp cF9kYXRhOw0KKwl1MzIgX19pb21lbSAqcmVnID0gZDcxLT5nY3VfYWRkcjsNCisJdTMyIGNoZWNr X2JpdHMgPSAoZDcxLT5udW1fcGlwZWxpbmVzID09IDIpID8NCisJCQkgR0NVX1NUQVRVU19UQ1Mw IHwgR0NVX1NUQVRVU19UQ1MxIDogR0NVX1NUQVRVU19UQ1MwOw0KKwlpbnQgaSwgcmV0Ow0KKw0K KwlpZiAoIWQ3MS0+aW50ZWdyYXRlc190YnUpDQorCQlyZXR1cm4gLTE7DQorDQorCW1hbGlkcF93 cml0ZTMyX21hc2socmVnLCBCTEtfQ09OVFJPTCwgMHg3LCBUQlVfQ09OTkVDVF9NT0RFKTsNCisN CisJcmV0ID0gZHBfd2FpdF9jb25kKGhhc19iaXRzKGNoZWNrX2JpdHMsIG1hbGlkcF9yZWFkMzIo cmVnLCBCTEtfU1RBVFVTKSksDQorCQkJMTAwLCAxMDAwLCAxMDAwKTsNCisJaWYgKHJldCA8IDAp IHsNCisJCURSTV9FUlJPUigiY29ubmVjdCB0byBUQ1UgdGltZW91dCFcbiIpOw0KKwkJbWFsaWRw X3dyaXRlMzJfbWFzayhyZWcsIEJMS19DT05UUk9MLCAweDcsIElOQUNUSVZFX01PREUpOw0KKwkJ cmV0dXJuIHJldDsNCisJfQ0KKw0KKwlmb3IgKGkgPSAwOyBpIDwgZDcxLT5udW1fcGlwZWxpbmVz OyBpKyspDQorCQltYWxpZHBfd3JpdGUzMl9tYXNrKGQ3MS0+cGlwZXNbaV0tPmxwdV9hZGRyLCBM UFVfVEJVX0NPTlRST0wsDQorCQkJCSAgICBMUFVfVEJVX0NUUkxfVExCUEVOLCBMUFVfVEJVX0NU UkxfVExCUEVOKTsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgZDcxX2Rpc2Nvbm5l Y3RfaW9tbXUoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpDQorew0KKwlzdHJ1Y3QgZDcxX2RldiAq ZDcxID0gbWRldi0+Y2hpcF9kYXRhOw0KKwl1MzIgX19pb21lbSAqcmVnID0gZDcxLT5nY3VfYWRk cjsNCisJdTMyIGNoZWNrX2JpdHMgPSAoZDcxLT5udW1fcGlwZWxpbmVzID09IDIpID8NCisJCQkg R0NVX1NUQVRVU19UQ1MwIHwgR0NVX1NUQVRVU19UQ1MxIDogR0NVX1NUQVRVU19UQ1MwOw0KKwlp bnQgcmV0Ow0KKw0KKwltYWxpZHBfd3JpdGUzMl9tYXNrKHJlZywgQkxLX0NPTlRST0wsIDB4Nywg VEJVX0RJU0NPTk5FQ1RfTU9ERSk7DQorDQorCXJldCA9IGRwX3dhaXRfY29uZCgoKG1hbGlkcF9y ZWFkMzIocmVnLCBCTEtfU1RBVFVTKSAmIGNoZWNrX2JpdHMpID09IDApLA0KKwkJCTEwMCwgMTAw MCwgMTAwMCk7DQorCWlmIChyZXQgPCAwKSB7DQorCQlEUk1fRVJST1IoImRpc2Nvbm5lY3QgZnJv bSBUQ1UgdGltZW91dCFcbiIpOw0KKwkJbWFsaWRwX3dyaXRlMzJfbWFzayhyZWcsIEJMS19DT05U Uk9MLCAweDcsIElOQUNUSVZFX01PREUpOw0KKwl9DQorDQorCXJldHVybiByZXQ7DQorfQ0KKw0K IHN0YXRpYyBzdHJ1Y3Qga29tZWRhX2Rldl9mdW5jcyBkNzFfY2hpcF9mdW5jcyA9IHsNCiAJLmlu aXRfZm9ybWF0X3RhYmxlID0gZDcxX2luaXRfZm10X3RibCwNCiAJLmVudW1fcmVzb3VyY2VzCT0g ZDcxX2VudW1fcmVzb3VyY2VzLA0KQEAgLTUyNyw2ICs1NzQsOCBAQCBzdGF0aWMgdm9pZCBkNzFf aW5pdF9mbXRfdGJsKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KQ0KIAkub25fb2ZmX3ZibGFuawk9 IGQ3MV9vbl9vZmZfdmJsYW5rLA0KIAkuY2hhbmdlX29wbW9kZQk9IGQ3MV9jaGFuZ2Vfb3Btb2Rl LA0KIAkuZmx1c2gJCT0gZDcxX2ZsdXNoLA0KKwkuY29ubmVjdF9pb21tdQk9IGQ3MV9jb25uZWN0 X2lvbW11LA0KKwkuZGlzY29ubmVjdF9pb21tdSA9IGQ3MV9kaXNjb25uZWN0X2lvbW11LA0KIH07 DQogDQogc3RydWN0IGtvbWVkYV9kZXZfZnVuY3MgKg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5jIGIvZHJpdmVycy9ncHUvZHJtL2Fy bS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMNCmluZGV4IGM5MmUxNjEuLmU4MGU2NzMgMTAw NjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYu Yw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZGV2LmMN CkBAIC0yNTMsNiArMjUzLDE5IEBAIHN0cnVjdCBrb21lZGFfZGV2ICprb21lZGFfZGV2X2NyZWF0 ZShzdHJ1Y3QgZGV2aWNlICpkZXYpDQogCWRldi0+ZG1hX3Bhcm1zID0gJm1kZXYtPmRtYV9wYXJt czsNCiAJZG1hX3NldF9tYXhfc2VnX3NpemUoZGV2LCBETUFfQklUX01BU0soMzIpKTsNCiANCisJ bWRldi0+aW9tbXUgPSBpb21tdV9nZXRfZG9tYWluX2Zvcl9kZXYobWRldi0+ZGV2KTsNCisJaWYg KCFtZGV2LT5pb21tdSkNCisJCURSTV9JTkZPKCJjb250aW51ZSB3aXRob3V0IElPTU1VIHN1cHBv cnQhXG4iKTsNCisNCisJaWYgKG1kZXYtPmlvbW11ICYmIG1kZXYtPmZ1bmNzLT5jb25uZWN0X2lv bW11KSB7DQorCQllcnIgPSBtZGV2LT5mdW5jcy0+Y29ubmVjdF9pb21tdShtZGV2KTsNCisJCWlm IChlcnIpIHsNCisJCQltZGV2LT5pb21tdSA9IE5VTEw7DQorCQkJRFJNX0VSUk9SKCJjb25uZWN0 IGlvbW11IGZhaWxlZC5cbiIpOw0KKwkJCWdvdG8gZXJyX2NsZWFudXA7DQorCQl9DQorCX0NCisN CiAJZXJyID0gc3lzZnNfY3JlYXRlX2dyb3VwKCZkZXYtPmtvYmosICZrb21lZGFfc3lzZnNfYXR0 cl9ncm91cCk7DQogCWlmIChlcnIpIHsNCiAJCURSTV9FUlJPUigiY3JlYXRlIHN5c2ZzIGdyb3Vw IGZhaWxlZC5cbiIpOw0KQEAgLTI4Miw2ICsyOTUsMTEgQEAgdm9pZCBrb21lZGFfZGV2X2Rlc3Ry b3koc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpDQogCWRlYnVnZnNfcmVtb3ZlX3JlY3Vyc2l2ZSht ZGV2LT5kZWJ1Z2ZzX3Jvb3QpOw0KICNlbmRpZg0KIA0KKwlpZiAobWRldi0+aW9tbXUgJiYgbWRl di0+ZnVuY3MtPmRpc2Nvbm5lY3RfaW9tbXUpDQorCQlpZiAobWRldi0+ZnVuY3MtPmRpc2Nvbm5l Y3RfaW9tbXUobWRldikpDQorCQkJRFJNX0VSUk9SKCJkaXNjb25uZWN0IGlvbW11IGZhaWxlZC5c biIpOw0KKwltZGV2LT5pb21tdSA9IE5VTEw7DQorDQogCWZvciAoaSA9IDA7IGkgPCBtZGV2LT5u X3BpcGVsaW5lczsgaSsrKSB7DQogCQlrb21lZGFfcGlwZWxpbmVfZGVzdHJveShtZGV2LCBtZGV2 LT5waXBlbGluZXNbaV0pOw0KIAkJbWRldi0+cGlwZWxpbmVzW2ldID0gTlVMTDsNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9kZXYuaCBiL2Ry aXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oDQppbmRleCA4M2Fj ZTcxLi5kYWMxZWRhIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfZGV2LmgNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21l ZGEva29tZWRhX2Rldi5oDQpAQCAtOTIsNiArOTIsMTAgQEAgc3RydWN0IGtvbWVkYV9kZXZfZnVu Y3Mgew0KIAlpbnQgKCplbnVtX3Jlc291cmNlcykoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpOw0K IAkvKiogQGNsZWFudXA6IGNhbGwgdG8gY2hpcCB0byBjbGVhbnVwIGtvbWVkYV9kZXYtPmNoaXAg ZGF0YSAqLw0KIAl2b2lkICgqY2xlYW51cCkoc3RydWN0IGtvbWVkYV9kZXYgKm1kZXYpOw0KKwkv KiogQGNvbm5lY3RfaW9tbXU6IE9wdGlvbmFsLCBjb25uZWN0IHRvIGV4dGVybmFsIGlvbW11ICov DQorCWludCAoKmNvbm5lY3RfaW9tbXUpKHN0cnVjdCBrb21lZGFfZGV2ICptZGV2KTsNCisJLyoq IEBkaXNjb25uZWN0X2lvbW11OiBPcHRpb25hbCwgZGlzY29ubmVjdCB0byBleHRlcm5hbCBpb21t dSAqLw0KKwlpbnQgKCpkaXNjb25uZWN0X2lvbW11KShzdHJ1Y3Qga29tZWRhX2RldiAqbWRldik7 DQogCS8qKg0KIAkgKiBAaXJxX2hhbmRsZXI6DQogCSAqDQpAQCAtMTg0LDYgKzE4OCw5IEBAIHN0 cnVjdCBrb21lZGFfZGV2IHsNCiAJICovDQogCXZvaWQgKmNoaXBfZGF0YTsNCiANCisJLyoqIEBp b21tdTogaW9tbXUgZG9tYWluICovDQorCXN0cnVjdCBpb21tdV9kb21haW4gKmlvbW11Ow0KKw0K IAkvKiogQGRlYnVnZnNfcm9vdDogcm9vdCBkaXJlY3Rvcnkgb2Yga29tZWRhIGRlYnVnZnMgKi8N CiAJc3RydWN0IGRlbnRyeSAqZGVidWdmc19yb290Ow0KIH07DQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmMNCmluZGV4 IGQ1ODIyYTMuLjM2MGFiNzAgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5jDQpAQCAtMjAxLDYgKzIwMSw4IEBA IHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKg0KIAkJZ290byBlcnJfY2xlYW51cDsNCiAJfQ0KIA0K KwlrZmItPmlzX3ZhID0gbWRldi0+aW9tbXUgPyB0cnVlIDogZmFsc2U7DQorDQogCXJldHVybiAm a2ZiLT5iYXNlOw0KIA0KIGVycl9jbGVhbnVwOg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2ZyYW1lYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9k cm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9mcmFtZWJ1ZmZlci5oDQppbmRleCA2Y2JiMmY2 Li5mNDA0NmUyIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVk YS9rb21lZGFfZnJhbWVidWZmZXIuaA0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5 L2tvbWVkYS9rb21lZGFfZnJhbWVidWZmZXIuaA0KQEAgLTIxLDYgKzIxLDggQEAgc3RydWN0IGtv bWVkYV9mYiB7DQogCSAqIGV4dGVuZHMgZHJtX2Zvcm1hdF9pbmZvIGZvciBrb21lZGEgc3BlY2lm aWMgaW5mb3JtYXRpb24NCiAJICovDQogCWNvbnN0IHN0cnVjdCBrb21lZGFfZm9ybWF0X2NhcHMg KmZvcm1hdF9jYXBzOw0KKwkvKiogQGlzX3ZhOiBpZiBzbW11IGlzIGVuYWJsZWQsIGl0IHdpbGwg YmUgdHJ1ZSAqLw0KKwlib29sIGlzX3ZhOw0KIAkvKiogQGFsaWduZWRfdzogYWxpZ25lZCBmcmFt ZSBidWZmZXIgd2lkdGggKi8NCiAJdTMyIGFsaWduZWRfdzsNCiAJLyoqIEBhbGlnbmVkX2g6IGFs aWduZWQgZnJhbWUgYnVmZmVyIGhlaWdodCAqLw0KLS0gDQoxLjkuMQ0KDQo=