From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0f-0085b301.gpphosted.com (mx0f-0085b301.gpphosted.com [67.231.155.199]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E47241D88CB; Tue, 3 Sep 2024 20:52:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=67.231.155.199 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725396757; cv=none; b=Z1lmyN8RHIVNWNTEPZM2LgSxeneNVIEn53ZV/odxx/n+yZYB0EhgE9ljQJ7AswbNgIEMpk1Eo4LpXNVZtOCYr70UTx0YgpxHpnuB76G+Se3lhOnLV+85iNFKflEuh++LdI5IHdhsjZ+yrDPlewqKHrNxAMDhJK+ojsiBockHjNE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1725396757; c=relaxed/simple; bh=QYXOJ0qKt5EMuYbJRgGIvrLWDse+PkssP0nEA+vI4Sw=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=IpE3zPPUY25v/C/Z1XIsk7t5OkJq+9RHcindC8r8d9PLl7cVCHt4kSMnhcIxkwu+AEZx4YHjYThJ0OrHB1III36IOkp6hK2BqM17JtaxxUK19rbafHCzD2cBFTL/VIi9IzyM3zuGonroq3yR+IhU/tZuE7BkTWl1BT7x8kryBjo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=viasat.com; spf=pass smtp.mailfrom=viasat.com; dkim=pass (2048-bit key) header.d=viasat.com header.i=@viasat.com header.b=OLc1MIaI; arc=none smtp.client-ip=67.231.155.199 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=viasat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=viasat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=viasat.com header.i=@viasat.com header.b="OLc1MIaI" Received: from pps.filterd (m0351330.ppops.net [127.0.0.1]) by mx0f-0085b301.gpphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 483HxVb0026022; Tue, 3 Sep 2024 20:52:26 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=viasat.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pp1; bh=QYXOJ0qKt5EMuYbJRgGIvrLWDse+PkssP0nEA+vI4Sw=; b=OLc1MIaIqJm+VPDhsCzsrd0rUlWnmokPgCZ5S2WWsD5OXbUqBMOPHEf/8Yah6/S3+YKU NBXO6bQHcwrRO4w66899AGyxBz2o/O7XmYQnR5aBLfPh+VVJp3jmTv2vUclJZOgEr/Ys W+Nwaw3DPE/ua+UPx4obgkAJI5OZdYycu2p5U6Kz7drj127GCKFntCX7rYfMzpq7GtI3 say+4j6aoX9+kJ5L2sUB6bzZ499oAomjtckK6NxSdcOoQ39973EY3mT0hkUIA/3T7xTG KXHjGKTsiEE/Up0KF/KL1m5wKzOW9Ss/eVK8TT5MLoFODsoUK4ZQQQGz5LIjcvGJvIbd IA== Received: from wdc1exchp05.hq.corp.viasat.com ([8.37.104.42]) by mx0f-0085b301.gpphosted.com (PPS) with ESMTPS id 41e3cs2mgv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NOT); Tue, 03 Sep 2024 20:52:25 +0000 Received: from WDC1EXCHP05.hq.corp.viasat.com (10.228.7.145) by WDC1EXCHP05.hq.corp.viasat.com (10.228.7.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Tue, 3 Sep 2024 14:52:24 -0600 Received: from WDC1EXCHP05.hq.corp.viasat.com ([fe80::e59e:1518:91aa:55e9]) by WDC1EXCHP05.hq.corp.viasat.com ([fe80::e59e:1518:91aa:55e9%23]) with mapi id 15.01.2507.039; Tue, 3 Sep 2024 14:52:24 -0600 From: "Jones, Morgan" To: Mario Limonciello , Dhananjay Ugwekar , "rafael@kernel.org" , "viresh.kumar@linaro.org" , "gautham.shenoy@amd.com" , "perry.yuan@amd.com" , "skhan@linuxfoundation.org" , "li.meng@amd.com" , "ray.huang@amd.com" CC: "linux-pm@vger.kernel.org" , "linux-kernel@vger.kernel.org" , David Arcari Subject: RE: [EXTERNAL] Re: [PATCH v2 2/2] cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems Thread-Topic: [EXTERNAL] Re: [PATCH v2 2/2] cpufreq/amd-pstate: Fix the scaling_max_freq setting on shared memory CPPC systems Thread-Index: AQHTmcEn27fAHGT7pNe1jAQ3Ww8GHAMI4eQEAR3OYjGyM+kx8IAAZwsA//+b9MCAAInhgP//pvnw Date: Tue, 3 Sep 2024 20:52:24 +0000 Message-ID: References: <20240702081413.5688-1-Dhananjay.Ugwekar@amd.com> <20240702081413.5688-3-Dhananjay.Ugwekar@amd.com> <66f08ce529d246bd8315c87fe0f880e6@viasat.com> <645f2e77-336b-4a9c-b33e-06043010028b@amd.com> In-Reply-To: <645f2e77-336b-4a9c-b33e-06043010028b@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-pm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Proofpoint-GUID: EjusgTiPlT11HRsp9dCGb_c_-MuNfQLs X-Proofpoint-ORIG-GUID: EjusgTiPlT11HRsp9dCGb_c_-MuNfQLs X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.60.29 definitions=2024-09-03_08,2024-09-03_01,2024-09-02_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 suspectscore=0 adultscore=0 mlxlogscore=999 malwarescore=0 phishscore=0 mlxscore=0 clxscore=1015 spamscore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000 definitions=main-2409030167 U2VlbXMgbGlrZSA2LjEwIGlzIE9LIGJ1dCA2LjYgaXMgbm90Lg0KDQpMaW51eCByZWRhY3QgNi4x MC43ICMxLU5peE9TIFNNUCBQUkVFTVBUX0RZTkFNSUMgVHVlIEphbiAgMSAwMDowMDowMCBVVEMg MTk4MCB4ODZfNjQgR05VL0xpbnV4DQoNCmFuYWx5emluZyBDUFUgNTA6DQogIGRyaXZlcjogYW1k LXBzdGF0ZS1lcHANCiAgQ1BVcyB3aGljaCBydW4gYXQgdGhlIHNhbWUgaGFyZHdhcmUgZnJlcXVl bmN5OiA1MA0KICBDUFVzIHdoaWNoIG5lZWQgdG8gaGF2ZSB0aGVpciBmcmVxdWVuY3kgY29vcmRp bmF0ZWQgYnkgc29mdHdhcmU6IDUwDQogIG1heGltdW0gdHJhbnNpdGlvbiBsYXRlbmN5OiAgQ2Fu bm90IGRldGVybWluZSBvciBpcyBub3Qgc3VwcG9ydGVkLg0KICBoYXJkd2FyZSBsaW1pdHM6IDQw MCBNSHogLSAzLjM1IEdIeg0KICBhdmFpbGFibGUgY3B1ZnJlcSBnb3Zlcm5vcnM6IHBlcmZvcm1h bmNlIHBvd2Vyc2F2ZQ0KICBjdXJyZW50IHBvbGljeTogZnJlcXVlbmN5IHNob3VsZCBiZSB3aXRo aW4gNDAwIE1IeiBhbmQgMy4zNSBHSHouDQogICAgICAgICAgICAgICAgICBUaGUgZ292ZXJub3Ig InBlcmZvcm1hbmNlIiBtYXkgZGVjaWRlIHdoaWNoIHNwZWVkIHRvIHVzZQ0KICAgICAgICAgICAg ICAgICAgd2l0aGluIHRoaXMgcmFuZ2UuDQogIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeTogVW5hYmxl IHRvIGNhbGwgaGFyZHdhcmUNCiAgY3VycmVudCBDUFUgZnJlcXVlbmN5OiAzLjMyIEdIeiAoYXNz ZXJ0ZWQgYnkgY2FsbCB0byBrZXJuZWwpDQogIGJvb3N0IHN0YXRlIHN1cHBvcnQ6DQogICAgU3Vw cG9ydGVkOiB5ZXMNCiAgICBBY3RpdmU6IHllcw0KICAgIEFNRCBQU1RBVEUgSGlnaGVzdCBQZXJm b3JtYW5jZTogMjU1LiBNYXhpbXVtIEZyZXF1ZW5jeTogMy4zNSBHSHouDQogICAgQU1EIFBTVEFU RSBOb21pbmFsIFBlcmZvcm1hbmNlOiAxNTIuIE5vbWluYWwgRnJlcXVlbmN5OiAyLjAwIEdIei4N CiAgICBBTUQgUFNUQVRFIExvd2VzdCBOb24tbGluZWFyIFBlcmZvcm1hbmNlOiAxMTUuIExvd2Vz dCBOb24tbGluZWFyIEZyZXF1ZW5jeTogMS41MSBHSHouDQogICAgQU1EIFBTVEFURSBMb3dlc3Qg UGVyZm9ybWFuY2U6IDMxLiBMb3dlc3QgRnJlcXVlbmN5OiA0MDAgTUh6Lg0KDQoNCi0tLS0tT3Jp Z2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBNYXJpbyBMaW1vbmNpZWxsbyA8bWFyaW8ubGltb25j aWVsbG9AYW1kLmNvbT4gDQpTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMywgMjAyNCAxOjEwIFBN DQpUbzogSm9uZXMsIE1vcmdhbiA8TW9yZ2FuLkpvbmVzQHZpYXNhdC5jb20+OyBEaGFuYW5qYXkg VWd3ZWthciA8RGhhbmFuamF5LlVnd2VrYXJAYW1kLmNvbT47IHJhZmFlbEBrZXJuZWwub3JnOyB2 aXJlc2gua3VtYXJAbGluYXJvLm9yZzsgZ2F1dGhhbS5zaGVub3lAYW1kLmNvbTsgcGVycnkueXVh bkBhbWQuY29tOyBza2hhbkBsaW51eGZvdW5kYXRpb24ub3JnOyBsaS5tZW5nQGFtZC5jb207IHJh eS5odWFuZ0BhbWQuY29tDQpDYzogbGludXgtcG1Admdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJu ZWxAdmdlci5rZXJuZWwub3JnOyBEYXZpZCBBcmNhcmkgPGRhcmNhcmlAcmVkaGF0LmNvbT4NClN1 YmplY3Q6IFJlOiBbRVhURVJOQUxdIFJlOiBbUEFUQ0ggdjIgMi8yXSBjcHVmcmVxL2FtZC1wc3Rh dGU6IEZpeCB0aGUgc2NhbGluZ19tYXhfZnJlcSBzZXR0aW5nIG9uIHNoYXJlZCBtZW1vcnkgQ1BQ QyBzeXN0ZW1zDQoNCk1vcmdhbiwNCg0KT0sgdGhhdCdzIGdyZWF0IG5ld3MgdGhhdCBpdCdzIGp1 c3QgYSBiYWNrcG9ydCBlZmZvcnQuICBUaGF0IHNhbWUgY29tbWl0IGFsc28gYmFja3BvcnRlZCB0 byA2LjEwLjMuICBDYW4geW91IHNlZSBpZiA2LjEwLnkgaXMgYWZmZWN0ZWQ/DQoNClVnd2VrYXIs DQoNCkFueSB0aG91Z2h0cyBvbiB3aGF0IGVsc2UgbmVlZHMgdG8gY29tZSBiYWNrIHRvIDYuNi55 IG9mZiBoYW5kPw0KDQpUaGFua3MsDQoNCk9uIDkvMy8yMDI0IDE1OjA3LCBKb25lcywgTW9yZ2Fu IHdyb3RlOg0KPiBIZXkgTWFyaW8sDQo+IA0KPiBTbW9raW5nIGd1biBoZXJlLCB0aGUgbWF4IGZy ZXF1ZW5jeSBpcyBpbmNvcnJlY3Qgb24gNi42LjQ0KyBidXQgaXMgY29ycmVjdCBvbiA2LjExLjAt cmM2Lg0KPiANCj4gTGludXggcmVkYWN0IDYuMTEuMC1yYzYgIzEtTml4T1MgU01QIFBSRUVNUFRf RFlOQU1JQyBUdWUgSmFuICAxIA0KPiAwMDowMDowMCBVVEMgMTk4MCB4ODZfNjQgR05VL0xpbnV4 DQo+IA0KPiBhbmFseXppbmcgQ1BVIDEyOg0KPiAgICBkcml2ZXI6IGFtZC1wc3RhdGUtZXBwDQo+ ICAgIENQVXMgd2hpY2ggcnVuIGF0IHRoZSBzYW1lIGhhcmR3YXJlIGZyZXF1ZW5jeTogMTINCj4g ICAgQ1BVcyB3aGljaCBuZWVkIHRvIGhhdmUgdGhlaXIgZnJlcXVlbmN5IGNvb3JkaW5hdGVkIGJ5 IHNvZnR3YXJlOiAxMg0KPiAgICBtYXhpbXVtIHRyYW5zaXRpb24gbGF0ZW5jeTogIENhbm5vdCBk ZXRlcm1pbmUgb3IgaXMgbm90IHN1cHBvcnRlZC4NCj4gICAgaGFyZHdhcmUgbGltaXRzOiA0MDAg TUh6IC0gMy4zNSBHSHoNCj4gICAgYXZhaWxhYmxlIGNwdWZyZXEgZ292ZXJub3JzOiBwZXJmb3Jt YW5jZSBwb3dlcnNhdmUNCj4gICAgY3VycmVudCBwb2xpY3k6IGZyZXF1ZW5jeSBzaG91bGQgYmUg d2l0aGluIDQwMCBNSHogYW5kIDMuMzUgR0h6Lg0KPiAgICAgICAgICAgICAgICAgICAgVGhlIGdv dmVybm9yICJwZXJmb3JtYW5jZSIgbWF5IGRlY2lkZSB3aGljaCBzcGVlZCB0byB1c2UNCj4gICAg ICAgICAgICAgICAgICAgIHdpdGhpbiB0aGlzIHJhbmdlLg0KPiAgICBjdXJyZW50IENQVSBmcmVx dWVuY3k6IFVuYWJsZSB0byBjYWxsIGhhcmR3YXJlDQo+ICAgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5j eTogMy4zNCBHSHogKGFzc2VydGVkIGJ5IGNhbGwgdG8ga2VybmVsKQ0KPiAgICBib29zdCBzdGF0 ZSBzdXBwb3J0Og0KPiAgICAgIFN1cHBvcnRlZDogeWVzDQo+ICAgICAgQWN0aXZlOiB5ZXMNCj4g ICAgICBBTUQgUFNUQVRFIEhpZ2hlc3QgUGVyZm9ybWFuY2U6IDI1NS4gTWF4aW11bSBGcmVxdWVu Y3k6IDMuMzUgR0h6Lg0KPiAgICAgIEFNRCBQU1RBVEUgTm9taW5hbCBQZXJmb3JtYW5jZTogMTUy LiBOb21pbmFsIEZyZXF1ZW5jeTogMi4wMCBHSHouDQo+ICAgICAgQU1EIFBTVEFURSBMb3dlc3Qg Tm9uLWxpbmVhciBQZXJmb3JtYW5jZTogMTE1LiBMb3dlc3QgTm9uLWxpbmVhciBGcmVxdWVuY3k6 IDEuNTEgR0h6Lg0KPiAgICAgIEFNRCBQU1RBVEUgTG93ZXN0IFBlcmZvcm1hbmNlOiAzMS4gTG93 ZXN0IEZyZXF1ZW5jeTogNDAwIE1Iei4NCj4gDQo+IFdlJ3JlIHJ1bm5pbmcgYW1kX3BzdGF0ZT1h Y3RpdmUgYW5kIGFtZF9wc3RhdGUuc2hhcmVkX21lbT0xLCBhbmQgb3VyIHdvcmtsb2FkcyBhcmUg YmFjayB0byBub3JtYWwgcGVyZm9ybWFuY2Ugb24gNi4xMS4wLXJjNi4NCj4gDQo+IE1vcmdhbg0K PiANCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTWFyaW8gTGltb25jaWVs bG8gPG1hcmlvLmxpbW9uY2llbGxvQGFtZC5jb20+DQo+IFNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJl ciAzLCAyMDI0IDEwOjU1IEFNDQo+IFRvOiBKb25lcywgTW9yZ2FuIDxNb3JnYW4uSm9uZXNAdmlh c2F0LmNvbT47IERoYW5hbmpheSBVZ3dla2FyIA0KPiA8RGhhbmFuamF5LlVnd2VrYXJAYW1kLmNv bT47IHJhZmFlbEBrZXJuZWwub3JnOyANCj4gdmlyZXNoLmt1bWFyQGxpbmFyby5vcmc7IGdhdXRo YW0uc2hlbm95QGFtZC5jb207IHBlcnJ5Lnl1YW5AYW1kLmNvbTsgDQo+IHNraGFuQGxpbnV4Zm91 bmRhdGlvbi5vcmc7IGxpLm1lbmdAYW1kLmNvbTsgcmF5Lmh1YW5nQGFtZC5jb20NCj4gQ2M6IGxp bnV4LXBtQHZnZXIua2VybmVsLm9yZzsgbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgRGF2 aWQgDQo+IEFyY2FyaSA8ZGFyY2FyaUByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbRVhURVJOQUxd IFJlOiBbUEFUQ0ggdjIgMi8yXSBjcHVmcmVxL2FtZC1wc3RhdGU6IEZpeCB0aGUgDQo+IHNjYWxp bmdfbWF4X2ZyZXEgc2V0dGluZyBvbiBzaGFyZWQgbWVtb3J5IENQUEMgc3lzdGVtcw0KPiANCj4g SGkgTW9yZ2FuLA0KPiANCj4gQ2FuIHlvdSBwbGVhc2UgY3Jvc3MgcmVmZXJlbmNlIDYuMTEtcmM2 IHRvIHNlZSBpZiB5b3UncmUgc3RpbGwgaGF2aW5nIGEgcHJvYmxlbT8gIEkgd291bGQgbGlrZSB0 byB1bmRlcnN0YW5kIGlmIHdlJ3JlIG1pc3NpbmcgYSBiYWNrcG9ydCB0byBzdGFibGUgb3IgdGhp cyBpcyBzdGlsbCBhbiB1cHN0cmVhbSBwcm9ibGVtLg0KPiANCj4gVGhhbmtzLA0KPiANCj4gT24g OS8zLzIwMjQgMTI6NTEsIEpvbmVzLCBNb3JnYW4gd3JvdGU6DQo+PiBIaSB0aGVyZSwNCj4+DQo+ PiBXZSBhcmUgZXhwZXJpZW5jaW5nIGEgfjM1JSBwZXJmb3JtYW5jZSByZWdyZXNzaW9uIG9uIGFu IEFNRCBFUFlDIDc3MDIgNjQgY29yZSBtYWNoaW5lIGFmdGVyIGFwcGx5aW5nIHRoaXMgcGF0Y2gu IFdlIG9ic2VydmVkIExpbnV4IDYuNi40NCBzdGFydGluZyB0byBjYXVzZSB0aGUgaXNzdWUsIGFu ZCBwZXJmb3JtZWQgYSBiaXNlY3QgaW52b2x2aW5nIHJlYm9vdGluZyB0aGUgbWFjaGluZSBvdmVy IDE1IHRpbWVzLiAoTm90ZSB0aGF0IGtleGVjIGRpZG4ndCBzdWNjZXNzZnVsbHkgaWRlbnRpZnkg dGhlIHByb2JsZW0sIHNpbmNlIHRoZSBQTSBtZW1vcnkgbWFpbGJveCBpcyBuZXZlciByZXNldCku DQo+Pg0KPj4gSXQgYXBwZWFycyB0aGF0IHdlIGFyZSBnZXR0aW5nIGEgbWF4IG9mIDIuMTggR0h6 IHdoZW4gdGhpcyBDUFUgY2FuIGJvb3N0IHRvIDMuMzUgR0h6LCBleHBsYWluaW5nIHRoZSBzbG93 ZG93bi4gQmxhY2tsaXN0aW5nIGFtZC1wc3RhdGUgc29sdmVzIHRoZSBpc3N1ZSBhdCB0aGUgZXhw ZW5zZSBvZiB0aGUgcGVyZm9ybWFuY2UgaW5jcmVhc2Ugd2UgdXNlZCB0byBnZXQgYnkgdXNpbmcg aXQuDQo+Pg0KPj4gSXMgaXQgcG9zc2libGUgdGhhdCB0aGUgdXBwZXIgbGltaXRzIHdlcmUgaW1w bGljaXRseSBhdCB0aGUgbWF4IENQVSBwb3dlciBiZWZvcmUsIGFuZCBzZXR0aW5nIHRoZSB1cHBl ciBsaW1pdCB0byBzb21ldGhpbmcgb3RoZXIgdGhhbiB0aGUgYm9vc3QgZnJlcXVlbmN5IGNhbiBy ZWR1Y2UgcGVyZm9ybWFuY2Ugbm93Pw0KPj4NCj4+ICMgYmFkOiBbNzIxMzkxMDYwMDY2N2M1MWM5 NzhlNTc3YmY1NDU0ZDNmN2IzMTNiN10gTGludXggNi42LjQ0ICMgZ29vZDoNCj4+IFs1OGIwNDI1 ZmY1ZGY2ODBkMGI2N2Y2NGFlMWYzZjFlYmRmMWM0ZGU5XSBMaW51eCA2LjYuNDMgZ2l0IGJpc2Vj dCANCj4+IHN0YXJ0ICc3MjEzOTEwNjAwNjY3YzUxYzk3OGU1NzdiZjU0NTRkM2Y3YjMxM2I3JyAn NThiMDQyNWZmNWRmNjgwZDBiNjdmNjRhZTFmM2YxZWJkZjFjNGRlOScNCj4+ICMgZ29vZDogWzcy ZmY5ZDI2OTY0YTNhODBmNzY1MGRmNzE5ZGYxMzlmNWMxZjk2NWRdIGFybTY0OiBkdHM6IHFjb206 DQo+PiBzbTYzNTA6IEFkZCBtaXNzaW5nIHFjb20sbm9uLXNlY3VyZS1kb21haW4gcHJvcGVydHkg Z2l0IGJpc2VjdCBnb29kIA0KPj4gNzJmZjlkMjY5NjRhM2E4MGY3NjUwZGY3MTlkZjEzOWY1YzFm OTY1ZA0KPj4gIyBnb29kOiBbMGZmZmMyZTFiZjQwYTIyMjBlZjVhMzhmODM0ZWEwNjNkYmE4MzJk M10gQVJNOiBkdHM6IHN1bnhpOg0KPj4gcmVtb3ZlIGR1cGxpY2F0ZWQgZW50cmllcyBpbiBtYWtl ZmlsZSBnaXQgYmlzZWN0IGdvb2QNCj4+IDBmZmZjMmUxYmY0MGEyMjIwZWY1YTM4ZjgzNGVhMDYz ZGJhODMyZDMNCj4+ICMgYmFkOiBbOGNkYmU2ZWJmZDE3NjNhNWM0MWEyYTMwNTg0OTdjMGE5MTYz MzExY10gcGluY3RybDogcmVuZXNhczoNCj4+IHI4YTc3OWcwOiBGaXggQ0FORkQ1IHN1ZmZpeCBn aXQgYmlzZWN0IGJhZCANCj4+IDhjZGJlNmViZmQxNzYzYTVjNDFhMmEzMDU4NDk3YzBhOTE2MzMx MWMNCj4+ICMgYmFkOiBbNWRiYjk4ZTdmYTQyYmViYzEzMjU4OTkxOTNkOGYxM2YwNzA1YTE0OF0g ZHJtL21lZGlhdGVrOiBUdXJuIA0KPj4gb2ZmIHRoZSBsYXllcnMgd2l0aCB6ZXJvIHdpZHRoIG9y IGhlaWdodCBnaXQgYmlzZWN0IGJhZA0KPj4gNWRiYjk4ZTdmYTQyYmViYzEzMjU4OTkxOTNkOGYx M2YwNzA1YTE0OA0KPj4gIyBiYWQ6IFs2OTFlYzcwNDMxMjJjOWM4YzQ2ZDg0ZjZlNmNkODVkMTNk NTBjZDkzXSBzZWxmdGVzdHMvYnBmOiBOdWxsIA0KPj4gY2hlY2tzIGZvciBsaW5rcyBpbiBicGZf dGNwX2NhIGdpdCBiaXNlY3QgYmFkDQo+PiA2OTFlYzcwNDMxMjJjOWM4YzQ2ZDg0ZjZlNmNkODVk MTNkNTBjZDkzDQo+PiAjIGJhZDogW2ExMzU5ZTA4NWQ3NWQ3MzkzYTI1MDA1NGU2NmMwYTdiYzZj M2RiZmFdIHBlcmYveDg2OiBTZXJpYWxpemUNCj4+IHNldF9hdHRyX3JkcG1jKCkgZ2l0IGJpc2Vj dCBiYWQNCj4+IGExMzU5ZTA4NWQ3NWQ3MzkzYTI1MDA1NGU2NmMwYTdiYzZjM2RiZmENCj4+ICMg YmFkOiBbZTk5ZDliMTZmZjE1M2RlOTU0MDA3MzIzOWQyNGFkYzNiMGEzYTk5N10gd2lmaTogYXRo MTJrOiANCj4+IGNoYW5nZSBETUEgZGlyZWN0aW9uIHdoaWxlIG1hcHBpbmcgcmVpbmplY3RlZCBw YWNrZXRzIGdpdCBiaXNlY3QgYmFkDQo+PiBlOTlkOWIxNmZmMTUzZGU5NTQwMDczMjM5ZDI0YWRj M2IwYTNhOTk3DQo+PiAjIGJhZDogW2QwMjdhYzRhMDg1NDFiZWIyYTg5NTYzZDNlMDM0ZGE3MDg1 MDUwYmFdIGZpcm13YXJlOg0KPj4gdHVycmlzLW1veC1yd3RtOiBJbml0aWFsaXplIGNvbXBsZXRp b24gYmVmb3JlIG1haWxib3ggZ2l0IGJpc2VjdCBiYWQgDQo+PiBkMDI3YWM0YTA4NTQxYmViMmE4 OTU2M2QzZTAzNGRhNzA4NTA1MGJhDQo+PiAjIGJhZDogW2U2YzllY2EzMjdlNmE0MWE4MWU3ZWJh MGQwZGRjMTNkYTM3ZjgyYTFdIEFSTTogc3BpdHo6IGZpeCANCj4+IEdQSU8gYXNzaWdubWVudCBm b3IgYmFja2xpZ2h0IGdpdCBiaXNlY3QgYmFkDQo+PiBlNmM5ZWNhMzI3ZTZhNDFhODFlN2ViYTBk MGRkYzEzZGEzN2Y4MmExDQo+PiAjIGJhZDogW2I4Y2RlZmRhYTU1NWJiZmMyNjljMjE5ODgwM2Y4 NzkxYTg5MjM5NjBdIG02OGs6IGNtcHhjaGc6IEZpeCANCj4+IHJldHVybiB2YWx1ZSBmb3IgZGVm YXVsdCBjYXNlIGluIF9fYXJjaF94Y2hnKCkgZ2l0IGJpc2VjdCBiYWQNCj4+IGI4Y2RlZmRhYTU1 NWJiZmMyNjljMjE5ODgwM2Y4NzkxYTg5MjM5NjANCj4+ICMgYmFkOiBbMTNhNzEzODRhZTZhODc3 OWRhODA5YjAwYzZmMzc4ZGNlYWQxMDQyN10gY3B1ZnJlcS9hbWQtcHN0YXRlOg0KPj4gRml4IHRo ZSBzY2FsaW5nX21heF9mcmVxIHNldHRpbmcgb24gc2hhcmVkIG1lbW9yeSBDUFBDIHN5c3RlbXMg Z2l0IA0KPj4gYmlzZWN0IGJhZCAxM2E3MTM4NGFlNmE4Nzc5ZGE4MDliMDBjNmYzNzhkY2VhZDEw NDI3DQo+PiAjIGZpcnN0IGJhZCBjb21taXQ6IFsxM2E3MTM4NGFlNmE4Nzc5ZGE4MDliMDBjNmYz NzhkY2VhZDEwNDI3XQ0KPj4gY3B1ZnJlcS9hbWQtcHN0YXRlOiBGaXggdGhlIHNjYWxpbmdfbWF4 X2ZyZXEgc2V0dGluZyBvbiBzaGFyZWQgbWVtb3J5IA0KPj4gQ1BQQyBzeXN0ZW1zDQo+Pg0KPj4g Y3B1cG93ZXIgb3V0cHV0Og0KPj4NCj4+IGFuYWx5emluZyBDUFUgNDc6DQo+PiAgICAgZHJpdmVy OiBhbWQtcHN0YXRlLWVwcA0KPj4gICAgIENQVXMgd2hpY2ggcnVuIGF0IHRoZSBzYW1lIGhhcmR3 YXJlIGZyZXF1ZW5jeTogNDcNCj4+ICAgICBDUFVzIHdoaWNoIG5lZWQgdG8gaGF2ZSB0aGVpciBm cmVxdWVuY3kgY29vcmRpbmF0ZWQgYnkgc29mdHdhcmU6IDQ3DQo+PiAgICAgbWF4aW11bSB0cmFu c2l0aW9uIGxhdGVuY3k6ICBDYW5ub3QgZGV0ZXJtaW5lIG9yIGlzIG5vdCBzdXBwb3J0ZWQuDQo+ PiAgICAgaGFyZHdhcmUgbGltaXRzOiA0MDAgTUh6IC0gMi4xOCBHSHoNCj4+ICAgICBhdmFpbGFi bGUgY3B1ZnJlcSBnb3Zlcm5vcnM6IHBlcmZvcm1hbmNlIHBvd2Vyc2F2ZQ0KPj4gICAgIGN1cnJl bnQgcG9saWN5OiBmcmVxdWVuY3kgc2hvdWxkIGJlIHdpdGhpbiA0MDAgTUh6IGFuZCAyLjE4IEdI ei4NCj4+ICAgICAgICAgICAgICAgICAgICAgVGhlIGdvdmVybm9yICJwZXJmb3JtYW5jZSIgbWF5 IGRlY2lkZSB3aGljaCBzcGVlZCB0byB1c2UNCj4+ICAgICAgICAgICAgICAgICAgICAgd2l0aGlu IHRoaXMgcmFuZ2UuDQo+PiAgICAgY3VycmVudCBDUFUgZnJlcXVlbmN5OiBVbmFibGUgdG8gY2Fs bCBoYXJkd2FyZQ0KPj4gICAgIGN1cnJlbnQgQ1BVIGZyZXF1ZW5jeTogMi4xNyBHSHogKGFzc2Vy dGVkIGJ5IGNhbGwgdG8ga2VybmVsKQ0KPj4gICAgIGJvb3N0IHN0YXRlIHN1cHBvcnQ6DQo+PiAg ICAgICBTdXBwb3J0ZWQ6IHllcw0KPj4gICAgICAgQWN0aXZlOiB5ZXMNCj4+ICAgICAgIEFNRCBQ U1RBVEUgSGlnaGVzdCBQZXJmb3JtYW5jZTogMTY2LiBNYXhpbXVtIEZyZXF1ZW5jeTogMi4xOCBH SHouDQo+PiAgICAgICBBTUQgUFNUQVRFIE5vbWluYWwgUGVyZm9ybWFuY2U6IDE1Mi4gTm9taW5h bCBGcmVxdWVuY3k6IDIuMDAgR0h6Lg0KPj4gICAgICAgQU1EIFBTVEFURSBMb3dlc3QgTm9uLWxp bmVhciBQZXJmb3JtYW5jZTogMTE1LiBMb3dlc3QgTm9uLWxpbmVhciBGcmVxdWVuY3k6IDEuNTEg R0h6Lg0KPj4gICAgICAgQU1EIFBTVEFURSBMb3dlc3QgUGVyZm9ybWFuY2U6IDMxLiBMb3dlc3Qg RnJlcXVlbmN5OiA0MDAgTUh6Lg0KPj4NCj4+IFRoYW5rcywNCj4+IE1vcmdhbg0KPj4NCj4+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+PiBGcm9tOiBNYXJpbyBMaW1vbmNpZWxsbyA8bWFy aW8ubGltb25jaWVsbG9AYW1kLmNvbT4NCj4+IFNlbnQ6IFR1ZXNkYXksIEp1bHkgMiwgMjAyNCAx MDo0OSBBTQ0KPj4gVG86IERoYW5hbmpheSBVZ3dla2FyIDxEaGFuYW5qYXkuVWd3ZWthckBhbWQu Y29tPjsgcmFmYWVsQGtlcm5lbC5vcmc7IA0KPj4gdmlyZXNoLmt1bWFyQGxpbmFyby5vcmc7IGdh dXRoYW0uc2hlbm95QGFtZC5jb207IHBlcnJ5Lnl1YW5AYW1kLmNvbTsgDQo+PiBza2hhbkBsaW51 eGZvdW5kYXRpb24ub3JnOyBsaS5tZW5nQGFtZC5jb207IHJheS5odWFuZ0BhbWQuY29tDQo+PiBD YzogbGludXgtcG1Admdlci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3Jn OyBEYXZpZCANCj4+IEFyY2FyaSA8ZGFyY2FyaUByZWRoYXQuY29tPg0KPj4gU3ViamVjdDogUmU6 IFtQQVRDSCB2MiAyLzJdIGNwdWZyZXEvYW1kLXBzdGF0ZTogRml4IHRoZSANCj4+IHNjYWxpbmdf bWF4X2ZyZXEgc2V0dGluZyBvbiBzaGFyZWQgbWVtb3J5IENQUEMgc3lzdGVtcw0KPj4NCj4+IE9u IDcvMi8yMDI0IDM6MTQsIERoYW5hbmpheSBVZ3dla2FyIHdyb3RlOg0KPj4+IE9uIHNoYXJlZCBt ZW1vcnkgQ1BQQyBzeXN0ZW1zLCB3aXRoIGFtZF9wc3RhdGU9YWN0aXZlIG1vZGUsIHRoZSANCj4+ PiBjaGFuZ2UgaW4gc2NhbGluZ19tYXhfZnJlcSBkb2Vzbid0IGdldCB3cml0dGVuIHRvIHRoZSBz aGFyZWQgbWVtb3J5IHJlZ2lvbi4NCj4+PiBEdWUgdG8gdGhpcywgdGhlIHdyaXRlcyB0byB0aGUg c2NhbGluZ19tYXhfZnJlcSBzeXNmcyBmaWxlIGRvbid0IA0KPj4+IHRha2UgZWZmZWN0LiBGaXgg dGhpcyBieSBwcm9wYWdhdGluZyB0aGUgc2NhbGluZ19tYXhfZnJlcSBjaGFuZ2VzIHRvIA0KPj4+ IHRoZSBzaGFyZWQgbWVtb3J5IHJlZ2lvbi4NCj4+Pg0KPj4+IEZpeGVzOiBmZmE1MDk2YTdjMzMg KCJjcHVmcmVxOiBhbWQtcHN0YXRlOiBpbXBsZW1lbnQgUHN0YXRlIEVQUCANCj4+PiBzdXBwb3J0 IGZvciB0aGUgQU1EIHByb2Nlc3NvcnMiKQ0KPj4+IFJlcG9ydGVkLWJ5OiBEYXZpZCBBcmNhcmkg PGRhcmNhcmlAcmVkaGF0LmNvbT4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBEaGFuYW5qYXkgVWd3ZWth ciA8RGhhbmFuamF5LlVnd2VrYXJAYW1kLmNvbT4NCj4+IFJldmlld2VkLWJ5OiBNYXJpbyBMaW1v bmNpZWxsbyA8bWFyaW8ubGltb25jaWVsbG9AYW1kLmNvbT4NCj4+PiAtLS0NCj4+PiAgICAgZHJp dmVycy9jcHVmcmVxL2FtZC1wc3RhdGUuYyB8IDQzICsrKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLQ0KPj4+ICAgICAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMjAg ZGVsZXRpb25zKC0pDQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVmcmVxL2FtZC1w c3RhdGUuYyANCj4+PiBiL2RyaXZlcnMvY3B1ZnJlcS9hbWQtcHN0YXRlLmMgaW5kZXggOWFkNjJk YmU4YmZiLi5hMDkyYjEzZmZiYzINCj4+PiAxMDA2NDQNCj4+PiAtLS0gYS9kcml2ZXJzL2NwdWZy ZXEvYW1kLXBzdGF0ZS5jDQo+Pj4gKysrIGIvZHJpdmVycy9jcHVmcmVxL2FtZC1wc3RhdGUuYw0K Pj4+IEBAIC0yNDcsNiArMjQ3LDI2IEBAIHN0YXRpYyBpbnQgYW1kX3BzdGF0ZV9nZXRfZW5lcmd5 X3ByZWZfaW5kZXgoc3RydWN0IGFtZF9jcHVkYXRhICpjcHVkYXRhKQ0KPj4+ICAgICAJcmV0dXJu IGluZGV4Ow0KPj4+ICAgICB9DQo+Pj4gICAgIA0KPj4+ICtzdGF0aWMgdm9pZCBwc3RhdGVfdXBk YXRlX3BlcmYoc3RydWN0IGFtZF9jcHVkYXRhICpjcHVkYXRhLCB1MzIgbWluX3BlcmYsDQo+Pj4g KwkJCSAgICAgICB1MzIgZGVzX3BlcmYsIHUzMiBtYXhfcGVyZiwgYm9vbCBmYXN0X3N3aXRjaCkg ew0KPj4+ICsJaWYgKGZhc3Rfc3dpdGNoKQ0KPj4+ICsJCXdybXNybChNU1JfQU1EX0NQUENfUkVR LCBSRUFEX09OQ0UoY3B1ZGF0YS0+Y3BwY19yZXFfY2FjaGVkKSk7DQo+Pj4gKwllbHNlDQo+Pj4g KwkJd3Jtc3JsX29uX2NwdShjcHVkYXRhLT5jcHUsIE1TUl9BTURfQ1BQQ19SRVEsDQo+Pj4gKwkJ CSAgICAgIFJFQURfT05DRShjcHVkYXRhLT5jcHBjX3JlcV9jYWNoZWQpKTsNCj4+PiArfQ0KPj4+ ICsNCj4+PiArREVGSU5FX1NUQVRJQ19DQUxMKGFtZF9wc3RhdGVfdXBkYXRlX3BlcmYsIHBzdGF0 ZV91cGRhdGVfcGVyZik7DQo+Pj4gKw0KPj4+ICtzdGF0aWMgaW5saW5lIHZvaWQgYW1kX3BzdGF0 ZV91cGRhdGVfcGVyZihzdHJ1Y3QgYW1kX2NwdWRhdGEgKmNwdWRhdGEsDQo+Pj4gKwkJCQkJICB1 MzIgbWluX3BlcmYsIHUzMiBkZXNfcGVyZiwNCj4+PiArCQkJCQkgIHUzMiBtYXhfcGVyZiwgYm9v bCBmYXN0X3N3aXRjaCkgew0KPj4+ICsJc3RhdGljX2NhbGwoYW1kX3BzdGF0ZV91cGRhdGVfcGVy ZikoY3B1ZGF0YSwgbWluX3BlcmYsIGRlc19wZXJmLA0KPj4+ICsJCQkJCSAgICBtYXhfcGVyZiwg ZmFzdF9zd2l0Y2gpOw0KPj4+ICt9DQo+Pj4gKw0KPj4+ICAgICBzdGF0aWMgaW50IGFtZF9wc3Rh dGVfc2V0X2VwcChzdHJ1Y3QgYW1kX2NwdWRhdGEgKmNwdWRhdGEsIHUzMiBlcHApDQo+Pj4gICAg IHsNCj4+PiAgICAgCWludCByZXQ7DQo+Pj4gQEAgLTI2Myw2ICsyODMsOSBAQCBzdGF0aWMgaW50 IGFtZF9wc3RhdGVfc2V0X2VwcChzdHJ1Y3QgYW1kX2NwdWRhdGEgKmNwdWRhdGEsIHUzMiBlcHAp DQo+Pj4gICAgIAkJaWYgKCFyZXQpDQo+Pj4gICAgIAkJCWNwdWRhdGEtPmVwcF9jYWNoZWQgPSBl cHA7DQo+Pj4gICAgIAl9IGVsc2Ugew0KPj4+ICsJCWFtZF9wc3RhdGVfdXBkYXRlX3BlcmYoY3B1 ZGF0YSwgY3B1ZGF0YS0+bWluX2xpbWl0X3BlcmYsIDBVLA0KPj4+ICsJCQkJCSAgICAgY3B1ZGF0 YS0+bWF4X2xpbWl0X3BlcmYsIGZhbHNlKTsNCj4+PiArDQo+Pj4gICAgIAkJcGVyZl9jdHJscy5l bmVyZ3lfcGVyZiA9IGVwcDsNCj4+PiAgICAgCQlyZXQgPSBjcHBjX3NldF9lcHBfcGVyZihjcHVk YXRhLT5jcHUsICZwZXJmX2N0cmxzLCAxKTsNCj4+PiAgICAgCQlpZiAocmV0KSB7DQo+Pj4gQEAg LTQ1MiwxNiArNDc1LDYgQEAgc3RhdGljIGlubGluZSBpbnQgYW1kX3BzdGF0ZV9pbml0X3BlcmYo c3RydWN0IGFtZF9jcHVkYXRhICpjcHVkYXRhKQ0KPj4+ICAgICAJcmV0dXJuIHN0YXRpY19jYWxs KGFtZF9wc3RhdGVfaW5pdF9wZXJmKShjcHVkYXRhKTsNCj4+PiAgICAgfQ0KPj4+ICAgICANCj4+ PiAtc3RhdGljIHZvaWQgcHN0YXRlX3VwZGF0ZV9wZXJmKHN0cnVjdCBhbWRfY3B1ZGF0YSAqY3B1 ZGF0YSwgdTMyIG1pbl9wZXJmLA0KPj4+IC0JCQkgICAgICAgdTMyIGRlc19wZXJmLCB1MzIgbWF4 X3BlcmYsIGJvb2wgZmFzdF9zd2l0Y2gpDQo+Pj4gLXsNCj4+PiAtCWlmIChmYXN0X3N3aXRjaCkN Cj4+PiAtCQl3cm1zcmwoTVNSX0FNRF9DUFBDX1JFUSwgUkVBRF9PTkNFKGNwdWRhdGEtPmNwcGNf cmVxX2NhY2hlZCkpOw0KPj4+IC0JZWxzZQ0KPj4+IC0JCXdybXNybF9vbl9jcHUoY3B1ZGF0YS0+ Y3B1LCBNU1JfQU1EX0NQUENfUkVRLA0KPj4+IC0JCQkgICAgICBSRUFEX09OQ0UoY3B1ZGF0YS0+ Y3BwY19yZXFfY2FjaGVkKSk7DQo+Pj4gLX0NCj4+PiAtDQo+Pj4gICAgIHN0YXRpYyB2b2lkIGNw cGNfdXBkYXRlX3BlcmYoc3RydWN0IGFtZF9jcHVkYXRhICpjcHVkYXRhLA0KPj4+ICAgICAJCQkg ICAgIHUzMiBtaW5fcGVyZiwgdTMyIGRlc19wZXJmLA0KPj4+ICAgICAJCQkgICAgIHUzMiBtYXhf cGVyZiwgYm9vbCBmYXN0X3N3aXRjaCkgQEAgLTQ3NSwxNiArNDg4LDYgQEAgDQo+Pj4gc3RhdGlj IHZvaWQgY3BwY191cGRhdGVfcGVyZihzdHJ1Y3QgYW1kX2NwdWRhdGEgKmNwdWRhdGEsDQo+Pj4g ICAgIAljcHBjX3NldF9wZXJmKGNwdWRhdGEtPmNwdSwgJnBlcmZfY3RybHMpOw0KPj4+ICAgICB9 DQo+Pj4gICAgIA0KPj4+IC1ERUZJTkVfU1RBVElDX0NBTEwoYW1kX3BzdGF0ZV91cGRhdGVfcGVy ZiwgcHN0YXRlX3VwZGF0ZV9wZXJmKTsNCj4+PiAtDQo+Pj4gLXN0YXRpYyBpbmxpbmUgdm9pZCBh bWRfcHN0YXRlX3VwZGF0ZV9wZXJmKHN0cnVjdCBhbWRfY3B1ZGF0YSAqY3B1ZGF0YSwNCj4+PiAt CQkJCQkgIHUzMiBtaW5fcGVyZiwgdTMyIGRlc19wZXJmLA0KPj4+IC0JCQkJCSAgdTMyIG1heF9w ZXJmLCBib29sIGZhc3Rfc3dpdGNoKQ0KPj4+IC17DQo+Pj4gLQlzdGF0aWNfY2FsbChhbWRfcHN0 YXRlX3VwZGF0ZV9wZXJmKShjcHVkYXRhLCBtaW5fcGVyZiwgZGVzX3BlcmYsDQo+Pj4gLQkJCQkJ ICAgIG1heF9wZXJmLCBmYXN0X3N3aXRjaCk7DQo+Pj4gLX0NCj4+PiAtDQo+Pj4gICAgIHN0YXRp YyBpbmxpbmUgYm9vbCBhbWRfcHN0YXRlX3NhbXBsZShzdHJ1Y3QgYW1kX2NwdWRhdGEgKmNwdWRh dGEpDQo+Pj4gICAgIHsNCj4+PiAgICAgCXU2NCBhcGVyZiwgbXBlcmYsIHRzYzsNCj4+DQo+Pg0K PiANCg0K