From nobody Mon Dec 05 20:26:29 2022 X-Original-To: freebsd-hackers@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NQw7J6t39z4jR8Z for ; Mon, 5 Dec 2022 20:26:36 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from APC01-PSA-obe.outbound.protection.outlook.com (mail-psaapc01on20705.outbound.protection.outlook.com [IPv6:2a01:111:f400:feae::705]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.protection.outlook.com", Issuer "DigiCert Cloud Services CA-1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NQw7J3RcSz3lkx for ; Mon, 5 Dec 2022 20:26:36 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; none ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WaSSmHXvtpsgFQSN/yndMOoYlZ6pG92IwyXnX08AVgbuuzYmsG4HqOs7dJ3f1GkAo1c7lDxYxzx6CY5e7Ox5EBg8T3lbeAAnwTI4ZKGYZyc2id0SGus1PzOYprIfMcXr8LQQkf2bR+uh5SR3eCDjFZcJFYYudmQKK3jPK8XeDfkPu8aBuWZxY5+AfBwz+ozY8pbVaL5XkmOUzU3HiU9GvYmrPiJdcBchBCNU3B1+t3yLziVcKZYXd+W1PewcpBNLt4MhH3ES5CvYNBoyrsfSyTUkfUCnY1cFxtNaRbxiMFy/HulncMc8h7LI4+o1Z3ZZtWAWvuH3VMvGyDvvVEFKew== 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=xy11WXt7WNZPS5pwsI7Fj3Ke++K4Tm1DmjZ1wISqsKo=; b=UbqhZb5Guqy7ZsShJDHvhYcqMiOoTIHBg3QhPhM3mcbMpLzo8KTxAKU04QoHcBWYw7tyIhzyq7jkg4Z9/zZqr0V/mgJfY45ISUEjBe+sCN4yBA90fynrmZBp3fkygH/xWSeXJeWRF4fgAjv1FH7+VhWzVl13qkxvHEYX4nPr/5S/t0ZXS5to5nSG18gWW/3+q2/iOttxJ0+VuCKHZZVjZ3prdzAFFMXaaXDGsJ/7SoUW6w1rIWNWsLOSF7MZCDq4d2G/UpjLwTlJjt5AzS+LVqCPLQ2j3+YF2ytJYtZN8ZDa3FLBzEntFqP5998KqGmSFGj063XRn3rVRslZJyPycQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xy11WXt7WNZPS5pwsI7Fj3Ke++K4Tm1DmjZ1wISqsKo=; b=GQuulkeSy/oCPJDKMAxJ9XykkQKIS99+HlT3aVdNq5cgsj3OUswDmwt9ofa7MsPjsnAU4GvuB/Qhi2DIrHqma2Xw0zRaCyNOOXguZqL3Fd+yO6XVRd9DfPw5SL6PhSABv8S1W63p8GHY4qScF6OqXZkDKivLqCU+VhldG+R4QeU= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by PSAP153MB0454.APCP153.PROD.OUTLOOK.COM (2603:1096:301:90::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.3; Mon, 5 Dec 2022 20:26:30 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::a551:8649:2ead:ce53]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::a551:8649:2ead:ce53%8]) with mapi id 15.20.5924.004; Mon, 5 Dec 2022 20:26:30 +0000 From: Souradeep Chakrabarti To: Andrew Turner CC: Warner Losh , Wei Hu , "freebsd-hackers@FreeBSD.org" Subject: RE: [EXTERNAL] pcib msix allocation in arm64 Thread-Topic: [EXTERNAL] pcib msix allocation in arm64 Thread-Index: AQHY74L1rP0eJIPY3Ee6pTYdK5o1bK5ZC9OggAaNiQCAAFcWsA== Date: Mon, 5 Dec 2022 20:26:29 +0000 Message-ID: References: <146F5D18-6366-4953-A8D9-61FE7EC67F71@fubar.geek.nz> <947DBD67-6443-480F-82DA-2BDDF44C3D03@fubar.geek.nz> <877E8C1E-5CEA-44B6-ABC0-0C54D5B69A58@fubar.geek.nz> In-Reply-To: <877E8C1E-5CEA-44B6-ABC0-0C54D5B69A58@fubar.geek.nz> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=9706347d-d18d-419b-ad8f-9ef88a8b3f88;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2022-12-05T20:25:37Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|PSAP153MB0454:EE_ x-ms-office365-filtering-correlation-id: 3f254d49-977f-488a-4b0a-08dad6fefded x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: lbR3ZBawaj7JiZc4uZ17x++zTBL+WB2OHGzjrqxjNZcJB/GvO1PYdncISiu70r5s6kK+hcvgweas5m9O3B2B4uRS/P5LQVcxGhuv+C8pp6Rzm1at1LHWcROFFcPegUlQVLzo42c9SRibVwC1H0eLLlzTDJLaFrCjv1EbSBoQkgf6dT4CKSN1XLZKf4hPY2zLIrVbUhh5ssD8vxtz0wjg2wuH9s6zhGCsEFQO9b/XN/dUpnh0uRoyxbsZ7msIGEJp9d6TX+I0gSG3VujRG12XX380xHjCoyg3EJGuwA0MzGYWfHV+aDEw/HADXYwHi8s/LahsKYgrNx40KoU8jOqbHE2H5POwQ123Q6oNwPFJZF/vMWJlx0+RaboJSycCBfgxJezcHRld+Fg2JTxajPVE3tyDZYdAxblvCD44PH/YwhIHik2V81+Jq7sBP4Z/8oeoW2cABNrQr8ZbqxFqfDImIKHLB8sZ0Vh63wQ0tLLG+Kp19f2/XYIVya4NMtE9vRAeDccdKzDiVYCRVpb1VL5sxOawMy8NGsmh8gHJo+BW/Uhy2sNCLdhOzNVpwy3rGDhaK1FncPnah6cT7vJ/hpkWJaQcQrJQ4rvKntNPD5CXxW2gixB2kpTfh0dMIezi+j3BySr1qKma52/hjXinKyP6xNbmu6Csxh7l+RVsUI7MbD9knpKB54pjkhu+KDIv4/Y+j9BmIy/iSW5f9JUhtu8nVri8s14gjYfgQb/XyNiKQ0bxnbffe77yIeYQ8yRQSajd x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PSAP153MB0536.APCP153.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(366004)(376002)(396003)(136003)(451199015)(76116006)(4326008)(2906002)(8676002)(33656002)(38070700005)(478600001)(38100700002)(55016003)(26005)(53546011)(6506007)(9686003)(71200400001)(66946007)(7696005)(10290500003)(66556008)(66476007)(66446008)(64756008)(8990500004)(122000001)(5660300002)(83380400001)(54906003)(52536014)(8936002)(6916009)(86362001)(41300700001)(316002)(186003)(82950400001)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VWlOYmozT0hXc2VMb3praHhwQnpGczdiZzhZVTNKRTJqWGsyN0kydHRMUEo5?= =?utf-8?B?NURXYkdZQVU2Z2pNU3IzMkliSHc4cGEyMVdkTkVWNFlhUStuM2RoWWtxWGY5?= =?utf-8?B?YWlPZTRNRFIxUDlZSmZtVW5SKzVqbnR0eGJFUGRFRm5qZXJmdUV4NUxPQjZi?= =?utf-8?B?QW9BUUttNHY5aW1DWVk5Wnh4VkZCTWxTWURmRk9LSVFBZ0xraFFHczNEZEVh?= =?utf-8?B?TkxXZFJpelpPT3JMdTY0cFlFdXlXaDVvU3ZnajRTd24vL0kydCtFZWx0TDQ1?= =?utf-8?B?a25rYXFzelEyakdrd2xIeVU3UlFNdkgwUktBT1VNYW5WSkJBMGptRVRmUGhw?= =?utf-8?B?SUlrMzlwZGV1TjlPeTVNVTVtdUtsU3g3ZWt5aFVwT0x3c1RXUkdEZ2lpSTIz?= =?utf-8?B?SklhUEIrYnBSVnlhd0hFUUovQUpZMW1HRm02ZW1NVUg5b2JnN2hNVnEyeEJB?= =?utf-8?B?OGREOVkxQWZEOWkvZFpCQ1RWZytGcHIyaGJNK0ZjTmlMS1hzYkVVWklaS29j?= =?utf-8?B?TVJxWEM1WlF6VnlyclQybVRITFBtQXBiWkRhU0xQRDl1eWQ5YWk3UFI0QjJX?= =?utf-8?B?aU5tbUVXVmk5MXdoQWhTS3VCcktCd0kyL3R1RWhTaWt0L0R1b3RFWDhqRkto?= =?utf-8?B?TEtWTG1OMGNod0RCaGdZQ0Z5MzBaWDVoUEtTSVFxVEFQZzRKMXp6S2wxeDBE?= =?utf-8?B?dEI2QTZCaTcxQ0dtQ3Q5Skd4SDBOMFVRdzFkc2ljY2s1ZFMvTUpXR3RPc0RP?= =?utf-8?B?VmlESXM5eU01VlVkQkJ5VmVyVEhUMVF0NjNYeC9GTTBOUHdYVkZRTUpWVW80?= =?utf-8?B?eGZjbUlIeGtuNHRxeG4rWDdRcTdlRnVzOVFlSy9SdWExNzhaOVVmRWVscXlC?= =?utf-8?B?YjZRaVdYUVRZUUg2WGo1N3FjbG55cU00SXk3SmdvV0ZJS2MzM2NobEJoNW93?= =?utf-8?B?VTc3U0VhUVhMaHNUNGkwKytJK1NYcWE1aHhqc29iYXhmQVdnVndKNVRmUzhj?= =?utf-8?B?SkpKME5wNUExMzFFV1o5bmxjVXdERDJKcmhianE1NkRldEd4aXZ4ejd4YVFG?= =?utf-8?B?R2dqSm1Gci9YVGt2ZkJJVVEwcHFWQTBUaldRRzdrMThBbzY1L3hTKzNrb3Yv?= =?utf-8?B?QjZZa3dZMzROb0NWZlNSN2t4R0NhUlY4NXhqaCttZkxFbXRYYUlMTHRaOSt2?= =?utf-8?B?RWt3WEYvTHRTd0ZvMitzN1NaZFUrMDFWaEQyc1lJV2JLZU16MDl2a3BNajhy?= =?utf-8?B?Z1V5aWp1V1ByclVxVExCOXlQanlqZWdtZ0drUjhvc2NOclV2bTdYUmE5aUhs?= =?utf-8?B?cVBCWmhXSVp3K1N1OVBIYlFMOGFCSDU1UXpDMGhiRS9vOFliNXIzMXU0WlEx?= =?utf-8?B?a2dtcGxvSUdML2NTS2U0elcraTFBQmI2dXZNd2Y4cFh3YnlQaTMrSEU2WHQ5?= =?utf-8?B?VVdSdU5xVWtKMnp5ckpCNk04dVA3a29UUmFOdXFzbXBCcVVzTG9qOG9mTk9l?= =?utf-8?B?SWV3ekZWcDBSRmZucGJJbFlZblVoUXVuZndrOXkwNktiT0FDVmdkTEt5VzV5?= =?utf-8?B?MTNrSXdsWitHbmtIR2ozdGRnU1Y1R1V4SVg3V3g4bWo0UXdYbTVTTlpmOHIw?= =?utf-8?B?M1VnZUE4M2NFSmtpd1FadEUraWxRMzZqMW54cGNyK0lZTk1ZbnVyMXlLVVZu?= =?utf-8?B?a2RDZE1qL3d0b1NUd3RFYUVCZDV4WksyaSsrN3d3QVFGZUtaK2JUSjZpQmJB?= =?utf-8?B?SHdwenZUakRLWHZiZmJIOFc5R0VoK0Z0N2lXeVdBQlVteTM5ZHVtNVIvT0k3?= =?utf-8?B?UHYwSTM5ZFg1cjdZYkhLaE5TYTF1M2Mwd0QvYW45K0c2Z0sxUWdOTjFaYkcx?= =?utf-8?B?ZWpud0pHcVZmKzNPTEJQR3gvNy9FT1Y1RmhtVDNYV3JncWVxMjBJV2VuRDFl?= =?utf-8?B?VDh2eXp1R1dZSkNLcUVCd2podm1xWjllbGdWWDdLU25Kbk9OZWRCakRtLzkz?= =?utf-8?B?SGxlemRiVmZCSnBtK0ViemlqT0pXZitydG5yYUJEMDIrTWd0bkt5Q1lnMy9x?= =?utf-8?B?VEliREEzdHhWRzMzbE1nd21UVUpEQ09JQXZiQT09?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 List-Id: Technical discussions relating to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-hackers List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-hackers@freebsd.org MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PSAP153MB0536.APCP153.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-Network-Message-Id: 3f254d49-977f-488a-4b0a-08dad6fefded X-MS-Exchange-CrossTenant-originalarrivaltime: 05 Dec 2022 20:26:29.6126 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bHcdTuFXlRldPh27o1nRWLDeBrm0cFlBGNJXdE2Kb0kwga2omSP4to+F4PCk0QMLAsuWiFV9LlzUlY7LUSDmQHbSwoYuW14cHNftTCfLkzA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PSAP153MB0454 X-Rspamd-Queue-Id: 4NQw7J3RcSz3lkx X-Spamd-Bar: ---- X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[]; ASN(0.00)[asn:8075, ipnet:2a01:111:f000::/36, country:US] X-Rspamd-Pre-Result: action=no action; module=replies; Message is reply to one we originated X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBBbmRyZXcgVHVybmVy IDxhbmRyZXdAZnViYXIuZ2Vlay5uej4NCj4gU2VudDogTW9uZGF5LCBEZWNlbWJlciA1LCAyMDIy IDg6NDQgUE0NCj4gVG86IFNvdXJhZGVlcCBDaGFrcmFiYXJ0aSA8c2NoYWtyYWJhcnRpQG1pY3Jv c29mdC5jb20+DQo+IENjOiBXYXJuZXIgTG9zaCA8aW1wQGJzZGltcC5jb20+OyBXZWkgSHUgPHdl aEBtaWNyb3NvZnQuY29tPjsgZnJlZWJzZC0NCj4gaGFja2Vyc0BGcmVlQlNELm9yZw0KPiBTdWJq ZWN0OiBSZTogW0VYVEVSTkFMXSBwY2liIG1zaXggYWxsb2NhdGlvbiBpbiBhcm02NA0KPiANCj4g DQo+IA0KPiA+IE9uIDEgRGVjIDIwMjIsIGF0IDExOjU0LCBTb3VyYWRlZXAgQ2hha3JhYmFydGkg PHNjaGFrcmFiYXJ0aUBtaWNyb3NvZnQuY29tPg0KPiB3cm90ZToNCj4gPg0KPiA+DQo+ID4NCj4g Pg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBBbmRyZXcgVHVy bmVyIDxhbmRyZXdAZnViYXIuZ2Vlay5uej4NCj4gPj4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVy IDMsIDIwMjIgNjoyMSBQTQ0KPiA+PiBUbzogU291cmFkZWVwIENoYWtyYWJhcnRpIDxzY2hha3Jh YmFydGlAbWljcm9zb2Z0LmNvbT4NCj4gPj4gQ2M6IFdhcm5lciBMb3NoIDxpbXBAYnNkaW1wLmNv bT47IFdlaSBIdSA8d2VoQG1pY3Jvc29mdC5jb20+Ow0KPiA+PiBmcmVlYnNkLSBoYWNrZXJzQEZy ZWVCU0Qub3JnDQo+ID4+IFN1YmplY3Q6IFJlOiBbRVhURVJOQUxdIHBjaWIgbXNpeCBhbGxvY2F0 aW9uIGluIGFybTY0DQo+ID4+DQo+ID4+IEhpIFNvdXJhZGVlcCwNCj4gPj4NCj4gPj4gRm9yIHRo ZSB2bWJ1c19wY2liIGRyaXZlciB5b3XigJlsbCBuZWVkIHRvIGltcGxlbWVudCB0aGUNCj4gPj4g cGNpYl9hbGxvY19tc2ksIHBjaWJfcmVsZWFzZV9tc2ksIGFuZCB0aGUgbXNpeCB2ZXJzaW9ucywg YW5kIHBjaWJfbWFwX21zaS4NCj4gPj4NCj4gPj4gRm9yIGFsbG9jIGFuZCByZWxlYXNlIHlvdSBj YW4ganVzdCBjYWxsIGludG8gdGhlIHNhbWUgaW50cl8qIGZ1bmN0aW9uDQo+ID4+IGFzIHBjaV9o b3N0X2dlbmVyaWNfYWNwaS5jLiBZb3XigJlsbCBuZWVkIHRvIHBhc3MgaW4gdGhlIHhyZWYgZm9y IHRoZSBpbnRlcnJ1cHQNCj4gY29udHJvbGxlci4NCj4gPj4gSXQgbmVlZHMgdG8gYmUgdGhlIHhy ZWYgdGhlIE1TSSBjb250cm9sbGVyIHJlZ2lzdGVyZWQuIEZvciB0aGUgR0lDdjJtDQo+ID4+IGl0 4oCZcyBBQ1BJX01TSV9YUkVGLg0KPiA+IFtTb3VyYWRlZXBdDQo+ID4gSSBhbSBjdXJyZW50bHkg c3BlY2lmeWluZyBnaWNfbWJpX3N0YXJ0IGFuZCBnaWNfbWJpX2VuZCB3aXRoIFNQSSBzdGFydA0K PiA+IGFuZCBlbmQgbnVtYmVyLCBpbiBnaWNfdjNfYWNwaV9hdHRhY2goKSBhbmQgSSBjYW4gc2Vl IG15DQo+ID4gaW50cl9hbGxvY19tc2koKSBhbmQgaW50cl9tYXBfbXNpKCkgYXJlIHdvcmtpbmcu IEJ1dCB0aGVuIG1seCBkcml2ZXIgaXMgZ2V0dGluZw0KPiBzdHVjayBhdCBDUkVBVEVfRVEgLg0K PiA+DQo+ID4gbWx4NV9jb3JlMDogV0FSTjogd2FpdF9mdW5jOjk2NzoocGlkIDApOiBDUkVBVEVf RVEoMHgzMDEpIHRpbWVvdXQuDQo+ID4gV2lsbCBjYXVzZSBhIGxlYWsgb2YgYSBjb21tYW5kIHJl c291cmNlDQo+ID4gbWx4NV9jb3JlMDogV0FSTjogbWx4NV9zdGFydF9lcXM6NTg4OihwaWQgMCk6 IGZhaWxlZCB0byBjcmVhdGUgYXN5bmMNCj4gPiBFUSAtNjANCj4gPiBtbHg1X2NvcmUwOiBFUlI6 IG1seDVfbG9hZF9vbmU6MTE1NzoocGlkIDApOiBGYWlsZWQgdG8gc3RhcnQgcGFnZXMgYW5kDQo+ ID4gYXN5bmMgRVFzDQo+ID4gbWx4NV9jb3JlMDogV0FSTjogd2FpdF9mdW5jOjk2NzoocGlkIDAp OiBNQU5BR0VfUEFHRVMoMHgxMDgpIHRpbWVvdXQuDQo+ID4gV2lsbCBjYXVzZSBhIGxlYWsgb2Yg YSBjb21tYW5kIHJlc291cmNlDQo+ID4gbWx4NV9jb3JlMDogRVJSOiByZWNsYWltX3BhZ2VzOjQ0 NDoocGlkIDApOiBmYWlsZWQgcmVjbGFpbWluZyBwYWdlcw0KPiA+IG1seDVfY29yZTA6IFdBUk46 IG1seDVfcmVjbGFpbV9zdGFydHVwX3BhZ2VzOjU3NDoocGlkIDApOiBmYWlsZWQNCj4gPiByZWNs YWltaW5nIHBhZ2VzICgtNjApDQo+ID4gbWx4NV9jb3JlMDogRVJSOiBpbml0X29uZToxNjQ0Oihw aWQgMCk6IG1seDVfbG9hZF9vbmUgZmFpbGVkIC02MA0KPiA+DQo+ID4NCj4gPiBnaWNfdjNfYWNw aV9hdHRhY2goICkNCj4gPiAtLQ0KPiA+IC0tDQo+ID4gMzIzICAgICBzYy0+Z2ljX21iaV9zdGFy dCA9IDY0Ow0KPiA+IDMyNCAgICAgc2MtPmdpY19tYmlfZW5kID0gOTIwOw0KPiA+IDMyNQ0KPiA+ IDMyNiAgICAgZXJyID0gZ2ljX3YzX2F0dGFjaChkZXYpOw0KPiA+IDMyNyAgICAgaWYgKGVyciAh PSAwKQ0KPiA+IDMyOCAgICAgICAgIGdvdG8gZXJyb3I7DQo+ID4gMzI5DQo+ID4gMzMwICAgICBz Yy0+Z2ljX3BpYyA9IGludHJfcGljX3JlZ2lzdGVyKGRldiwgQUNQSV9JTlRSX1hSRUYpOw0KPiA+ IDMzMSAgICAgaWYgKHNjLT5naWNfcGljID09IE5VTEwpIHsNCj4gPiAzMzIgICAgICAgICBkZXZp Y2VfcHJpbnRmKGRldiwgImNvdWxkIG5vdCByZWdpc3RlciBQSUNcbiIpOw0KPiA+IDMzMyAgICAg ICAgIGVyciA9IEVOWElPOw0KPiA+IDMzNCAgICAgICAgIGdvdG8gZXJyb3I7DQo+ID4gMzM1ICAg ICB9DQo+ID4gMzM2ICAgICBlcnIgPSBpbnRyX21zaV9yZWdpc3RlcihkZXYsIEFDUElfTVNJX1hS RUYpOw0KPiA+IDMzNyAgICAgaWYgKGVycikgew0KPiA+IDMzOCAgICAgICAgIGRldmljZV9wcmlu dGYoZGV2LCAiY291bGQgbm90IHJlZ2lzdGVyIE1TSVxuIik7DQo+ID4gMzM5ICAgICB9DQo+ID4g MzQwICAgICBpZiAoaW50cl9waWNfY2xhaW1fcm9vdChkZXYsIEFDUElfSU5UUl9YUkVGLCBhcm1f Z2ljX3YzX2ludHIsIHNjLA0KPiA+IDM0MSAgICAgICAgIEdJQ19MQVNUX1NHSSAtIEdJQ19GSVJT VF9TR0kgKyAxKSAhPSAwKSB7DQo+ID4gMzQyICAgICAgICAgZXJyID0gRU5YSU87DQo+ID4gMzQz ICAgICAgICAgZ290byBlcnJvcjsNCj4gPiAzNDQgICAgIH0NCj4gPiBXZSBkb24ndCBoYXZlIFNQ SSByYW5nZSBtZW50aW9uZWQgaW4gQUNQSSBEU0RULCBzbyBJIG5lZWQgdG8gc3BlY2lmeSBpdA0K PiBtYW51YWxseSBpbiB0aGUgY29kZS4NCj4gPiBJdCBsb29rcyBsaWtlIE1TSSBpbnRlcnJ1cHQg aXMgbm90IGNvbWluZyB0byB0aGUgbWx4Lg0KPiA+IElzIHRoZXJlIGFueSBpbnRlcnJ1cHQgcmVt YXBwaW5nIGJsb2NrZWQgYnkgRnJlZUJTRCBrZXJuZWwgaGVyZT8NCj4gDQo+IERvIHlvdSBzZWUg dGhlIGV4cGVjdGVkIGludGVycnVwdCBpbiBhcm1fZ2ljX3YzX2ludHI/IElmIHNvIGl0IHdvdWxk IGJlIHVzZWZ1bCB0bw0KPiB0cmFjZSBpdCB0aG91Z2ggaW50cl9pc3JjX2Rpc3BhdGNoLiBJZiBu byBpdCBtYXkgYmUgYmVjYXVzZSB0aGUgaW50ZXJydXB0IGlzIG5vdA0KPiBiZWluZyB0cmlnZ2Vy ZWQsIG9yIGlzIG1hc2tlZC4NCltTb3VyYWRlZXBdIA0KVGhhbmtzIGZvciB0aGUgaGVscC4gTG9v a3MgbGlrZSB0aGUgcHJvYmxlbSBpcyBmcm9tIHRoZSBoYXJkd2FyZSBzaWRlLCBub3QgZnJvbSBP UyBzaWRlLg0KSXQgc2VlbXMgdG8gYmUgd29ya2luZyBpbiBBenVyZS4gDQo+IA0KPiBBbmRyZXcN Cg==