From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on062b.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe49::62b]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 590AB21A18AA9 for ; Mon, 27 Mar 2017 19:19:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector1-amd-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=II3JQm+G9ksCvcp04BSVTgMBWJ2RR9nL1fmyL6max+4=; b=CNAsExYE+OEt8tE9kL/5hUsrcYB0Ow+xDqhFMML2TvKIFAmQ1BLEb3CnJGF23XP2QQruDahLRm3rjB7yXuAIBA72Nw1TZTmDM9z5mYXq6ZhcIxQA2T8nnsnn7T3jrb8XGkuX2tALzuVI7/taYA9EOjOiN09nssgG598HE0VqkK0= Received: from DM5PR12MB1243.namprd12.prod.outlook.com (10.168.237.22) by DM5PR12MB1145.namprd12.prod.outlook.com (10.168.236.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.991.14; Tue, 28 Mar 2017 02:19:07 +0000 Received: from DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) by DM5PR12MB1243.namprd12.prod.outlook.com ([10.168.237.22]) with mapi id 15.01.0991.020; Tue, 28 Mar 2017 02:19:06 +0000 From: "Duran, Leo" To: "Fan, Jeff" , Brijesh Singh CC: Laszlo Ersek , "Kinney, Michael D" , "Justen, Jordan L" , "edk2-devel@ml01.01.org" , "Gao, Liming" , "Singh, Brijesh" , "Lendacky, Thomas" Thread-Topic: [edk2] [RFC PATCH v2 01/10] OvmfPkg/Include: Define SEV specific CPUID and MSR Thread-Index: AQHSoofoNIOivaeTx0+USJsfq7J4pqGhBruAgAEGK4CAABszAIAGMoiAgABDVACAANY3AIAAGbSA Date: Tue, 28 Mar 2017 02:19:05 +0000 Message-ID: References: <149013076154.27235.10725020825643505862.stgit@brijesh-build-machine> <149013076888.27235.3173588515291478806.stgit@brijesh-build-machine> <542CF652F8836A4AB8DBFAAD40ED192A4C569A29@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C57C672@shsmsx102.ccr.corp.intel.com> <542CF652F8836A4AB8DBFAAD40ED192A4C57CDDD@shsmsx102.ccr.corp.intel.com> In-Reply-To: <542CF652F8836A4AB8DBFAAD40ED192A4C57CDDD@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=amd.com; x-originating-ip: [2605:6000:e7ed:fa00:cc25:3b7d:b37a:c75e] x-microsoft-exchange-diagnostics: 1; DM5PR12MB1145; 7:9LY1LMIRX+X1zgH5R61Ok69IuhFKZMxmoGDemejLlLASAeqISLq5RWhKSxZm9zpCDhVjaFQC4AdZT/npRjxN+df+FpHpGtBPTXgaza+0/yxLVcFtUw0Ql1FP4yrxWeMtR5lAqLZVs7MiQXV3a6juOb0xqMjdQJ4t0+1ihbe7yhPELETZF1hI3kwv4RymzQKIghbRMhPxFwAyCiitH+GHoCyOoVy8KO1ZcZZHW8U9t5Pql5d1oAvZBTvhOvia03/6kjQc480/n9kB1GyvmVHa5HJlJTBm04RbGqGn+clia7a0qt/BrC4mb+WKi/UIQJdD7unLyeHYl+fOtp9kP/ZaEA==; 20:VpY2cBBbSZlRsXAZ8lAID2LTF2FKDS9MjtFUNLkC5MvyqxRd/VjwFjl/t0FE6lNP70bfGkYT2cVis/qsT/9OBBcYAJf5rxoj388lBeUhZk3/BZrOTmL8O0jbK90IJHV/7pSSidvSTlhXgM1Sde3oyhg/IwvJwoeuAMtFciBwfaF52KeXdoI9VfLUCSZd4/n1EpvPwvT1NRYAVwlwI34oEoWkwnriOY21epFalF1tLW5XVwaGVQPgwFaMdqPDkDix x-forefront-antispam-report: SFV:SKI; SCL:-1SFV:NSPM; SFS:(10009020)(39840400002)(39850400002)(39450400003)(39860400002)(39410400002)(24454002)(13464003)(377454003)(76104003)(38730400002)(189998001)(19609705001)(25786009)(4326008)(53376002)(6246003)(53546009)(966004)(33656002)(2950100002)(5660300001)(53936002)(7906003)(74316002)(7736002)(39060400002)(7696004)(229853002)(2900100001)(55016002)(9686003)(54356999)(6306002)(6506006)(86362001)(54906002)(54896002)(236005)(50986999)(99286003)(8936002)(606005)(2906002)(77096006)(6436002)(93886004)(81166006)(8676002)(15188155005)(81156014)(790700001)(122556002)(3280700002)(3660700001)(76176999)(6116002)(102836003)(16799955002)(217873001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR12MB1145; H:DM5PR12MB1243.namprd12.prod.outlook.com; FPR:; SPF:None; MLV:ovrnspm; PTR:InfoNoRecords; LANG:en; x-ms-office365-filtering-correlation-id: c937adb8-046b-46e5-f04b-08d47580cf56 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(2017030254075)(48565401081); SRVR:DM5PR12MB1145; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(767451399110)(162533806227266)(21748063052155)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6055026)(6041248)(20161123555025)(20161123562025)(20161123564025)(20161123560025)(20161123558025)(6072148); SRVR:DM5PR12MB1145; BCL:0; PCL:0; RULEID:; SRVR:DM5PR12MB1145; x-forefront-prvs: 0260457E99 spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Mar 2017 02:19:05.8405 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1145 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: [RFC PATCH v2 01/10] OvmfPkg/Include: Define SEV specific CPUID and MSR X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Mar 2017 02:19:09 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SmVmZiwNClBlcmhhcHMgeW91IG1pc3NlZCBteSByZXNwb25zZSB0byB0aGlzIGVhcmxpZXIgdG9k YXnigKYgSGVyZSBpdCBpcyBhZ2FpbjoNCkxlbw0KDQoNCkdpdmVuIHRoYXQ6DQoNCjEpIFVlZmlD cHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oLi4uIERvZXMgcmVmZXJlbmNlIGFuIEludGVs IFNETQ0KDQoyKSBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvTXNyLi4uIEluY2x1ZGVzIGlu dGVsIFNvQydzDQoNCg0KDQpJIHZvdGUgZm9yOg0KDQoxKSBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVn aXN0ZXIvQW1kL0NwdWlkLmgNCg0KMikgVWVmaUNwdVBrZy9JbmNsdWRlL1JlZ2lzdGVyL0FtZC9N c3IuaCArIFVlZmlDcHVQa2cvSW5jbHVkZS9SZWdpc3Rlci9BbWQvTXNyL1h4eE1zci5oDQoNCg0K DQpMZW8uDQoNCg0KRnJvbTogRmFuLCBKZWZmIFttYWlsdG86amVmZi5mYW5AaW50ZWwuY29tXQ0K U2VudDogTW9uZGF5LCBNYXJjaCAyNywgMjAxNyA3OjQ2IFBNDQpUbzogQnJpamVzaCBTaW5naCA8 YnJpamVzaC5rc2luZ2hAZ21haWwuY29tPg0KQ2M6IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhh dC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBK dXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPjsgZWRrMi1kZXZlbEBt bDAxLjAxLm9yZzsgR2FvLCBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgRHVyYW4sIExl byA8bGVvLmR1cmFuQGFtZC5jb20+OyBTaW5naCwgQnJpamVzaCA8YnJpamVzaC5zaW5naEBhbWQu Y29tPjsgTGVuZGFja3ksIFRob21hcyA8VGhvbWFzLkxlbmRhY2t5QGFtZC5jb20+DQpTdWJqZWN0 OiBSRTogW2VkazJdIFtSRkMgUEFUQ0ggdjIgMDEvMTBdIE92bWZQa2cvSW5jbHVkZTogRGVmaW5l IFNFViBzcGVjaWZpYyBDUFVJRCBhbmQgTVNSDQoNCkJyaWplc2gsDQoNClVlZmlDcHVQa2cvSW5j bHVkZS9SZWdpc3Rlci9DcHVpZC5oIGRlY2xhcmVkIHRvIHN1cHBvcnQgb25lIHZlcnNpb24gb2Yg SW50ZWwgU0RNLg0KDQpCZWZvcmUgdGhlIG5ldyBTRE0gcHVibGlzaGluZywgd2UgY2Fubm90IGFz c3VtZSB3aGF0IENQVUlEIG5hbWluZyBhbmQgZGVmaW5pdGlvbnMgYXJlLg0KSWYgbmV3IFNETSBh ZG9wdHMgdGhlIGV4YWN0bHkgc2FtZSBkZWZpbml0aW9ucyBvZiBDUFVJRCBpbiB0aGUgZnV0dXJl LCB3ZSBjb3VsZCBzaW1wbHkgaW5jbHVkZSBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQ3B1 aWQuaCBhbmQgcmVtb3ZlIG9sZCBkZWZpbml0aW9ucy4NCg0KVGhhbmtzIQ0KSmVmZg0KDQpGcm9t OiBCcmlqZXNoIFNpbmdoIFttYWlsdG86YnJpamVzaC5rc2luZ2hAZ21haWwuY29tXQ0KU2VudDog TW9uZGF5LCBNYXJjaCAyNywgMjAxNyA3OjU5IFBNDQpUbzogRmFuLCBKZWZmDQpDYzogTGFzemxv IEVyc2VrOyBLaW5uZXksIE1pY2hhZWwgRDsgSnVzdGVuLCBKb3JkYW4gTDsgZWRrMi1kZXZlbEBt bDAxLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBtbDAxLjAxLm9yZz47IEdhbywgTGltaW5nOyBs ZW8uZHVyYW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+OyBicmlqZXNoLnNpbmdo QGFtZC5jb208bWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT47IFRob21hcy5MZW5kYWNreUBh bWQuY29tPG1haWx0bzpUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRr Ml0gW1JGQyBQQVRDSCB2MiAwMS8xMF0gT3ZtZlBrZy9JbmNsdWRlOiBEZWZpbmUgU0VWIHNwZWNp ZmljIENQVUlEIGFuZCBNU1INCg0KDQoNCk9uIE1vbiwgTWFyIDI3LCAyMDE3IGF0IDI6NTcgQU0s IEZhbiwgSmVmZiA8amVmZi5mYW5AaW50ZWwuY29tPG1haWx0bzpqZWZmLmZhbkBpbnRlbC5jb20+ PiB3cm90ZToNCkxhc3psbywNCg0KT25lIEFtZCBkaXJlY3RvcnkgdW5kZXIgVWVmaUNwdVBrZy9J bmNsdWRlL1JlZ2lzdGVyIGlzIGJldHRlci4NCg0KRG9lcyBCcmlqZXNoL0xlbyBoYXZlIGFueSBj b21tZW50cywgb3IgaGF2ZSBvdGhlciBzdWdnZXN0aW9ucz8NCg0KDQoNCkkgYW0gbm90IHN1cmUg aWYgY3JlYXRpbmcgYSBuZXcgVWVmaUNwdVBrZy9JbmNsdWRlL1JlZ2lzdGVyL0FtZC9DcHVpZCBp cyBhIGdvb2QgaWRlYSwgQ1BVSUQgRm44MDAwXzAwMUYNCmxlYWYgY2FuIGdvIGluIFVlZmlDcHVQ a2cvSW5jbHVkZS9SZWdpc3Rlci9DcHVpZC5oLiBMb29raW5nIGF0IFVlZmlDcHVQa2cvSW5jbHVk ZS9SZWdpc3Rlci9DcHVpZC5oIGluZGljYXRlcw0KdGhhdCB0aGlzIGZpbGUgZGVmaW5lcyB0aGUg c3RhbmRhcmQgeDg2IENQVUlEJ3MuIFRoZSBkZWZpbml0aW9uIG9mIENQVUlEJ3MgbGlzdGVkIGlu IHRoaXMgZmlsZSBhcmUgc2FtZSBvbiBib3RoIEludGVsDQphbmQgQU1EIHBsYXRmb3Jtcy4gSSB3 YXMgdG9sZCBieSBvdXIgYXJjaGl0ZWN0dXJlIHRlYW0gdGhhdCBpZiBJbnRlbCBldmVyIGRlY2lk ZXMgdG8gc3VwcG9ydCB0aGUgbmV3IGxlYWYgdGhlbiBpdCB3aWxsDQpjb21wbHkgdG8gdGhlIGV4 YWN0IHNhbWUgYml0IGRlZmluaXRpb24uDQoNCkkgYW0gYSBiaXQgdW5zdXJlIGFib3V0IHdoZXJl IHRoZSBNU1JfU0VWX1NUQVRVUyBzaG91bGQgZ28sIG9uZSBwYXJ0IG9mIG1lIHRoaW5rcyB0aGF0 IHRoaXMgTVNSIHNob3VsZCBiZQ0KZGVmaW5lZCBpbiBPdm1mUGtnIGFuZCBvdGhlciBwYXJ0IHRo aW5rcyB0aGF0IGl0IGNhbiBnbyBpbnRvIFVlZmlDcHVQa2cvSW5jbHVkZS9BbWQvTXNyLmguIEl0 IGlzIGEgcmVhZC1vbmx5IE1TUg0KYW5kIGhhcyBtZWFuaW5nIGluIGEgdmlydHVhbGl6YXRpb24g Y29udGV4dCBoZW5jZSBJIHdhcyBtb3JlIGluY2xpbmVkIHRvd2FyZHMgZGVmaW5pbmcgaW50byBP dm1mUGtnIGluc3RlYWQgb2YgVWVmaUNwdVBrZy4NCg0KTGVvLCAgYW55IGNvbW1lbnRzL3N1Z2dl c3Rpb25zID8NCg0KLUJyaWplc2gNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206 IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tPG1haWx0bzpsZXJzZWtAcmVk aGF0LmNvbT5dDQpTZW50OiBUaHVyc2RheSwgTWFyY2ggMjMsIDIwMTcgNToyMCBQTQ0KVG86IEZh biwgSmVmZjsgQnJpamVzaCBTaW5naDsgS2lubmV5LCBNaWNoYWVsIEQ7IEp1c3RlbiwgSm9yZGFu IEw7IGVkazItZGV2ZWxAbWwwMS4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbWwwMS4wMS5vcmc+ OyBHYW8sIExpbWluZw0KQ2M6IGxlby5kdXJhbkBhbWQuY29tPG1haWx0bzpsZW8uZHVyYW5AYW1k LmNvbT47IGJyaWplc2guc2luZ2hAYW1kLmNvbTxtYWlsdG86YnJpamVzaC5zaW5naEBhbWQuY29t PjsgVGhvbWFzLkxlbmRhY2t5QGFtZC5jb208bWFpbHRvOlRob21hcy5MZW5kYWNreUBhbWQuY29t Pg0KU3ViamVjdDogUmU6IFtlZGsyXSBbUkZDIFBBVENIIHYyIDAxLzEwXSBPdm1mUGtnL0luY2x1 ZGU6IERlZmluZSBTRVYgc3BlY2lmaWMgQ1BVSUQgYW5kIE1TUg0KDQpPbiAwMy8yMy8xNyAwODo0 MiwgRmFuLCBKZWZmIHdyb3RlOg0KPiBMYXN6bG8sDQo+DQo+IFVlZmlDcHVQa2cvSW5jbHVkZS9S ZWdpc3Rlci9DcHVpZC5oIGRlZmluZWQgdGhlIENQVUlEIG9ubHkgZGVzY3JpYmVkIGluIElBMzIg U0RNLg0KPiBVZWZpQ3B1UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQXJjaGl0ZWN0dXJhbE1zci5oIGRl ZmluZWQgdGhlIElBMzINCj4gQXJjaGl0ZWN0dXJhbCBNU1JzIGluIElBMzIgU0RNIFVlZmlDcHVQ a2cvSW5jbHVkZS9SZWdpc3Rlci9Nc3IveHh4eE1zci5oIGRlZmluZWQgdGhlIElBMzIgTW9kZWwt c3BlY2lmaWMgTVNScyBpbiBJQTMyIFNETS4NCj4NCj4gSSBhbSBub3Qgc3VyZSBpZiBCcmlqZXNo L0xlbyBoYXMgc29tZSBpZGVhIHRvIHBsYWNlIFNFViBzcGVjaWZpYyBDUFVJRC9NU1JzIGRlZmlu aXRpb25zLg0KPiBJIHRoaW5rIG9uZSBuZXcgZmlsZSBvciBuZXcgZm9sZGVyIGlzIGJldHRlci4N Cg0KSSBhZ3JlZSwgYm90aCB3b3VsZCB3b3JrIGZvciBtZS4gTXkgbWFpbiBwb2ludCBpcyB0aGF0 IHRoaXMgZmVhdHVyZSBkZXBlbmRzIG9uIHBoeXNpY2FsIHByb2Nlc3NvciBhdHRyaWJ1dGVzLCBu b3Qgb24gZW11bGF0ZWQgKHZpcnR1YWwpIGhhcmR3YXJlIG9yIG9uIHZhcmlvdXMgaHlwZXJ2aXNv cnMsIHBsdXMgaXQgaXMgZGVmaW5lZCBpbiBhIHB1YmxpYyBpbmR1c3RyeSBzcGVjLCBzbyBpdCBz ZWVtcyB0byBiZWxvbmcgdW5kZXIgVWVmaUNwdVBrZywgbm90IE92bWZQa2cuDQoNCkhvdyBhYm91 dA0KDQogIFVlZmlDcHVQa2cvSW5jbHVkZS9BbWRSZWdpc3Rlci9DcHVpZC5oDQogIFVlZmlDcHVQ a2cvSW5jbHVkZS9BbWRSZWdpc3Rlci9BcmNoaXRlY3R1cmFsTXNyLmgNCiAgVWVmaUNwdVBrZy9J bmNsdWRlL0FtZFJlZ2lzdGVyL01zci94eHh4TXNyLmgNCg0Kb3IgZWxzZToNCg0KICBVZWZpQ3B1 UGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kL0NwdWlkLmgNCiAgVWVmaUNwdVBrZy9JbmNsdWRlL1Jl Z2lzdGVyL0FtZC9BcmNoaXRlY3R1cmFsTXNyLmgNCiAgVWVmaUNwdVBrZy9JbmNsdWRlL1JlZ2lz dGVyL0FtZC9Nc3IveHh4eE1zci5oDQoNCihhcyBhcHByb3ByaWF0ZSAtLSBJJ20gbm90IHNheWlu ZyB0aGF0IHRoaXMgcGF0Y2ggc2hvdWxkIGNyZWF0ZSBhbGwgb2YgdGhlc2UgZmlsZXMgLyBzdWJk aXJlY3RvcmllcyBhdCBvbmNlKS4NCg0KVGhhbmtzDQpMYXN6bG8NCj4NCj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogZWRrMi1kZXZlbCBbbWFpbHRvOmVkazItZGV2ZWwtYm91 bmNlc0BsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWwtYm91bmNlc0BsaXN0cy4wMS5vcmc+ XSBPbiBCZWhhbGYgT2YNCj4gTGFzemxvIEVyc2VrDQo+IFNlbnQ6IFRodXJzZGF5LCBNYXJjaCAy MywgMjAxNyAxMjowNCBBTQ0KPiBUbzogQnJpamVzaCBTaW5naDsgS2lubmV5LCBNaWNoYWVsIEQ7 IEp1c3RlbiwgSm9yZGFuIEw7DQo+IGVkazItZGV2ZWxAbWwwMS4wMS5vcmc8bWFpbHRvOmVkazIt ZGV2ZWxAbWwwMS4wMS5vcmc+OyBHYW8sIExpbWluZzsgRmFuLCBKZWZmDQo+IENjOiBsZW8uZHVy YW5AYW1kLmNvbTxtYWlsdG86bGVvLmR1cmFuQGFtZC5jb20+OyBicmlqZXNoLnNpbmdoQGFtZC5j b208bWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT47IFRob21hcy5MZW5kYWNreUBhbWQuY29t PG1haWx0bzpUaG9tYXMuTGVuZGFja3lAYW1kLmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyXSBb UkZDIFBBVENIIHYyIDAxLzEwXSBPdm1mUGtnL0luY2x1ZGU6IERlZmluZSBTRVYNCj4gc3BlY2lm aWMgQ1BVSUQgYW5kIE1TUg0KPg0KPiBBZGRpbmcgSmVmZg0KPg0KPiBPbiAwMy8yMS8xNyAyMjox MiwgQnJpamVzaCBTaW5naCB3cm90ZToNCj4+IFRoZSBwYXRjaCBkZWZpbmVzIEFNRCdzIE1lbW9y eSBFbmNyeXB0aW9uIEluZm9ybWF0aW9uIENQVUlEIGxlYWYgKDB4ODAwMF8wMDFGKS4NCj4+IFRo ZSBjb21wbGV0ZSBkZXNjcmlwdGlvbiBmb3IgdGhpcyBDUFVJRCBsZWFmIGlzIGF2YWlsYWJsZSBp biBBUE0NCj4+IHZvbHVtZSAyIFsxXSBTZWN0aW9uIDE1LjM0IChTZWN1cmUgRW5jcnlwdGVkIFZp cnR1YWxpemF0aW9uKS4NCj4+DQo+PiBbMV0gaHR0cDovL3N1cHBvcnQuYW1kLmNvbS9UZWNoRG9j cy8yNDU5My5wZGYNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBCcmlqZXNoIFNpbmdoIDxicmlqZXNo LnNpbmdoQGFtZC5jb208bWFpbHRvOmJyaWplc2guc2luZ2hAYW1kLmNvbT4+DQo+PiAtLS0NCj4+ ICBPdm1mUGtnL0luY2x1ZGUvUmVnaXN0ZXIvQW1kU2V2TWFwLmggfCAgMTMzDQo+PiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgMSBmaWxlIGNoYW5nZWQsIDEzMyBpbnNl cnRpb25zKCspDQo+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IE92bWZQa2cvSW5jbHVkZS9SZWdpc3Rl ci9BbWRTZXZNYXAuaA0KPj4NCj4+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL0luY2x1ZGUvUmVnaXN0 ZXIvQW1kU2V2TWFwLmgNCj4+IGIvT3ZtZlBrZy9JbmNsdWRlL1JlZ2lzdGVyL0FtZFNldk1hcC5o DQo+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMC4uZGU4MGYzOQ0KPj4g LS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvT3ZtZlBrZy9JbmNsdWRlL1JlZ2lzdGVyL0FtZFNldk1h cC5oDQo+PiBAQCAtMCwwICsxLDEzMyBAQA0KPj4gKy8qKiBAZmlsZQ0KPj4gKw0KPj4gK0FNRCBT ZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTRVYpIHNwZWNpZmljIENQVUlEIGFuZCBN U1INCj4+ICtkZWZpbml0aW9ucw0KPj4gKw0KPj4gK1RoZSBjb21wbGV0ZSBkZXNjcmlwdGlvbiBm b3IgdGhpcyBDUFVJRCBsZWFmIGlzIGF2YWlsYWJsZSBpbiBBUE0NCj4+ICt2b2x1bWUgMiAoU2Vj dGlvbiAxNS4zNCkgaHR0cDovL3N1cHBvcnQuYW1kLmNvbS9UZWNoRG9jcy8yNDU5My5wZGYNCj4+ ICsNCj4+ICtDb3B5cmlnaHQgKGMpIDIwMTcsIEFkdmFuY2VkIE1pY3JvIERldmljZXMuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPj4gKw0KPj4gK1RoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29t cGFueWluZyBtYXRlcmlhbHMgYXJlIGxpY2Vuc2VkIGFuZCBtYWRlDQo+PiArYXZhaWxhYmxlIHVu ZGVyIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEIExpY2Vuc2Ugd2hpY2gNCj4+ ICthY2NvbXBhbmllcyB0aGlzIGRpc3RyaWJ1dGlvbi4gIFRoZSBmdWxsIHRleHQgb2YgdGhlIGxp Y2Vuc2UgbWF5IGJlDQo+PiArZm91bmQgYXQgaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2Vz L2JzZC1saWNlbnNlLnBocA0KPj4gKw0KPj4gK1RIRSBQUk9HUkFNIElTIERJU1RSSUJVVEVEIFVO REVSIFRIRSBCU0QgTElDRU5TRSBPTiBBTiAiQVMgSVMiDQo+PiArQkFTSVMsIFdJVEhPVVQgV0FS UkFOVElFUyBPUiBSRVBSRVNFTlRBVElPTlMgT0YgQU5ZIEtJTkQsIEVJVEhFUiBFWFBSRVNTIE9S IElNUExJRUQuDQo+PiArDQo+PiArKiovDQo+PiArDQo+PiArI2lmbmRlZiBfX0FNRF9TRVZfTUFQ X0hfXw0KPj4gKyNkZWZpbmUgX19BTURfU0VWX01BUF9IX18NCj4+ICsNCj4+ICsjcHJhZ21hIHBh Y2sgKDEpDQo+PiArDQo+PiArI2RlZmluZSBDUFVJRF9NRU1PUllfRU5DUllQVElPTl9JTkZPICAg ICAgICAgICAgIDB4ODAwMDAwMUYNCj4+ICsNCj4+ICsvKioNCj4+ICsgIENQVUlEIE1lbW9yeSBF bmNyeXB0aW9uIHN1cHBvcnQgaW5mb3JtYXRpb24gRUFYIGZvciBDUFVJRCBsZWFmDQo+PiArICAj Q1BVSURfTUVNT1JZX0VOQ1JZUFRJT05fSU5GTy4NCj4+ICsqKi8NCj4+ICt0eXBlZGVmIHVuaW9u IHsNCj4+ICsgIC8vLw0KPj4gKyAgLy8vIEluZGl2aWR1YWwgYml0IGZpZWxkcw0KPj4gKyAgLy8v DQo+PiArICBzdHJ1Y3Qgew0KPj4gKyAgICAvLy8NCj4+ICsgICAgLy8vIFtCaXQgMF0gU2VjdXJl IE1lbW9yeSBFbmNyeXB0aW9uIChTbWUpIFN1cHBvcnQNCj4+ICsgICAgLy8vDQo+PiArICAgIFVJ TlQzMiAgU21lQml0OjE7DQo+PiArDQo+PiArICAgIC8vLw0KPj4gKyAgICAvLy8gW0JpdCAxXSBT ZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTZXYpIFN1cHBvcnQNCj4+ICsgICAgLy8v DQo+PiArICAgIFVJTlQzMiAgU2V2Qml0OjE7DQo+PiArDQo+PiArICAgIC8vLw0KPj4gKyAgICAv Ly8gW0JpdCAyXSBQYWdlIGZsdXNoIE1TUiBzdXBwb3J0DQo+PiArICAgIC8vLw0KPj4gKyAgICBV SU5UMzIgIFBhZ2VGbHVzaE1zckJpdDoxOw0KPj4gKw0KPj4gKyAgICAvLy8NCj4+ICsgICAgLy8v IFtCaXQgM10gRW5jcnlwdGVkIHN0YXRlIHN1cHBvcnQNCj4+ICsgICAgLy8vDQo+PiArICAgIFVJ TlQzMiAgU2V2RXNCaXQ6MTsNCj4+ICsNCj4+ICsgICAgLy8vDQo+PiArICAgIC8vLyBbQml0IDQ6 MzFdIFJlc2VydmVkDQo+PiArICAgIC8vLw0KPj4gKyAgICBVSU5UMzIgIFJlc2VydmVkQml0czoy ODsNCj4+ICsgIH0gQml0czsNCj4+ICsgIC8vLw0KPj4gKyAgLy8vIEFsbCBiaXQgZmllbGRzIGFz IGEgMzItYml0IHZhbHVlDQo+PiArICAvLy8NCj4+ICsgIFVJTlQzMiAgVWludDMyOw0KPj4gK30g Q1BVSURfTUVNT1JZX0VOQ1JZUFRJT05fSU5GT19FQVg7DQo+PiArDQo+PiArLyoqDQo+PiArICBD UFVJRCBNZW1vcnkgRW5jcnlwdGlvbiBzdXBwb3J0IGluZm9ybWF0aW9uIEVCWCBmb3IgQ1BVSUQg bGVhZg0KPj4gKyAgI0NQVUlEX01FTU9SWV9FTkNSWVBUSU9OX0lORk8uDQo+PiArKiovDQo+PiAr dHlwZWRlZiB1bmlvbiB7DQo+PiArICAvLy8NCj4+ICsgIC8vLyBJbmRpdmlkdWFsIGJpdCBmaWVs ZHMNCj4+ICsgIC8vLw0KPj4gKyAgc3RydWN0IHsNCj4+ICsgICAgLy8vDQo+PiArICAgIC8vLyBb Qml0IDA6NV0gUGFnZSB0YWJsZSBiaXQgbnVtYmVyIHVzZWQgdG8gZW5hYmxlIG1lbW9yeSBlbmNy eXB0aW9uDQo+PiArICAgIC8vLw0KPj4gKyAgICBVSU5UMzIgIFB0ZVBvc0JpdHM6NjsNCj4+ICsN Cj4+ICsgICAgLy8vDQo+PiArICAgIC8vLyBbQml0IDY6MTFdIFJlZHVjdGlvbiBvZiBzeXN0ZW0g cGh5c2ljYWwgYWRkcmVzcyBzcGFjZSBiaXRzIHdoZW4gbWVtb3J5IGVuY3J5cHRpb24gaXMgZW5h YmxlZA0KPj4gKyAgICAvLy8NCj4+ICsgICAgVUlOVDMyICBSZWR1Y2VkUGh5c0JpdHM6NTsNCj4+ ICsNCj4+ICsgICAgLy8vDQo+PiArICAgIC8vLyBbQml0IDEyOjMxXSBSZXNlcnZlZA0KPj4gKyAg ICAvLy8NCj4+ICsgICAgVUlOVDMyICBSZXNlcnZlZEJpdHM6MjE7DQo+PiArICB9IEJpdHM7DQo+ PiArICAvLy8NCj4+ICsgIC8vLyBBbGwgYml0IGZpZWxkcyBhcyBhIDMyLWJpdCB2YWx1ZQ0KPj4g KyAgLy8vDQo+PiArICBVSU5UMzIgIFVpbnQzMjsNCj4+ICt9IENQVUlEX01FTU9SWV9FTkNSWVBU SU9OX0lORk9fRUJYOw0KPj4gKw0KPj4gKy8qKg0KPj4gKyAgU2VjdXJlIEVuY3J5cHRlZCBWaXJ0 dWFsaXphdGlvbiAoU0VWKSBzdGF0dXMgcmVnaXN0ZXINCj4+ICsNCj4+ICsqKi8NCj4+ICsjZGVm aW5lIE1TUl9TRVZfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgMHhjMDAxMDEzMQ0KPj4gKw0K Pj4gKy8qKg0KPj4gKyAgTVNSIGluZm9ybWF0aW9uIHJldHVybmVkIGZvciAjTVNSX1NFVl9TVEFU VVMgKiovIHR5cGVkZWYgdW5pb24gew0KPj4gKyAgLy8vDQo+PiArICAvLy8gSW5kaXZpZHVhbCBi aXQgZmllbGRzDQo+PiArICAvLy8NCj4+ICsgIHN0cnVjdCB7DQo+PiArICAgIC8vLw0KPj4gKyAg ICAvLy8gW0JpdCAwXSBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0aW9uIChTZXYpIGlzIGVu YWJsZWQNCj4+ICsgICAgLy8vDQo+PiArICAgIFVJTlQzMiAgU2V2Qml0OjE7DQo+PiArDQo+PiAr ICAgIC8vLw0KPj4gKyAgICAvLy8gW0JpdCAxXSBTZWN1cmUgRW5jcnlwdGVkIFZpcnR1YWxpemF0 aW9uIEVuY3J5cHRlZCBTdGF0ZSAoU2V2RXMpIGlzIGVuYWJsZWQNCj4+ICsgICAgLy8vDQo+PiAr ICAgIFVJTlQzMiAgU2V2RXNCaXQ6MTsNCj4+ICsNCj4+ICsgICAgVUlOVDMyICBSZXNlcnZlZDoz MDsNCj4+ICsgIH0gQml0czsNCj4+ICsgIC8vLw0KPj4gKyAgLy8vIEFsbCBiaXQgZmllbGRzIGFz IGEgMzItYml0IHZhbHVlDQo+PiArICAvLy8NCj4+ICsgIFVJTlQzMiAgVWludDMyOw0KPj4gKyAg Ly8vDQo+PiArICAvLy8gQWxsIGJpdCBmaWVsZHMgYXMgYSA2NC1iaXQgdmFsdWUNCj4+ICsgIC8v Lw0KPj4gKyAgVUlOVDY0ICBVaW50NjQ7DQo+PiArfSBNU1JfU0VWX1NUQVRVU19SRUdJU1RFUjsN Cj4+ICsNCj4+ICsjZW5kaWYNCj4+DQo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXw0KPj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4+IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4+IGh0dHBz Oi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0KPj4NCj4NCj4gSSBm ZWVsIHRoYXQgdGhlc2UgZGVmaW5pdGlvbnMgc2hvdWxkIGJlIGFkZGVkIHRvICJVZWZpQ3B1UGtn L0luY2x1ZGUvUmVnaXN0ZXIvQ3B1aWQuaCIsIG9yIGVsc2UgdG8gYW5vdGhlciAobmV3KSBoZWFk ZXIgZmlsZSBpbiB0aGF0IGRpcmVjdG9yeS4NCj4NCj4gSmVmZiwgd2hhdCBkbyB5b3UgdGhpbms/ DQo+DQo+IFRoYW5rcyENCj4gTGFzemxvDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fDQo+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+IGVkazItZGV2 ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVsQGxpc3RzLjAxLm9yZz4NCj4gaHR0cHM6 Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVsDQo+DQoNCg0K