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 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F17EEC433F5 for ; Sat, 30 Oct 2021 00:19:29 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 52AEC61075 for ; Sat, 30 Oct 2021 00:19:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 52AEC61075 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=oracle.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=kvack.org Received: by kanga.kvack.org (Postfix) id D11A2940008; Fri, 29 Oct 2021 20:19:28 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC060940007; Fri, 29 Oct 2021 20:19:28 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B1338940008; Fri, 29 Oct 2021 20:19:28 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0045.hostedemail.com [216.40.44.45]) by kanga.kvack.org (Postfix) with ESMTP id 806E7940007 for ; Fri, 29 Oct 2021 20:19:28 -0400 (EDT) Received: from smtpin13.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay03.hostedemail.com (Postfix) with ESMTP id 0D0E18249980 for ; Sat, 30 Oct 2021 00:19:28 +0000 (UTC) X-FDA: 78751194816.13.71C8CEA Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf03.hostedemail.com (Postfix) with ESMTP id 9D5DB30000A5 for ; Sat, 30 Oct 2021 00:19:22 +0000 (UTC) Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19TL3mdl004510; Sat, 30 Oct 2021 00:19:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-id : content-transfer-encoding : mime-version; s=corp-2021-07-09; bh=5H/w7o4sBAJ2wdWjHxyB5njSuoYnYxasbnOkHUg2Je0=; b=Qzc8CnjetYzWTWWNPcJ09v6TD7Z8zcq/AeDFlyYblmYHAnUCRipJ0jqAvQpEfdnP2c26 6xwBIxzNm2njF7xVD0EOILMP5uoQMnZ9cwdy5e+2irxiI5xB3O/I5GFwubLk3AjQULzI HZyAwsrZDyBsWuHQsEC1kqgE41GLeBh6ahhmvy+iZayMRY+6/VvqhCt/NDBzv+II0ygx olWtW7ybDBkOywkGHXFlofBlq560+gQw0N5Ll23N9W4Z590K+hT6MfTdsC8GAJhWa0Ct 903/C8/k/8q61z44SNuOlOf25qUfs8Wt55n+l1TkcMUQfvutIGDoJ7APZiE5Cf2vraoH nw== Received: from userp3020.oracle.com (userp3020.oracle.com [156.151.31.79]) by mx0b-00069f02.pphosted.com with ESMTP id 3byja2jmy3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 30 Oct 2021 00:19:19 +0000 Received: from pps.filterd (userp3020.oracle.com [127.0.0.1]) by userp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 19U0G6ON188949; Sat, 30 Oct 2021 00:19:18 GMT Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2172.outbound.protection.outlook.com [104.47.58.172]) by userp3020.oracle.com with ESMTP id 3bx4gvabwq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 30 Oct 2021 00:19:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VaB9n6p0RjTuhMKmQhoGFhRwG6Mvpu8Ng1UJ8yojYW5cDSFWT2yiVG3ev+hNswbgPBFtrq6YNYMhvkjiCw/tOkiwN5f1YIGFtEI9E/MPvJYrGAl4bGTxB83cFSDVX6BA6CDOrITagXY8CH19TYC8LqVq/CqC9fJT5/VhHxq0Ya9MT0XuEaI7ooKuqvO2hWtXFyPYWmIYZhADwzKAqiC4iGTHrHkEh7XL4mHJR0leG5BLevVP12xBkw2Vh5tM5r99APVv0HLamwJ9DzOHC4ONt4o3QR6PoYt6Z76xolBKfVu/Zo3b/aRezVso1WpYGecylfcQlFSjni81wT14caKi6g== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5H/w7o4sBAJ2wdWjHxyB5njSuoYnYxasbnOkHUg2Je0=; b=a6IGDPlBXLVbGgwJdVfncn4sHJMJjTyulUNHRBgOvhQMH6E+K1gs9akhmFnpN46pHT3RQ6c32yuE9oYRD4blAfRl3+h7ZRI9hXx+l0IRDJs9yDplCqCG+nCK8aLPYltD1vdc/wLEpi4ZqcDjvZwRyny6VDqHynz0+tVoXb/JzIMEeMaXQjXQtpUZXpG9F/UpXrX1okdTSefGI7YjoBtfM8kiAuL7CPQxlAtgjw4WRRounEOIWPjNrBYW9GK3AD8f1S8eUpA2SLMunuXsfXz964k1sBUEnO9zZ7ojaVgEWSjxCxTFzNbf2lK4tR3h3hlIQ3m7MmWT7f2QXoBpIUROjQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5H/w7o4sBAJ2wdWjHxyB5njSuoYnYxasbnOkHUg2Je0=; b=wHVJdNImLBhZdQhvaLPnbzQtWBJjOJgO87LMzE/tNFp3uaEev7e9M4pxTL2W6uACGKFsCs+5CZRD3cx6vyaRikTOnJjefjCJMjG3667V/78hpPF0gZbyivRtOXMsMQXcCLRSkM4nmGJsJn7adH6u0UmOAhJ/JY/h7PzXUYxSeG4= Received: from CO1PR10MB4418.namprd10.prod.outlook.com (2603:10b6:303:9c::17) by MWHPR10MB1630.namprd10.prod.outlook.com (2603:10b6:301:a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4649.15; Sat, 30 Oct 2021 00:19:15 +0000 Received: from CO1PR10MB4418.namprd10.prod.outlook.com ([fe80::f12e:1d7a:66a3:3b1b]) by CO1PR10MB4418.namprd10.prod.outlook.com ([fe80::f12e:1d7a:66a3:3b1b%6]) with mapi id 15.20.4649.015; Sat, 30 Oct 2021 00:19:15 +0000 From: Jane Chu To: Dan Williams , "nvdimm@lists.linux.dev" CC: Ira Weiny , Dave Jiang , Dave Hansen , Vishal Verma , "linux-mm@kvack.org" Subject: Re: [PATCH] dax: Kill DEV_DAX_PMEM_COMPAT Thread-Topic: [PATCH] dax: Kill DEV_DAX_PMEM_COMPAT Thread-Index: AQHXzBLspxA6q8Gi+E2UKYkC9Ct1jKvqr2MA Date: Sat, 30 Oct 2021 00:19:15 +0000 Message-ID: <53eaa74c-0cfb-a333-4e57-8f59949b91e9@oracle.com> References: <163543595723.2281838.11942022992765100714.stgit@dwillia2-desk3.amr.corp.intel.com> In-Reply-To: <163543595723.2281838.11942022992765100714.stgit@dwillia2-desk3.amr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.2.1 x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: eb8e1955-0667-4dca-8dbb-08d99b3ae841 x-ms-traffictypediagnostic: MWHPR10MB1630: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: TkJwozMTyc4vd8A4FxLxHbCrKTjy3hTK5ZOKXFpZnr+bX+vd5LY7AyftKr0uz/ZnDQ4aHLTMZkvwMCWP7FT619xMWJVyMMRRo7FjjvmnBSu8AyxZBhVOeyL0361AIxVhJ9MTr84yu7Z7MbtqsBQ1O3dg75lhfJXd3ABhKzCJ44NO8+QwAH3VEnIWPZtw53kaTCRq4sWJ4FcmhhxhmqJ//i7GVCZLCucOhovq0q+IEGRSMM5U0Sd8uGt/3iBvMQOiq6I+z4Cm8uF1ywnrWwtvozhsUPgrOazQELFJhZyw+RfoYpiYmrAXKAANHVqieKCZqHtIDntl5FD6+w0sCv3CoxLdA1xY/6oCPz9deC00vDqDodqypsaVjfsNG1vL+wskwCIp5J+Spu3Y61w9hbsMUt6CMC7SNUhfU3lBbL0kqJohEPEZ58sfTRFqo1Xh7Cql8SXBpQjFHVF18ae+v680ZseJaVmiE4/68DB6n1cEsc43XrtgaP4L0OhynnOr3SDpHOVMURVjh5eMnCHMWxJ3YDzj5YcDoDL5Vo/acQYSak0JtShbhl89URhBhpnK5Q3+mQ1lXgy4v0ZVoolI3e2lUvtnS13NLwYOyVLsb0R5Zt41IiM3bLWL2nLP4ZhF+g1Jcaq/B2QEFkkhNb1R39Mp2QgxXZsJ1sTiGej4VzhaI+13k8OAR0u4K3p5p4MXbW4atxLkFt0V0TaOZ4hhTSI7tdF2OEBEHIDmgjM6mxTrs6vYa5iBstmwzNGRUNdt99apQ3RNr+6rmsUUpQjqq3WnsQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR10MB4418.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(366004)(31696002)(508600001)(6512007)(30864003)(186003)(26005)(91956017)(76116006)(6486002)(6506007)(66946007)(64756008)(8936002)(38100700002)(66556008)(66476007)(122000001)(66446008)(53546011)(8676002)(83380400001)(110136005)(4326008)(38070700005)(54906003)(316002)(31686004)(2906002)(71200400001)(36756003)(44832011)(86362001)(5660300002)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZXhBWGZFSm81ajBzWjdvaXNOL25wa0pnZ1kwcGpIWElzV0g4VnljcXNVeXhF?= =?utf-8?B?WUxWVk1VRGdZazZZMGErSGtMRFdmQ2NwQ3h0TGtkV2hTanJabzBPWHpDaCti?= =?utf-8?B?b3VLeDVLaWRvVXpOWEgvMHZIemZOMG5ma1NNd0wyRnR4MjBKemFZRXZ1M3h1?= =?utf-8?B?UmlrenJwQ1RvTnZ2cEZQL3dpQlpPOTBtRkVPWHFHWFQrbWF0MlhnVmdsUStN?= =?utf-8?B?aGRZMmUyVFI3S3NjY1BHQUdleWRzaUdMdEp2bHhZeXlYQUFqQ1ZaRDhLSmF4?= =?utf-8?B?aENOeVBMOVdLZW42QkpsOWd3a2pDZzhRTUF5NGtLQU03Uzd1OTVXbU1IeGsy?= =?utf-8?B?RHh2MWQvY3BMZDFvcEdONFZrUGMrSCtCNXpYaE5pRG5EMGp3dEprU21yUmNJ?= =?utf-8?B?T3RWVEVRS0dkL2dYUXRuN0d3SnA1M24xQnM2UEdxcDdNQ0pGUXRsdlVpenBw?= =?utf-8?B?SFozOHl4NmJZVFhVdUs5enVhV3FUUWQzUVRYcStQblJjTDVkL0RmZ21kK2VI?= =?utf-8?B?RzR6cXh1cFM3NTU0RjNLeDAxcU5wOW5UNUk2SXBPR1hlQlNVU0RDZ2VpaGVF?= =?utf-8?B?Mk91NnJuQjdpeERGVWZ2RnR2c0gxNjgwNGJhZDYyNkVTdDBIYkkxUzVlNnJo?= =?utf-8?B?VkcyRFQ1OTd5U2VyaTRrU1laZlpmTWZyQnprcHFjVnVZdEpNS2JXMXFXWk9n?= =?utf-8?B?KzRwQWdPdlpnMUxOdjRnd2RBSlR1MXJ5RUoxSSs4MXFqRHpWS1BkYVgvWmdL?= =?utf-8?B?UVZZaUhmQll5Ym52bHA5amg2ZG5iKytnelY4aG51ejA5VExyS2RUS1Z5VXdI?= =?utf-8?B?akh0dUNYN1g2QU02VzZJbHNGeks0WDRBd3R3K2lHQ0xEa3FBQTlubGtJckRq?= =?utf-8?B?UHFJeVZRSUdwOGhRck03c2JEdDBjajNhLzVLc0dGOHl1Ri9WOWZ3Ujl1RDBm?= =?utf-8?B?a3lzTnMzMzl0dUh1UlhNbjJDdGt6VFRydlRScTZRL1RsWnpKTTNHeGJmNmNX?= =?utf-8?B?QmtaNkl5c3c0MzJ1cDJhSGw0QXI0bnJJTExSR3pGN0JjQldsMUxRbHhndzdk?= =?utf-8?B?Vm5TNEcwVVRQdjVMR3oranJCOVl1eTN1Q3RSbGZlZzJLZUY2aFZ1bU5Ndk9F?= =?utf-8?B?SjBrWTlFbnh4RkFVQ2wyTm95MEhGbk1VOGpqMlZGNW1CbDBxdEFiWjUxMklE?= =?utf-8?B?NjJhTGdwY1AwMmRmSWY2SEJEdHFoMkFGWmx5bGJNbXJtbTZqc1B5R0JNdzJJ?= =?utf-8?B?ZVBxMStUaGRKcjRoUU1tMjRYOHdFSGE4MmQ0SG4xanZES0trSmxwSkorNFI5?= =?utf-8?B?ZWhSQ3RWeHVwRTdKOHhjMlMzUDQxYStSUURYdnBxWDliZWNKdVBna3gxTGlN?= =?utf-8?B?TjZteDM5d3g2VStEbHFHV2Fjd002dFNZam9zcDM2NmxpUkxrNmNPSS9sOXRS?= =?utf-8?B?SDJCTWVkLytid3F5dUxwNHBBWHZHUnE4UkZPMDhJcXVOSXFYSDUxR09MemJ0?= =?utf-8?B?T3loMGJYbkNSS05DakVIR1hyVWw4ek9vZnpoVlRkcTRFWUFGcWRDOUhFVGsr?= =?utf-8?B?WlljeU12WkFnRWppU0JubkIwc3I2OGxrZmhOTlVSdXVya3J2RUdkcU1JTWhl?= =?utf-8?B?bFp2SFBDNDRmSlFEUi85TGxOSFpYSG1YenhrTUNyVWZWd05oOTR2bzVXOFY2?= =?utf-8?B?bWtCT01aSXVZR3o4ZTJlL0pIK1ptcW1iQ2ZEL3grNVV3YXhFZ3o2UytIcDk1?= =?utf-8?B?Z3BOKzNldFZmWlZvZzZSa0M2bGpZSGNBYTQ1WmR5TjIxeGJJMTUrWGlRTk1l?= =?utf-8?B?U2l3aTk3TW5FaXlSWkxiNjRYZkRsSXU1UTJWMUxaZFNobmNzdWhNV2E4UHdr?= =?utf-8?B?MDJ0aWF2SksydE9BWm5OL1Y4V1AyZjBTUWRRZEV4L0EwTUE3ZmZ2MVpsNEhR?= =?utf-8?B?VG1WWEhCTHRmYUYyK0pLSCtIeEVQbjdhMWFLZTRaenFsNDU2WnJkZytQUlBG?= =?utf-8?B?TllIMkFvUkRtZHVQODF5cFQrRHZwUFZMeEtFdUNMQWw0K2VHZ094OWZJbDNV?= =?utf-8?B?UTJadFpzNjJ4MWttNU9JWGhsRk5BWFU2c0VBcmkrdDFucDFMbVdYWlhGd0RL?= =?utf-8?B?aE9wY0FFeTNkRERZOC9wb1FVRGpuWkk4aFdtSXFPQTRuRGp6MW11eE5iUksz?= =?utf-8?B?cmc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4418.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb8e1955-0667-4dca-8dbb-08d99b3ae841 X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Oct 2021 00:19:15.5997 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: llpxKvJGbuG+1+78H8+OudRY0RIhg7yXsypeAZvvu4rx/Jq1gLi7UJ4f3nkUoeJraZ4S5uqWhiZHKMJMMSIeCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR10MB1630 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10152 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0 malwarescore=0 adultscore=0 suspectscore=0 bulkscore=0 mlxscore=0 spamscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2110150000 definitions=main-2110300000 X-Proofpoint-GUID: hfEj9NWzAeRzeGX3jJ0pJGLTvtysyjb9 X-Proofpoint-ORIG-GUID: hfEj9NWzAeRzeGX3jJ0pJGLTvtysyjb9 X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 9D5DB30000A5 X-Stat-Signature: 7698h9yiezwosmanaszhpm36nqcdd1q5 Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2021-07-09 header.b=Qzc8Cnje; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=wHVJdNIm; spf=none (imf03.hostedemail.com: domain of jane.chu@oracle.com has no SPF policy when checking 205.220.177.32) smtp.mailfrom=jane.chu@oracle.com; dmarc=pass (policy=none) header.from=oracle.com X-HE-Tag: 1635553162-81060 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: SGksIERhbiwNCg0KSSB0aGluayB3ZSdyZSBzdGlsbCB1c2luZyBfQ09NUEFULCBidXQgbGlrZWx5 IGRvbid0IG5lZWQgdG8uDQpXaGF0IGlzIHlvdXIgcGF0Y2ggYmFzZWQgb24/DQoNCnRoYW5rcywN Ci1qYW5lDQoNCg0KT24gMTAvMjgvMjAyMSA4OjQ1IEFNLCBEYW4gV2lsbGlhbXMgd3JvdGU6DQo+ IFRoZSAvc3lzL2NsYXNzL2RheCBjb21wYXRpYmlsaXR5IG9wdGlvbiBoYXMgc2hpcHBlZCBpbiB0 aGUga2VybmVsIGZvciA0DQo+IHllYXJzIG5vdyB3aGljaCBzaG91bGQgYmUgc3VmZmljaWVudCB0 aW1lIGZvciB0b29scyB0byBhYmFuZG9uIHRoZSBvbGQNCj4gQUJJIGluIGZhdm9yIG9mIHRoZSAv c3lzL2J1cy9kYXggZGV2aWNlLW1vZGVsLiBEZWxldGUgaXQgbm93IGFuZCBzZWUgaWYNCj4gYW55 b25lIHNjcmVhbXMuDQo+IA0KPiBTaW5jZSB0aGlzIGNvbXBhdGliaWxpdHkgb3B0aW9uIHNoaXBw ZWQgdGhlcmUgaGFzIGJlZW4gbW9yZSByZXBvcnRzIG9mDQo+IHVzZXJzIGJlaW5nIHN1cnByaXNl ZCBieSB0aGUgY29tcGF0IEFCSSB0aGFuIHN1cnByaXNlZCBieSB0aGUgIm5ldyIsIHNvDQo+IHRo ZSBjb21wYXQgaW5mcmFzdHJ1Y3R1cmUgaGFzIG91dGxpdmVkIGl0cyB1c2VmdWxuZXNzLiBSZWNh bGwgdGhhdA0KPiAvc3lzL2J1cy9kYXggZGV2aWNlLW1vZGVsIGlzIHJlcXVpcmVkIGZvciB0aGUg ZGF4IGttZW0gZHJpdmVyIHdoaWNoDQo+IGFsbG93cyBQTUVNIHRvIGJlIHVzZWQgYXMgIlN5c3Rl bSBSQU0iLg0KPiANCj4gQ2M6IElyYSBXZWlueSA8aXJhLndlaW55QGludGVsLmNvbT4NCj4gQ2M6 IERhdmUgSmlhbmcgPGRhdmUuamlhbmdAaW50ZWwuY29tPg0KPiBDYzogRGF2ZSBIYW5zZW4gPGRh dmUuaGFuc2VuQGxpbnV4LmludGVsLmNvbT4NCj4gUmVwb3J0ZWQtYnk6IFZpc2hhbCBWZXJtYSA8 dmlzaGFsLmwudmVybWFAaW50ZWwuY29tPg0KPiBTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMg PGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4NCj4gLS0tDQo+ICAgZHJpdmVycy9kYXgvS2NvbmZp ZyAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDkgLS0tDQo+ICAgZHJpdmVycy9kYXgvTWFr ZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDMgKw0KPiAgIGRyaXZlcnMvZGF4L2J1 cy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIxICstLS0tLS0tDQo+ICAgZHJpdmVy cy9kYXgvYnVzLmggICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTMgLS0tLS0NCj4gICBk cml2ZXJzL2RheC9kZXZpY2UuYyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgNiAtLQ0KPiAg IGRyaXZlcnMvZGF4L3BtZW0uYyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM2ICsrKysr KysrKysrLS0tDQo+ICAgZHJpdmVycy9kYXgvcG1lbS9NYWtlZmlsZSAgICAgICAgICAgICAgICAg ICB8ICAgIDENCj4gICBkcml2ZXJzL2RheC9wbWVtL2NvbXBhdC5jICAgICAgICAgICAgICAgICAg IHwgICA3MiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gICBkcml2ZXJzL2RheC9wbWVt L3BtZW0uYyAgICAgICAgICAgICAgICAgICAgIHwgICAzMCAtLS0tLS0tLS0tLQ0KPiAgIHRvb2xz L3Rlc3RpbmcvbnZkaW1tL0tidWlsZCAgICAgICAgICAgICAgICAgfCAgICA4IC0tLQ0KPiAgIHRv b2xzL3Rlc3RpbmcvbnZkaW1tL2RheF9wbWVtX2NvbXBhdF90ZXN0LmMgfCAgICA4IC0tLQ0KPiAg IHRvb2xzL3Rlc3RpbmcvbnZkaW1tL2RheF9wbWVtX2NvcmVfdGVzdC5jICAgfCAgICA4IC0tLQ0K PiAgIHRvb2xzL3Rlc3RpbmcvbnZkaW1tL3Rlc3QvbmR0ZXN0LmMgICAgICAgICAgfCAgICA0IC0t DQo+ICAgdG9vbHMvdGVzdGluZy9udmRpbW0vdGVzdC9uZml0LmMgICAgICAgICAgICB8ICAgIDQg LS0NCj4gICAxNCBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspLCAxODcgZGVsZXRpb25z KC0pDQo+ICAgcmVuYW1lIGRyaXZlcnMvZGF4L3twbWVtL2NvcmUuYyA9PiBwbWVtLmN9ICg3NSUp DQo+ICAgZGVsZXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZGF4L3BtZW0vY29tcGF0LmMNCj4gICBk ZWxldGUgbW9kZSAxMDA2NDQgdG9vbHMvdGVzdGluZy9udmRpbW0vZGF4X3BtZW1fY29tcGF0X3Rl c3QuYw0KPiAgIGRlbGV0ZSBtb2RlIDEwMDY0NCB0b29scy90ZXN0aW5nL252ZGltbS9kYXhfcG1l bV9jb3JlX3Rlc3QuYw0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZGF4L0tjb25maWcgYi9k cml2ZXJzL2RheC9LY29uZmlnDQo+IGluZGV4IDk1NGFiMTRiYTc3Ny4uNWZkZjI2OWE4MjJlIDEw MDY0NA0KPiAtLS0gYS9kcml2ZXJzL2RheC9LY29uZmlnDQo+ICsrKyBiL2RyaXZlcnMvZGF4L0tj b25maWcNCj4gQEAgLTY2LDEzICs2Niw0IEBAIGNvbmZpZyBERVZfREFYX0tNRU0NCj4gICANCj4g ICAJICBTYXkgTiBpZiB1bnN1cmUuDQo+ICAgDQo+IC1jb25maWcgREVWX0RBWF9QTUVNX0NPTVBB VA0KPiAtCXRyaXN0YXRlICJQTUVNIERBWDogc3VwcG9ydCB0aGUgZGVwcmVjYXRlZCAvc3lzL2Ns YXNzL2RheCBpbnRlcmZhY2UiDQo+IC0JZGVwZW5kcyBvbiBtICYmIERFVl9EQVhfUE1FTT1tDQo+ IC0JZGVmYXVsdCBERVZfREFYX1BNRU0NCj4gLQloZWxwDQo+IC0JICBPbGRlciB2ZXJzaW9ucyBv ZiB0aGUgbGliZGF4Y3RsIGxpYnJhcnkgZXhwZWN0IHRvIGZpbmQgYWxsDQo+IC0JICBkZXZpY2Ut ZGF4IGluc3RhbmNlcyB1bmRlciAvc3lzL2NsYXNzL2RheC4gSWYgbGliZGF4Y3RsIGluDQo+IC0J ICB5b3VyIGRpc3RyaWJ1dGlvbiBpcyBvbGRlciB0aGFuIHY1OCBzYXkgTSwgb3RoZXJ3aXNlIHNh eSBOLg0KPiAtDQo+ICAgZW5kaWYNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZGF4L01ha2VmaWxl IGIvZHJpdmVycy9kYXgvTWFrZWZpbGUNCj4gaW5kZXggOWQ0YmE2NzJkMzA1Li45MGE1NmNhM2Iz NDUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZGF4L01ha2VmaWxlDQo+ICsrKyBiL2RyaXZlcnMv ZGF4L01ha2VmaWxlDQo+IEBAIC0yLDEwICsyLDExIEBADQo+ICAgb2JqLSQoQ09ORklHX0RBWCkg Kz0gZGF4Lm8NCj4gICBvYmotJChDT05GSUdfREVWX0RBWCkgKz0gZGV2aWNlX2RheC5vDQo+ICAg b2JqLSQoQ09ORklHX0RFVl9EQVhfS01FTSkgKz0ga21lbS5vDQo+ICtvYmotJChDT05GSUdfREVW X0RBWF9QTUVNKSArPSBkYXhfcG1lbS5vDQo+ICAgDQo+ICAgZGF4LXkgOj0gc3VwZXIubw0KPiAg IGRheC15ICs9IGJ1cy5vDQo+ICAgZGV2aWNlX2RheC15IDo9IGRldmljZS5vDQo+ICtkYXhfcG1l bS15IDo9IHBtZW0ubw0KPiAgIA0KPiAtb2JqLXkgKz0gcG1lbS8NCj4gICBvYmoteSArPSBobWVt Lw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kYXgvYnVzLmMgYi9kcml2ZXJzL2RheC9idXMuYw0K PiBpbmRleCA2ZDkxYjAxODZlM2IuLjQ5NGE3ZjU4YmJhZCAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9kYXgvYnVzLmMNCj4gKysrIGIvZHJpdmVycy9kYXgvYnVzLmMNCj4gQEAgLTEwLDggKzEwLDYg QEANCj4gICAjaW5jbHVkZSAiZGF4LXByaXZhdGUuaCINCj4gICAjaW5jbHVkZSAiYnVzLmgiDQo+ ICAgDQo+IC1zdGF0aWMgc3RydWN0IGNsYXNzICpkYXhfY2xhc3M7DQo+IC0NCj4gICBzdGF0aWMg REVGSU5FX01VVEVYKGRheF9idXNfbG9jayk7DQo+ICAgDQo+ICAgI2RlZmluZSBEQVhfTkFNRV9M RU4gMzANCj4gQEAgLTEzNDMsMTAgKzEzNDEsNyBAQCBzdHJ1Y3QgZGV2X2RheCAqZGV2bV9jcmVh dGVfZGV2X2RheChzdHJ1Y3QgZGV2X2RheF9kYXRhICpkYXRhKQ0KPiAgIA0KPiAgIAlpbm9kZSA9 IGRheF9pbm9kZShkYXhfZGV2KTsNCj4gICAJZGV2LT5kZXZ0ID0gaW5vZGUtPmlfcmRldjsNCj4g LQlpZiAoZGF0YS0+c3Vic3lzID09IERFVl9EQVhfQlVTKQ0KPiAtCQlkZXYtPmJ1cyA9ICZkYXhf YnVzX3R5cGU7DQo+IC0JZWxzZQ0KPiAtCQlkZXYtPmNsYXNzID0gZGF4X2NsYXNzOw0KPiArCWRl di0+YnVzID0gJmRheF9idXNfdHlwZTsNCj4gICAJZGV2LT5wYXJlbnQgPSBwYXJlbnQ7DQo+ICAg CWRldi0+dHlwZSA9ICZkZXZfZGF4X3R5cGU7DQo+ICAgDQo+IEBAIC0xNDQ1LDIyICsxNDQwLDEw IEBAIEVYUE9SVF9TWU1CT0xfR1BMKGRheF9kcml2ZXJfdW5yZWdpc3Rlcik7DQo+ICAgDQo+ICAg aW50IF9faW5pdCBkYXhfYnVzX2luaXQodm9pZCkNCj4gICB7DQo+IC0JaW50IHJjOw0KPiAtDQo+ IC0JaWYgKElTX0VOQUJMRUQoQ09ORklHX0RFVl9EQVhfUE1FTV9DT01QQVQpKSB7DQo+IC0JCWRh eF9jbGFzcyA9IGNsYXNzX2NyZWF0ZShUSElTX01PRFVMRSwgImRheCIpOw0KPiAtCQlpZiAoSVNf RVJSKGRheF9jbGFzcykpDQo+IC0JCQlyZXR1cm4gUFRSX0VSUihkYXhfY2xhc3MpOw0KPiAtCX0N Cj4gLQ0KPiAtCXJjID0gYnVzX3JlZ2lzdGVyKCZkYXhfYnVzX3R5cGUpOw0KPiAtCWlmIChyYykN Cj4gLQkJY2xhc3NfZGVzdHJveShkYXhfY2xhc3MpOw0KPiAtCXJldHVybiByYzsNCj4gKwlyZXR1 cm4gYnVzX3JlZ2lzdGVyKCZkYXhfYnVzX3R5cGUpOw0KPiAgIH0NCj4gICANCj4gICB2b2lkIF9f ZXhpdCBkYXhfYnVzX2V4aXQodm9pZCkNCj4gICB7DQo+ICAgCWJ1c191bnJlZ2lzdGVyKCZkYXhf YnVzX3R5cGUpOw0KPiAtCWNsYXNzX2Rlc3Ryb3koZGF4X2NsYXNzKTsNCj4gICB9DQo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2RheC9idXMuaCBiL2RyaXZlcnMvZGF4L2J1cy5oDQo+IGluZGV4IDFl OTQ2YWQ3NzgwYS4uMzgxY2VjOWZmMDVjIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2RheC9idXMu aA0KPiArKysgYi9kcml2ZXJzL2RheC9idXMuaA0KPiBAQCAtMTYsMjQgKzE2LDE1IEBAIHN0cnVj dCBkYXhfcmVnaW9uICphbGxvY19kYXhfcmVnaW9uKHN0cnVjdCBkZXZpY2UgKnBhcmVudCwgaW50 IHJlZ2lvbl9pZCwNCj4gICAJCXN0cnVjdCByYW5nZSAqcmFuZ2UsIGludCB0YXJnZXRfbm9kZSwg dW5zaWduZWQgaW50IGFsaWduLA0KPiAgIAkJdW5zaWduZWQgbG9uZyBmbGFncyk7DQo+ICAgDQo+ IC1lbnVtIGRldl9kYXhfc3Vic3lzIHsNCj4gLQlERVZfREFYX0JVUyA9IDAsIC8qIHplcm9lZCBk ZXZfZGF4X2RhdGEgcGlja3MgdGhpcyBieSBkZWZhdWx0ICovDQo+IC0JREVWX0RBWF9DTEFTUywN Cj4gLX07DQo+IC0NCj4gICBzdHJ1Y3QgZGV2X2RheF9kYXRhIHsNCj4gICAJc3RydWN0IGRheF9y ZWdpb24gKmRheF9yZWdpb247DQo+ICAgCXN0cnVjdCBkZXZfcGFnZW1hcCAqcGdtYXA7DQo+IC0J ZW51bSBkZXZfZGF4X3N1YnN5cyBzdWJzeXM7DQo+ICAgCXJlc291cmNlX3NpemVfdCBzaXplOw0K PiAgIAlpbnQgaWQ7DQo+ICAgfTsNCj4gICANCj4gICBzdHJ1Y3QgZGV2X2RheCAqZGV2bV9jcmVh dGVfZGV2X2RheChzdHJ1Y3QgZGV2X2RheF9kYXRhICpkYXRhKTsNCj4gICANCj4gLS8qIHRvIGJl IGRlbGV0ZWQgd2hlbiBERVZfREFYX0NMQVNTIGlzIHJlbW92ZWQgKi8NCj4gLXN0cnVjdCBkZXZf ZGF4ICpfX2RheF9wbWVtX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgZW51bSBkZXZfZGF4X3N1 YnN5cyBzdWJzeXMpOw0KPiAtDQo+ICAgc3RydWN0IGRheF9kZXZpY2VfZHJpdmVyIHsNCj4gICAJ c3RydWN0IGRldmljZV9kcml2ZXIgZHJ2Ow0KPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGlkczsNCj4g QEAgLTQ5LDEwICs0MCw2IEBAIGludCBfX2RheF9kcml2ZXJfcmVnaXN0ZXIoc3RydWN0IGRheF9k ZXZpY2VfZHJpdmVyICpkYXhfZHJ2LA0KPiAgIHZvaWQgZGF4X2RyaXZlcl91bnJlZ2lzdGVyKHN0 cnVjdCBkYXhfZGV2aWNlX2RyaXZlciAqZGF4X2Rydik7DQo+ICAgdm9pZCBraWxsX2Rldl9kYXgo c3RydWN0IGRldl9kYXggKmRldl9kYXgpOw0KPiAgIA0KPiAtI2lmIElTX0VOQUJMRUQoQ09ORklH X0RFVl9EQVhfUE1FTV9DT01QQVQpDQo+IC1pbnQgZGV2X2RheF9wcm9iZShzdHJ1Y3QgZGV2X2Rh eCAqZGV2X2RheCk7DQo+IC0jZW5kaWYNCj4gLQ0KPiAgIC8qDQo+ICAgICogV2hpbGUgcnVuX2Rh eCgpIGlzIHBvdGVudGlhbGx5IGEgZ2VuZXJpYyBvcGVyYXRpb24gdGhhdCBjb3VsZCBiZQ0KPiAg ICAqIGRlZmluZWQgaW4gaW5jbHVkZS9saW51eC9kYXguaCB3ZSBkb24ndCB3YW50IHRvIGdyb3cg YW55IHVzZXJzDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RheC9kZXZpY2UuYyBiL2RyaXZlcnMv ZGF4L2RldmljZS5jDQo+IGluZGV4IGRkODIyMmE0MjgwOC4uZTU4ZDU5N2YwNDE1IDEwMDY0NA0K PiAtLS0gYS9kcml2ZXJzL2RheC9kZXZpY2UuYw0KPiArKysgYi9kcml2ZXJzL2RheC9kZXZpY2Uu Yw0KPiBAQCAtNDMzLDExICs0MzMsNyBAQCBpbnQgZGV2X2RheF9wcm9iZShzdHJ1Y3QgZGV2X2Rh eCAqZGV2X2RheCkNCj4gICAJaW5vZGUgPSBkYXhfaW5vZGUoZGF4X2Rldik7DQo+ICAgCWNkZXYg PSBpbm9kZS0+aV9jZGV2Ow0KPiAgIAljZGV2X2luaXQoY2RldiwgJmRheF9mb3BzKTsNCj4gLQlp ZiAoZGV2LT5jbGFzcykgew0KPiAtCQkvKiBmb3IgdGhlIENPTkZJR19ERVZfREFYX1BNRU1fQ09N UEFUIGNhc2UgKi8NCj4gLQkJY2Rldi0+b3duZXIgPSBkZXYtPnBhcmVudC0+ZHJpdmVyLT5vd25l cjsNCj4gLQl9IGVsc2UNCj4gLQkJY2Rldi0+b3duZXIgPSBkZXYtPmRyaXZlci0+b3duZXI7DQo+ ICsJY2Rldi0+b3duZXIgPSBkZXYtPmRyaXZlci0+b3duZXI7DQo+ICAgCWNkZXZfc2V0X3BhcmVu dChjZGV2LCAmZGV2LT5rb2JqKTsNCj4gICAJcmMgPSBjZGV2X2FkZChjZGV2LCBkZXYtPmRldnQs IDEpOw0KPiAgIAlpZiAocmMpDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RheC9wbWVtL2NvcmUu YyBiL2RyaXZlcnMvZGF4L3BtZW0uYw0KPiBzaW1pbGFyaXR5IGluZGV4IDc1JQ0KPiByZW5hbWUg ZnJvbSBkcml2ZXJzL2RheC9wbWVtL2NvcmUuYw0KPiByZW5hbWUgdG8gZHJpdmVycy9kYXgvcG1l bS5jDQo+IGluZGV4IDA2MmU4YmMxNDIyMy4uZjA1MGVhNzhiYjgzIDEwMDY0NA0KPiAtLS0gYS9k cml2ZXJzL2RheC9wbWVtL2NvcmUuYw0KPiArKysgYi9kcml2ZXJzL2RheC9wbWVtLmMNCj4gQEAg LTMsMTEgKzMsMTEgQEANCj4gICAjaW5jbHVkZSA8bGludXgvbWVtcmVtYXAuaD4NCj4gICAjaW5j bHVkZSA8bGludXgvbW9kdWxlLmg+DQo+ICAgI2luY2x1ZGUgPGxpbnV4L3Bmbl90Lmg+DQo+IC0j aW5jbHVkZSAiLi4vLi4vbnZkaW1tL3Bmbi5oIg0KPiAtI2luY2x1ZGUgIi4uLy4uL252ZGltbS9u ZC5oIg0KPiAtI2luY2x1ZGUgIi4uL2J1cy5oIg0KPiArI2luY2x1ZGUgIi4uL252ZGltbS9wZm4u aCINCj4gKyNpbmNsdWRlICIuLi9udmRpbW0vbmQuaCINCj4gKyNpbmNsdWRlICJidXMuaCINCj4g ICANCj4gLXN0cnVjdCBkZXZfZGF4ICpfX2RheF9wbWVtX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRl diwgZW51bSBkZXZfZGF4X3N1YnN5cyBzdWJzeXMpDQo+ICtzdGF0aWMgc3RydWN0IGRldl9kYXgg Kl9fZGF4X3BtZW1fcHJvYmUoc3RydWN0IGRldmljZSAqZGV2KQ0KPiAgIHsNCj4gICAJc3RydWN0 IHJhbmdlIHJhbmdlOw0KPiAgIAlpbnQgcmMsIGlkLCByZWdpb25faWQ7DQo+IEBAIC02Myw3ICs2 Myw2IEBAIHN0cnVjdCBkZXZfZGF4ICpfX2RheF9wbWVtX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRl diwgZW51bSBkZXZfZGF4X3N1YnN5cyBzdWJzeXMpDQo+ICAgCQkuZGF4X3JlZ2lvbiA9IGRheF9y ZWdpb24sDQo+ICAgCQkuaWQgPSBpZCwNCj4gICAJCS5wZ21hcCA9ICZwZ21hcCwNCj4gLQkJLnN1 YnN5cyA9IHN1YnN5cywNCj4gICAJCS5zaXplID0gcmFuZ2VfbGVuKCZyYW5nZSksDQo+ICAgCX07 DQo+ICAgCWRldl9kYXggPSBkZXZtX2NyZWF0ZV9kZXZfZGF4KCZkYXRhKTsNCj4gQEAgLTczLDcg KzcyLDMyIEBAIHN0cnVjdCBkZXZfZGF4ICpfX2RheF9wbWVtX3Byb2JlKHN0cnVjdCBkZXZpY2Ug KmRldiwgZW51bSBkZXZfZGF4X3N1YnN5cyBzdWJzeXMpDQo+ICAgDQo+ICAgCXJldHVybiBkZXZf ZGF4Ow0KPiAgIH0NCj4gLUVYUE9SVF9TWU1CT0xfR1BMKF9fZGF4X3BtZW1fcHJvYmUpOw0KPiAr DQo+ICtzdGF0aWMgaW50IGRheF9wbWVtX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gK3sN Cj4gKwlyZXR1cm4gUFRSX0VSUl9PUl9aRVJPKF9fZGF4X3BtZW1fcHJvYmUoZGV2KSk7DQo+ICt9 DQo+ICsNCj4gK3N0YXRpYyBzdHJ1Y3QgbmRfZGV2aWNlX2RyaXZlciBkYXhfcG1lbV9kcml2ZXIg PSB7DQo+ICsJLnByb2JlID0gZGF4X3BtZW1fcHJvYmUsDQo+ICsJLmRydiA9IHsNCj4gKwkJLm5h bWUgPSAiZGF4X3BtZW0iLA0KPiArCX0sDQo+ICsJLnR5cGUgPSBORF9EUklWRVJfREFYX1BNRU0s DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgaW50IF9faW5pdCBkYXhfcG1lbV9pbml0KHZvaWQpDQo+ ICt7DQo+ICsJcmV0dXJuIG5kX2RyaXZlcl9yZWdpc3RlcigmZGF4X3BtZW1fZHJpdmVyKTsNCj4g K30NCj4gK21vZHVsZV9pbml0KGRheF9wbWVtX2luaXQpOw0KPiArDQo+ICtzdGF0aWMgdm9pZCBf X2V4aXQgZGF4X3BtZW1fZXhpdCh2b2lkKQ0KPiArew0KPiArCWRyaXZlcl91bnJlZ2lzdGVyKCZk YXhfcG1lbV9kcml2ZXIuZHJ2KTsNCj4gK30NCj4gK21vZHVsZV9leGl0KGRheF9wbWVtX2V4aXQp Ow0KPiAgIA0KPiAgIE1PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsNCj4gICBNT0RVTEVfQVVUSE9S KCJJbnRlbCBDb3Jwb3JhdGlvbiIpOw0KPiArTU9EVUxFX0FMSUFTX05EX0RFVklDRShORF9ERVZJ Q0VfREFYX1BNRU0pOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kYXgvcG1lbS9NYWtlZmlsZSBi L2RyaXZlcnMvZGF4L3BtZW0vTWFrZWZpbGUNCj4gaW5kZXggMDEwMjY5ZjYxZDQxLi4xOTFjMzFm MGQ0ZjAgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZGF4L3BtZW0vTWFrZWZpbGUNCj4gKysrIGIv ZHJpdmVycy9kYXgvcG1lbS9NYWtlZmlsZQ0KPiBAQCAtMSw3ICsxLDYgQEANCj4gICAjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4gICBvYmotJChDT05GSUdfREVWX0RB WF9QTUVNKSArPSBkYXhfcG1lbS5vDQo+ICAgb2JqLSQoQ09ORklHX0RFVl9EQVhfUE1FTSkgKz0g ZGF4X3BtZW1fY29yZS5vDQo+IC1vYmotJChDT05GSUdfREVWX0RBWF9QTUVNX0NPTVBBVCkgKz0g ZGF4X3BtZW1fY29tcGF0Lm8NCj4gICANCj4gICBkYXhfcG1lbS15IDo9IHBtZW0ubw0KPiAgIGRh eF9wbWVtX2NvcmUteSA6PSBjb3JlLm8NCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZGF4L3BtZW0v Y29tcGF0LmMgYi9kcml2ZXJzL2RheC9wbWVtL2NvbXBhdC5jDQo+IGRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCBkODFkYzM1ZmQ2NWQuLjAwMDAwMDAwMDAwMA0KPiAtLS0gYS9kcml2 ZXJzL2RheC9wbWVtL2NvbXBhdC5jDQo+ICsrKyAvZGV2L251bGwNCj4gQEAgLTEsNzIgKzAsMCBA QA0KPiAtLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4gLS8qIENvcHlyaWdo dChjKSAyMDE2IC0gMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4g Ki8NCj4gLSNpbmNsdWRlIDxsaW51eC9wZXJjcHUtcmVmY291bnQuaD4NCj4gLSNpbmNsdWRlIDxs aW51eC9tZW1yZW1hcC5oPg0KPiAtI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KPiAtI2luY2x1 ZGUgPGxpbnV4L3Bmbl90Lmg+DQo+IC0jaW5jbHVkZSA8bGludXgvbmQuaD4NCj4gLSNpbmNsdWRl ICIuLi9idXMuaCINCj4gLQ0KPiAtLyogd2UgbmVlZCB0aGUgcHJpdmF0ZSBkZWZpbml0aW9ucyB0 byBpbXBsZW1lbnQgY29tcGF0IHN1cG9ydCAqLw0KPiAtI2luY2x1ZGUgIi4uL2RheC1wcml2YXRl LmgiDQo+IC0NCj4gLXN0YXRpYyBpbnQgZGF4X3BtZW1fY29tcGF0X3Byb2JlKHN0cnVjdCBkZXZp Y2UgKmRldikNCj4gLXsNCj4gLQlzdHJ1Y3QgZGV2X2RheCAqZGV2X2RheCA9IF9fZGF4X3BtZW1f cHJvYmUoZGV2LCBERVZfREFYX0NMQVNTKTsNCj4gLQlpbnQgcmM7DQo+IC0NCj4gLQlpZiAoSVNf RVJSKGRldl9kYXgpKQ0KPiAtCQlyZXR1cm4gUFRSX0VSUihkZXZfZGF4KTsNCj4gLQ0KPiAtICAg ICAgICBpZiAoIWRldnJlc19vcGVuX2dyb3VwKCZkZXZfZGF4LT5kZXYsIGRldl9kYXgsIEdGUF9L RVJORUwpKQ0KPiAtCQlyZXR1cm4gLUVOT01FTTsNCj4gLQ0KPiAtCWRldmljZV9sb2NrKCZkZXZf ZGF4LT5kZXYpOw0KPiAtCXJjID0gZGV2X2RheF9wcm9iZShkZXZfZGF4KTsNCj4gLQlkZXZpY2Vf dW5sb2NrKCZkZXZfZGF4LT5kZXYpOw0KPiAtDQo+IC0JZGV2cmVzX2Nsb3NlX2dyb3VwKCZkZXZf ZGF4LT5kZXYsIGRldl9kYXgpOw0KPiAtCWlmIChyYykNCj4gLQkJZGV2cmVzX3JlbGVhc2VfZ3Jv dXAoJmRldl9kYXgtPmRldiwgZGV2X2RheCk7DQo+IC0NCj4gLQlyZXR1cm4gcmM7DQo+IC19DQo+ IC0NCj4gLXN0YXRpYyBpbnQgZGF4X3BtZW1fY29tcGF0X3JlbGVhc2Uoc3RydWN0IGRldmljZSAq ZGV2LCB2b2lkICpkYXRhKQ0KPiAtew0KPiAtCWRldmljZV9sb2NrKGRldik7DQo+IC0JZGV2cmVz X3JlbGVhc2VfZ3JvdXAoZGV2LCB0b19kZXZfZGF4KGRldikpOw0KPiAtCWRldmljZV91bmxvY2so ZGV2KTsNCj4gLQ0KPiAtCXJldHVybiAwOw0KPiAtfQ0KPiAtDQo+IC1zdGF0aWMgdm9pZCBkYXhf cG1lbV9jb21wYXRfcmVtb3ZlKHN0cnVjdCBkZXZpY2UgKmRldikNCj4gLXsNCj4gLQlkZXZpY2Vf Zm9yX2VhY2hfY2hpbGQoZGV2LCBOVUxMLCBkYXhfcG1lbV9jb21wYXRfcmVsZWFzZSk7DQo+IC19 DQo+IC0NCj4gLXN0YXRpYyBzdHJ1Y3QgbmRfZGV2aWNlX2RyaXZlciBkYXhfcG1lbV9jb21wYXRf ZHJpdmVyID0gew0KPiAtCS5wcm9iZSA9IGRheF9wbWVtX2NvbXBhdF9wcm9iZSwNCj4gLQkucmVt b3ZlID0gZGF4X3BtZW1fY29tcGF0X3JlbW92ZSwNCj4gLQkuZHJ2ID0gew0KPiAtCQkubmFtZSA9 ICJkYXhfcG1lbV9jb21wYXQiLA0KPiAtCX0sDQo+IC0JLnR5cGUgPSBORF9EUklWRVJfREFYX1BN RU0sDQo+IC19Ow0KPiAtDQo+IC1zdGF0aWMgaW50IF9faW5pdCBkYXhfcG1lbV9jb21wYXRfaW5p dCh2b2lkKQ0KPiAtew0KPiAtCXJldHVybiBuZF9kcml2ZXJfcmVnaXN0ZXIoJmRheF9wbWVtX2Nv bXBhdF9kcml2ZXIpOw0KPiAtfQ0KPiAtbW9kdWxlX2luaXQoZGF4X3BtZW1fY29tcGF0X2luaXQp Ow0KPiAtDQo+IC1zdGF0aWMgdm9pZCBfX2V4aXQgZGF4X3BtZW1fY29tcGF0X2V4aXQodm9pZCkN Cj4gLXsNCj4gLQlkcml2ZXJfdW5yZWdpc3RlcigmZGF4X3BtZW1fY29tcGF0X2RyaXZlci5kcnYp Ow0KPiAtfQ0KPiAtbW9kdWxlX2V4aXQoZGF4X3BtZW1fY29tcGF0X2V4aXQpOw0KPiAtDQo+IC1N T0RVTEVfTElDRU5TRSgiR1BMIHYyIik7DQo+IC1NT0RVTEVfQVVUSE9SKCJJbnRlbCBDb3Jwb3Jh dGlvbiIpOw0KPiAtTU9EVUxFX0FMSUFTX05EX0RFVklDRShORF9ERVZJQ0VfREFYX1BNRU0pOw0K PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9kYXgvcG1lbS9wbWVtLmMgYi9kcml2ZXJzL2RheC9wbWVt L3BtZW0uYw0KPiBpbmRleCAwYWU0MjM4YTBlZjguLmRmZTkxYTI5OTBmZSAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9kYXgvcG1lbS9wbWVtLmMNCj4gKysrIGIvZHJpdmVycy9kYXgvcG1lbS9wbWVt LmMNCj4gQEAgLTcsMzQgKzcsNCBAQA0KPiAgICNpbmNsdWRlIDxsaW51eC9uZC5oPg0KPiAgICNp bmNsdWRlICIuLi9idXMuaCINCj4gICANCj4gLXN0YXRpYyBpbnQgZGF4X3BtZW1fcHJvYmUoc3Ry dWN0IGRldmljZSAqZGV2KQ0KPiAtew0KPiAtCXJldHVybiBQVFJfRVJSX09SX1pFUk8oX19kYXhf cG1lbV9wcm9iZShkZXYsIERFVl9EQVhfQlVTKSk7DQo+IC19DQo+ICAgDQo+IC1zdGF0aWMgc3Ry dWN0IG5kX2RldmljZV9kcml2ZXIgZGF4X3BtZW1fZHJpdmVyID0gew0KPiAtCS5wcm9iZSA9IGRh eF9wbWVtX3Byb2JlLA0KPiAtCS5kcnYgPSB7DQo+IC0JCS5uYW1lID0gImRheF9wbWVtIiwNCj4g LQl9LA0KPiAtCS50eXBlID0gTkRfRFJJVkVSX0RBWF9QTUVNLA0KPiAtfTsNCj4gLQ0KPiAtc3Rh dGljIGludCBfX2luaXQgZGF4X3BtZW1faW5pdCh2b2lkKQ0KPiAtew0KPiAtCXJldHVybiBuZF9k cml2ZXJfcmVnaXN0ZXIoJmRheF9wbWVtX2RyaXZlcik7DQo+IC19DQo+IC1tb2R1bGVfaW5pdChk YXhfcG1lbV9pbml0KTsNCj4gLQ0KPiAtc3RhdGljIHZvaWQgX19leGl0IGRheF9wbWVtX2V4aXQo dm9pZCkNCj4gLXsNCj4gLQlkcml2ZXJfdW5yZWdpc3RlcigmZGF4X3BtZW1fZHJpdmVyLmRydik7 DQo+IC19DQo+IC1tb2R1bGVfZXhpdChkYXhfcG1lbV9leGl0KTsNCj4gLQ0KPiAtTU9EVUxFX0xJ Q0VOU0UoIkdQTCB2MiIpOw0KPiAtTU9EVUxFX0FVVEhPUigiSW50ZWwgQ29ycG9yYXRpb24iKTsN Cj4gLSNpZiAhSVNfRU5BQkxFRChDT05GSUdfREVWX0RBWF9QTUVNX0NPTVBBVCkNCj4gLS8qIEZv ciBjb21wYXQgYnVpbGRzLCBkb24ndCBsb2FkIHRoaXMgbW9kdWxlIGJ5IGRlZmF1bHQgKi8NCj4g LU1PRFVMRV9BTElBU19ORF9ERVZJQ0UoTkRfREVWSUNFX0RBWF9QTUVNKTsNCj4gLSNlbmRpZg0K PiBkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9udmRpbW0vS2J1aWxkIGIvdG9vbHMvdGVzdGlu Zy9udmRpbW0vS2J1aWxkDQo+IGluZGV4IDQ3ZjljYzlkY2Q5NC4uYzU3ZDllOWQ0NDgwIDEwMDY0 NA0KPiAtLS0gYS90b29scy90ZXN0aW5nL252ZGltbS9LYnVpbGQNCj4gKysrIGIvdG9vbHMvdGVz dGluZy9udmRpbW0vS2J1aWxkDQo+IEBAIC0zNSw4ICszNSw2IEBAIG9iai0kKENPTkZJR19EQVgp ICs9IGRheC5vDQo+ICAgZW5kaWYNCj4gICBvYmotJChDT05GSUdfREVWX0RBWCkgKz0gZGV2aWNl X2RheC5vDQo+ICAgb2JqLSQoQ09ORklHX0RFVl9EQVhfUE1FTSkgKz0gZGF4X3BtZW0ubw0KPiAt b2JqLSQoQ09ORklHX0RFVl9EQVhfUE1FTSkgKz0gZGF4X3BtZW1fY29yZS5vDQo+IC1vYmotJChD T05GSUdfREVWX0RBWF9QTUVNX0NPTVBBVCkgKz0gZGF4X3BtZW1fY29tcGF0Lm8NCj4gICANCj4g ICBuZml0LXkgOj0gJChBQ1BJX1NSQykvY29yZS5vDQo+ICAgbmZpdC15ICs9ICQoQUNQSV9TUkMp L2ludGVsLm8NCj4gQEAgLTY3LDEyICs2NSw4IEBAIGRldmljZV9kYXgteSArPSBkYXgtZGV2Lm8N Cj4gICBkZXZpY2VfZGF4LXkgKz0gZGV2aWNlX2RheF90ZXN0Lm8NCj4gICBkZXZpY2VfZGF4LXkg Kz0gY29uZmlnX2NoZWNrLm8NCj4gICANCj4gLWRheF9wbWVtLXkgOj0gJChEQVhfU1JDKS9wbWVt L3BtZW0ubw0KPiArZGF4X3BtZW0teSA6PSAkKERBWF9TUkMpL3BtZW0ubw0KPiAgIGRheF9wbWVt LXkgKz0gZGF4X3BtZW1fdGVzdC5vDQo+IC1kYXhfcG1lbV9jb3JlLXkgOj0gJChEQVhfU1JDKS9w bWVtL2NvcmUubw0KPiAtZGF4X3BtZW1fY29yZS15ICs9IGRheF9wbWVtX2NvcmVfdGVzdC5vDQo+ IC1kYXhfcG1lbV9jb21wYXQteSA6PSAkKERBWF9TUkMpL3BtZW0vY29tcGF0Lm8NCj4gLWRheF9w bWVtX2NvbXBhdC15ICs9IGRheF9wbWVtX2NvbXBhdF90ZXN0Lm8NCj4gICBkYXhfcG1lbS15ICs9 IGNvbmZpZ19jaGVjay5vDQo+ICAgDQo+ICAgbGlibnZkaW1tLXkgOj0gJChOVkRJTU1fU1JDKS9j b3JlLm8NCj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3RpbmcvbnZkaW1tL2RheF9wbWVtX2NvbXBh dF90ZXN0LmMgYi90b29scy90ZXN0aW5nL252ZGltbS9kYXhfcG1lbV9jb21wYXRfdGVzdC5jDQo+ IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCA3Y2QxODc3ZjM3NjUuLjAwMDAwMDAw MDAwMA0KPiAtLS0gYS90b29scy90ZXN0aW5nL252ZGltbS9kYXhfcG1lbV9jb21wYXRfdGVzdC5j DQo+ICsrKyAvZGV2L251bGwNCj4gQEAgLTEsOCArMCwwIEBADQo+IC0vLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMA0KPiAtLy8gQ29weXJpZ2h0KGMpIDIwMTkgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+IC0NCj4gLSNpbmNsdWRlIDxsaW51eC9tb2R1 bGUuaD4NCj4gLSNpbmNsdWRlIDxsaW51eC9wcmludGsuaD4NCj4gLSNpbmNsdWRlICJ3YXRlcm1h cmsuaCINCj4gLQ0KPiAtbmZpdF90ZXN0X3dhdGVybWFyayhkYXhfcG1lbV9jb21wYXQpOw0KPiBk aWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy9udmRpbW0vZGF4X3BtZW1fY29yZV90ZXN0LmMgYi90 b29scy90ZXN0aW5nL252ZGltbS9kYXhfcG1lbV9jb3JlX3Rlc3QuYw0KPiBkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggYTQyNDljZGJlZWMxLi4wMDAwMDAwMDAwMDANCj4gLS0tIGEv dG9vbHMvdGVzdGluZy9udmRpbW0vZGF4X3BtZW1fY29yZV90ZXN0LmMNCj4gKysrIC9kZXYvbnVs bA0KPiBAQCAtMSw4ICswLDAgQEANCj4gLS8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wDQo+IC0vLyBDb3B5cmlnaHQoYykgMjAxOSBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC4NCj4gLQ0KPiAtI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPg0KPiAtI2luY2x1 ZGUgPGxpbnV4L3ByaW50ay5oPg0KPiAtI2luY2x1ZGUgIndhdGVybWFyay5oIg0KPiAtDQo+IC1u Zml0X3Rlc3Rfd2F0ZXJtYXJrKGRheF9wbWVtX2NvcmUpOw0KPiBkaWZmIC0tZ2l0IGEvdG9vbHMv dGVzdGluZy9udmRpbW0vdGVzdC9uZHRlc3QuYyBiL3Rvb2xzL3Rlc3RpbmcvbnZkaW1tL3Rlc3Qv bmR0ZXN0LmMNCj4gaW5kZXggNjg2MjkxNWYxZmIwLi4zY2E3YzMyZTkzNjIgMTAwNjQ0DQo+IC0t LSBhL3Rvb2xzL3Rlc3RpbmcvbnZkaW1tL3Rlc3QvbmR0ZXN0LmMNCj4gKysrIGIvdG9vbHMvdGVz dGluZy9udmRpbW0vdGVzdC9uZHRlc3QuYw0KPiBAQCAtMTA1NCwxMCArMTA1NCw2IEBAIHN0YXRp YyBfX2luaXQgaW50IG5kdGVzdF9pbml0KHZvaWQpDQo+ICAgCWxpYm52ZGltbV90ZXN0KCk7DQo+ ICAgCWRldmljZV9kYXhfdGVzdCgpOw0KPiAgIAlkYXhfcG1lbV90ZXN0KCk7DQo+IC0JZGF4X3Bt ZW1fY29yZV90ZXN0KCk7DQo+IC0jaWZkZWYgQ09ORklHX0RFVl9EQVhfUE1FTV9DT01QQVQNCj4g LQlkYXhfcG1lbV9jb21wYXRfdGVzdCgpOw0KPiAtI2VuZGlmDQo+ICAgDQo+ICAgCW5maXRfdGVz dF9zZXR1cChuZHRlc3RfcmVzb3VyY2VfbG9va3VwLCBOVUxMKTsNCj4gICANCj4gZGlmZiAtLWdp dCBhL3Rvb2xzL3Rlc3RpbmcvbnZkaW1tL3Rlc3QvbmZpdC5jIGIvdG9vbHMvdGVzdGluZy9udmRp bW0vdGVzdC9uZml0LmMNCj4gaW5kZXggYjFiZmY1ZmIwZjY1Li4wYmM5MWZmZWUyNTcgMTAwNjQ0 DQo+IC0tLSBhL3Rvb2xzL3Rlc3RpbmcvbnZkaW1tL3Rlc3QvbmZpdC5jDQo+ICsrKyBiL3Rvb2xz L3Rlc3RpbmcvbnZkaW1tL3Rlc3QvbmZpdC5jDQo+IEBAIC0zMzAwLDEwICszMzAwLDYgQEAgc3Rh dGljIF9faW5pdCBpbnQgbmZpdF90ZXN0X2luaXQodm9pZCkNCj4gICAJYWNwaV9uZml0X3Rlc3Qo KTsNCj4gICAJZGV2aWNlX2RheF90ZXN0KCk7DQo+ICAgCWRheF9wbWVtX3Rlc3QoKTsNCj4gLQlk YXhfcG1lbV9jb3JlX3Rlc3QoKTsNCj4gLSNpZmRlZiBDT05GSUdfREVWX0RBWF9QTUVNX0NPTVBB VA0KPiAtCWRheF9wbWVtX2NvbXBhdF90ZXN0KCk7DQo+IC0jZW5kaWYNCj4gICANCj4gICAJbmZp dF90ZXN0X3NldHVwKG5maXRfdGVzdF9sb29rdXAsIG5maXRfdGVzdF9ldmFsdWF0ZV9kc20pOw0K PiAgIA0KPiANCj4gDQoNCg==