From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 2F2F620958BFF for ; Wed, 6 Sep 2017 17:38:36 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2017 17:41:26 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,355,1500966000"; d="scan'208,217";a="132588011" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga002.jf.intel.com with ESMTP; 06 Sep 2017 17:41:26 -0700 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Sep 2017 17:41:25 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.219]) by shsmsx102.ccr.corp.intel.com ([169.254.2.39]) with mapi id 14.03.0319.002; Thu, 7 Sep 2017 08:41:21 +0800 From: "Wang, Jian J" To: "Yao, Jiewen" , Laszlo Ersek , "Justen, Jordan L" CC: "edk2-devel@lists.01.org" , "Kinney, Michael D" Thread-Topic: ASSERT in QemuVideoDxe driver during reset Thread-Index: AdMm3ucKp6vfV+HORTuJKz09A23e7P//r6sA//9sBlD//fzdUA== Date: Thu, 7 Sep 2017 00:41:20 +0000 Message-ID: References: <130779a4-f1c8-bf07-8b85-8125d466aed3@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503A9A8802@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503A9A8802@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 X-Content-Filtered-By: Mailman/MimeDel 2.1.22 Subject: Re: ASSERT in QemuVideoDxe driver during reset 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: Thu, 07 Sep 2017 00:38:36 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSmlld2VuIGFuZCBMYXN6bG8sDQoNCkFjY29yZGluZyB0byBib3RoIG9mIHlvdXIgY29tbWVu dHM6DQoNCg0KMS4gICAgICBWQkUgU0hJTSBtdXN0IGJlIGluc3RhbGxlZCB0byBhdm9pZCBib290 IGZhaWx1cmUgb2YgV2luZG93cyA3Lg0KDQoyLiAgICAgIEVuYWJsaW5nIE5VTEwgZGV0ZWN0aW9u IHNob3VsZCBub3QgYnJlYWsgZXhpc3RpbmcgcGxhdGZvcm1zLg0KDQpMZXQgbWUgY2xhcmlmeSBh IGZldyB0aGluZ3MgaW4gYWR2YW5jZS4gSSB0aGluayB0aGVyZeKAmXMgYSBsaXR0bGUgbWlzdW5k ZXJzdGFuZGluZyBvbiB0aGlzIGlzc3VlIChTb3JyeSBmb3IgbXkgcG9vciBkZXNjcmlwdGlvbiBv cmlnaW5hbGx5KS4NCg0KMS4gICAgICBOVUxMIGRldGVjdGlvbiBpcyBpbXBsZW1lbnRlZCBieSBk aXNhYmxlIGZpcnN0IDRLIHBhZ2UgKDAtNDA5NSkuIExldCBtZSBjYWxsIGl0IHBhZ2UgMC4NCg0K Mi4gICAgICBUaGUgQVNTRVJUIHdhcyBub3QgY2F1c2VkIGJ5IGFjY2Vzc2luZyBwYWdlIDAuIEkg ZG8gZW5hYmxpbmcgcGFnZSAwIGJlZm9yZSBhY2Nlc3MgaW50MTAgdmVjdG9yIGluIFFlbXVWaWRl b0R4ZSBkcml2ZXIgd2hpbGUgTlVMTCBkZXRlY3Rpb24gaXMgZW5hYmxlZC4NCg0KMy4gIFRoZSBB U1NFUlQgd2lsbCBvbmx5IGJlIHRyaWdnZXJlZCBieSByZXNldCBiZWNhdXNlIFFlbXVWaWRlb0R4 ZSB3aWxsIHdyaXRlIGludDEwIHZlY3RvciBhbmQgbWVtb3J5IGF0IHRoYXQgcGxhY2Uga2VlcHMg aW50YWN0IGR1cmluZyByZXNldC4NCg0KNC4gIFRoZSByb290IGNhdXNlIG9mIEFTU0VSVCBpcyB0 aGUgZmFjdCB0aGF0IHBhZ2UgMCBpcyBhbHdheXMgY2xlYXJlZCBpbiBEWEUgY29yZSBleGNlcHQg dG8gTlVMTCBkZXRlY3Rpb24gZW5hYmxlZC4gSSBjaGFuZ2VkIENvcmVBZGRSYW5nZSgpIGluIHBh Z2UuYyBpbiBEWEMgY29yZSBsaWtlIGJlbG93IHRvIGF2b2lkIHBhZ2UgZmF1bHQgaW4gY29yZS4N Ci8vDQogIC8vIElmIG1lbW9yeSBvZiB0eXBlIEVmaUNvbnZlbnRpb25hbE1lbW9yeSBpcyBiZWlu ZyBhZGRlZCB0aGF0IGluY2x1ZGVzIHRoZSBwYWdlDQogIC8vIHN0YXJ0aW5nIGF0IGFkZHJlc3Mg MCwgdGhlbiB6ZXJvIHRoZSBwYWdlIHN0YXJ0aW5nIGF0IGFkZHJlc3MgMC4gIFRoaXMgaGFzDQog IC8vIHR3byBiZW5pZml0cy4gIEl0IGhlbHBzIGZpbmQgTlVMTCBwb2ludGVyIGJ1Z3MgYW5kIGl0 IGFsc28gbWF4aW1pemVzDQogIC8vIGNvbXBhdGliaWxpdHkgd2l0aCBvcGVyYXRpbmcgc3lzdGVt cyB0aGF0IG1heSBldmFsdWF0ZSBtZW1vcnkgaW4gdGhpcyBwYWdlDQogIC8vIGZvciBsZWdhY3kg ZGF0YSBzdHJ1Y3R1cmVzLiAgSWYgbWVtb3J5IG9mIGFueSBvdGhlciB0eXBlIGlzIGFkZGVkIHN0 YXJ0aW5nDQogIC8vIGF0IGFkZHJlc3MgMCwgdGhlbiBkbyBub3QgemVybyB0aGUgcGFnZSBhdCBh ZGRyZXNzIDAgYmVjYXVzZSB0aGUgcGFnZSBpcyBiZWluZw0KICAvLyB1c2VkIGZvciBvdGhlciBw dXJwb3Nlcy4NCiAgLy8NCiAgaWYgKFR5cGUgPT0gRWZpQ29udmVudGlvbmFsTWVtb3J5ICYmIFN0 YXJ0ID09IDAgJiYgKEVuZCA+PSBFRklfUEFHRV9TSVpFIC0gMSkpIHsNCiAgICBpZiAoKFBjZEdl dDgoUGNkTnVsbFBvaW50ZXJEZXRlY3Rpb25Qcm9wZXJ0eU1hc2spICYgQklUMCkgPT0gMCkgew0K ICAgICAgU2V0TWVtICgoVk9JRCAqKShVSU5UTilTdGFydCwgRUZJX1BBR0VfU0laRSwgMCk7DQog ICAgfQ0KICB9DQoNCkkgdGhpbmsgdGhlIGJlc3Qgc29sdXRpb24gYXQgcHJlc2VudCBpcyB0byB1 cGRhdGUgYWJvdmUgY29kZSB0byBtYWtlIHN1cmUgcGFnZSAwIGlzIGFsd2F5cyBjbGVhcmVkIG5v IG1hdHRlciBOVUxMIGRldGVjdGlvbiBpcyBlbmFibGUgb3Igbm90LiBUbyBtYWtlIGl0IHBvc3Np YmxlLCBJIGhhdmUgdG8gZW5hYmxlIHBhZ2UgMCBiZWZvcmUgbWVtb3J5IGNsZWFyaW5nIGFuZCBk aXNhYmxlIGl0IGFnYWluIGFmdGVyIHRoZW4uIE15IGNvbmNlcm4gaXMgdGhhdCBJIGNhbm5vdCB1 c2UgQ1BVIGFyY2ggcHJvdG9jb2wgdG8gZG8gc28gaW4gQ29yZUFkZFJhbmdlKCkgZnVuY3Rpb24g YmVjYXVzZSBpdOKAmXMgbm90IHJlYWR5IGF0IHRoYXQgdGltZS4gVGhlcmXigJlyZSB0d28gb3B0 aW9ucyBoZXJlLiBPbmUgaXMg4oCcbWFudWFsbHnigJ0gZGlzYWJsaW5nIHBhZ2UgMCAocmVhZCBj cjMsIHRoZW4gcG00bCwgdGhlbiBwZGXigKYpIGluIGFib3ZlIGNvZGU7IGFub3RoZXIgaXMgbW92 aW5nIGFib3ZlIGNvZGUgdG8gYW5vdGhlciBwbGFjZSB3aGVyZSBwYWdpbmcgb3BlcmF0aW9uIGlz IGF0IGhhbmQsIGxpa2UgRHhlSXBsIG9yIENQVSBkcml2ZXIuIE15IHBlcnNvbmFsIG9waW5pb24g aXMgc2Vjb25kIG9uZSB3b3VsZCBiZSBiZXR0ZXIuIFdoYXTigJlzIHlvdXIgb3BpbmlvbnM/IE9y IGFueSBiZXR0ZXIgaWRlYXM/DQoNClRoYW5rcywNCldhbmcsIEppYW4gSg0KDQpGcm9tOiBZYW8s IEppZXdlbg0KU2VudDogV2VkbmVzZGF5LCBTZXB0ZW1iZXIgMDYsIDIwMTcgNzoxNyBQTQ0KVG86 IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBXYW5nLCBKaWFuIEogPGppYW4uai53 YW5nQGludGVsLmNvbT47IEp1c3RlbiwgSm9yZGFuIEwgPGpvcmRhbi5sLmp1c3RlbkBpbnRlbC5j b20+DQpDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc7IEtpbm5leSwgTWljaGFlbCBEIDxtaWNo YWVsLmQua2lubmV5QGludGVsLmNvbT4NClN1YmplY3Q6IFJFOiBBU1NFUlQgaW4gUWVtdVZpZGVv RHhlIGRyaXZlciBkdXJpbmcgcmVzZXQNCg0KSEkNCkkgdGhpbmsgdGhlIE5VTEwgZGV0ZWN0aW9u IGZlYXR1cmUgc2hvdWxkICpuZXZlciogYnJlYWsgYW55IGV4aXN0aW5nIHBsYXRmb3JtLg0KTm8g cmVhbCBmdW5jdGlvbiBzaG91bGQgYmUgc2tpcHBlZCBmb3IgUGNkTnVsbERldGVjdGlvbi4NCg0K SWYgSW5zdGFsbFZiZVNoaW0gKCkgaXMgbmVlZGVkIGZvciBDU00sIHdlIHNob3VsZCBhbHdheXMg Y2FsbCBJbnN0YWxsVmJlU2hpbSgpIGZvciBDU00uDQoNCkkgc3VnZ2VzdCBiZWxvdyBvcHRpb25z Og0KDQoxKSAgICAgIEluIE9WTUYsIGlmIENTTSBpcyBlbmFibGVkLCBkaXNhYmxlIFBjZE51bGxE ZXRlY3Rpb24uDQoNCjIpICAgICAgSW4gT1ZNRiwgaWYgYW55IGRyaXZlciBuZWVkIGFjY2VzcyBm aXJzdCA0SyBwYWdlLCB0aGUgY29kZSBzaG91bGQgZXhwbGljaXQgY2FsbCBTZXRBdHRyaWJ1dGUo MCwgNEssIFJFQUR8V1JJVEUpLCBpZiBQY2ROdWxsRGV0ZWN0aW9uIGlzIGVuYWJsZWQuDQoNCkVp dGhlciAjMSBvciAjMiBpcyBPSy4NCiMxIGlzIHNpbXBsZSwgYW5kICMyIGNhbiBoZWxwIGRldGVj dCBtb3JlIHBvdGVudGlhbCBpc3N1ZS4NCg0KVGhhbmsgeW91DQpZYW8gSmlld2VuDQoNCkZyb206 IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KU2VudDogV2VkbmVzZGF5 LCBTZXB0ZW1iZXIgNiwgMjAxNyA2OjIxIFBNDQpUbzogV2FuZywgSmlhbiBKIDxqaWFuLmoud2Fu Z0BpbnRlbC5jb208bWFpbHRvOmppYW4uai53YW5nQGludGVsLmNvbT4+OyBKdXN0ZW4sIEpvcmRh biBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50 ZWwuY29tPj47IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbTxtYWlsdG86amlld2Vu Lnlhb0BpbnRlbC5jb20+Pg0KQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsy LWRldmVsQGxpc3RzLjAxLm9yZz47IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbTxtYWlsdG86bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Pg0KU3ViamVjdDog UmU6IEFTU0VSVCBpbiBRZW11VmlkZW9EeGUgZHJpdmVyIGR1cmluZyByZXNldA0KDQpPbiAwOS8w Ni8xNyAxMDoxNSwgV2FuZywgSmlhbiBKIHdyb3RlOg0KPiBIaSBndXlzLA0KPg0KPiBJIGZvdW5k IGFuIEFTU0VSVCBpc3N1ZSBpbiBmdW5jdGlvbiBJbnN0YWxsVmJlU2hpbSgpIGluIFFlbXVWaWRl b0R4ZQ0KPiBkcml2ZXIgZHVyaW5nIHJlc2V0LiBUaGUgYXNzZXJ0IHN0YXRlbWVudCBpcyBsaWtl IGJlbG93Lg0KPg0KPiAgICAgQVNTRVJUIChJbnQweDEwLT5TZWdtZW50ID09IDB4MDAwMCk7DQo+ ICAgICBBU1NFUlQgKEludDB4MTAtPk9mZnNldCAgPT0gMHgwMDAwKTsNCj4NCj4gVGhpcyBoYXBw ZW5lZCBhZnRlciBJIGhhdmUgZW5hYmxlZCBOVUxMIHBvaW50ZXIgYWNjZXNzIGRldGVjdGlvbg0K PiBmZWF0dXJlLCBpbiB3aGljaCBwYWdlIDAgKDRLKSAgaXMgZGlzYWJsZWQuDQoNClRoZSBOVUxM IHBvaW50ZXIgYWNjZXNzIGRldGVjdGlvbiBjb25mbGljdHMgd2l0aCB0aGUgVkJFIHNoaW0uIEZv cg0KaW5zdGFsbGluZyB0aGUgVkJFIHNoaW0sIE9WTUYgaGFzIHRvIHdyaXRlIHRvIHBhZ2UgMCwg b24gcHVycG9zZS4NCg0KUGxlYXNlIHNlZSBjb21taXQgOTA4MDMzNDJiMWI2ICgiT3ZtZlBrZzog UWVtdVZpZGVvRHhlOiBJbnQxMGggc3R1YiBmb3INCldpbmRvd3MgNyAmIDIwMDggKHN0ZHZnYSwg UVhMKSIsIDIwMTQtMDUtMjApLg0KDQo+IEFuZCBiZWNhdXNlIG9mIHBhZ2UgMCBkaXNhYmxlZCwg SSBoYXZlIHRvIHNraXAgdGhlIG1lbW9yeSBjbGVhcmluZyBmb3INCj4gcGFnZSAwIGluIERYRSBj b3JlLg0KDQpCeSBkb2luZyB0aGF0LCB5b3UgaW52YWxpZGF0ZSB0aGUgZm9sbG93aW5nIGNvbW1l bnQgaW4gc2FpZCBPVk1GIGNvbW1pdDoNCg0KKyAgICAvLw0KKyAgICAvLyBXZSBtYW5hZ2VkIHRv IGFsbG9jYXRlIHRoZSBwYWdlIGF0IHplcm8uIFNWTiByMTQyMTggZ3VhcmFudGVlcyB0aGF0IGl0 DQorICAgIC8vIGlzIE5VTC1maWxsZWQuDQorICAgIC8vDQorICAgIEFTU0VSVCAoSW50MHgxMC0+ U2VnbWVudCA9PSAweDAwMDApOw0KKyAgICBBU1NFUlQgKEludDB4MTAtPk9mZnNldCAgPT0gMHgw MDAwKTsNCg0KQmVjYXVzZSBTVk4gcjE0MjE4IHdhcyB3aGF0IGFkZGVkIHRoZSBjbGVhcmluZyBv ZiBwYWdlIDAgdG8gdGhlIERYRQ0KY29yZS4gKEV4cHJlc3NlZCBhcyBhIGdpdCBjb21taXQ6IGQ0 MzZkNWNhMDkzNi4pDQoNCj4gT3RoZXJ3aXNlIGl0IHdpbGwgY2F1c2UgcGFnZSBmYXVsdCBleGNl cHRpb24gdGhlcmUuIEl0IHNlZW1zIHRoYXQgUUVNVQ0KPiBtYXkgY2xlYXIgYWxsIGl0cyBtZW1v cnkgYXQgc3RhcnR1cC4gU2tpcHBpbmcgdGhlIGFjdGlvbiBvZiBjbGVhcmluZw0KPiBwYWdlIDAg aW4gY29yZSB3b24ndCBjYXVzZSBBU1NFUlQgaXNzdWUgaW4gUWVtdVZpZGVvRHhlLCBmb3IgdGhl IGZpcnN0DQo+IHRpbWUgYm9vdC4gQnV0IFFlbXVWaWRlb0R4ZSB3aWxsIHdyaXRlIGludDEwIHZl Y3RvciBhdCBtZW1vcnkgMHgxMCBhbmQNCj4gUUVNVSB3aWxsIG5vdCBjbGVhciBhbGwgaXRzIG1l bW9yeSBkdXJpbmcgd2FybSBib290LiBBU1NFUlQgd2lsbCBiZQ0KPiB0cmlnZ2VyZWQgYWZ0ZXIg cmVzZXQuDQoNClFFTVUgZG9lcyBub3QgY2xlYXIgZ3Vlc3QgUkFNIGF0IHJlYm9vdCAob3IgUzMg cmVzdW1lKS4NCg0KPiBJdCdzIGVhc3kgdG8gZml4IHRoaXMgaXNzdWUgYnV0IHRoZXJlJ3JlIHNv bWUgc3VidGxlIHNpdHVhdGlvbnMgd2hpY2gNCj4gSSdtIG5vdCBxdWl0ZSBjZXJ0YWluLiBJJ2Qg bGlrZSB5b3VyIG9waW5pb25zIGZvciB0aGVtLg0KPg0KPiBIZXJlJ3JlIG15IHRob3VnaHRzIG9u IHNldmVyYWwgc29sdXRpb25zOg0KPiBhKSBSZW1vdmUgdGhlIEFTU0VSVCBzdGF0ZW1lbnQgaW4g SW5zdGFsbFZiZVNoaW0oKS4NCg0KTm90IGEgZ29vZCBpZGVhLg0KDQo+IEJ1dCBJJ20gc3VyZSBp ZiBpdCBpcyBzYWZlIHRvIGRvIHNvIGJlY2F1c2UgSSBkb24ndCBxdWl0ZSB1bmRlcnN0YW5kDQo+ IHRoZSBwdXJwb3NlIG9mIHRoZSBBU1NFUlQuDQoNClRoZSBBU1NFUlQgZXhwcmVzc2VzIG91ciBi ZWxpZWYgdGhhdCwgYWZ0ZXIgd2UgbWFuYWdlIHRvICphbGxvY2F0ZSogcGFnZQ0KMCwgd2UgY2Fu IGZyZWVseSB3cml0ZSB0aGUgcmVhbCBtb2RlIEludDB4MTAgdmVjdG9yIHRoZXJlLCB3aXRob3V0 DQpvdmVyd3JpdGluZyBhbnl0aGluZyBlbHNlLg0KDQo+IGIpIEluc3RlYWQgb2Ygc2tpcHBpbmcg Y2xlYXJpbmcgcGFnZSAwLCBlbmFibGUgaXQsIGRvIGNsZWFyaW5nIGFuZA0KPiB0aGVuIGRpc2Fi bGUgaXQuIFRoZSBwcm9ibGVtIGhlcmUgaXMgdGhhdCBDUFUgYXJjaCBwcm90b2NvbCBpcyBub3QN Cj4gcmVhZHkgYXQgdGhhdCB0aW1lLiBJIGhhdmUgdG8gIm1hbnVhbGx5IiBkbyBwYWdlIG9wZXJh dGlvbiwgd2hpY2gNCj4gbWlnaHQgYmUgbm9uLXBvcnRhYmxlIGFuZCBhIGxpdHRsZSBiaXQgb2Rk IGluIERYRSBjb3JlLg0KPiBjKSBNb3ZlIGNvZGUgY2xlYXJpbmcgcGFnZSAwIGZyb20gRFhFIGNv cmUgdG8gYW5vdGhlciBwbGFjZSB3aGVyZXZlcg0KPiBhcHByb3ByaWF0ZSwgbGlrZSBEeGVJcGwg b3IgY3B1IGRyaXZlci4gQnV0IEkgdGhpbmsgdGhlcmUncyBhIGdvb2QNCj4gcmVhc29uIHRvIHB1 dCBjb2RlIHRoZXJlIGJlZm9yZS4NCg0KSSdtIG5vdCBzdXJlIGhvdyB0aGUgTlVMTCBwb2ludGVy IGFjY2VzcyBkZXRlY3Rpb24gaXMgZW5hYmxlZC4gSXMgaXQNCmVuYWJsZWQgYnkgYSBQQ0Q/DQoN CkhtLCB5ZXMsIGl0IHNlZW1zLCBmcm9tIHlvdXIgcGF0Y2gNCg0KICBbZWRrMl0gW1BBVENIIDEv Ml0gSW1wbGVtZW50IE5VTEwgcG9pbnRlciBkZXRlY3Rpb24gZm9yIEVESy1JSSBDb3JlDQoNCnRo YXQgdGhlIFBDRCBpcyBjYWxsZWQNCg0KICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkTnVsbFBvaW50ZXJEZXRlY3Rpb24NCg0KSSBjYW4gc2VlIGluIHRoYXQgcGF0Y2ggdGhhdCB0 aGUgRFhFIGNvcmUgaXMgdXBkYXRlZCAqbm90KiB0byBjbGVhciBwYWdlDQowIGlmIHRoZSBQQ0Qg aXMgc2V0IHRvIFRSVUUuIFRoYXQgbWFrZXMgc2Vuc2UuDQoNCkhvd2V2ZXIsIE9WTUYgc2hvdWxk IGFsc28gYmUgdXBkYXRlZCB0byBza2lwIHRoZSBWQkUgc2hpbSBpbnN0YWxsYXRpb24NCmlmIHRo ZSBQQ0QgaXMgc2V0IHRvIFRSVUUuIE5hbWVseSwgaWYgdGhlIFBDRCBpcyBzZXQgdG8gVFJVRSwg dGhlbiB3ZQ0Kc2ltcGx5IGNhbm5vdCBwdXQgdGhlIGxlZ2FjeSBJbnQweDEwIHZlY3RvciBpbiBw bGFjZSwgc28gd2Ugc2hvdWxkbid0DQpldmVuIHRyeS4NCg0KUGxlYXNlIGV4dGVuZCB5b3VyIG9y aWdpbmFsIHBhdGNoIHNldCB3aXRoIGEgcGF0Y2ggZm9yIE92bWZQa2cuIEluIHRoZQ0KZmlsZSAi T3ZtZlBrZy9RZW11VmlkZW9EeGUvRHJpdmVyLmMiLCBsb2NhdGUgdGhlIEluc3RhbGxWYmVTaGlt KCkgY2FsbA0Kc2l0ZToNCg0KPiAjaWYgZGVmaW5lZCBNREVfQ1BVX0lBMzIgfHwgZGVmaW5lZCBN REVfQ1BVX1g2NA0KPiAgIGlmIChQcml2YXRlLT5WYXJpYW50ID09IFFFTVVfVklERU9fQk9DSFNf TU1JTyB8fA0KPiAgICAgICBQcml2YXRlLT5WYXJpYW50ID09IFFFTVVfVklERU9fQk9DSFMpIHsN Cj4gICAgIEluc3RhbGxWYmVTaGltIChDYXJkLT5OYW1lLCBQcml2YXRlLT5HcmFwaGljc091dHB1 dC5Nb2RlLT5GcmFtZUJ1ZmZlckJhc2UpOw0KPiAgIH0NCj4gI2VuZGlmDQoNCmFuZCBwbGVhc2Ug c2tpcCB0aGUgY2FsbCBpZiB0aGUgUENEIGlzIHNldCB0byBUUlVFOg0KDQo+ICNpZiBkZWZpbmVk IE1ERV9DUFVfSUEzMiB8fCBkZWZpbmVkIE1ERV9DUFVfWDY0DQo+ICAgaWYgKCFGZWF0dXJlUGNk R2V0IChQY2ROdWxsUG9pbnRlckRldGVjdGlvbikgJiYNCj4gICAgICAgKFByaXZhdGUtPlZhcmlh bnQgPT0gUUVNVV9WSURFT19CT0NIU19NTUlPIHx8DQo+ICAgICAgICBQcml2YXRlLT5WYXJpYW50 ID09IFFFTVVfVklERU9fQk9DSFMpKSB7DQo+ICAgICBJbnN0YWxsVmJlU2hpbSAoQ2FyZC0+TmFt ZSwgUHJpdmF0ZS0+R3JhcGhpY3NPdXRwdXQuTW9kZS0+RnJhbWVCdWZmZXJCYXNlKTsNCj4gICB9 DQo+ICNlbmRpZg0KDQpOb3csIHRoZSBjb25zZXF1ZW5jZSBvZiB0aGlzIHdvdWxkIGJlIGEgd29y a2luZyBPVk1GIGJ1aWxkLCBidXQgaXQgd291bGQNCmFsc28gYnJlYWsgYm9vdGluZyBVRUZJIFdp bmRvd3MgNyBvbiBPVk1GLiBUaGVyZWZvcmUsIHBsZWFzZSBhcHBlbmQNCiphbm90aGVyKiBwYXRj aCB0byB5b3VyIHBhdGNoIHNldCwgc2V0dGluZyB0aGUgRmVhdHVyZSBQQ0QgdG8gRkFMU0UgaW4N CmFsbCB0aHJlZSBPVk1GIERTQyBmaWxlczoNCg0KLSBPdm1mUGtnL092bWZQa2dJYTMyLmRzYw0K LSBPdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYw0KLSBPdm1mUGtnL092bWZQa2dYNjQuZHNjDQoN CldlIGNhbm5vdCBicmVhayBXaW5kb3dzIDcgYm9vdGluZyBpbiB1cHN0cmVhbSBPVk1GLiBJZiBz b21lb25lIHJlYWxseQ0Kd2FudHMgdGhlIG51bGwgcG9pbnRlciBkZXRlY3Rpb24gaW4gT1ZNRiAo YW5kIGRvZXNuJ3QgbmVlZCBXaW5kb3dzIDcgZm9yDQpzdXJlKSwgdGhleSBjYW4gcGF0Y2ggdGhl IERTQyBmaWxlcywgb3IgZWxzZSBwYXNzIHRoZQ0KDQogIC0tcGNkPWdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2ROdWxsUG9pbnRlckRldGVjdGlvbj1UUlVFDQoNCm9wdGlvbiB0byB0 aGUgImJ1aWxkIiB1dGlsaXR5Lg0KDQouLi4gSSdtIG5vdyBzZWVpbmcgaW4gdGhlIG9yaWdpbmFs IGRpc2N1c3Npb24gdGhhdCBwZXJoYXBzIHlvdSB3aWxsDQppbnRyb2R1Y2UgYSBiaXRtYXAgaW5z dGVhZCAob25lIGJpdCBwZXIgZmlybXdhcmUgcGhhc2UpLiBUaGF0J3MgT0sgd2l0aA0KbWU7IHBs ZWFzZSByZWludGVycHJldCBhbGwgb2YgdGhlIGFib3ZlIHdpdGggdGhlICJEWEUgYml0IiB0aGVu Lg0KDQpXaGVuIHlvdSBwb3N0IHRoZSBuZXh0IHZlcnNpb24gb2YgdGhlIHBhdGNoIHNldCwgcGxl YXNlIENDIEpvcmRhbiBhbmQNCm15c2VsZiBvbiB0aGUgT3ZtZlBrZyBwYXRjaGVzLg0KDQpUaGFu ayB5b3UhDQpMYXN6bG8NCg==