From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web10.17505.1675234094676461559 for ; Tue, 31 Jan 2023 22:48:15 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=dwpVeucO; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: hao.a.wu@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675234094; x=1706770094; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=MiwDsoDPfBpXo9VbpV57HyomhUUe3eidqVoYjokPeHQ=; b=dwpVeucOCMjzBOy2/Aog1uVF0fKW7uZI+MzFjw+6yPH/wKanOLNsKPRJ eDV9yUYweJsViPyMlq2VLtmIWcvkh0K8hdwqVgmX5kAjHfc7hBn5paDnw DGMehXtLvki3Fff821Emd8BI5mkVlfcuSA+Shtic7hI76jUx9MH8mcUi8 48W76/RIbxybcF3KgQ7uVeOZ9H6KxBS42L8Aj9nQmTVSAtuXd05PMjEqe 3btRUt8+x5LSPXG7A+4nJ0DZYcLIvh46f3A5WgD6TeJ12KXlNz01/8BSf U7H8/v9ljAYfNA/UPJHnmHELjHWDdR7K1jWW7Z0jQAIAr962SG95nOyZr g==; X-IronPort-AV: E=McAfee;i="6500,9779,10607"; a="355395458" X-IronPort-AV: E=Sophos;i="5.97,263,1669104000"; d="scan'208";a="355395458" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Jan 2023 22:48:14 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10607"; a="733449260" X-IronPort-AV: E=Sophos;i="5.97,263,1669104000"; d="scan'208";a="733449260" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga004.fm.intel.com with ESMTP; 31 Jan 2023 22:48:14 -0800 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 31 Jan 2023 22:48:13 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Tue, 31 Jan 2023 22:48:13 -0800 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Tue, 31 Jan 2023 22:48:13 -0800 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Tue, 31 Jan 2023 22:48:13 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDfVgP7TfW7mM38Ex+Kwp8UWion5CidVlTIIyH7/agrLDA0ZOBuj87sM6isU58yoIZqNuWbnk5X/bnHGwhUUnugg3S2oqMMY4pBEA//NSerca5moYd+jQPPN8R5ozK73/UUXDGRrc2cDOsruPYjbiz10oS+fsaZnP75aAJG740WfwYGMFg6B+cWJwrn+EwrE6ISIqnlvSp349ZTAY9K7tsq4PolOWap46Bb6iGwKioj3R9EYms3oLvNDh1TACzNIl2gG8sHyhe1ti+i3q5aLFWGq3qs/UGVSQksSfaNK+NBWfy4dRIzdE8ZXJdWFjo1/M/esupwPGPaxmiUxDHvOxw== 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=MiwDsoDPfBpXo9VbpV57HyomhUUe3eidqVoYjokPeHQ=; b=iW4ZRrsQB5NLDuzguLkkpn+ig8vyt9HpT1LferKg2KSUNUqgenjnrDFc8pTumz1+43ihCuaa0aS7aMIs6pfd1dweKnqkouCaE/D77I2si8M5/k/UIA8/7rpGo09uuSynASijibjdblUNgoYEndx3fxevL9h0wNYl7kS4YAZ6SSBE+IxASf+BhsKN+FxAJRxhwKxssXnnT1iLO706UGU3Khda9H5CVirjpL9fxt/Nh+PrKGENw2h0QEmEXyQsRMZAT+X8tZd8l/xL/qwcO+33hcbplYA4JNC/CLMsaDBqS0C6B6Sp1xWBAC5IsyIBp4A1hLjhc1ysWF+uKKGA/9E2XQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM6PR11MB4025.namprd11.prod.outlook.com (2603:10b6:5:197::31) by LV2PR11MB6024.namprd11.prod.outlook.com (2603:10b6:408:17a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6043.38; Wed, 1 Feb 2023 06:48:10 +0000 Received: from DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::40d5:cf74:7d27:e4e6]) by DM6PR11MB4025.namprd11.prod.outlook.com ([fe80::40d5:cf74:7d27:e4e6%7]) with mapi id 15.20.6043.036; Wed, 1 Feb 2023 06:48:10 +0000 From: "Wu, Hao A" To: Yuan Yu , "devel@edk2.groups.io" CC: Ard Biesheuvel , "Gao, Liming" , "Ni, Ray" , "C, sivaparvathi" Subject: Re: [PATCH v2 1/1] MdeModulePkg: ScsiBusDxe: Refactor DiscoverScsiDevice() Thread-Topic: [PATCH v2 1/1] MdeModulePkg: ScsiBusDxe: Refactor DiscoverScsiDevice() Thread-Index: AQHZNTnUzA644HIX/EOxskPyXMsGZq65pwNw Date: Wed, 1 Feb 2023 06:48:09 +0000 Message-ID: References: <20230131060347.99785-1-yuanyu@google.com> <20230131060347.99785-2-yuanyu@google.com> In-Reply-To: <20230131060347.99785-2-yuanyu@google.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM6PR11MB4025:EE_|LV2PR11MB6024:EE_ x-ms-office365-filtering-correlation-id: aeb2bc41-596d-46fe-6244-08db0420481d x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: MZOQmXJsjWCaRCI8+fr50HrSSAFsSf30Nux4LQ8AB+KXD4U0ACG3guALIQ+FpyLwkurSbt6EJHvQn41eZA7GqJzWNtuDqa/F3MgYSQbCVFPWAh1V545pyETzTK37VWXUR7x15WUKjXutiNghAa+uAwGbe5UBVoWXlGvWHl1NLeWAqyYNwYRQGXYtvyCytxK5c1p0FrYbm+tPPtqdSRN5pqqx00vcij9mXrOcK4tQTKpwe14ZAN3NasiH7dG3G3Q3Jv7LOlr0XNSQwQ6ymfJYd2ebs/ZiAVaFoj8dBNm/lZgB9dRBaglgazIAZUIY4u9n7B59T9tPlPomGDkPrNRsoNANNVwxX5sW4Jhc2jasA5KH+b0IUu0FHa0Hv7wZ5OPOn8y6Z8VRm6PD6RWFRCOonq34DSzEO5q2nMaQxrtT+ZtPEOszc/QHUzyMlbCF9XcdBgvDPyC3lj6lphrLNBbQPv1byMmyFpCQMe3zlVi9VtAkJcMA0EZ4gu0JurbjwLxv70nv3Ue+E04EoOG0wiqAm53OTTX5LJ2l0f+UOBjylnGQy4IfBS6+7hsXOczE6qNWZKRY8Rtc+XP/M1Hkn6cW0G4bPlCEecsBnexYQWIXyWbVHVX4r6yasaHEw/yiw3q1hYYbvsO5I+Ela18MEX5/PT9pfJdG4fUfoDYfdEg68+fe5b8tquH971BktUemqT4C x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB4025.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(39860400002)(346002)(136003)(396003)(376002)(366004)(451199018)(76116006)(38100700002)(5660300002)(41300700001)(316002)(86362001)(38070700005)(8936002)(7696005)(55016003)(71200400001)(52536014)(83380400001)(66476007)(8676002)(66446008)(4326008)(66556008)(110136005)(54906003)(66946007)(64756008)(33656002)(478600001)(82960400001)(186003)(26005)(6506007)(53546011)(9686003)(2906002)(122000001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Tzd0bmIvbkd2RUp1dkdveTlibkRCRzNyNTlwTHNDaUt1MjVkUjg3SDBFVFNn?= =?utf-8?B?TWJwQ0FtM0FCTFAvRndGSnlBSE1YV0tHM3ZwbzNUQkxKL2V6ZnZEeWJqejFN?= =?utf-8?B?dzk1dWRsazZGdy9RODVSZE5ZOFI5cTJ5djJveFVhWWZ6Qkc0cFNSYlg1TGVt?= =?utf-8?B?bG0vaG5HWUd2UmkvZDBHVXVrTmNZckxaUUFJdGV5MTFJYndHeWd5dlBtQmly?= =?utf-8?B?VTFtREtORzZXdVR5Z3FsM3BNS3ducXZmQ1BJb3ZKakZreVFxczZKMXhUR2Nw?= =?utf-8?B?a1JTcWlucTVIeStvV2tNeElERkVYdUlWQWdYbDNoMTdqZkp4WDhvc09GQ0RV?= =?utf-8?B?K0ZUNjdTMHhzZ1Jyd3VkMVJrYjF0LzlkOWgxWVRTY0RSUER4TzBaSWdwOW5t?= =?utf-8?B?bFJZVFVqcVl1MmRTWHl4NzRLczNSc282dkxvTnhWZGZtMVZaMzM0VXRNdyt6?= =?utf-8?B?b2Z3Vm9VQnYwZFBIdXRVenNMSE9JU3ZUSXJMczYvS2t2a2ZzbnorRVdpNXJS?= =?utf-8?B?V0pNeG5lQUhIZXkzaFVVMm0vYXJFNFNpTHdiWEh2bjlMYmMvdWtMRlBaeUlY?= =?utf-8?B?RkppVUZNbEJyVlh0bzdtUjZiVndjUE9UTktiWCtpamowYlJIb0k1N0wyU1Bk?= =?utf-8?B?QjEzc0UyWVRIeFd6N3NPS0lvUytaZXNzUm8zUEpJbndwcnAvQVBua0NhS25w?= =?utf-8?B?c0dzK2NWK2Z1UVhaTnlGaWcwQWU5SGplYjZ2SUYyVC9aWkRUSnMrV0dOa0ZM?= =?utf-8?B?MVd4UFN1NE5jeEg4T2tvWnd1bVMvMmtEc2NlaVV2Vyt6aDA4eHhKU2xrOW1S?= =?utf-8?B?Ry9kTWhSa3I3SlplUzllMTBIU1YvSzV3RFRlZUk0Z3JMblFoUmN1RDUvSVUw?= =?utf-8?B?blE4VktOOXRPMGlXWU9DL0xtKzVvb1I0dnVGditNV0V1L0dya2dST0VvOVUw?= =?utf-8?B?d3l1YXMrNXJwRUFXWXd2N004YWFJYTg5S2MrVXR0cGVIYVVkbmI5RFlVd3BR?= =?utf-8?B?WlU1YkFQVnpUZ0F1SGs0QU1BcU5jQnhlRzV3dWdBMGNEOUZOcmpoaUNTc0V4?= =?utf-8?B?WXgvTVo0YTQxTTNUUmJ5NVRoL3VFTXJKVEFLLzVYczFqOWptTHluNlNvMDI0?= =?utf-8?B?U1N1RzRHdzhmRCs2YTA3b1k5dUphVnhlckZvSit0MkRJZXljclZhSkgxaHJI?= =?utf-8?B?MDExMHl3TmRnbzA2eFZaMGlWdU9rK1NvNCtVMC9PUU1Zdi9yZFFycVAxTHVJ?= =?utf-8?B?VGluSm5pRU5walRNWnMwd2w4Szh5a2swOTdzeTFNdndSTzFrSDBPcEhDQkZX?= =?utf-8?B?MXJHd0FvZkxWRyttRGl2L2V0Z1p4MUh4cDZqOXl1c2ZoOEFTZGtHMHBLNVVM?= =?utf-8?B?OERvMTloOE5TdUdpVEJ2Tnd6MWpHdlRoZktUV3ZNREhnanZCbllFamkxVHJm?= =?utf-8?B?ODRvOFovelo4S01Xd29USitTRVFNWTg2R3FRWGJrUHFiVjN6cmdUM0w5Wm4x?= =?utf-8?B?eElmYlI4bHlTNXNEUlVOSlhxS3NLTFN2NXR0eWZtNGVqWS9mN3RZTWpEeTlM?= =?utf-8?B?bEhEVDV2QjB1TWpXNTRUckF6eUNHSGNoVjUvcklXeHZJSStjSllSTjByRmwz?= =?utf-8?B?eTVSUnRvSVVhYWF2U0pmOGFkZUxKM3lWZjFqSUpmcWFEYWdWVUEvR0s4UExI?= =?utf-8?B?NkIvb1luN0RXdWJ1VGhMaE5UWDZzdlBLTDJ4NWpFNTRUby9hdyt3V0tUVTZP?= =?utf-8?B?MTcxdVhGZ2NmVThvdHM5aFVKb1JwOWgweXgvN2dyYjU0QkJFV0pEdkxCZjV0?= =?utf-8?B?RlJaUFQ2TE9lNVhtRTBzQVlPUDJVaTJ1cnRCdjdFNEh1RTVFQ1ZMVXFDSXVr?= =?utf-8?B?UmhpRGV3eUpINWJxUU45UjRrdGpDQVk2YVM5NjhYYi8xcEk1NHNuUWhJdUhs?= =?utf-8?B?elNYVkVIYS85RHV4YjZIb01EZUNiRDRiVkllVktyc0NHdndQN2FMYjRpMHo0?= =?utf-8?B?cUl0SkdKclVOWFhSRnB1czJxTkdYK3VSd0tUQy9BSTdrYStSSU5YTW9aZTho?= =?utf-8?B?Q2hQUUFzaFk1VmZiYUQ5RkJFbU0vbVRLcWo4U1pGT2txTkZ2SHBEa3NwaWti?= =?utf-8?Q?Yi3ZT+he8/+nx9Nyh9r6HA5au?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4025.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: aeb2bc41-596d-46fe-6244-08db0420481d X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Feb 2023 06:48:09.7938 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7cxA2UVP7sX4xL8XURTZVZ/OqD5/fkQ2Jw6XEUCoZfXCrGrzNv+EYPrYozs3L+hpI91toJB9dhLtra3aNJemuA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR11MB6024 Return-Path: hao.a.wu@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IEhhbyBBIFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQpXaWxsIHVwZGF0ZSB0 aGUgZnVuY3Rpb24gY29tbWVudCBmb3IgU2NzaVNjYW5DcmVhdGVEZXZpY2UoKSBpbiBTY3NpQnVz LmMgdG8gbWF0Y2ggdGhlIGNoYW5nZSBpbiBTY3NpQnVzLmggZHVyaW5nIG1lcmdlLg0KDQpCZXN0 IFJlZ2FyZHMsDQpIYW8gV3UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9t OiBZdWFuIFl1IDx5dWFueXVAZ29vZ2xlLmNvbT4NCj4gU2VudDogVHVlc2RheSwgSmFudWFyeSAz MSwgMjAyMyAyOjA0IFBNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogQXJkIEJp ZXNoZXV2ZWwgPGFyZGIrdGlhbm9jb3JlQGtlcm5lbC5vcmc+OyBHYW8sIExpbWluZw0KPiA8Z2Fv bGltaW5nQGJ5b3NvZnQuY29tLmNuPjsgV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+OyBO aSwgUmF5DQo+IDxyYXkubmlAaW50ZWwuY29tPjsgQywgc2l2YXBhcnZhdGhpIDxzaXZhcGFydmF0 aGljQGFtaS5jb20+DQo+IFN1YmplY3Q6IFtQQVRDSCB2MiAxLzFdIE1kZU1vZHVsZVBrZzogU2Nz aUJ1c0R4ZTogUmVmYWN0b3INCj4gRGlzY292ZXJTY3NpRGV2aWNlKCkNCj4gDQo+IEN1cnJlbnRs eSBEaXNjb3ZlclNjc2lEZXZpY2UoKSByZXR1cm5zIGEgYm9vbGVhbiB3aGljaCBjYW5ub3QNCj4g ZGlzdGluZ3Vpc2ggYSAibm90IGZvdW5kIiBzaXR1YXRpb24gZnJvbSBhIHJlYWwgcHJvYmxlbSBs aWtlDQo+IG1lbW9yeSBhbGxvY2F0aW9uIGZhaWx1cmVzLg0KPiANCj4gVGhpcyBwYXRjaCBjaGFu Z2VzIHRoZSByZXR1cm4gdmFsdWUgdG8gYW4gRUZJX1NUQVRVUyBzbyB0aGF0IHdoZW4NCj4gbWVt b3J5IGFsbG9jYXRpb24gZmFpbHMsIGl0IHdpbGwgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VT Lg0KPiANCj4gV2l0aG91dCB0aGlzIGNoYW5nZSwgYW55IEZBTFNFIHJldHVybmVkIGJ5IERpc2Nv dmVyU2NzaURldmljZSgpDQo+IHdpbGwgcmVzdWx0IGluIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIGJl aW5nIHJldHVybmVkIGJ5DQo+IFNjc2lTY2FuQ3JlYXRlRGV2aWNlKCksIHdoaWNoIHdpbGwgY2F1 c2UgYSB3aGlsZSBsb29wIGluDQo+IFNDU0lCdXNEcml2ZXJCaW5kaW5nU3RhcnQoKSB0byBhYm9y dCBiZWZvcmUgb3RoZXIgcG9zc2libGUgUHVucyBpbg0KPiB0aGUgU0NTSSBjaGFubmVsIGFyZSBz Y2FubmVkLCB3aGljaCBtZWFucyBnb29kIGRldmljZXMgbWF5IG5vdCBoYXZlDQo+IGEgY2hhbmNl IHRvIGJlIGRpc2NvdmVyZWQuICBJZiB0aGlzIGdvb2QgZGV2aWNlIGlzIHRoZSBib290IGRldmlj ZSwNCj4gYm9vdCB3aWxsIGZhaWwuDQo+IA0KPiBDYzogQXJkIEJpZXNoZXV2ZWwgPGFyZGIrdGlh bm9jb3JlQGtlcm5lbC5vcmc+DQo+IENjOiBMaW1pbmcgR2FvIDxnYW9saW1pbmdAYnlvc29mdC5j b20uY24+DQo+IENjOiBIYW8gQSBXdSA8aGFvLmEud3VAaW50ZWwuY29tPg0KPiBDYzogUmF5IE5p IDxyYXkubmlAaW50ZWwuY29tPg0KPiBDYzogU2l2YXBhcnZhdGhpIGNoZWxsYWlhaCA8c2l2YXBh cnZhdGhpY0BhbWkuY29tPg0KPiANCj4gU2lnbmVkLW9mZi1ieTogWXVhbiBZdSA8eXVhbnl1QGdv b2dsZS5jb20+DQo+IC0tLQ0KPiAgTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lCdXNEeGUvU2Nz aUJ1cy5oIHwgMTAgKysrKy0tLQ0KPiAgTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lCdXNEeGUv U2NzaUJ1cy5jIHwgMzAgKysrKysrKysrKy0tLS0tLS0tLS0NCj4gIDIgZmlsZXMgY2hhbmdlZCwg MjEgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTWRl TW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lCdXNEeGUvU2NzaUJ1cy5oDQo+IGIvTWRlTW9kdWxlUGtn L0J1cy9TY3NpL1Njc2lCdXNEeGUvU2NzaUJ1cy5oDQo+IGluZGV4IDY4YzVjMDJhOTE2MS4uMzVh OGE0NmNhN2EyIDEwMDY0NA0KPiAtLS0gYS9NZGVNb2R1bGVQa2cvQnVzL1Njc2kvU2NzaUJ1c0R4 ZS9TY3NpQnVzLmgNCj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lCdXNEeGUvU2Nz aUJ1cy5oDQo+IEBAIC00NTUsNyArNDU1LDggQEAgU2NzaUV4ZWN1dGVTQ1NJQ29tbWFuZCAoDQo+ IA0KPiAgICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBTdWNjZXNzZnVsbHkgdG8gZGlz Y292ZXIgdGhlIGRldmljZSBhbmQgYXR0YWNoDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNjc2lJb1Byb3RvY29sIHRvIGl0Lg0KPiAtICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVT T1VSQ0VTICBGYWlsIHRvIGRpc2NvdmVyIHRoZSBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX05P VF9GT1VORCAgICAgICAgIEZhaWwgdG8gZGlzY292ZXIgdGhlIGRldmljZS4NCj4gKyAgQHJldHZh bCBFRklfT1VUX09GX1JFU09VUkNFUyAgRmFpbCB0byBhbGxvY2F0ZSBtZW1vcnkgcmVzb3VyY2Vz Lg0KPiANCj4gICoqLw0KPiAgRUZJX1NUQVRVUw0KPiBAQCAtNDczLDExICs0NzQsMTIgQEAgU2Nz aVNjYW5DcmVhdGVEZXZpY2UgKA0KPiANCj4gICAgQHBhcmFtICBTY3NpSW9EZXZpY2UgICAgVGhl IHBvaW50ZXIgb2YgU0NTSV9JT19ERVYNCj4gDQo+IC0gIEByZXR2YWwgIFRSVUUgICBGaW5kIFND U0kgRGV2aWNlIGFuZCB2ZXJpZnkgaXQuDQo+IC0gIEByZXR2YWwgIEZBTFNFICBVbmFibGUgdG8g ZmluZCBTQ1NJIERldmljZS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgRmlu ZCBTQ1NJIERldmljZSBhbmQgdmVyaWZ5IGl0Lg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQg ICAgICAgICBVbmFibGUgdG8gZmluZCBTQ1NJIERldmljZS4NCj4gKyAgQHJldHZhbCBFRklfT1VU X09GX1JFU09VUkNFUyAgRmFpbCB0byBhbGxvY2F0ZSBtZW1vcnkgcmVzb3VyY2VzLg0KPiANCj4g ICoqLw0KPiAtQk9PTEVBTg0KPiArRUZJX1NUQVRVUw0KPiAgRGlzY292ZXJTY3NpRGV2aWNlICgN Cj4gICAgSU4gIE9VVCAgU0NTSV9JT19ERVYgICpTY3NpSW9EZXZpY2UNCj4gICAgKTsNCj4gZGlm ZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhlL1Njc2lCdXMuYw0KPiBi L01kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhlL1Njc2lCdXMuYw0KPiBpbmRleCBmYmUx NGM3NzI0OTYuLjQ0MTRhNjVlYjFlNiAxMDA2NDQNCj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9T Y3NpL1Njc2lCdXNEeGUvU2NzaUJ1cy5jDQo+ICsrKyBiL01kZU1vZHVsZVBrZy9CdXMvU2NzaS9T Y3NpQnVzRHhlL1Njc2lCdXMuYw0KPiBAQCAtMTIxMCw4ICsxMjEwLDggQEAgU2NzaVNjYW5DcmVh dGVEZXZpY2UgKA0KPiAgICAgIFNjc2lCdXNEZXYtPkRldmljZVBhdGgNCj4gICAgICApOw0KPiAN Cj4gLSAgaWYgKCFEaXNjb3ZlclNjc2lEZXZpY2UgKFNjc2lJb0RldmljZSkpIHsNCj4gLSAgICBT dGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgU3RhdHVzID0gRGlzY292ZXJTY3Np RGV2aWNlIChTY3NpSW9EZXZpY2UpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ ICAgICAgZ290byBFcnJvckV4aXQ7DQo+ICAgIH0NCj4gDQo+IEBAIC0xMjc2LDExICsxMjc2LDEy IEBAIEVycm9yRXhpdDoNCj4gDQo+ICAgIEBwYXJhbSAgU2NzaUlvRGV2aWNlICAgIFRoZSBwb2lu dGVyIG9mIFNDU0lfSU9fREVWDQo+IA0KPiAtICBAcmV0dmFsICBUUlVFICAgRmluZCBTQ1NJIERl dmljZSBhbmQgdmVyaWZ5IGl0Lg0KPiAtICBAcmV0dmFsICBGQUxTRSAgVW5hYmxlIHRvIGZpbmQg U0NTSSBEZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIEZpbmQgU0NT SSBEZXZpY2UgYW5kIHZlcmlmeSBpdC4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAg ICAgVW5hYmxlIHRvIGZpbmQgU0NTSSBEZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9S RVNPVVJDRVMgIEZhaWwgdG8gYWxsb2NhdGUgbWVtb3J5IHJlc291cmNlcy4NCj4gDQo+ICAqKi8N Cj4gLUJPT0xFQU4NCj4gK0VGSV9TVEFUVVMNCj4gIERpc2NvdmVyU2NzaURldmljZSAoDQo+ICAg IElOIE9VVCAgU0NTSV9JT19ERVYgICpTY3NpSW9EZXZpY2UNCj4gICAgKQ0KPiBAQCAtMTI5NCw3 ICsxMjk1LDYgQEAgRGlzY292ZXJTY3NpRGV2aWNlICgNCj4gICAgRUZJX1NDU0lfU0VOU0VfREFU QSAgICAqU2Vuc2VEYXRhOw0KPiAgICBVSU5UOCAgICAgICAgICAgICAgICAgIE1heFJldHJ5Ow0K PiAgICBVSU5UOCAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiAtICBCT09MRUFOICAgICAgICAg ICAgICAgIFNjc2lEZXZpY2VGb3VuZDsNCj4gDQo+ICAgIEhvc3RBZGFwdGVyU3RhdHVzID0gMDsN Cj4gICAgVGFyZ2V0U3RhdHVzICAgICAgPSAwOw0KPiBAQCAtMTMwMiw3ICsxMzAyLDcgQEAgRGlz Y292ZXJTY3NpRGV2aWNlICgNCj4gDQo+ICAgIElucXVpcnlEYXRhID0gQWxsb2NhdGVBbGlnbmVk QnVmZmVyIChTY3NpSW9EZXZpY2UsIHNpemVvZg0KPiAoRUZJX1NDU0lfSU5RVUlSWV9EQVRBKSk7 DQo+ICAgIGlmIChJbnF1aXJ5RGF0YSA9PSBOVUxMKSB7DQo+IC0gICAgU2NzaURldmljZUZvdW5k ID0gRkFMU0U7DQo+ICsgICAgU3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ICAgICAg Z290byBEb25lOw0KPiAgICB9DQo+IA0KPiBAQCAtMTMxMSw3ICsxMzExLDcgQEAgRGlzY292ZXJT Y3NpRGV2aWNlICgNCj4gICAgICAgICAgICAgICAgICBzaXplb2YgKEVGSV9TQ1NJX1NFTlNFX0RB VEEpDQo+ICAgICAgICAgICAgICAgICAgKTsNCj4gICAgaWYgKFNlbnNlRGF0YSA9PSBOVUxMKSB7 DQo+IC0gICAgU2NzaURldmljZUZvdW5kID0gRkFMU0U7DQo+ICsgICAgU3RhdHVzID0gRUZJX09V VF9PRl9SRVNPVVJDRVM7DQo+ICAgICAgZ290byBEb25lOw0KPiAgICB9DQo+IA0KPiBAQCAtMTM0 Miw3ICsxMzQyLDcgQEAgRGlzY292ZXJTY3NpRGV2aWNlICgNCj4gICAgICAgICAgICAoU2Vuc2VE YXRhLT5FcnJvcl9Db2RlID09IDB4NzApICYmDQo+ICAgICAgICAgICAgKFNlbnNlRGF0YS0+U2Vu c2VfS2V5ID09IEVGSV9TQ1NJX1NLX0lMTEVHQUxfUkVRVUVTVCkpDQo+ICAgICAgICB7DQo+IC0g ICAgICAgIFNjc2lEZXZpY2VGb3VuZCA9IEZBTFNFOw0KPiArICAgICAgICBTdGF0dXMgPSBFRklf Tk9UX0ZPVU5EOw0KPiAgICAgICAgICBnb3RvIERvbmU7DQo+ICAgICAgICB9DQo+IA0KPiBAQCAt MTM1MywxMyArMTM1MywxMyBAQCBEaXNjb3ZlclNjc2lEZXZpY2UgKA0KPiAgICAgICAgICAoU3Rh dHVzID09IEVGSV9JTlZBTElEX1BBUkFNRVRFUikgfHwNCj4gICAgICAgICAgKFN0YXR1cyA9PSBF RklfVU5TVVBQT1JURUQpKQ0KPiAgICAgIHsNCj4gLSAgICAgIFNjc2lEZXZpY2VGb3VuZCA9IEZB TFNFOw0KPiArICAgICAgU3RhdHVzID0gRUZJX05PVF9GT1VORDsNCj4gICAgICAgIGdvdG8gRG9u ZTsNCj4gICAgICB9DQo+ICAgIH0NCj4gDQo+ICAgIGlmIChJbmRleCA9PSBNYXhSZXRyeSkgew0K PiAtICAgIFNjc2lEZXZpY2VGb3VuZCA9IEZBTFNFOw0KPiArICAgIFN0YXR1cyA9IEVGSV9OT1Rf Rk9VTkQ7DQo+ICAgICAgZ290byBEb25lOw0KPiAgICB9DQo+IA0KPiBAQCAtMTM2NywxNCArMTM2 NywxNCBAQCBEaXNjb3ZlclNjc2lEZXZpY2UgKA0KPiAgICAvLyBSZXRyaWV2ZWQgaW5xdWlyeSBk YXRhIHN1Y2Nlc3NmdWxseQ0KPiAgICAvLw0KPiAgICBpZiAoSW5xdWlyeURhdGEtPlBlcmlwaGVy YWxfUXVhbGlmaWVyICE9IDApIHsNCj4gLSAgICBTY3NpRGV2aWNlRm91bmQgPSBGQUxTRTsNCj4g KyAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KPiAgICAgIGdvdG8gRG9uZTsNCj4gICAgfQ0K PiANCj4gICAgaWYgKChJbnF1aXJ5RGF0YS0+UGVyaXBoZXJhbF9UeXBlID49IEVGSV9TQ1NJX1RZ UEVfUkVTRVJWRURfTE9XKSAmJg0KPiAgICAgICAgKElucXVpcnlEYXRhLT5QZXJpcGhlcmFsX1R5 cGUgPD0gRUZJX1NDU0lfVFlQRV9SRVNFUlZFRF9ISUdIKSkNCj4gICAgew0KPiAtICAgIFNjc2lE ZXZpY2VGb3VuZCA9IEZBTFNFOw0KPiArICAgIFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7DQo+ICAg ICAgZ290byBEb25lOw0KPiAgICB9DQo+IA0KPiBAQCAtMTM5MiwxMyArMTM5MiwxMyBAQCBEaXNj b3ZlclNjc2lEZXZpY2UgKA0KPiAgICAgIFNjc2lJb0RldmljZS0+U2NzaVZlcnNpb24gPSAoVUlO VDgpKElucXVpcnlEYXRhLT5WZXJzaW9uICYgMHgwNyk7DQo+ICAgIH0NCj4gDQo+IC0gIFNjc2lE ZXZpY2VGb3VuZCA9IFRSVUU7DQo+ICsgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiANCj4gIERv bmU6DQo+ICAgIEZyZWVBbGlnbmVkQnVmZmVyIChTZW5zZURhdGEsIHNpemVvZiAoRUZJX1NDU0lf U0VOU0VfREFUQSkpOw0KPiAgICBGcmVlQWxpZ25lZEJ1ZmZlciAoSW5xdWlyeURhdGEsIHNpemVv ZiAoRUZJX1NDU0lfSU5RVUlSWV9EQVRBKSk7DQo+IA0KPiAtICByZXR1cm4gU2NzaURldmljZUZv dW5kOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiAgfQ0KPiANCj4gIC8qKg0KPiAtLQ0KPiAyLjM5 LjEuNDU2LmdmYzU0OTdkZDFiLWdvb2cNCg0K