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=-12.8 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MSGID_FROM_MTA_HEADER,NICE_REPLY_A,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 04393C433DF for ; Tue, 4 Aug 2020 11:35:41 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 C1AD920738 for ; Tue, 4 Aug 2020 11:35:40 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="ZhQgXs/t" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C1AD920738 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 625EE8826D; Tue, 4 Aug 2020 11:35:38 +0000 (UTC) Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2054.outbound.protection.outlook.com [40.107.220.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7080E6E462 for ; Tue, 4 Aug 2020 11:35:36 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QkQWCvf+9xI1GvZuGcNIiylxpIgOEo8omcBSUjI6ytoR3SlWvrd4Hs+ZEnqBqpIHg9vapWUUAbEnep/fKAtb0bpYN24OOSbftAZ//0rOsmR8l9Y5Of6/1dFKlgzRgsfqrCmiSL9uHNlBTk74c1Y+Q4wP0OGi3yKccv/lJG1PItsaL9irZPL32H3NBz/3rTHKj8pHPK+3h2WZTZWuVkoN9ovn7LZrLDlX91q0eTKItE1M+Kijnusx62ngBQ5AgVjMRjg4LIiAcxbLuuowPRUB6ucNj1FLHTt+IhIgoRwqq4DQ4HAwqW6b7yRuXL5Du5K/JdNxEOwSFG90uU0SIDJbgQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E0hc1GK79Nho3QHeVY3v1XYtrT9GyO2NYlZqIQBla74=; b=UFqZX6EYpzUbTg7DCGITlZj46rR/MoQ6wK+6s2vkZiBiKWoAQbSYiG41gDC8vcZReIX1fdtjDc4q8+tdtGlPKDCpUegyVGNKATOIg5Q2pMt6Xj/lluGFwPsFbLx+S/NLyEhuYRGyxyjHSL8avwPk1+RZ1hJNDemd645jqW2WKq/WnzXpjxun0kCuBUhMeVqsJFTFHqHVKxV5WAE0Yn8y/2IbIf9q4UZ+oWpJxMvsm7OYIHM7Kt9c80ERofmkK8z/FxNIV6afRvtJNXSC9Lr4W4h7JOtWpYvdHrEE+QVlB7T9bd/nH4q+VwxxlBVqfPNPYWV6yutunKyw1e3BCdf1OQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=E0hc1GK79Nho3QHeVY3v1XYtrT9GyO2NYlZqIQBla74=; b=ZhQgXs/tI1CJT5dd4lIzgDXYPJ1d13xF2kEULB5YA4zd45YnmkDT5CGbvMn6+Oz6rjykuhndCzMT/6WPHNPF/XdYCRmDVPt5/J0fUzKwdBvox4+rb0CdJwXoAhjANI7fTAErxPbeTDf6+jufRYcBgKJibX4txs8GIF1NRzgyHCQ= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; Received: from MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) by MN2PR12MB4111.namprd12.prod.outlook.com (2603:10b6:208:1de::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3239.20; Tue, 4 Aug 2020 11:35:33 +0000 Received: from MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::a16e:8812:b4c0:918d]) by MN2PR12MB3775.namprd12.prod.outlook.com ([fe80::a16e:8812:b4c0:918d%6]) with mapi id 15.20.3239.022; Tue, 4 Aug 2020 11:35:33 +0000 Subject: Re: [PATCH 46/59] drm/ttm: make ttm_range_man_init/takedown take type + args To: Dave Airlie , dri-devel@lists.freedesktop.org References: <20200804025632.3868079-1-airlied@gmail.com> <20200804025632.3868079-47-airlied@gmail.com> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: Date: Tue, 4 Aug 2020 13:35:24 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 In-Reply-To: <20200804025632.3868079-47-airlied@gmail.com> Content-Language: en-US X-ClientProxiedBy: FR2P281CA0026.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::13) To MN2PR12MB3775.namprd12.prod.outlook.com (2603:10b6:208:159::19) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [IPv6:2a02:908:1252:fb60:be8a:bd56:1f94:86e7] (2a02:908:1252:fb60:be8a:bd56:1f94:86e7) by FR2P281CA0026.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:14::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3261.12 via Frontend Transport; Tue, 4 Aug 2020 11:35:31 +0000 X-Originating-IP: [2a02:908:1252:fb60:be8a:bd56:1f94:86e7] X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 88410158-238d-432e-38c1-08d8386a7f4c X-MS-TrafficTypeDiagnostic: MN2PR12MB4111: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:9508; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: OnvL58ARNo79mF5AWsrkDeGj9U8VijWB3720AtCpCNNkcWfj4Igwn9l1hyhyOPuaS4GTsTA0hdI6fLHz69b8ZDz6rCCV2PED7QE57uF9H0aEYFWNHYlE2f8gnyr+ZGXbkMcEmGn5fEojLYRXfAWGUhN2OdEeXMJylHb3XbDdoutQ086TzU3loEH41YiN+ADYrx6cmHGQotjGTOUI8DsNHBskcKsRWVQMcTqMToof16l8TcOskGWy41lBckkJRWJUr0bTHbzNyqZEUVjU6KBiZZeXGLqCRbrai2W8cNAw0G2PEMEo0s0u8qQ2H/VcJulda+uTqico2TRubLZ7o8QkSalLFqm6eBWQoQidKynHhgkI3q/cq81Qdrd3Bt3p4EbU X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR12MB3775.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(136003)(346002)(396003)(376002)(39860400002)(366004)(478600001)(6486002)(86362001)(2906002)(6666004)(66574015)(316002)(16526019)(186003)(83380400001)(52116002)(8936002)(66556008)(31696002)(30864003)(4326008)(66946007)(31686004)(2616005)(66476007)(36756003)(8676002)(5660300002)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData: c1J5W3DjTzWuffbdBfEAybFo2swbp1nyIYGyHOkuKI2RFNrKC9L6hIBeJsMolaiTew9JLWacJkBABfdadoRlQ0ObhWPkno2BcbY+e8Y1FkZsOSiCevKwLpk963ncjBI8hz0NOZv3M7r7/k2zTxWq6ECwN4WL5aFzFXJCe1Tb+fBaS4hss8tGsBKudrg1tzzT8bs/UPng7bkxwbdft3UZT5tJJZ9FFr/hAHF8yBminz6nsvS/4B9XhbEjOhYQdOE8KkSRSXqItnWePO2kYDpZhAPoj2Jmxwo1vq58NrcSSh5JTklPveIEEtPp6X0OEr6a0iFaFL4AHJtokg54RyjAAkyi/4s5XS3oNSkxZE9+sHlSe6NxikY5qjcJubtrjON+Y3miNachS0pM3fmKdmQ7wuhC70J7WXKzBhYnOHryLjmnL06/7P+WIhlwZ5pELfmQqeW9Ul9FNbM2f8jXMXIRnIArpeMNmc+bCeqVeufO7oT+dvJ2X3+fDTN2fwefnHCAFs/86qRZJc0tZ7vcsNXlwODwhNQZuHzjWXllp/o24ZPnk0g5LpL98QHexbTsgT/2lp+7KperzjxyChc/RtA7aqwQbIuIW/5eDRFYx9Z12vR2tpF2qAvT7yDPo8dOIqkSAFqiJjqJ/iG9oPF6fcxpY0/T+u4bnoWykIanbrQqhbWn6No8I4s9Ds0FyH6vqo6PKnRzua3VVyWyfBReVw5GIg== X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88410158-238d-432e-38c1-08d8386a7f4c X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3775.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Aug 2020 11:35:32.9304 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iGXKbL06qvQ4LvfbbKAhMwF0i724919KfbPF4ZFnqjtsKnASwd0tnpK4fmVAx72l X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4111 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: sroland@vmware.com, linux-graphics-maintainer@vmware.com, bskeggs@redhat.com, kraxel@redhat.com Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" QW0gMDQuMDguMjAgdW0gMDQ6NTYgc2NocmllYiBEYXZlIEFpcmxpZToKPiBGcm9tOiBEYXZlIEFp cmxpZSA8YWlybGllZEByZWRoYXQuY29tPgo+Cj4gVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gbW92 ZSB0aGVzZSB0byBhIGRyaXZlciBhbGxvY2F0ZWQgc3lzdGVtCj4KPiBTaWduZWQtb2ZmLWJ5OiBE YXZlIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgoKUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBL w7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KCj4gLS0tCj4gICBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMgfCAxNSArKysrKy0tLS0tLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMgICB8IDEwICsrKystLS0tCj4gICBkcml2ZXJz L2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X3R0bS5jICAgfCAyMiArKysrKysrKysrKy0tLS0tLS0K PiAgIGRyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jICAgICAgICAgICB8IDEzICsrKystLS0t LS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYyAgICAgfCAzMSArKysr KysrKysrKystLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vdHRtL3R0bV9ib19tYW5h Z2VyLmMgICAgfCAxOSArKysrKysrKysrKy0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS92bXdnZngv dm13Z2Z4X2Rydi5jICAgICB8IDEzICsrKystLS0tLS0tCj4gICBpbmNsdWRlL2RybS90dG0vdHRt X2JvX2RyaXZlci5oICAgICAgICAgfCAxMiArKysrKysrLS0tCj4gICA4IGZpbGVzIGNoYW5nZWQs IDcwIGluc2VydGlvbnMoKyksIDY1IGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV90dG0uYwo+IGluZGV4IDFiZDg2MDg3N2YxZS4uYjE5MGQ1MGRjOWJiIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90dG0uYwo+IEBAIC02NywxMiAr NjcsOSBAQCBzdGF0aWMgaW50IGFtZGdwdV90dG1faW5pdF9vbl9jaGlwKHN0cnVjdCBhbWRncHVf ZGV2aWNlICphZGV2LAo+ICAgCQkJCSAgICB1bnNpZ25lZCBpbnQgdHlwZSwKPiAgIAkJCQkgICAg dWludDY0X3Qgc2l6ZSkKPiAgIHsKPiAtCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFu ID0gdHRtX21hbmFnZXJfdHlwZSgmYWRldi0+bW1hbi5iZGV2LCB0eXBlKTsKPiAtCj4gLQltYW4t PmF2YWlsYWJsZV9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQ7Cj4gLQltYW4tPmRlZmF1 bHRfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEOwo+IC0KPiAtCXJldHVybiB0dG1fcmFu Z2VfbWFuX2luaXQoJmFkZXYtPm1tYW4uYmRldiwgbWFuLCBzaXplID4+IFBBR0VfU0hJRlQpOwo+ ICsJcmV0dXJuIHR0bV9yYW5nZV9tYW5faW5pdCgmYWRldi0+bW1hbi5iZGV2LCB0eXBlLAo+ICsJ CQkJICBUVE1fUExfRkxBR19VTkNBQ0hFRCwgVFRNX1BMX0ZMQUdfVU5DQUNIRUQsCj4gKwkJCQkg IGZhbHNlLCBzaXplID4+IFBBR0VfU0hJRlQpOwo+ICAgfQo+ICAgCj4gICAvKioKPiBAQCAtMjAx NCw5ICsyMDExLDkgQEAgdm9pZCBhbWRncHVfdHRtX2Zpbmkoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpCj4gICAKPiAgIAlhbWRncHVfdnJhbV9tZ3JfZmluaShhZGV2KTsKPiAgIAlhbWRncHVf Z3R0X21ncl9maW5pKGFkZXYpOwo+IC0JdHRtX3JhbmdlX21hbl9maW5pKCZhZGV2LT5tbWFuLmJk ZXYsIHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwgQU1ER1BVX1BMX0dEUykpOwo+ IC0JdHRtX3JhbmdlX21hbl9maW5pKCZhZGV2LT5tbWFuLmJkZXYsIHR0bV9tYW5hZ2VyX3R5cGUo JmFkZXYtPm1tYW4uYmRldiwgQU1ER1BVX1BMX0dXUykpOwo+IC0JdHRtX3JhbmdlX21hbl9maW5p KCZhZGV2LT5tbWFuLmJkZXYsIHR0bV9tYW5hZ2VyX3R5cGUoJmFkZXYtPm1tYW4uYmRldiwgQU1E R1BVX1BMX09BKSk7Cj4gKwl0dG1fcmFuZ2VfbWFuX2ZpbmkoJmFkZXYtPm1tYW4uYmRldiwgQU1E R1BVX1BMX0dEUyk7Cj4gKwl0dG1fcmFuZ2VfbWFuX2ZpbmkoJmFkZXYtPm1tYW4uYmRldiwgQU1E R1BVX1BMX0dXUyk7Cj4gKwl0dG1fcmFuZ2VfbWFuX2ZpbmkoJmFkZXYtPm1tYW4uYmRldiwgQU1E R1BVX1BMX09BKTsKPiAgIAl0dG1fYm9fZGV2aWNlX3JlbGVhc2UoJmFkZXYtPm1tYW4uYmRldik7 Cj4gICAJYWRldi0+bW1hbi5pbml0aWFsaXplZCA9IGZhbHNlOwo+ICAgCURSTV9JTkZPKCJhbWRn cHU6IHR0bSBmaW5hbGl6ZWRcbiIpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV92cmFtX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fdnJhbV9oZWxwZXIu Ywo+IGluZGV4IGEwMTc2OGFkYjk2ZC4uMjE4Nzc4N2YzOTdlIDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9kcm1fZ2VtX3ZyYW1faGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2dlbV92cmFtX2hlbHBlci5jCj4gQEAgLTExMDMsNyArMTEwMyw2IEBAIEVYUE9SVF9TWU1C T0woZHJtX3ZyYW1fbW1fZGVidWdmc19pbml0KTsKPiAgIHN0YXRpYyBpbnQgZHJtX3ZyYW1fbW1f aW5pdChzdHJ1Y3QgZHJtX3ZyYW1fbW0gKnZtbSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg IAkJCSAgICB1aW50NjRfdCB2cmFtX2Jhc2UsIHNpemVfdCB2cmFtX3NpemUpCj4gICB7Cj4gLQlz dHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJnZtbS0+ YmRldiwgVFRNX1BMX1ZSQU0pOwo+ICAgCWludCByZXQ7Cj4gICAKPiAgIAl2bW0tPnZyYW1fYmFz ZSA9IHZyYW1fYmFzZTsKPiBAQCAtMTExNiw5ICsxMTE1LDEwIEBAIHN0YXRpYyBpbnQgZHJtX3Zy YW1fbW1faW5pdChzdHJ1Y3QgZHJtX3ZyYW1fbW0gKnZtbSwgc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+ICAgCj4gLQltYW4tPmF2YWlsYWJs ZV9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQzsKPiAtCW1h bi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfV0M7Cj4gLQlyZXQgPSB0dG1fcmFuZ2Vf bWFuX2luaXQoJnZtbS0+YmRldiwgbWFuLCB2cmFtX3NpemUgPj4gUEFHRV9TSElGVCk7Cj4gKwly ZXQgPSB0dG1fcmFuZ2VfbWFuX2luaXQoJnZtbS0+YmRldiwgVFRNX1BMX1ZSQU0sCj4gKwkJCQkg VFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQywKPiArCQkJCSBUVE1fUExfRkxB R19XQywgZmFsc2UsCj4gKwkJCQkgdnJhbV9zaXplID4+IFBBR0VfU0hJRlQpOwo+ICAgCWlmIChy ZXQpCj4gICAJCXJldHVybiByZXQ7Cj4gICAKPiBAQCAtMTEyNyw3ICsxMTI3LDcgQEAgc3RhdGlj IGludCBkcm1fdnJhbV9tbV9pbml0KHN0cnVjdCBkcm1fdnJhbV9tbSAqdm1tLCBzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+ICAgCj4gICBzdGF0aWMgdm9pZCBkcm1fdnJhbV9tbV9jbGVhbnVwKHN0 cnVjdCBkcm1fdnJhbV9tbSAqdm1tKQo+ICAgewo+IC0JdHRtX3JhbmdlX21hbl9maW5pKCZ2bW0t PmJkZXYsIHR0bV9tYW5hZ2VyX3R5cGUoJnZtbS0+YmRldiwgVFRNX1BMX1ZSQU0pKTsKPiArCXR0 bV9yYW5nZV9tYW5fZmluaSgmdm1tLT5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICAJdHRtX2JvX2Rl dmljZV9yZWxlYXNlKCZ2bW0tPmJkZXYpOwo+ICAgfQo+ICAgCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vbm91dmVh dS9ub3V2ZWF1X3R0bS5jCj4gaW5kZXggY2M2Y2YwNDU1M2RkLi4xYzYzNjcyMzgyM2MgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV90dG0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfdHRtLmMKPiBAQCAtMTU2LDE2ICsxNTYsMTcg QEAgbm91dmVhdV90dG1faW5pdF9ob3N0KHN0cnVjdCBub3V2ZWF1X2RybSAqZHJtLCB1OCBraW5k KQo+ICAgc3RhdGljIGludAo+ICAgbm91dmVhdV90dG1faW5pdF92cmFtKHN0cnVjdCBub3V2ZWF1 X2RybSAqZHJtKQo+ICAgewo+IC0Jc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0 dG1fbWFuYWdlcl90eXBlKCZkcm0tPnR0bS5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICAJc3RydWN0 IG52aWZfbW11ICptbXUgPSAmZHJtLT5jbGllbnQubW11Owo+ICAgCj4gLQltYW4tPmF2YWlsYWJs ZV9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQzsKPiAtCW1h bi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfV0M7Cj4gLQo+ICAgCWlmIChkcm0tPmNs aWVudC5kZXZpY2UuaW5mby5mYW1pbHkgPj0gTlZfREVWSUNFX0lORk9fVjBfVEVTTEEpIHsKPiAr CQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5cGUoJmRy bS0+dHRtLmJkZXYsIFRUTV9QTF9WUkFNKTsKPiArCj4gICAJCS8qIFNvbWUgQkFScyBkbyBub3Qg c3VwcG9ydCBiZWluZyBpb3JlbWFwcGVkIFdDICovCj4gICAJCWNvbnN0IHU4IHR5cGUgPSBtbXUt PnR5cGVbZHJtLT50dG0udHlwZV92cmFtXS50eXBlOwo+ICAgCj4gKwkJbWFuLT5hdmFpbGFibGVf Y2FjaGluZyA9IFRUTV9QTF9GTEFHX1VOQ0FDSEVEIHwgVFRNX1BMX0ZMQUdfV0M7Cj4gKwkJbWFu LT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19XQzsKPiArCj4gICAJCWlmICh0eXBlICYg TlZJRl9NRU1fVU5DQUNIRUQpIHsKPiAgIAkJCW1hbi0+YXZhaWxhYmxlX2NhY2hpbmcgPSBUVE1f UExfRkxBR19VTkNBQ0hFRDsKPiAgIAkJCW1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZM QUdfVU5DQUNIRUQ7Cj4gQEAgLTE3OCw3ICsxNzksOSBAQCBub3V2ZWF1X3R0bV9pbml0X3ZyYW0o c3RydWN0IG5vdXZlYXVfZHJtICpkcm0pCj4gICAJCXR0bV9tZW1fdHlwZV9tYW5hZ2VyX3NldF91 c2VkKG1hbiwgdHJ1ZSk7Cj4gICAJCXJldHVybiAwOwo+ICAgCX0gZWxzZSB7Cj4gLQkJcmV0dXJu IHR0bV9yYW5nZV9tYW5faW5pdCgmZHJtLT50dG0uYmRldiwgbWFuLAo+ICsJCXJldHVybiB0dG1f cmFuZ2VfbWFuX2luaXQoJmRybS0+dHRtLmJkZXYsIFRUTV9QTF9WUkFNLAo+ICsJCQkJCSAgVFRN X1BMX0ZMQUdfVU5DQUNIRUQgfCBUVE1fUExfRkxBR19XQywKPiArCQkJCQkgIFRUTV9QTF9GTEFH X1dDLCBmYWxzZSwKPiAgIAkJCQkJICBkcm0tPmdlbS52cmFtX2F2YWlsYWJsZSA+PiBQQUdFX1NI SUZUKTsKPiAgIAl9Cj4gICB9Cj4gQEAgLTE5Myw3ICsxOTYsNyBAQCBub3V2ZWF1X3R0bV9maW5p X3ZyYW0oc3RydWN0IG5vdXZlYXVfZHJtICpkcm0pCj4gICAJCXR0bV9tZW1fdHlwZV9tYW5hZ2Vy X2ZvcmNlX2xpc3RfY2xlYW4oJmRybS0+dHRtLmJkZXYsIG1hbik7Cj4gICAJCXR0bV9tZW1fdHlw ZV9tYW5hZ2VyX2NsZWFudXAobWFuKTsKPiAgIAl9IGVsc2UKPiAtCQl0dG1fcmFuZ2VfbWFuX2Zp bmkoJmRybS0+dHRtLmJkZXYsIG1hbik7Cj4gKwkJdHRtX3JhbmdlX21hbl9maW5pKCZkcm0tPnR0 bS5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQKPiBAQCAtMjE2 LDkgKzIxOSwxMCBAQCBub3V2ZWF1X3R0bV9pbml0X2d0dChzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRy bSkKPiAgIAllbHNlIGlmICghZHJtLT5hZ3AuYnJpZGdlKQo+ICAgCQltYW4tPmZ1bmMgPSAmbnYw NF9nYXJ0X21hbmFnZXI7Cj4gICAJZWxzZQo+IC0JCXJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQo JmRybS0+dHRtLmJkZXYsIG1hbiwKPiArCQlyZXR1cm4gdHRtX3JhbmdlX21hbl9pbml0KCZkcm0t PnR0bS5iZGV2LCBUVE1fUExfVFQsCj4gKwkJCQkJICBUVE1fUExfRkxBR19VTkNBQ0hFRCB8IFRU TV9QTF9GTEFHX1dDLAo+ICsJCQkJCSAgVFRNX1BMX0ZMQUdfV0MsIHRydWUsCj4gICAJCQkJCSAg c2l6ZV9wYWdlcyk7Cj4gLQo+ICAgCXR0bV9tZW1fdHlwZV9tYW5hZ2VyX2luaXQoJmRybS0+dHRt LmJkZXYsIG1hbiwKPiAgIAkJCQkgIHNpemVfcGFnZXMpOwo+ICAgCXR0bV9tZW1fdHlwZV9tYW5h Z2VyX3NldF91c2VkKG1hbiwgdHJ1ZSk7Cj4gQEAgLTIzMiw3ICsyMzYsNyBAQCBub3V2ZWF1X3R0 bV9maW5pX2d0dChzdHJ1Y3Qgbm91dmVhdV9kcm0gKmRybSkKPiAgIAo+ICAgCWlmIChkcm0tPmNs aWVudC5kZXZpY2UuaW5mby5mYW1pbHkgPCBOVl9ERVZJQ0VfSU5GT19WMF9URVNMQSAmJgo+ICAg CSAgICBkcm0tPmFncC5icmlkZ2UpCj4gLQkJdHRtX3JhbmdlX21hbl9maW5pKCZkcm0tPnR0bS5i ZGV2LCBtYW4pOwo+ICsJCXR0bV9yYW5nZV9tYW5fZmluaSgmZHJtLT50dG0uYmRldiwgVFRNX1BM X1RUKTsKPiAgIAllbHNlIHsKPiAgIAkJdHRtX21lbV90eXBlX21hbmFnZXJfZGlzYWJsZShtYW4p Owo+ICAgCQl0dG1fbWVtX3R5cGVfbWFuYWdlcl9mb3JjZV9saXN0X2NsZWFuKCZkcm0tPnR0bS5i ZGV2LCBtYW4pOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYyBi L2RyaXZlcnMvZ3B1L2RybS9xeGwvcXhsX3R0bS5jCj4gaW5kZXggNTdjOTZmNzI3MWRiLi5iNzM2 NWIyZTRjN2YgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3F4bC9xeGxfdHRtLmMKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vcXhsL3F4bF90dG0uYwo+IEBAIC0yMTksMTIgKzIxOSw4IEBA IHN0YXRpYyBpbnQgcXhsX3R0bV9pbml0X21lbV90eXBlKHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2 LAo+ICAgCQkJCSB1bnNpZ25lZCBpbnQgdHlwZSwKPiAgIAkJCQkgdWludDY0X3Qgc2l6ZSkKPiAg IHsKPiAtCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuID0gdHRtX21hbmFnZXJfdHlw ZSgmcWRldi0+bW1hbi5iZGV2LCB0eXBlKTsKPiAtCj4gLQltYW4tPmF2YWlsYWJsZV9jYWNoaW5n ID0gVFRNX1BMX01BU0tfQ0FDSElORzsKPiAtCW1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BM X0ZMQUdfQ0FDSEVEOwo+IC0KPiAtCXJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQoJnFkZXYtPm1t YW4uYmRldiwgbWFuLCBzaXplKTsKPiArCXJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQoJnFkZXYt Pm1tYW4uYmRldiwgdHlwZSwgVFRNX1BMX01BU0tfQ0FDSElORywKPiArCQkJCSAgVFRNX1BMX0ZM QUdfQ0FDSEVELCBmYWxzZSwgc2l6ZSk7Cj4gICB9Cj4gICAKPiAgIGludCBxeGxfdHRtX2luaXQo c3RydWN0IHF4bF9kZXZpY2UgKnFkZXYpCj4gQEAgLTI2Niw5ICsyNjIsOCBAQCBpbnQgcXhsX3R0 bV9pbml0KHN0cnVjdCBxeGxfZGV2aWNlICpxZGV2KQo+ICAgCj4gICB2b2lkIHF4bF90dG1fZmlu aShzdHJ1Y3QgcXhsX2RldmljZSAqcWRldikKPiAgIHsKPiAtCj4gLQl0dG1fcmFuZ2VfbWFuX2Zp bmkoJnFkZXYtPm1tYW4uYmRldiwgdHRtX21hbmFnZXJfdHlwZSgmcWRldi0+bW1hbi5iZGV2LCBU VE1fUExfVlJBTSkpOwo+IC0JdHRtX3JhbmdlX21hbl9maW5pKCZxZGV2LT5tbWFuLmJkZXYsIHR0 bV9tYW5hZ2VyX3R5cGUoJnFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1BSSVYpKTsKPiArCXR0bV9y YW5nZV9tYW5fZmluaSgmcWRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gKwl0dG1fcmFu Z2VfbWFuX2ZpbmkoJnFkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1BSSVYpOwo+ICAgCXR0bV9ib19k ZXZpY2VfcmVsZWFzZSgmcWRldi0+bW1hbi5iZGV2KTsKPiAgIAlEUk1fSU5GTygicXhsOiB0dG0g ZmluYWxpemVkXG4iKTsKPiAgIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl90dG0uYwo+IGlu ZGV4IDAzYzBhMjRlNzRjNC4uNDc0ZDIxNjFkYTFlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yYWRlb24vcmFkZW9uX3R0bS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9y YWRlb25fdHRtLmMKPiBAQCAtNjgsMzUgKzY4LDM0IEBAIHN0cnVjdCByYWRlb25fZGV2aWNlICpy YWRlb25fZ2V0X3JkZXYoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYpCj4gICAKPiAgIHN0YXRp YyBpbnQgcmFkZW9uX3R0bV9pbml0X3ZyYW0oc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCj4g ICB7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1hbiA9IHR0bV9tYW5hZ2VyX3R5 cGUoJnJkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1ZSQU0pOwo+IC0KPiAtCW1hbi0+YXZhaWxhYmxl X2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8IFRUTV9QTF9GTEFHX1dDOwo+IC0JbWFu LT5kZWZhdWx0X2NhY2hpbmcgPSBUVE1fUExfRkxBR19XQzsKPiAtCj4gLQlyZXR1cm4gdHRtX3Jh bmdlX21hbl9pbml0KCZyZGV2LT5tbWFuLmJkZXYsIG1hbiwKPiArCXJldHVybiB0dG1fcmFuZ2Vf bWFuX2luaXQoJnJkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1ZSQU0sCj4gKwkJCQkgIFRUTV9QTF9G TEFHX1VOQ0FDSEVEIHwgVFRNX1BMX0ZMQUdfV0MsCj4gKwkJCQkgIFRUTV9QTF9GTEFHX1dDLCBm YWxzZSwKPiAgIAkJCQkgIHJkZXYtPm1jLnJlYWxfdnJhbV9zaXplID4+IFBBR0VfU0hJRlQpOwo+ ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50IHJhZGVvbl90dG1faW5pdF9ndHQoc3RydWN0IHJhZGVv bl9kZXZpY2UgKnJkZXYpCj4gICB7Cj4gLQlzdHJ1Y3QgdHRtX21lbV90eXBlX21hbmFnZXIgKm1h biA9IHR0bV9tYW5hZ2VyX3R5cGUoJnJkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RUKTsKPiArCXVp bnQzMl90IGF2YWlsYWJsZV9jYWNoaW5nLCBkZWZhdWx0X2NhY2hpbmc7Cj4gKwo+ICsJYXZhaWxh YmxlX2NhY2hpbmcgPSBUVE1fUExfTUFTS19DQUNISU5HOwo+ICsJZGVmYXVsdF9jYWNoaW5nID0g VFRNX1BMX0ZMQUdfQ0FDSEVEOwo+ICAgCj4gLQltYW4tPmF2YWlsYWJsZV9jYWNoaW5nID0gVFRN X1BMX01BU0tfQ0FDSElORzsKPiAtCW1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdf Q0FDSEVEOwo+IC0JbWFuLT51c2VfdHQgPSB0cnVlOwo+ICAgI2lmIElTX0VOQUJMRUQoQ09ORklH X0FHUCkKPiAgIAlpZiAocmRldi0+ZmxhZ3MgJiBSQURFT05fSVNfQUdQKSB7Cj4gICAJCWlmICgh cmRldi0+ZGRldi0+YWdwKSB7Cj4gICAJCQlEUk1fRVJST1IoIkFHUCBpcyBub3QgZW5hYmxlZFxu Iik7Cj4gICAJCQlyZXR1cm4gLUVJTlZBTDsKPiAgIAkJfQo+IC0JCW1hbi0+YXZhaWxhYmxlX2Nh Y2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8Cj4gLQkJCQkJIFRUTV9QTF9GTEFHX1dDOwo+ IC0JCW1hbi0+ZGVmYXVsdF9jYWNoaW5nID0gVFRNX1BMX0ZMQUdfV0M7Cj4gKwkJYXZhaWxhYmxl X2NhY2hpbmcgPSBUVE1fUExfRkxBR19VTkNBQ0hFRCB8Cj4gKwkJCVRUTV9QTF9GTEFHX1dDOwo+ ICsJCWRlZmF1bHRfY2FjaGluZyA9IFRUTV9QTF9GTEFHX1dDOwo+ICAgCX0KPiAgICNlbmRpZgo+ ICAgCj4gLQlyZXR1cm4gdHRtX3JhbmdlX21hbl9pbml0KCZyZGV2LT5tbWFuLmJkZXYsIG1hbiwK PiArCXJldHVybiB0dG1fcmFuZ2VfbWFuX2luaXQoJnJkZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RU LAo+ICsJCQkJICBhdmFpbGFibGVfY2FjaGluZywKPiArCQkJCSAgZGVmYXVsdF9jYWNoaW5nLCB0 cnVlLAo+ICAgCQkJCSAgcmRldi0+bWMuZ3R0X3NpemUgPj4gUEFHRV9TSElGVCk7Cj4gICB9Cj4g ICAKPiBAQCAtODI1LDggKzgyNCw4IEBAIHZvaWQgcmFkZW9uX3R0bV9maW5pKHN0cnVjdCByYWRl b25fZGV2aWNlICpyZGV2KQo+ICAgCQl9Cj4gICAJCXJhZGVvbl9ib191bnJlZigmcmRldi0+c3Rv bGVuX3ZnYV9tZW1vcnkpOwo+ICAgCX0KPiAtCXR0bV9yYW5nZV9tYW5fZmluaSgmcmRldi0+bW1h bi5iZGV2LCB0dG1fbWFuYWdlcl90eXBlKCZyZGV2LT5tbWFuLmJkZXYsIFRUTV9QTF9WUkFNKSk7 Cj4gLQl0dG1fcmFuZ2VfbWFuX2ZpbmkoJnJkZXYtPm1tYW4uYmRldiwgdHRtX21hbmFnZXJfdHlw ZSgmcmRldi0+bW1hbi5iZGV2LCBUVE1fUExfVFQpKTsKPiArCXR0bV9yYW5nZV9tYW5fZmluaSgm cmRldi0+bW1hbi5iZGV2LCBUVE1fUExfVlJBTSk7Cj4gKwl0dG1fcmFuZ2VfbWFuX2ZpbmkoJnJk ZXYtPm1tYW4uYmRldiwgVFRNX1BMX1RUKTsKPiAgIAl0dG1fYm9fZGV2aWNlX3JlbGVhc2UoJnJk ZXYtPm1tYW4uYmRldik7Cj4gICAJcmFkZW9uX2dhcnRfZmluaShyZGV2KTsKPiAgIAlyZGV2LT5t bWFuLmluaXRpYWxpemVkID0gZmFsc2U7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS90dG0vdHRtX2JvX21hbmFnZXIu Ywo+IGluZGV4IDg2YmY1ZTcxZTk1OS4uZDgzY2I5NjdhMTA3IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS90dG0vdHRtX2JvX21hbmFnZXIuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS90 dG0vdHRtX2JvX21hbmFnZXIuYwo+IEBAIC0xMDcsMTkgKzEwNywyNyBAQCBzdGF0aWMgdm9pZCB0 dG1fYm9fbWFuX3B1dF9ub2RlKHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuLAo+ICAg c3RhdGljIGNvbnN0IHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlcl9mdW5jIHR0bV9ib19tYW5h Z2VyX2Z1bmM7Cj4gICAKPiAgIGludCB0dG1fcmFuZ2VfbWFuX2luaXQoc3RydWN0IHR0bV9ib19k ZXZpY2UgKmJkZXYsCj4gLQkJICAgICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFu LAo+ICsJCSAgICAgICB1bnNpZ25lZCB0eXBlLAo+ICsJCSAgICAgICB1aW50MzJfdCBhdmFpbGFi bGVfY2FjaGluZywKPiArCQkgICAgICAgdWludDMyX3QgZGVmYXVsdF9jYWNoaW5nLAo+ICsJCSAg ICAgICBib29sIHVzZV90dCwKPiAgIAkJICAgICAgIHVuc2lnbmVkIGxvbmcgcF9zaXplKQo+ICAg ewo+ICsJc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdlcl90eXBl KGJkZXYsIHR5cGUpOwo+ICAgCXN0cnVjdCB0dG1fcmFuZ2VfbWFuYWdlciAqcm1hbjsKPiAgIAo+ IC0JbWFuLT5mdW5jID0gJnR0bV9ib19tYW5hZ2VyX2Z1bmM7Cj4gLQo+IC0JdHRtX21lbV90eXBl X21hbmFnZXJfaW5pdChiZGV2LCBtYW4sIHBfc2l6ZSk7Cj4gKwltYW4tPmF2YWlsYWJsZV9jYWNo aW5nID0gYXZhaWxhYmxlX2NhY2hpbmc7Cj4gKwltYW4tPmRlZmF1bHRfY2FjaGluZyA9IGRlZmF1 bHRfY2FjaGluZzsKPiArCW1hbi0+dXNlX3R0ID0gdXNlX3R0Owo+ICAgCj4gICAJcm1hbiA9IGt6 YWxsb2Moc2l6ZW9mKCpybWFuKSwgR0ZQX0tFUk5FTCk7Cj4gICAJaWYgKCFybWFuKQo+ICAgCQly ZXR1cm4gLUVOT01FTTsKPiAgIAo+ICsJbWFuLT5mdW5jID0gJnR0bV9ib19tYW5hZ2VyX2Z1bmM7 Cj4gKwo+ICsJdHRtX21lbV90eXBlX21hbmFnZXJfaW5pdChiZGV2LCBtYW4sIHBfc2l6ZSk7Cj4g Kwo+ICAgCWRybV9tbV9pbml0KCZybWFuLT5tbSwgMCwgcF9zaXplKTsKPiAgIAlzcGluX2xvY2tf aW5pdCgmcm1hbi0+bG9jayk7Cj4gICAJbWFuLT5wcml2ID0gcm1hbjsKPiBAQCAtMTMwLDggKzEz OCw5IEBAIGludCB0dG1fcmFuZ2VfbWFuX2luaXQoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYs Cj4gICBFWFBPUlRfU1lNQk9MKHR0bV9yYW5nZV9tYW5faW5pdCk7Cj4gICAKPiAgIGludCB0dG1f cmFuZ2VfbWFuX2Zpbmkoc3RydWN0IHR0bV9ib19kZXZpY2UgKmJkZXYsCj4gLQkJICAgICAgIHN0 cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKQo+ICsJCSAgICAgICB1bnNpZ25lZCB0eXBl KQo+ICAgewo+ICsJc3RydWN0IHR0bV9tZW1fdHlwZV9tYW5hZ2VyICptYW4gPSB0dG1fbWFuYWdl cl90eXBlKGJkZXYsIHR5cGUpOwo+ICAgCXN0cnVjdCB0dG1fcmFuZ2VfbWFuYWdlciAqcm1hbiA9 IChzdHJ1Y3QgdHRtX3JhbmdlX21hbmFnZXIgKikgbWFuLT5wcml2Owo+ICAgCXN0cnVjdCBkcm1f bW0gKm1tID0gJnJtYW4tPm1tOwo+ICAgCWludCByZXQ7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS92bXdnZngvdm13Z2Z4X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL3Ztd2dmeC92bXdn ZnhfZHJ2LmMKPiBpbmRleCA2ZWQ5MmYzOGI1NGIuLjcxNjg0MDNmYjRmOCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vdm13Z2Z4L3Ztd2dmeF9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS92bXdnZngvdm13Z2Z4X2Rydi5jCj4gQEAgLTYyNiwxMyArNjI2LDkgQEAgc3RhdGljIGlu dCB2bXdfdnJhbV9tYW5hZ2VyX2luaXQoc3RydWN0IHZtd19wcml2YXRlICpkZXZfcHJpdikKPiAg ICNpZmRlZiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UKPiAgIAlyZXQgPSB2bXdfdGhwX2lu aXQoZGV2X3ByaXYpOwo+ICAgI2Vsc2UKPiAtCXN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAq bWFuID0gJmRldl9wcml2LT5iZGV2Lm1hbltUVE1fUExfVlJBTV07Cj4gLQo+IC0JbWFuLT5hdmFp bGFibGVfY2FjaGluZyA9IFRUTV9QTF9GTEFHX0NBQ0hFRDsKPiAtCW1hbi0+ZGVmYXVsdF9jYWNo aW5nID0gVFRNX1BMX0ZMQUdfQ0FDSEVEOwo+IC0KPiAtCXJldCA9IHR0bV9yYW5nZV9tYW5faW5p dCgmZGV2X3ByaXYtPmJkZXYsIG1hbiwKPiAtCQkJCSBkZXZfcHJpdi0+dnJhbV9zaXplID4+IFBB R0VfU0hJRlQpOwo+ICsJcmV0ID0gdHRtX3JhbmdlX21hbl9pbml0KCZkZXZfcHJpdi0+YmRldiwg VFRNX1BMX1ZSQU0sCj4gKwkJCQkgVFRNX1BMX0ZMQUdfQ0FDSEVELCBUVE1fUExfRkxBR19DQUNI RUQsCj4gKwkJCQkgZmFsc2UsIGRldl9wcml2LT52cmFtX3NpemUgPj4gUEFHRV9TSElGVCk7Cj4g ICAjZW5kaWYKPiAgIAl0dG1fbWFuYWdlcl90eXBlKCZkZXZfcHJpdi0+YmRldiwgVFRNX1BMX1ZS QU0pLT51c2VfdHlwZSA9IGZhbHNlOwo+ICAgCXJldHVybiByZXQ7Cj4gQEAgLTY0Myw4ICs2Mzks NyBAQCBzdGF0aWMgdm9pZCB2bXdfdnJhbV9tYW5hZ2VyX2Zpbmkoc3RydWN0IHZtd19wcml2YXRl ICpkZXZfcHJpdikKPiAgICNpZmRlZiBDT05GSUdfVFJBTlNQQVJFTlRfSFVHRVBBR0UKPiAgIAl2 bXdfdGhwX2ZpbmkoZGV2X3ByaXYpOwo+ICAgI2Vsc2UKPiAtCXR0bV9ib19tYW5fZmluaSgmZGV2 X3ByaXYtPmJkZXYsCj4gLQkJCXR0bV9tYW5hZ2VyX3R5cGUoJmRldl9wcml2LT5iZGV2LCBUVE1f UExfVlJBTSkpOwo+ICsJdHRtX2JvX21hbl9maW5pKCZkZXZfcHJpdi0+YmRldiwgVFRNX1BMX1ZS QU0pOwo+ICAgI2VuZGlmCj4gICB9Cj4gICAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vdHRt L3R0bV9ib19kcml2ZXIuaCBiL2luY2x1ZGUvZHJtL3R0bS90dG1fYm9fZHJpdmVyLmgKPiBpbmRl eCA2OTQwZDg1YTUzMWEuLjc4OWMxZWIyNjg1OSAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS90 dG0vdHRtX2JvX2RyaXZlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vdHRtL3R0bV9ib19kcml2ZXIu aAo+IEBAIC04NDUsMTQgKzg0NSwyMCBAQCBwZ3Byb3RfdCB0dG1faW9fcHJvdCh1aW50MzJfdCBj YWNoaW5nX2ZsYWdzLCBwZ3Byb3RfdCB0bXApOwo+ICAgICogdHRtX3JhbmdlX21hbl9pbml0Cj4g ICAgKgo+ICAgICogQGJkZXY6IHR0bSBkZXZpY2UKPiAtICogQG1hbjogdGhlIG1hbmFnZXIgdG8g aW5pdGlhbGlzZSB3aXRoIHRoZSByYW5nZSBtYW5hZ2VyLgo+ICsgKiBAdHlwZTogbWVtb3J5IG1h bmFnZXIgdHlwZQo+ICsgKiBAYXZhaWxhYmxlX2NhY2hpbmc6IFRUTV9QTF9GTEFHXyogZm9yIGFs bG93ZWQgY2FjaGluZyBtb2Rlcwo+ICsgKiBAZGVmYXVsdF9jYWNoaW5nOiBkZWZhdWx0IGNhY2hp bmcgbW9kZQo+ICsgKiBAdXNlX3R0OiBpZiB0aGUgbWVtb3J5IG1hbmFnZXIgdXNlcyB0dAo+ICAg ICogQHBfc2l6ZTogc2l6ZSBvZiBhcmVhIHRvIGJlIG1hbmFnZWQgaW4gcGFnZXMuCj4gICAgKgo+ ICAgICogSW5pdGlhbGlzZSBhIGdlbmVyaWMgcmFuZ2UgbWFuYWdlciBmb3IgdGhlIHNlbGVjdGVk IG1lbW9yeSB0eXBlLgo+ICAgICogVGhlIHJhbmdlIG1hbmFnZXIgaXMgaW5zdGFsbGVkIGZvciB0 aGlzIGRldmljZSBpbiB0aGUgdHlwZSBzbG90Lgo+ICAgICovCj4gICBpbnQgdHRtX3JhbmdlX21h bl9pbml0KHN0cnVjdCB0dG1fYm9fZGV2aWNlICpiZGV2LAo+IC0JCSAgICAgICBzdHJ1Y3QgdHRt X21lbV90eXBlX21hbmFnZXIgKm1hbiwKPiArCQkgICAgICAgdW5zaWduZWQgdHlwZSwKPiArCQkg ICAgICAgdWludDMyX3QgYXZhaWxhYmxlX2NhY2hpbmcsCj4gKwkJICAgICAgIHVpbnQzMl90IGRl ZmF1bHRfY2FjaGluZywKPiArCQkgICAgICAgYm9vbCB1c2VfdHQsCj4gICAJCSAgICAgICB1bnNp Z25lZCBsb25nIHBfc2l6ZSk7Cj4gICAKPiAgIC8qKgo+IEBAIC04NjQsNyArODcwLDcgQEAgaW50 IHR0bV9yYW5nZV9tYW5faW5pdChzdHJ1Y3QgdHRtX2JvX2RldmljZSAqYmRldiwKPiAgICAqIFJl bW92ZSB0aGUgZ2VuZXJpYyByYW5nZSBtYW5hZ2VyIGZyb20gYSBzbG90IGFuZCB0ZWFyIGl0IGRv d24uCj4gICAgKi8KPiAgIGludCB0dG1fcmFuZ2VfbWFuX2Zpbmkoc3RydWN0IHR0bV9ib19kZXZp Y2UgKmJkZXYsCj4gLQkJICAgICAgIHN0cnVjdCB0dG1fbWVtX3R5cGVfbWFuYWdlciAqbWFuKTsK PiArCQkgICAgICAgdW5zaWduZWQgdHlwZSk7Cj4gICAKPiAgIC8qKgo+ICAgICogdHRtX21lbV90 eXBlX21hbmFnZXJfZGVidWcKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=