From nobody Fri Nov 11 19:07:31 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 4N87WH1RZGz4fgs7 for ; Fri, 11 Nov 2022 19:07:39 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2131.outbound.protection.outlook.com [40.107.215.131]) (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 4N87WG1RYGz482Q for ; Fri, 11 Nov 2022 19:07:38 +0000 (UTC) (envelope-from schakrabarti@microsoft.com) Authentication-Results: mx1.freebsd.org; dkim=pass header.d=microsoft.com header.s=selector2 header.b=Ewar6cut; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (mx1.freebsd.org: domain of schakrabarti@microsoft.com designates 40.107.215.131 as permitted sender) smtp.mailfrom=schakrabarti@microsoft.com; dmarc=pass (policy=reject) header.from=microsoft.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gEDVMWP3o58ZlMd9ikIeleqvFp8fPEJGZsYkiwBEcAcbPC8KM/u+VG5kB7Tj11OmQ3ayn0OxV1quKwW9+B5NQfvCcZYgPSHn6AiowBahKz0UoLbHWS9Wikn6fOy6n26MAKPpZGdWskJmH3twoCMpFDYISxBUzRV5+09H5sQBQzZE5Mumq1CraMeygmUxE4OqlYJ18/7UAQ5MCRrKyDqDqxtEiIGTMJs83/G34zk/NhB/tO0fB6r1TLPUx/71AFrP7HMDp5hkKEvya0LQsE9ZOIdoAE8lD0MwyGehMg3h0WfeZrU+FX1XzT61MUQ8Ki1DdZX4odxHVR83Ud2iXISv4Q== 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=VccMeqCEh0omBNnLcCItHlh+phSY4JWqn6QOhylHYVU=; b=S/WMkMKxhmjgNi+zOamFqdghWrEMqjcXdC2xhwjcWOPxPT4epNnWhxI6CEZ05xrHP8DRIbWu17dLagz2TC62wB25etWH0ygdRQXx3xyRYZliLpQXjeSOr1GRDM4lLxsxkpFDfMX9tvIMzl2FrScWkVbybinbquRnV/kHnzDDaY4y+OBMrj0+NG52IO9HLue7FfirQmDTf35b4TBoZdalopGr7lDjFwCrsvctmEYQodv+BWYAm/GGoe1McBq0XFcmfLMvf488n4isuT6jscweCnT+IPJeEpp9T7I0GY2NIQSlmQXl+NJ5bv219PB+FxFANawCPpyiGR6cjaIlrR80gg== 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=VccMeqCEh0omBNnLcCItHlh+phSY4JWqn6QOhylHYVU=; b=Ewar6cutLzPCzSS/fOQgcbr1A5Fbo1hi82XqpDplcTvPG8w/ugqob+NlzssAT30kDsAdfMd4LOvdjkLpYzHxpI5BQWXu/3iDBSk3xLrXnu4EGrUF7G842NUUNC5qYNTmsUo58Je83qW7EJwzj/GVUUEkK9FRWa3kJGFJPMyRn5g= Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM (2603:1096:301:75::14) by SI2P153MB0508.APCP153.PROD.OUTLOOK.COM (2603:1096:4:12d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5834.2; Fri, 11 Nov 2022 19:07:31 +0000 Received: from PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::a551:8649:2ead:ce53]) by PSAP153MB0536.APCP153.PROD.OUTLOOK.COM ([fe80::a551:8649:2ead:ce53%9]) with mapi id 15.20.5834.005; Fri, 11 Nov 2022 19:07:31 +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: AQHY74L1rP0eJIPY3Ee6pTYdK5o1bK431MhQgAJLyNA= Date: Fri, 11 Nov 2022 19:07:31 +0000 Message-ID: References: <146F5D18-6366-4953-A8D9-61FE7EC67F71@fubar.geek.nz> <947DBD67-6443-480F-82DA-2BDDF44C3D03@fubar.geek.nz> In-Reply-To: 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=ab148fee-181b-4470-92e7-040225231c6b;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-11-10T07:56:13Z;MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PSAP153MB0536:EE_|SI2P153MB0508:EE_ x-ms-office365-filtering-correlation-id: 15c407e8-ae3a-4e98-caef-08dac417fbd6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2ZXecpD0mtnNCJbisPJOxseLfJ8wTTGib/eJGFlI5t6OElWA1UHfiKR769WDjswkhHSQXWD/zPoTjKImJZynWlUz38mqqOPooOSfIWX3GSKSjJuqsiM7Hd3a7Yqt4xEQmwXvX3cC6nAnUYqsswwYZONiTLH0bOE5dKSk8SJKj+vqmiP9NQh2HGdcXYP58WxnYk+dzR1PKC2WQ6qGGlslhd1deMqprKy9vXxL1Ui26Ym4DHRphrgAbnhN1hBPTjdVnv0RMHfjWu6ue1gOjBl1lHj49F00CyqDcuY5qjy8vxup4Qlsgxxe10VIBgy4xYfiJ6ym1m+jM3YfF2XrRPTBbtpxxGyUF17PfFHHOPrZ/LCIpzQTYy0btodT8OeuZsWz6q1qPZ3sKpQC/4EMe3ViM8cjzM+qD+7blfYYZluHc6XiEgGfXlsYQkApuvOTYQswjpwG8tGH0XAlxgi3jzb6WBqgDZvub7a61KC4vUj/q88SUI+P1iOA9VRqXNfERnZM/myVl2sm3b804vJPoPnLQMHtemQZb058PiiwU83mKrhMEYaJbVpG9VL+bhqY0g03TP4u35IwNTJOVA0q5m8Xv3EY0/YEXdygfB1MRfW4XmhkklLO3npdILjrb3FmqdkH7drBiLCOlQeQFEIIdBwGx6DcIDwMQuNFNBntRJgCoE51KobQeGV+PztbGWo6mJCTxAeZUojIFG/cgawH+0tw840QlgYCpPTwbLmN5vzCFkPnhJmTd5+OisBwMdwubtin9UgL0hjwIK3cIqq9af0Rn9DZbUL5ZNaQ+turU35saULRXughECNwIzAMUpbFta9q 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)(396003)(366004)(376002)(136003)(346002)(451199015)(33656002)(8990500004)(38070700005)(86362001)(54906003)(122000001)(83380400001)(53546011)(55016003)(2906002)(5660300002)(7696005)(82950400001)(6506007)(82960400001)(186003)(9686003)(26005)(38100700002)(76116006)(10290500003)(71200400001)(6916009)(8676002)(4326008)(64756008)(66446008)(52536014)(316002)(66946007)(66556008)(66476007)(478600001)(8936002)(41300700001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?alB6cnJFOFhpQ2RJdkdYK1E5L0E5UXhuZG9yQkV1dHVRSVNwOG4xUlczUTVI?= =?utf-8?B?UGloaWJFbzJ2MVcvdEprYXdLSmVRY0tFbExPaXZaeHhhQWhvUWllUS9GeERr?= =?utf-8?B?Rm1RUmR1c3VLSFZHUDJpdFNJc1JMVkhOdU9PSDVMcHpqZWhZTVU2WG1GOUZo?= =?utf-8?B?Vy8yTCtkWDdRM1llRldjbHAzSlNQZGhmNHZ1R0ZoV3NnVU5oeGJkUnZzcXFr?= =?utf-8?B?WFdZTXN0MDNNOFY3ZDhOSWNDa3E1d09aMFppbWRFUW15UTB2OG5WckU0V3Vn?= =?utf-8?B?Ym9vRFAzOGtPK3RyN05aamd4ajN6T1lFM1U0UlFsTk54cDNFOEdoYnVHcmJW?= =?utf-8?B?dkJ0aytGMUw3QnEvckswa1k5VlE5YUFTTzRtN3FSVlZiaW52RXRMM0l0bTdD?= =?utf-8?B?Zm1ab3RKdTJNSG5aK2U3NElLbmwydld4YTZiM3Z5QnlZOFIxTEFsU1d4LzRH?= =?utf-8?B?K2lXaks4WE5paUZranVUZFYwNlBUVENzdWNpL0hrSzB1WDVXRXNjcjFRTEFV?= =?utf-8?B?RXdXTEE4Yng5T0d2Vmw3NDJLK1o1N3pzREVDNHBxMkozWkJxOHlSb3ZQcXJo?= =?utf-8?B?TFB4V0VDY3BNbWFQcS9mV0tCYk84WWFuMFpIK251R1RYNkRyZjNoSzB3MDFY?= =?utf-8?B?dXR5UWpiQjlGclF5bDFaWVFPZHFYQTQwK2xKaTBZSW1xQkptRVg2V01YdkJB?= =?utf-8?B?UWZiZHR2dXFYN1BaRTc1YUFsci91UGF3cFlhKzRLTWx3R285NUFWaEVxQlJ1?= =?utf-8?B?UVd6cGpTOGcxMnc3bXJGck56b29KZmlDR29jdkRJUzlCcmt1Sml3c0QvR0Rs?= =?utf-8?B?ZEV6S3RhWUVvVnhrcjV0bUp4Tk12SFRybFFZTjdGOWYxbHlzZVYzbERmVnpO?= =?utf-8?B?cGFzZ2RHT2VoYkRCOU1kUk9PVjVsTjZCWWJ6SjhTUllUSXdzZkVDMC9jUHR6?= =?utf-8?B?VmE4OFNuTFhEWlVFK3BGamVGTThRRm9iUWlXYjJHOWdWOXdiZmdGTmtFYTE1?= =?utf-8?B?N2NxY0NhcEttZGl5TTZ6TEp4NGRJSlNwaUpzQlMzZWMwRXVjYzFKanloSk1W?= =?utf-8?B?aC9QWlExd2wrSEs0amtJZmhGblBIODFJdmVjRThQRUErZkkvMm1xK2twWkF2?= =?utf-8?B?VVR3Ykh3WGU4a2FndE1BSnRFckt6N2Z3WTd2Z3BDRVJ2NG9pUEhzaldzUXJr?= =?utf-8?B?bG80Ukt6VTk0Q0JYSmJiQjZrKzVObkVhaUxtcU1JczR0V3lLdExMd3EybmF5?= =?utf-8?B?QUNLdktuVHVzelZsclBqZjVOMFFzcXE2aFRtUytKODBEOXBYY3YzZ0ZmcmVu?= =?utf-8?B?WVNQV3YySU1SU090aVVHVlRCR3RaNTFOYlpLc1lDc2JyVnZGTjdTZlBLU3Fh?= =?utf-8?B?ZlcxRi9aOVNNOG1NbXhuZmNzQS9Pc3N6ZDI3eUZtWDk0R1AzeGZvcXI2TUVj?= =?utf-8?B?SWVZM1p6bFpVaWlxVHo1V1pXQ2YzendwUVNLeEE0UHRpVk1aL3hkY0M4eG5R?= =?utf-8?B?TTFSa1Jjc3gzVHFQeW5ITzk1djNydzkxWkZDeXFzcjFLa0R3VjN6VUFIMXIx?= =?utf-8?B?SGpVQ0diYVM2THJibWJpRjZ6Ky9McVVoRmEvTFArclJyOGpndjlwakQzbytH?= =?utf-8?B?ZkFSQjk5VFBUbkREUlUwVWdaeFdxellkOEJsSVAxU05tUk9UL3paTlluNThu?= =?utf-8?B?ZXd6Tkpyc2c0VTZmTkhnbFJ0RkdUdWM2OG1yTmFCL2tUdkphSmU0REhhRDhr?= =?utf-8?B?WHpuUEoweFg5dWFySWhtN0VVYUZZSmR6M2VSZE5NMnVibUdnSzcvekVGd0po?= =?utf-8?B?ajdxT05sMVlmQ3d5aXJlS2RZL2FnNURpclRHeVd4d3V4THhsY2FOQ09WVnMv?= =?utf-8?B?ZFlpbGZwcGd6c0lVdm5ZeTZPOXEzT0lyTnpwMmJtbzVMTWZkQk4veGJKeDNX?= =?utf-8?B?Z3cwUE1TakxCSlJxQkJFN1hNd3NTUnVRSGlPZ1hNSTA5Umt5SkZsNkZZUzdL?= =?utf-8?B?SzF1L0x6STlmYmIyZ0lJeUVKM2N4bjBlVCtWMy9PK1JuZmxBeksvb1A5ME9X?= =?utf-8?B?b3l2eFlTSTJIZ2FpWDRZNjFXMUgxd0JHaDlKdz09?= 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: 15c407e8-ae3a-4e98-caef-08dac417fbd6 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Nov 2022 19:07:31.4327 (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: E8JVyma/D5xoPAbSNn3aw+xBUi7uyVoMcE5uWJAbbb7y5wJuComeHXbsW5ffCI09tyYZvYjdkk+M6MVeRjp/f0fsyZUFuL0ckNgEMPaSru8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SI2P153MB0508 X-Spamd-Bar: --------- X-Spamd-Result: default: False [-9.90 / 15.00]; WHITELIST_SPF_DKIM(-3.00)[microsoft.com:d:+,microsoft.com:s:+]; DWL_DNSWL_MED(-2.00)[microsoft.com:dkim]; ARC_ALLOW(-1.00)[microsoft.com:s=arcselector9901:i=1]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; DMARC_POLICY_ALLOW(-0.50)[microsoft.com,reject]; R_SPF_ALLOW(-0.20)[+ip4:40.107.0.0/16]; R_DKIM_ALLOW(-0.20)[microsoft.com:s=selector2]; MIME_GOOD(-0.10)[text/plain]; MIME_BASE64_TEXT(0.10)[]; MLMMJ_DEST(0.00)[freebsd-hackers@freebsd.org]; ASN(0.00)[asn:8075, ipnet:40.104.0.0/14, country:US]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FROM_EQ_ENVFROM(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[microsoft.com:+]; FROM_HAS_DN(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[40.107.215.131:from]; RCVD_IN_DNSWL_NONE(0.00)[40.107.215.131:from]; RCPT_COUNT_THREE(0.00)[4]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_SOME(0.00)[]; TO_DN_EQ_ADDR_SOME(0.00)[] X-Rspamd-Queue-Id: 4N87WG1RYGz482Q X-ThisMailContainsUnwantedMimeParts: N DQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBTb3VyYWRlZXAgQ2hh a3JhYmFydGkNCj4gU2VudDogVGh1cnNkYXksIE5vdmVtYmVyIDEwLCAyMDIyIDM6MjAgUE0NCj4g VG86IEFuZHJldyBUdXJuZXIgPGFuZHJld0BmdWJhci5nZWVrLm56Pg0KPiBDYzogV2FybmVyIExv c2ggPGltcEBic2RpbXAuY29tPjsgV2VpIEh1IDx3ZWhAbWljcm9zb2Z0LmNvbT47IGZyZWVic2Qt DQo+IGhhY2tlcnNARnJlZUJTRC5vcmcNCj4gU3ViamVjdDogUkU6IFtFWFRFUk5BTF0gcGNpYiBt c2l4IGFsbG9jYXRpb24gaW4gYXJtNjQNCj4gDQo+IA0KPiANCj4gDQo+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBbmRyZXcgVHVybmVyIDxhbmRyZXdAZnViYXIuZ2Vl ay5uej4NCj4gPiBTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMywgMjAyMiA2OjIxIFBNDQo+ID4g VG86IFNvdXJhZGVlcCBDaGFrcmFiYXJ0aSA8c2NoYWtyYWJhcnRpQG1pY3Jvc29mdC5jb20+DQo+ ID4gQ2M6IFdhcm5lciBMb3NoIDxpbXBAYnNkaW1wLmNvbT47IFdlaSBIdSA8d2VoQG1pY3Jvc29m dC5jb20+Ow0KPiBmcmVlYnNkLQ0KPiA+IGhhY2tlcnNARnJlZUJTRC5vcmcNCj4gPiBTdWJqZWN0 OiBSZTogW0VYVEVSTkFMXSBwY2liIG1zaXggYWxsb2NhdGlvbiBpbiBhcm02NA0KPiA+DQo+ID4g SGkgU291cmFkZWVwLA0KPiA+DQo+ID4gRm9yIHRoZSB2bWJ1c19wY2liIGRyaXZlciB5b3XigJls bCBuZWVkIHRvIGltcGxlbWVudCB0aGUgcGNpYl9hbGxvY19tc2ksDQo+ID4gcGNpYl9yZWxlYXNl X21zaSwgYW5kIHRoZSBtc2l4IHZlcnNpb25zLCBhbmQgcGNpYl9tYXBfbXNpLg0KPiA+DQo+ID4g Rm9yIGFsbG9jIGFuZCByZWxlYXNlIHlvdSBjYW4ganVzdCBjYWxsIGludG8gdGhlIHNhbWUgaW50 cl8qIGZ1bmN0aW9uDQo+ID4gYXMgcGNpX2hvc3RfZ2VuZXJpY19hY3BpLmMuIFlvdeKAmWxsIG5l ZWQgdG8gcGFzcyBpbiB0aGUgeHJlZiBmb3IgdGhlDQo+ID4gaW50ZXJydXB0IGNvbnRyb2xsZXIu IEl0IG5lZWRzIHRvIGJlIHRoZSB4cmVmIHRoZSBNU0kgY29udHJvbGxlcg0KPiA+IHJlZ2lzdGVy ZWQuIEZvciB0aGUgR0lDdjJtIGl04oCZcyBBQ1BJX01TSV9YUkVGLg0KPiA+DQo+IFtTb3VyYWRl ZXBdDQo+IEkgaGF2ZSB1c2VkIGZvbGxvd2luZyBpbiB2bWJ1c19wY2liLmMgOg0KPiByZXQgPSBp bnRyX2FsbG9jX21zaXgocGNpYiwgZGV2LCBBQ1BJX01TSV9YUkVGLCBpcnEpOyBCdXQgaXQgaXMg ZmFpbGluZyBpbg0KPiBwaWNfbG9va3VwKCkgd2l0aCBFU1JDSCBieSBub3QgZmluZGluZyBwaWMg d2l0aCBBQ1BJX01TSV9YUkVGLg0KPiBEbyBJIG5lZWQgdG8gZG8gYW55dGhpbmcgZm9yIHBpY19s b29rdXAoKSB0byBiZSBzdWNjZXNzZnVsPw0KPiANCltTb3VyYWRlZXBdIA0KSSBmb3VuZCBvdXQg dGhlIHJlYXNvbiBoZXJlIHBpY19sb29rdXAoKSBmb3IgQUNQSV9NU0lfWFJFRiBpcyBmYWlsaW5n LCBhcw0Kd2UgYXJlIG5vdCBjYWxsaW5nIGludHJfbXNpX3JlZ2lzdGVyKCkgYnV0IGludHJfcGlj X3JlZ2lzdGVyKCkgaXMgZ2V0dGluZyBjYWxsZWQgZm9yIHRoZSBQQ0lCLg0KVGhpcyBpcyBiZWNh dXNlIHdlIGRvbid0IGhhdmUgSVRTIGltcGxlbWVudGVkIGluIEh5cGVyLVYuIEluc3RlYWQsIEh5 cGVyLVYgaXMgcHJlc2VudGluZyB0aGUNCk1TSS9NU0ktWCBhcyBTUEkgYmVjYXVzZSBvZiBpdCdz IG93biBsaW1pdGF0aW9uLg0KTGludXggaGFzIHNvbHZlZCBpdCB1c2luZyBjdXN0b20gaXJxY2hp cCBkcml2ZXIgdG8gaGFuZGxlIGl0LiANCkJ1dCBJIGFtIG5vdCBzdXJlIGhvdyB0byBhZGRyZXNz IGl0IGluIEZyZWVCU0QuIA0KQ2FuIHlvdSBwbGVhc2UgcG9pbnQgbWUgb3V0IHNvbWV0aGluZyBo ZXJlPw0KPiA+IEZvciBwY2liX21hcF9tc2kgSSBhbSB1bnN1cmUgaWYgdGhlIGN1cnJlbnQgY29k ZSBpcyB2YWxpZCBvbiBhcm02NC4gSWYNCj4gPiBub3QgeW914oCZbGwgbmVlZCB0byBjYWxsIGlu dHJfbWFwX21zaS4NCj4gPg0KPiA+IEFuZHJldw0KPiA+DQo+ID4gPiBPbiAyIE5vdiAyMDIyLCBh dCAyMjoyNywgU291cmFkZWVwIENoYWtyYWJhcnRpDQo+ID4gPiA8c2NoYWtyYWJhcnRpQG1pY3Jv c29mdC5jb20+DQo+ID4gd3JvdGU6DQo+ID4gPg0KPiA+ID4gSGkgQW5kcmV3LA0KPiA+ID4gVGhh bmtzIGZvciB0aGUgcmVwbHkuIFJlZ2FyZGluZyBnZW5lcmljX3BjaWVfYWNwaV9hbGxvY19tc2l4 KCApLCBpdA0KPiA+ID4gY2FuIGJlIGNhbGxlZCBpZiB0aGUgUENJIGRldmljZSBpcyBjaGlsZCBv ZiB0aGUgZ2VuZXJpYyBwY2liICgNCj4gPiBEUklWRVJfTU9EVUxFKHBjaWIsIGFjcGksIGdlbmVy aWNfcGNpZV9hY3BpX2RyaXZlciwgMCwgMCkgLg0KPiA+ID4gQnV0IGlmIHRoZSBQQ0kgZGV2aWNl IGlzIGNvbW11bmljYXRpbmcgd2l0aCBhIGRpZmZlcmVudCBwY2liIGRyaXZlcg0KPiA+ID4gKGxp a2Ugdm1idXNfcGNpYiksIGluIHRoYXQgY2FzZSBkbyB3ZSBuZWVkIHRvIGltcGxlbWVudCBhbGwg dGhlc2UNCj4gPiA+IGZ1bmN0aW9ucyBvZg0KPiA+IHBjaV9ob3N0X2dlbmVyaWNfYWNwaS5jID8N Cj4gPiA+DQo+ID4gPiBPciB0aGVyZSBhcmUgc29tZSB3YXlzIHRvIHJldXNlIHRoZW0/DQo+ID4g Pg0KPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPj4gRnJvbTogQW5kcmV3 IFR1cm5lciA8YW5kcmV3QGZ1YmFyLmdlZWsubno+DQo+ID4gPj4gU2VudDogV2VkbmVzZGF5LCBO b3ZlbWJlciAyLCAyMDIyIDY6NTQgUE0NCj4gPiA+PiBUbzogU291cmFkZWVwIENoYWtyYWJhcnRp IDxzY2hha3JhYmFydGlAbWljcm9zb2Z0LmNvbT4NCj4gPiA+PiBDYzogV2FybmVyIExvc2ggPGlt cEBic2RpbXAuY29tPjsgV2VpIEh1IDx3ZWhAbWljcm9zb2Z0LmNvbT47DQo+ID4gPj4gZnJlZWJz ZC0gaGFja2Vyc0BGcmVlQlNELm9yZw0KPiA+ID4+IFN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IHBj aWIgbXNpeCBhbGxvY2F0aW9uIGluIGFybTY0DQo+ID4gPj4NCj4gPiA+Pg0KPiA+ID4+PiBPbiAy IE5vdiAyMDIyLCBhdCAxMjo1NiwgU291cmFkZWVwIENoYWtyYWJhcnRpDQo+ID4gPj4+IDxzY2hh a3JhYmFydGlAbWljcm9zb2Z0LmNvbT4NCj4gPiA+PiB3cm90ZToNCj4gPiA+Pj4NCj4gPiA+Pj4g SGksDQo+ID4gPj4+IEkgY2FuIHNlZSBpbiB4ODYgbmV4dXMuYyBoYXMgaW1wbGVtZW50ZWQgcGNp Yl9hbGxvY19tc2l4IHVzaW5nDQo+ID4gPj4gbmV4dXNfYWxsb2NfbXNpeCgpLg0KPiA+ID4+PiBX aGljaCBjYWxscyBtc2l4X2FsbG9jKCkgZm9yIG1zaXggYWxsb2NhdGlvbi4NCj4gPiA+Pj4NCj4g PiA+Pj4gQnV0IGluIGNhc2Ugb2YgYXJtNjQgSSBkb24ndCBmaW5kIHNpbWlsYXIgcGNpYl9hbGxv Y19tc2l4DQo+ID4gPj4+IGltcGxlbWVudGF0aW9uIGluDQo+ID4gPj4gbmV4dXMuYyAuDQo+ID4g Pj4+IFNvLCBvbiBhcm02NCB3aGF0IGlzIGNvcnJlY3Qgd2F5IHRvIGdldCBhbGxvY2F0ZSBtc2l4 ID8NCj4gPiA+Pg0KPiA+ID4+IEZvciBhbiBhcm02NCBzeXN0ZW0gd2l0aCBBQ1BJIGl0IGlzIG1v c3QgbGlrZWx5IGhhbmRsZWQgaW4NCj4gPiA+PiBnZW5lcmljX3BjaWVfYWNwaV9yZWxlYXNlX21z aXguIEZvciBGRFQgaXQgY2FuIGRlcGVuZCBvbiB3aGljaCBQQ0kNCj4gPiA+PiBkcml2ZXIgaXMg dXNlZC4NCj4gPiA+Pg0KPiA+ID4+IEluIGVpdGhlciBjYXNlIGl0IHdpbGwgY2FsbCBpbnRvIGlu dHJfcmVsZWFzZV9tc2l4IHRoYXQgdGhlbiBjYWxscw0KPiA+ID4+IGludG8gdGhlIE1TSSBjb250 cm9sbGVyIHRvIGFsbG9jYXRlIHRoZSB2ZWN0b3JzLiBGb3IgYSBHSUN2MyBkcml2ZXINCj4gPiA+ PiBpdCB3aWxsIGVpdGhlciBiZSBnaWN2M19pdHNfYWxsb2NfbXNpeCBpZiB5b3UgaGF2ZSBhbiBJ VFMgZGV2aWNlLA0KPiA+ID4+IG9yIGdpY192M19hbGxvY19tc2l4IGlmIHVzaW5nIE1CSSByYW5n ZXMuDQo+ID4gPj4NCj4gPiA+PiBPbiBBQ1BJIHdlIGRvbuKAmXQgY3VycmVudGx5IHN1cHBvcnQg TUJJIHJhbmdlcywgYWx0aG91Z2ggaXQgbG9va3MNCj4gPiA+PiBsaWtlIHRoaXMgY291bGQgYmUg aGFuZGxlZCBieSB0aGUgZXhpc3RpbmcgZ2ljdjJtIGRyaXZlci4gVGhpcw0KPiA+ID4+IGRyaXZl ciBzaG91bGQgYWxyZWFkeSB3b3JrIGFzIGEgY2hpbGQgb2YgdGhlIEdJQ3YzLCBob3dldmVyIGl0 DQo+ID4gPj4gYXBwZWFycyB0byBiZSBGRFQgb25seSwgc28gd2lsbCBuZWVkIHNvbWUgd29yayB0 byBhZGQgQUNQSSBzdXBwb3J0Lg0KPiA+ID4+DQo+ID4gPj4gQW5kcmV3DQo+ID4gPg0KDQo=