From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=63.128.21.162; helo=us-smtp-delivery-162.mimecast.com; envelope-from=eugene@hp.com; receiver=edk2-devel@lists.01.org Received: from us-smtp-delivery-162.mimecast.com (us-smtp-delivery-162.mimecast.com [63.128.21.162]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 59AF5211648BB for ; Mon, 12 Nov 2018 05:58:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hp.com; s=mimecast20180716; t=1542031118; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=5iXg9JCd5/QFuyQH0Q2bJ8yt2vl5u6CFDGPMTTcy9b0=; b=mMHqOZcWUyjHCGbb8iy1MuAIkWlhOk0uQRkGND9PLY8UQWZRBDM1RIgl+JZO34lHa5ozu2NBVHNzhBUuD9GCXqAVp5aL2a4gcTqopnKYL1PlXKo0Zqo61PytHwpbQ+6ozOiMLKXjtXRn5KH1LtLG8bN15OH1KjbYRLre6zuXpzs= Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02lp0047.outbound.protection.outlook.com [207.46.163.47]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-232-PD3fCRP7P4qwYnkVVerYbw-1; Mon, 12 Nov 2018 08:58:36 -0500 Received: from CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM (10.169.97.20) by CS1PR8401MB0951.NAMPRD84.PROD.OUTLOOK.COM (10.169.24.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1294.23; Mon, 12 Nov 2018 13:58:34 +0000 Received: from CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM ([fe80::d41f:6ad6:8b6f:26ca]) by CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM ([fe80::d41f:6ad6:8b6f:26ca%4]) with mapi id 15.20.1294.045; Mon, 12 Nov 2018 13:58:33 +0000 From: "Cohen, Eugene" To: "Yao, Jiewen" , =?utf-8?B?QmluLCBTdW5nLVVrICjruYjshLHsmrEp?= , "edk2-devel@lists.01.org" , "Zhang, Chao B" CC: "Chae, Matthew" Thread-Topic: [RFC] TPM non-MMIO Access Thread-Index: AdR4eHIvXr9RSadIS3utDDz6q0OUJgABNhiwAAEyJOAAa5JakAADxFJAABQAyhA= Date: Mon, 12 Nov 2018 13:58:33 +0000 Message-ID: References: <74D8A39837DF1E4DA445A8C0B3885C503F3DF9C6@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503F3E3705@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503F3E3705@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [174.27.212.255] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; CS1PR8401MB0951; 6:Ot5ATSarHd/W963NQ8Kh7cCYsuJVNTBPu8ghIOe/qKtKYMqjffmvkdr3qBia8HWAreUbB1jj/+vlRs06Q2TlkBkVdqVuCpW7FoWlrfwy6EPkYw5/Inhf3Jpz+vF7tgukVNHKyQ9EK3CeydEDyB4X94WMCNzB7DDYjDjGFoJXTKD35SEy88KAzTo29hnubMY+9rZHziMFargZT8pDgI8TIj47oR+Ju68CjAMVde/kfpPs77QYSxvU/GxHG6ZttAsYqOf4IPITqI51QCO3TCWBKgN4Keu6/cnw1Q51UlkEMdimd/4yYi+X49rs1L/G4TLJYlRfyID2Cz+PFaOOwVMg/x3gBdRWYyONi20MyRjixIGnqAIJBcD+eoWaTw9RdTFWYN5+GoTzkFfGDFhtRCj70Nmu/XI/DJkZT3Y3pT41GW0n/VRWKVMtukoNtT+CGAY0ZBRvGZYrlndRR1c3V/aVRg==; 5:IdWglircSwUgxghIY0Nj/5fFJxeajnoPPD7h1xS8cKsyCUvygqRGAkIyCEzvvIbhodfRB7dmx8BylqBEuFlF/OehnRvT1LQyO4adtoBlBNIMsFcip+o47ogwTsxliiDZpvHVLYqeEqh1IUM/y5cyDQUDSyNAiScu5odp8SQV+wg=; 7:wmvO0vyUyeZpeUJZaJZ3SvsHtHF3IhyjWkF8/ZOugSfsMUVQoxyrrumRogBcT9WeiLteoAmu1nq22E56nJZ3S69E0zRvMA+UKiE6hqTERwKl0hkOy1aFjGF+zDlp/jRnAyM7TpRovRw8/S3FSMfleA== x-ms-exchange-antispam-srfa-diagnostics: SOS;SOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10019020)(366004)(376002)(136003)(396003)(39860400002)(346002)(6602003)(51914003)(189003)(199004)(3846002)(6116002)(790700001)(4326008)(229853002)(74316002)(66066001)(256004)(14444005)(110136005)(6506007)(53546011)(71200400001)(102836004)(71190400001)(186003)(26005)(486006)(25786009)(476003)(33656002)(19627235002)(11346002)(446003)(561944003)(68736007)(8936002)(6436002)(478600001)(2501003)(14454004)(7736002)(53946003)(53936002)(5660300001)(9686003)(236005)(6306002)(54896002)(55016002)(6246003)(106356001)(2906002)(105586002)(93886005)(316002)(7696005)(76176011)(99286004)(86362001)(8676002)(81166006)(97736004)(81156014)(2900100001)(7756004); DIR:OUT; SFP:1102; SCL:1; SRVR:CS1PR8401MB0951; H:CS1PR8401MB1189.NAMPRD84.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; x-ms-office365-filtering-correlation-id: 88e6b9bf-f9a0-4949-e1b8-08d648a6ef60 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390040)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:CS1PR8401MB0951; x-ms-traffictypediagnostic: CS1PR8401MB0951: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(228905959029699)(73583498263828)(162533806227266)(788757137089)(21748063052155)(28532068793085)(190501279198761)(227612066756510); x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231382)(944501410)(52105112)(3002001)(10201501046)(93006095)(93001095)(148016)(149066)(150057)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123564045)(20161123560045)(20161123558120)(201708071742011)(7699051)(76991095); SRVR:CS1PR8401MB0951; BCL:0; PCL:0; RULEID:; SRVR:CS1PR8401MB0951; x-forefront-prvs: 0854128AF0 x-microsoft-antispam-message-info: Sf6XgXIHM/QZTJ3v/fnej13togW9Yu7ezlt3YpAOJb/pEMU+mfX+oWrPlPN+0oX/sjJt4toY329upSmtIq4VDhxnRvXuwk2isvJixfiOCnONjkKaEfeARkOnSC2T0fZHnz77JSVApQ/ao1pr1ud9AxolZecROdtnu9MQ8Znf02z6D+oOctsXHa5n/5lUbxtNL+tWxy0Nry4UEZWdlhbXNm6zXuyXiuSBiYXrmUFHIB997S+26zQT/jyYY6NZZYZMNJFrA2kHJsIpqdPNYY6mMLnVh989LiUpAT2aL3aIag+SEH1SKVRcnGWvswAPHXaJp+JCs5PG+oLNPL+S5NCZFlivGfnxjOymDOy7t0F2aiQ= spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM MIME-Version: 1.0 X-OriginatorOrg: hp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 88e6b9bf-f9a0-4949-e1b8-08d648a6ef60 X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Nov 2018 13:58:33.6187 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: ca7981a2-785a-463d-b82a-3db87dfc3ce6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR8401MB0951 X-MC-Unique: PD3fCRP7P4qwYnkVVerYbw-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [RFC] TPM non-MMIO Access X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Nov 2018 13:58:40 -0000 Content-Language: en-US Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Smlld2VuLA0KDQpXZSBkb24ndCBoYXZlIGEgcGF0Y2ggeWV0IOKAkyB3ZSB3YW50ZWQgdG8gY2hl Y2sgd2l0aCB5b3UgZmlyc3QgYmVmb3JlIGdvaW5nIHRvbyBmYXIuDQoNCg0Kw5ggIE9yIGp1c3Qg YSBzaW1wbGUgcmVwbGFjZS1hbGwgZm9yIE1taW9SZWFkL1dyaXRlLT5UcG1NbWlvUmVhZC9Xcml0 ZS4NCg0KWWVzLCBiYXNpY2FsbHkg4oCTIHdpdGggYSBsaWJyYXJ5IGNsYXNzIHRvIHN1cHBvcnQg aXQuDQoNCldlIHNob3VsZCBub3QgY2FsbCBpdCAiVHBtTW1pb1JlYWQ4IiBzaW5jZSBvbiBzb21l IHBhdGhzIGl0IGlzIG5vdCBNTUlPIGF0IGFsbC4gIFdlIHNob3VsZCBjYWxsIGl0IFRwbVJlYWQ4 IChvciBzb21ldGhpbmcgbGlrZSB0aGF0KSBhbmQgdGhlbiB0aGUgTU1JTyBpbnN0YW5jZSBvZiB0 aGUgbGlicmFyeSBjbGFzcyB3b3VsZCBjYWxsIE1taW8gZnVuY3Rpb25zLg0KDQpUaGFua3MsDQoN CkV1Z2VuZQ0KDQpGcm9tOiBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+DQpTZW50 OiBTdW5kYXksIE5vdmVtYmVyIDExLCAyMDE4IDk6MzMgUE0NClRvOiBCaW4sIFN1bmctVWsgKOu5 iOyEseyasSkgPHN1bmd1ay1iaW5AaHAuY29tPjsgQ29oZW4sIEV1Z2VuZSA8ZXVnZW5lQGhwLmNv bT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBaaGFuZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdA aW50ZWwuY29tPg0KQ2M6IENoYWUsIE1hdHRoZXcgPG1hdHRoZXcuY2hhZUBocC5jb20+DQpTdWJq ZWN0OiBSRTogW1JGQ10gVFBNIG5vbi1NTUlPIEFjY2Vzcw0KDQpPSy4gVGhhbmtzIGZvciB0aGUg Y2xhcmlmaWNhdGlvbi4NCg0KSWYgcG9zc2libGUsIHdvdWxkIHlvdSBwbGVhc2UgcG9zdCB5b3Vy IHBhdGNoIHRvIHNvbWV3aGVyZT8NCg0KRG8geW91IHJlcXVlc3QgdG8gY2hhbmdlIGFueSBvdGhl ciBsb2dpYyBpbiBleGlzdGluZyBUcG0yRGV2aWNlTGliID8NCk9yIGp1c3QgYSBzaW1wbGUgcmVw bGFjZS1hbGwgZm9yIE1taW9SZWFkL1dyaXRlLT5UcG1NbWlvUmVhZC9Xcml0ZS4NCg0KVGhhbmsg eW91DQpZYW8gSmlld2VuDQoNCkZyb206IEJpbiwgU3VuZy1VayAo67mI7ISx7JqxKSBbbWFpbHRv OnN1bmd1ay1iaW5AaHAuY29tXQ0KU2VudDogTW9uZGF5LCBOb3ZlbWJlciAxMiwgMjAxOCAxMjox NyBQTQ0KVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2Vu Lnlhb0BpbnRlbC5jb20+PjsgQ29oZW4sIEV1Z2VuZSA8ZXVnZW5lQGhwLmNvbTxtYWlsdG86ZXVn ZW5lQGhwLmNvbT4+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmc+OyBaaGFuZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPG1haWx0 bzpjaGFvLmIuemhhbmdAaW50ZWwuY29tPj4NCkNjOiBDaGFlLCBNYXR0aGV3IDxtYXR0aGV3LmNo YWVAaHAuY29tPG1haWx0bzptYXR0aGV3LmNoYWVAaHAuY29tPj4NClN1YmplY3Q6IFJFOiBbUkZD XSBUUE0gbm9uLU1NSU8gQWNjZXNzDQoNCkhpIEppZXdlbg0KDQpXaGF0IEV1Z2VuZSBwcm9wb3Nl cyBpcyBub3QgdG8gbWFrZSB0aG9zZSBhbm90aGVyIFRQTSBkZXZpY2UgbGlicmFyeSBpbnN0YW5j ZXMuDQpJbnN0ZWFkLCB3ZSBwcm9wb3NlIG5ldyDigJxUcG1Jb0xpYuKAnSB3aGljaCBjYW4gaGFu ZGxlIGJvdGggTU1JTyBhbmQgbm9uLU1NSU8gZGV2aWNlLg0KDQrDqCBDdXJyZW50bHkgVHBtMTJU aXMuYywgVHBtMlRpcy5jIGFuZCBUcG0yUHRwLmMgdXNlcyBJb0xpYiAoQ1BVIElPKSwgYW5kIHdo YXQgd2UgcHJvcG9zZSBpcyB0byByZXBsYWNlIGl0IHdpdGggVHBtSW9MaWIuDQoNCkZvciBleGFt cGxlLCBUcG1Jb0xpYiBjYW4gcHJvdmlkZSBUcG1NbWlvUmVhZCgpIGFuZCBUcG0xMlRpcy5jLCBU cG0yVGlzLmMgYW5kIFRwbTJQdHAuYyBjYW4gdXNlIFRwbU1taW9SZWFkKCkgaW5zdGVhZCBvZiBN bWlvUmVhZCgpLg0KDQotICAgICAgICAgIFRwbUlvTGliIGZvciBQQyAoZGVmYXVsdCBpbiBTZWN1 cml0eVBrZykNClVJTlQ4IFRwbU1taW9SZWFkOCAoVUlOVE4gIEFkZHJlc3MgKQ0Kew0KICAgICAg ICAgICAgICAgIHJldHVybiBNbWlvUmVhZDgoQWRkcmVzcyk7DQp9DQoNCg0KLSAgICAgICAgICBU cG1Jb0xpYiBmb3IgU1BJICh2ZW5kb3IgY3JlYXRlcyBuZXcgaW5zdGFuY2UpDQpVSU5UOCBUcG1N bWlvUmVhZDggKFVJTlROICBBZGRyZXNzICkNCnsNCiAgICAgICAgICAgICAgICBVSU5UOCBEYXRh LCBTcGlDczsNCiAgICAgICAgICAgICAgICBTcGlDcyA9IChBZGRyZXNzICYgMHhGRjAwMDApID4+ IDE2Ow0KICAgICAgICAgICAgICAgIFRwbUFkZHJlc3MgPSBBZGRyZXNzICYgMHhGRkZGOw0KDQog ICAgICAgICAgICAgICAvKiBWZW5kb3Igc3BlY2lmaWMgU1BJIGNvbnRyb2wgZm9yIFRQTSAqLw0K ICAgICAgICAgICAgICAgIOKApg0KICAgICAgICAgICAgICAgIFNwaVdyaXRlKFNwaUNzLCBUcG1B ZGRyZXNzKTsNCiAgICAgICAgICAgICAgICDigKYNCiAgICAgICAgICAgICAgICBTcGlSZWFkKFNw aUNzLCBUcG1BZGRyZXNzLCAmRGF0YSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIERhdGE7DQp9 DQoNClRoaXMgcHJvcG9zYWwgY2FtZSBmcm9tIGNvZGUgbWFpbnRhbmFuY2UsDQp3aGVuIHdlIG5l ZWQgdG8gdXBkYXRlIFNlY3VyaXR5UGtnLCB0aGVuIGluIHRoaXMgY2FzZSBpdOKAmXMgbW9yZSBl YXN5IHRvIHVwZGF0ZSB0aGFuIG1ha2luZyBhbm90aGVyIFRwbTJEZXZpY2VMaWJEVHBtIGluc3Rh bmNlLg0KDQpUaGFua3MsDQpCaW4NCg0KRnJvbTogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50 ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGludGVsLmNvbT4+DQpTZW50OiBTYXR1cmRheSwgTm92 ZW1iZXIgMTAsIDIwMTggODoxOCBBTQ0KVG86IENvaGVuLCBFdWdlbmUgPGV1Z2VuZUBocC5jb208 bWFpbHRvOmV1Z2VuZUBocC5jb20+PjsgZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVk azItZGV2ZWxAbGlzdHMuMDEub3JnPjsgWmhhbmcsIENoYW8gQiA8Y2hhby5iLnpoYW5nQGludGVs LmNvbTxtYWlsdG86Y2hhby5iLnpoYW5nQGludGVsLmNvbT4+DQpDYzogQmluLCBTdW5nLVVrICjr uYjshLHsmrEpIDxzdW5ndWstYmluQGhwLmNvbTxtYWlsdG86c3VuZ3VrLWJpbkBocC5jb20+Pjsg Q2hhZSwgTWF0dGhldyA8bWF0dGhldy5jaGFlQGhwLmNvbTxtYWlsdG86bWF0dGhldy5jaGFlQGhw LmNvbT4+DQpTdWJqZWN0OiBSRTogW1JGQ10gVFBNIG5vbi1NTUlPIEFjY2Vzcw0KDQpIaSBFdWdl bmUNClRoZSBUcG1Jb0xpYiBwcm9wb3NhbCBpcyBzaW1pbGFyIHRvIHRoZSBleGlzdGluZyBUcG1E ZXZpY2VMaWIuDQpXZSBoYXZlIEkyQyBUUE0gaW5zdGFuY2UgYXMgZXhhbXBsZS4gWW91IG1heSBj cmVhdGUgVHBtMTJEZXZpY2VMaWJYWFhTcGkuDQoNClBsZWFzZSBsZXQgdXMga25vdyBpZiB0aGVy ZSBpcyBhbnkgZ2FwIHRvIHN1cHBvcnQgeW91ciBub24tTU1JTyBkZXZpY2UuDQoNClRoYW5rIHlv dQ0KWWFvIEppZXdlbg0KDQoNCkZyb206IFlhbywgSmlld2VuDQpTZW50OiBTYXR1cmRheSwgTm92 ZW1iZXIgMTAsIDIwMTggNzoxMiBBTQ0KVG86ICdDb2hlbiwgRXVnZW5lJyA8ZXVnZW5lQGhwLmNv bTxtYWlsdG86ZXVnZW5lQGhwLmNvbT4+OyBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86 ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBaaGFuZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdAaW50 ZWwuY29tPG1haWx0bzpjaGFvLmIuemhhbmdAaW50ZWwuY29tPj4NCkNjOiBCaW4sIFN1bmctVWsg KOu5iOyEseyasSkgPHN1bmd1ay1iaW5AaHAuY29tPG1haWx0bzpzdW5ndWstYmluQGhwLmNvbT4+ OyBDaGFlLCBNYXR0aGV3IDxtYXR0aGV3LmNoYWVAaHAuY29tPG1haWx0bzptYXR0aGV3LmNoYWVA aHAuY29tPj4NClN1YmplY3Q6IFJFOiBbUkZDXSBUUE0gbm9uLU1NSU8gQWNjZXNzDQoNCkhpIEV1 Z2VuZQ0KQ29tcGxldGUgYWdyZWUuDQoNCg0KMSkgICAgICAgcGxlYXNlIGlnbm9yZSBUcG1Db21t TGliLiBJdCBpcyBkZXByZWNhdGVkLiDimLoNCg0KDQoyKSAgICAgICB3ZSBkaWQgbm90aWNlIHRo ZXJlIGlzIG5vbi1NTUlPIFRQTSBkZXZpY2UgYmVmb3JlIGFuZCBhYnN0cmFjdCB0aGUgZGV2aWNl IGFjY2VzcyB2aWEgVHBtMkRldmljZUxpYiBhbmQgVHBtMTJEZXZpY2VMaWIgbGlicmFyeSBjbGFz cy4gVGhlIFRwbTJEZXZpY2VMaWJEVHBtIGFuZCBUcG0xMkRldmljZUxpYkRUcG0gYXJlIHRoZSBs aWJyYXJ5IGluc3RhbmNlIGZvciBNTUlPIFRJUyBhY2Nlc3MuDQoNCldlIGRvIGhhdmUgb3RoZXIg aW5zdGFuY2Ugc3VjaCBhcyBRdWFya1BsYXRmb3JtUGtnXExpYnJhcnlcVHBtMTJEZXZpY2VMaWJB dG1lbEkyYyBvciBRdWFya1BsYXRmb3JtUGtnXExpYnJhcnlcVHBtMTJEZXZpY2VMaWJJbmZpbmVv bkkyYy4NCg0KDQozKSAgICAgICBUY2cyQ29uZmlnIGlzIGFsc28gYSBUUE0gZGV2aWNlIG9yaWVu dGVkIGRyaXZlci4gSXQgaXMgb3B0aW9uYWwuDQpZb3UgbWF5IHdhbnQgdG8gdGFrZSBhIGxvb2sg YXQgUXVhcmtQbGF0Zm9ybVBrZ1xRdWFyay5kc2MgdG8gc2VlIGRpZmZlcmVudCBUUE0gZGV2aWNl IGlzIGNob3Nlbi4NCg0KICAjDQogICMgVFBNIDEuMiBIYXJkd2FyZS4gIE9wdGlvbnMgYXJlIFtO T05FLCBMUEMsIEFUTUVMX0kyQywgSU5GSU5FT05fSTJDXQ0KICAjDQogIERFRklORSBUUE1fMTJf SEFSRFdBUkUgICAgICA9IE5PTkUNCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCkZyb206IENv aGVuLCBFdWdlbmUgW21haWx0bzpldWdlbmVAaHAuY29tXQ0KU2VudDogU2F0dXJkYXksIE5vdmVt YmVyIDEwLCAyMDE4IDY6MzggQU0NClRvOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzxtYWlsdG86 ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBaaGFuZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdAaW50 ZWwuY29tPG1haWx0bzpjaGFvLmIuemhhbmdAaW50ZWwuY29tPj47IFlhbywgSmlld2VuIDxqaWV3 ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2VuLnlhb0BpbnRlbC5jb20+Pg0KQ2M6IEJpbiwg U3VuZy1VayAo67mI7ISx7JqxKSA8c3VuZ3VrLWJpbkBocC5jb208bWFpbHRvOnN1bmd1ay1iaW5A aHAuY29tPj47IENoYWUsIE1hdHRoZXcgPG1hdHRoZXcuY2hhZUBocC5jb208bWFpbHRvOm1hdHRo ZXcuY2hhZUBocC5jb20+Pg0KU3ViamVjdDogW1JGQ10gVFBNIG5vbi1NTUlPIEFjY2Vzcw0KDQpE ZWFyIFNlY3VyaXR5UGtnIG1haW50YWluZXJzLA0KDQpXZSBhcmUgdHJ5aW5nIHRvIHVzZSB0aGUg U2VjdXJpdHlQa2cgVFBNIHN1cHBvcnQgKFRjZzJDb25maWcsIFRwbTJEZXZpY2VMaWJEVHBtLCBl dGMpIGFuZCBzZWUgdGhhdCBhY2Nlc3MgdG8gdGhlIFRQTSBhcmUgdXNpbmcgdGhlIE1NSU8gcm91 dGluZXMgc3VjaCBhcyBNbWlvUmVhZDgoKS4NCg0KTm90IGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCBt ZW1vcnktbWFwcGVkIGFjY2VzcyB0byB0aGUgVFBNIHNvIHdlIHdvdWxkIGxpa2UgdG8gcHJvcG9z ZSB0aGF0IHdlIGNyZWF0ZSBhIGxpYnJhcnkgdG8gYWJzdHJhY3QgdGhlIFRQTSBhY2Nlc3MsIGNh bGxlZCB0aGUgVHBtSW9MaWIuICBPbmUgaW5zdGFuY2Ugb2YgdGhlIGxpYnJhcnkgd291bGQgcHJv dmlkZSB0aGUgTW1pbyAoVHBtSW9MaWJNbWlvKSBtZXRob2QgYnV0IG90aGVycyBjYW4gdXNlIHBy b3RvY29scyBsaWtlIFNQSSAoVHBtSW9MaWJTcGkpLg0KDQpCZWZvcmUgc3RhcnRpbmcgdGhpcyB3 b3JrIEkgd2FudGVkIHRvIGNoZWNrIGlmIHlvdSBhZ3JlZSB3aXRoIHRoZSBhcHByb2FjaCBvZiBy ZXBsYWNpbmcgdGhlIE1taW8gY2FsbHMgd2l0aCBuZXcgVHBtSW9MaWIgb25lcy4gIFdlIGNhbiB1 cHN0cmVhbSB0aGUgbGlicmFyeSBoZWFkZXIgYW5kIG1taW8gbGlicmFyeSBpbnN0YW5jZSAob3Ig eW91IGNvdWxkIGRvIHRoZSB3b3JrIGlmIHlvdSB0aGluayBpdCB3b3VsZCBiZSBlYXNpZXIgZm9y IHlvdSkuDQoNCkkgY291bnRlZCB1cCB0aGUgbnVtYmVyIG9mIGluc3RhbmNlcyBvZiB1bmlxdWUg TU1JTyBjYWxscyBpbiB0aGUgVFBNIGxpYnJhcmllcyBhbmQgZ290DQoNCkxpYnJhcnkvVHBtQ29t bUxpYi9UaXNQYy5jOjcNCkxpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMlRpcy5jOjEzDQpM aWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJQdHAuYzoyOQ0KTGlicmFyeS9UcG0xMkRldmlj ZUxpYkRUcG0vVHBtMTJUaXMuYzoxNg0KDQpQbGVhc2UgbGV0IG1lIGtub3cgaWYgdGhpcyB3b3Jr cyBmb3IgeW91IGFuZCBob3cgeW91J2QgbGlrZSB0byBzdHJ1Y3R1cmUgdGhlIGNoYW5nZS4NCg0K VGhhbmtzLA0KDQpFdWdlbmUNCg0KDQoNCg0KFrom