From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 17EC121EA35AE for ; Wed, 6 Sep 2017 18:26:07 -0700 (PDT) Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 06 Sep 2017 18:28:57 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,356,1500966000"; d="scan'208,217";a="1169840989" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga001.jf.intel.com with ESMTP; 06 Sep 2017 18:28:56 -0700 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Sep 2017 18:28:56 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 6 Sep 2017 18:28:55 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.39]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.168]) with mapi id 14.03.0319.002; Thu, 7 Sep 2017 09:28:53 +0800 From: "Yao, Jiewen" To: "Wang, Jian J" , 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//fzdUP/75WXQ Date: Thu, 7 Sep 2017 01:28:52 +0000 Message-ID: <74D8A39837DF1E4DA445A8C0B3885C503A9A8C97@shsmsx102.ccr.corp.intel.com> References: <130779a4-f1c8-bf07-8b85-8125d466aed3@redhat.com> <74D8A39837DF1E4DA445A8C0B3885C503A9A8802@shsmsx102.ccr.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, 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 01:26:07 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 T0suIEdvdCB5b3UuDQoNCkkgdGhpbmsgd2UgY2FuIG1vdmUgdGhlIHplcm8gbWVtb3J5IHRvIER4 ZUlwbC4NClRoZSBEeGVJcGwgY2FuIGNoZWNrIGlmIHRoZSAwIGlzIGFsbG9jYXRlZCBpbiBNZW1v cnlBbGxvY2F0aW9uSG9iLCBhbmQgemVybyBpdCBpZiBpdCBpcyBub3QgYWxsb2NhdGVkLg0KDQpU aGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KRnJvbTogV2FuZywgSmlhbiBKDQpTZW50OiBUaHVyc2Rh eSwgU2VwdGVtYmVyIDcsIDIwMTcgODo0MSBBTQ0KVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFv QGludGVsLmNvbT47IExhc3psbyBFcnNlayA8bGVyc2VrQHJlZGhhdC5jb20+OyBKdXN0ZW4sIEpv cmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPg0KQ2M6IGVkazItZGV2ZWxAbGlzdHMu MDEub3JnOyBLaW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQpT dWJqZWN0OiBSRTogQVNTRVJUIGluIFFlbXVWaWRlb0R4ZSBkcml2ZXIgZHVyaW5nIHJlc2V0DQoN CkhpIEppZXdlbiBhbmQgTGFzemxvLA0KDQpBY2NvcmRpbmcgdG8gYm90aCBvZiB5b3VyIGNvbW1l bnRzOg0KDQoNCjEuICAgICAgIFZCRSBTSElNIG11c3QgYmUgaW5zdGFsbGVkIHRvIGF2b2lkIGJv b3QgZmFpbHVyZSBvZiBXaW5kb3dzIDcuDQoNCjIuICAgICAgIEVuYWJsaW5nIE5VTEwgZGV0ZWN0 aW9uIHNob3VsZCBub3QgYnJlYWsgZXhpc3RpbmcgcGxhdGZvcm1zLg0KDQpMZXQgbWUgY2xhcmlm eSBhIGZldyB0aGluZ3MgaW4gYWR2YW5jZS4gSSB0aGluayB0aGVyZeKAmXMgYSBsaXR0bGUgbWlz dW5kZXJzdGFuZGluZyBvbiB0aGlzIGlzc3VlIChTb3JyeSBmb3IgbXkgcG9vciBkZXNjcmlwdGlv biBvcmlnaW5hbGx5KS4NCg0KMS4gICAgICAgTlVMTCBkZXRlY3Rpb24gaXMgaW1wbGVtZW50ZWQg YnkgZGlzYWJsZSBmaXJzdCA0SyBwYWdlICgwLTQwOTUpLiBMZXQgbWUgY2FsbCBpdCBwYWdlIDAu DQoNCjIuICAgICAgIFRoZSBBU1NFUlQgd2FzIG5vdCBjYXVzZWQgYnkgYWNjZXNzaW5nIHBhZ2Ug MC4gSSBkbyBlbmFibGluZyBwYWdlIDAgYmVmb3JlIGFjY2VzcyBpbnQxMCB2ZWN0b3IgaW4gUWVt dVZpZGVvRHhlIGRyaXZlciB3aGlsZSBOVUxMIGRldGVjdGlvbiBpcyBlbmFibGVkLg0KDQozLiAg VGhlIEFTU0VSVCB3aWxsIG9ubHkgYmUgdHJpZ2dlcmVkIGJ5IHJlc2V0IGJlY2F1c2UgUWVtdVZp ZGVvRHhlIHdpbGwgd3JpdGUgaW50MTAgdmVjdG9yIGFuZCBtZW1vcnkgYXQgdGhhdCBwbGFjZSBr ZWVwcyBpbnRhY3QgZHVyaW5nIHJlc2V0Lg0KDQo0LiAgVGhlIHJvb3QgY2F1c2Ugb2YgQVNTRVJU IGlzIHRoZSBmYWN0IHRoYXQgcGFnZSAwIGlzIGFsd2F5cyBjbGVhcmVkIGluIERYRSBjb3JlIGV4 Y2VwdCB0byBOVUxMIGRldGVjdGlvbiBlbmFibGVkLiBJIGNoYW5nZWQgQ29yZUFkZFJhbmdlKCkg aW4gcGFnZS5jIGluIERYQyBjb3JlIGxpa2UgYmVsb3cgdG8gYXZvaWQgcGFnZSBmYXVsdCBpbiBj b3JlLg0KLy8NCiAgLy8gSWYgbWVtb3J5IG9mIHR5cGUgRWZpQ29udmVudGlvbmFsTWVtb3J5IGlz IGJlaW5nIGFkZGVkIHRoYXQgaW5jbHVkZXMgdGhlIHBhZ2UNCiAgLy8gc3RhcnRpbmcgYXQgYWRk cmVzcyAwLCB0aGVuIHplcm8gdGhlIHBhZ2Ugc3RhcnRpbmcgYXQgYWRkcmVzcyAwLiAgVGhpcyBo YXMNCiAgLy8gdHdvIGJlbmlmaXRzLiAgSXQgaGVscHMgZmluZCBOVUxMIHBvaW50ZXIgYnVncyBh bmQgaXQgYWxzbyBtYXhpbWl6ZXMNCiAgLy8gY29tcGF0aWJpbGl0eSB3aXRoIG9wZXJhdGluZyBz eXN0ZW1zIHRoYXQgbWF5IGV2YWx1YXRlIG1lbW9yeSBpbiB0aGlzIHBhZ2UNCiAgLy8gZm9yIGxl Z2FjeSBkYXRhIHN0cnVjdHVyZXMuICBJZiBtZW1vcnkgb2YgYW55IG90aGVyIHR5cGUgaXMgYWRk ZWQgc3RhcnRpbmcNCiAgLy8gYXQgYWRkcmVzcyAwLCB0aGVuIGRvIG5vdCB6ZXJvIHRoZSBwYWdl IGF0IGFkZHJlc3MgMCBiZWNhdXNlIHRoZSBwYWdlIGlzIGJlaW5nDQogIC8vIHVzZWQgZm9yIG90 aGVyIHB1cnBvc2VzLg0KICAvLw0KICBpZiAoVHlwZSA9PSBFZmlDb252ZW50aW9uYWxNZW1vcnkg JiYgU3RhcnQgPT0gMCAmJiAoRW5kID49IEVGSV9QQUdFX1NJWkUgLSAxKSkgew0KICAgIGlmICgo UGNkR2V0OChQY2ROdWxsUG9pbnRlckRldGVjdGlvblByb3BlcnR5TWFzaykgJiBCSVQwKSA9PSAw KSB7DQogICAgICBTZXRNZW0gKChWT0lEICopKFVJTlROKVN0YXJ0LCBFRklfUEFHRV9TSVpFLCAw KTsNCiAgICB9DQogIH0NCg0KSSB0aGluayB0aGUgYmVzdCBzb2x1dGlvbiBhdCBwcmVzZW50IGlz IHRvIHVwZGF0ZSBhYm92ZSBjb2RlIHRvIG1ha2Ugc3VyZSBwYWdlIDAgaXMgYWx3YXlzIGNsZWFy ZWQgbm8gbWF0dGVyIE5VTEwgZGV0ZWN0aW9uIGlzIGVuYWJsZSBvciBub3QuIFRvIG1ha2UgaXQg cG9zc2libGUsIEkgaGF2ZSB0byBlbmFibGUgcGFnZSAwIGJlZm9yZSBtZW1vcnkgY2xlYXJpbmcg YW5kIGRpc2FibGUgaXQgYWdhaW4gYWZ0ZXIgdGhlbi4gTXkgY29uY2VybiBpcyB0aGF0IEkgY2Fu bm90IHVzZSBDUFUgYXJjaCBwcm90b2NvbCB0byBkbyBzbyBpbiBDb3JlQWRkUmFuZ2UoKSBmdW5j dGlvbiBiZWNhdXNlIGl04oCZcyBub3QgcmVhZHkgYXQgdGhhdCB0aW1lLiBUaGVyZeKAmXJlIHR3 byBvcHRpb25zIGhlcmUuIE9uZSBpcyDigJxtYW51YWxseeKAnSBkaXNhYmxpbmcgcGFnZSAwIChy ZWFkIGNyMywgdGhlbiBwbTRsLCB0aGVuIHBkZeKApikgaW4gYWJvdmUgY29kZTsgYW5vdGhlciBp cyBtb3ZpbmcgYWJvdmUgY29kZSB0byBhbm90aGVyIHBsYWNlIHdoZXJlIHBhZ2luZyBvcGVyYXRp b24gaXMgYXQgaGFuZCwgbGlrZSBEeGVJcGwgb3IgQ1BVIGRyaXZlci4gTXkgcGVyc29uYWwgb3Bp bmlvbiBpcyBzZWNvbmQgb25lIHdvdWxkIGJlIGJldHRlci4gV2hhdOKAmXMgeW91ciBvcGluaW9u cz8gT3IgYW55IGJldHRlciBpZGVhcz8NCg0KVGhhbmtzLA0KV2FuZywgSmlhbiBKDQoNCkZyb206 IFlhbywgSmlld2VuDQpTZW50OiBXZWRuZXNkYXksIFNlcHRlbWJlciAwNiwgMjAxNyA3OjE3IFBN DQpUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbTxtYWlsdG86bGVyc2VrQHJlZGhh dC5jb20+PjsgV2FuZywgSmlhbiBKIDxqaWFuLmoud2FuZ0BpbnRlbC5jb208bWFpbHRvOmppYW4u ai53YW5nQGludGVsLmNvbT4+OyBKdXN0ZW4sIEpvcmRhbiBMIDxqb3JkYW4ubC5qdXN0ZW5AaW50 ZWwuY29tPG1haWx0bzpqb3JkYW4ubC5qdXN0ZW5AaW50ZWwuY29tPj4NCkNjOiBlZGsyLWRldmVs QGxpc3RzLjAxLm9yZzxtYWlsdG86ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc+OyBLaW5uZXksIE1p Y2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb208bWFpbHRvOm1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPj4NClN1YmplY3Q6IFJFOiBBU1NFUlQgaW4gUWVtdVZpZGVvRHhlIGRyaXZl ciBkdXJpbmcgcmVzZXQNCg0KSEkNCkkgdGhpbmsgdGhlIE5VTEwgZGV0ZWN0aW9uIGZlYXR1cmUg c2hvdWxkICpuZXZlciogYnJlYWsgYW55IGV4aXN0aW5nIHBsYXRmb3JtLg0KTm8gcmVhbCBmdW5j dGlvbiBzaG91bGQgYmUgc2tpcHBlZCBmb3IgUGNkTnVsbERldGVjdGlvbi4NCg0KSWYgSW5zdGFs bFZiZVNoaW0gKCkgaXMgbmVlZGVkIGZvciBDU00sIHdlIHNob3VsZCBhbHdheXMgY2FsbCBJbnN0 YWxsVmJlU2hpbSgpIGZvciBDU00uDQoNCkkgc3VnZ2VzdCBiZWxvdyBvcHRpb25zOg0KDQoxKSAg ICAgICBJbiBPVk1GLCBpZiBDU00gaXMgZW5hYmxlZCwgZGlzYWJsZSBQY2ROdWxsRGV0ZWN0aW9u Lg0KDQoyKSAgICAgICBJbiBPVk1GLCBpZiBhbnkgZHJpdmVyIG5lZWQgYWNjZXNzIGZpcnN0IDRL IHBhZ2UsIHRoZSBjb2RlIHNob3VsZCBleHBsaWNpdCBjYWxsIFNldEF0dHJpYnV0ZSgwLCA0Sywg UkVBRHxXUklURSksIGlmIFBjZE51bGxEZXRlY3Rpb24gaXMgZW5hYmxlZC4NCg0KRWl0aGVyICMx IG9yICMyIGlzIE9LLg0KIzEgaXMgc2ltcGxlLCBhbmQgIzIgY2FuIGhlbHAgZGV0ZWN0IG1vcmUg cG90ZW50aWFsIGlzc3VlLg0KDQpUaGFuayB5b3UNCllhbyBKaWV3ZW4NCg0KRnJvbTogTGFzemxv IEVyc2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQpTZW50OiBXZWRuZXNkYXksIFNlcHRl bWJlciA2LCAyMDE3IDY6MjEgUE0NClRvOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVs LmNvbTxtYWlsdG86amlhbi5qLndhbmdAaW50ZWwuY29tPj47IEp1c3RlbiwgSm9yZGFuIEwgPGpv cmRhbi5sLmp1c3RlbkBpbnRlbC5jb208bWFpbHRvOmpvcmRhbi5sLmp1c3RlbkBpbnRlbC5jb20+ PjsgWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGlu dGVsLmNvbT4+DQpDYzogZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxA bGlzdHMuMDEub3JnPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPG1haWx0bzptaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4+DQpTdWJqZWN0OiBSZTogQVNT RVJUIGluIFFlbXVWaWRlb0R4ZSBkcml2ZXIgZHVyaW5nIHJlc2V0DQoNCk9uIDA5LzA2LzE3IDEw OjE1LCBXYW5nLCBKaWFuIEogd3JvdGU6DQo+IEhpIGd1eXMsDQo+DQo+IEkgZm91bmQgYW4gQVNT RVJUIGlzc3VlIGluIGZ1bmN0aW9uIEluc3RhbGxWYmVTaGltKCkgaW4gUWVtdVZpZGVvRHhlDQo+ IGRyaXZlciBkdXJpbmcgcmVzZXQuIFRoZSBhc3NlcnQgc3RhdGVtZW50IGlzIGxpa2UgYmVsb3cu DQo+DQo+ICAgICBBU1NFUlQgKEludDB4MTAtPlNlZ21lbnQgPT0gMHgwMDAwKTsNCj4gICAgIEFT U0VSVCAoSW50MHgxMC0+T2Zmc2V0ICA9PSAweDAwMDApOw0KPg0KPiBUaGlzIGhhcHBlbmVkIGFm dGVyIEkgaGF2ZSBlbmFibGVkIE5VTEwgcG9pbnRlciBhY2Nlc3MgZGV0ZWN0aW9uDQo+IGZlYXR1 cmUsIGluIHdoaWNoIHBhZ2UgMCAoNEspICBpcyBkaXNhYmxlZC4NCg0KVGhlIE5VTEwgcG9pbnRl ciBhY2Nlc3MgZGV0ZWN0aW9uIGNvbmZsaWN0cyB3aXRoIHRoZSBWQkUgc2hpbS4gRm9yDQppbnN0 YWxsaW5nIHRoZSBWQkUgc2hpbSwgT1ZNRiBoYXMgdG8gd3JpdGUgdG8gcGFnZSAwLCBvbiBwdXJw b3NlLg0KDQpQbGVhc2Ugc2VlIGNvbW1pdCA5MDgwMzM0MmIxYjYgKCJPdm1mUGtnOiBRZW11Vmlk ZW9EeGU6IEludDEwaCBzdHViIGZvcg0KV2luZG93cyA3ICYgMjAwOCAoc3RkdmdhLCBRWEwpIiwg MjAxNC0wNS0yMCkuDQoNCj4gQW5kIGJlY2F1c2Ugb2YgcGFnZSAwIGRpc2FibGVkLCBJIGhhdmUg dG8gc2tpcCB0aGUgbWVtb3J5IGNsZWFyaW5nIGZvcg0KPiBwYWdlIDAgaW4gRFhFIGNvcmUuDQoN CkJ5IGRvaW5nIHRoYXQsIHlvdSBpbnZhbGlkYXRlIHRoZSBmb2xsb3dpbmcgY29tbWVudCBpbiBz YWlkIE9WTUYgY29tbWl0Og0KDQorICAgIC8vDQorICAgIC8vIFdlIG1hbmFnZWQgdG8gYWxsb2Nh dGUgdGhlIHBhZ2UgYXQgemVyby4gU1ZOIHIxNDIxOCBndWFyYW50ZWVzIHRoYXQgaXQNCisgICAg Ly8gaXMgTlVMLWZpbGxlZC4NCisgICAgLy8NCisgICAgQVNTRVJUIChJbnQweDEwLT5TZWdtZW50 ID09IDB4MDAwMCk7DQorICAgIEFTU0VSVCAoSW50MHgxMC0+T2Zmc2V0ICA9PSAweDAwMDApOw0K DQpCZWNhdXNlIFNWTiByMTQyMTggd2FzIHdoYXQgYWRkZWQgdGhlIGNsZWFyaW5nIG9mIHBhZ2Ug MCB0byB0aGUgRFhFDQpjb3JlLiAoRXhwcmVzc2VkIGFzIGEgZ2l0IGNvbW1pdDogZDQzNmQ1Y2Ew OTM2LikNCg0KPiBPdGhlcndpc2UgaXQgd2lsbCBjYXVzZSBwYWdlIGZhdWx0IGV4Y2VwdGlvbiB0 aGVyZS4gSXQgc2VlbXMgdGhhdCBRRU1VDQo+IG1heSBjbGVhciBhbGwgaXRzIG1lbW9yeSBhdCBz dGFydHVwLiBTa2lwcGluZyB0aGUgYWN0aW9uIG9mIGNsZWFyaW5nDQo+IHBhZ2UgMCBpbiBjb3Jl IHdvbid0IGNhdXNlIEFTU0VSVCBpc3N1ZSBpbiBRZW11VmlkZW9EeGUsIGZvciB0aGUgZmlyc3QN Cj4gdGltZSBib290LiBCdXQgUWVtdVZpZGVvRHhlIHdpbGwgd3JpdGUgaW50MTAgdmVjdG9yIGF0 IG1lbW9yeSAweDEwIGFuZA0KPiBRRU1VIHdpbGwgbm90IGNsZWFyIGFsbCBpdHMgbWVtb3J5IGR1 cmluZyB3YXJtIGJvb3QuIEFTU0VSVCB3aWxsIGJlDQo+IHRyaWdnZXJlZCBhZnRlciByZXNldC4N Cg0KUUVNVSBkb2VzIG5vdCBjbGVhciBndWVzdCBSQU0gYXQgcmVib290IChvciBTMyByZXN1bWUp Lg0KDQo+IEl0J3MgZWFzeSB0byBmaXggdGhpcyBpc3N1ZSBidXQgdGhlcmUncmUgc29tZSBzdWJ0 bGUgc2l0dWF0aW9ucyB3aGljaA0KPiBJJ20gbm90IHF1aXRlIGNlcnRhaW4uIEknZCBsaWtlIHlv dXIgb3BpbmlvbnMgZm9yIHRoZW0uDQo+DQo+IEhlcmUncmUgbXkgdGhvdWdodHMgb24gc2V2ZXJh bCBzb2x1dGlvbnM6DQo+IGEpIFJlbW92ZSB0aGUgQVNTRVJUIHN0YXRlbWVudCBpbiBJbnN0YWxs VmJlU2hpbSgpLg0KDQpOb3QgYSBnb29kIGlkZWEuDQoNCj4gQnV0IEknbSBzdXJlIGlmIGl0IGlz IHNhZmUgdG8gZG8gc28gYmVjYXVzZSBJIGRvbid0IHF1aXRlIHVuZGVyc3RhbmQNCj4gdGhlIHB1 cnBvc2Ugb2YgdGhlIEFTU0VSVC4NCg0KVGhlIEFTU0VSVCBleHByZXNzZXMgb3VyIGJlbGllZiB0 aGF0LCBhZnRlciB3ZSBtYW5hZ2UgdG8gKmFsbG9jYXRlKiBwYWdlDQowLCB3ZSBjYW4gZnJlZWx5 IHdyaXRlIHRoZSByZWFsIG1vZGUgSW50MHgxMCB2ZWN0b3IgdGhlcmUsIHdpdGhvdXQNCm92ZXJ3 cml0aW5nIGFueXRoaW5nIGVsc2UuDQoNCj4gYikgSW5zdGVhZCBvZiBza2lwcGluZyBjbGVhcmlu ZyBwYWdlIDAsIGVuYWJsZSBpdCwgZG8gY2xlYXJpbmcgYW5kDQo+IHRoZW4gZGlzYWJsZSBpdC4g VGhlIHByb2JsZW0gaGVyZSBpcyB0aGF0IENQVSBhcmNoIHByb3RvY29sIGlzIG5vdA0KPiByZWFk eSBhdCB0aGF0IHRpbWUuIEkgaGF2ZSB0byAibWFudWFsbHkiIGRvIHBhZ2Ugb3BlcmF0aW9uLCB3 aGljaA0KPiBtaWdodCBiZSBub24tcG9ydGFibGUgYW5kIGEgbGl0dGxlIGJpdCBvZGQgaW4gRFhF IGNvcmUuDQo+IGMpIE1vdmUgY29kZSBjbGVhcmluZyBwYWdlIDAgZnJvbSBEWEUgY29yZSB0byBh bm90aGVyIHBsYWNlIHdoZXJldmVyDQo+IGFwcHJvcHJpYXRlLCBsaWtlIER4ZUlwbCBvciBjcHUg ZHJpdmVyLiBCdXQgSSB0aGluayB0aGVyZSdzIGEgZ29vZA0KPiByZWFzb24gdG8gcHV0IGNvZGUg dGhlcmUgYmVmb3JlLg0KDQpJJ20gbm90IHN1cmUgaG93IHRoZSBOVUxMIHBvaW50ZXIgYWNjZXNz IGRldGVjdGlvbiBpcyBlbmFibGVkLiBJcyBpdA0KZW5hYmxlZCBieSBhIFBDRD8NCg0KSG0sIHll cywgaXQgc2VlbXMsIGZyb20geW91ciBwYXRjaA0KDQogIFtlZGsyXSBbUEFUQ0ggMS8yXSBJbXBs ZW1lbnQgTlVMTCBwb2ludGVyIGRldGVjdGlvbiBmb3IgRURLLUlJIENvcmUNCg0KdGhhdCB0aGUg UENEIGlzIGNhbGxlZA0KDQogIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2ROdWxs UG9pbnRlckRldGVjdGlvbg0KDQpJIGNhbiBzZWUgaW4gdGhhdCBwYXRjaCB0aGF0IHRoZSBEWEUg Y29yZSBpcyB1cGRhdGVkICpub3QqIHRvIGNsZWFyIHBhZ2UNCjAgaWYgdGhlIFBDRCBpcyBzZXQg dG8gVFJVRS4gVGhhdCBtYWtlcyBzZW5zZS4NCg0KSG93ZXZlciwgT1ZNRiBzaG91bGQgYWxzbyBi ZSB1cGRhdGVkIHRvIHNraXAgdGhlIFZCRSBzaGltIGluc3RhbGxhdGlvbg0KaWYgdGhlIFBDRCBp cyBzZXQgdG8gVFJVRS4gTmFtZWx5LCBpZiB0aGUgUENEIGlzIHNldCB0byBUUlVFLCB0aGVuIHdl DQpzaW1wbHkgY2Fubm90IHB1dCB0aGUgbGVnYWN5IEludDB4MTAgdmVjdG9yIGluIHBsYWNlLCBz byB3ZSBzaG91bGRuJ3QNCmV2ZW4gdHJ5Lg0KDQpQbGVhc2UgZXh0ZW5kIHlvdXIgb3JpZ2luYWwg cGF0Y2ggc2V0IHdpdGggYSBwYXRjaCBmb3IgT3ZtZlBrZy4gSW4gdGhlDQpmaWxlICJPdm1mUGtn L1FlbXVWaWRlb0R4ZS9Ecml2ZXIuYyIsIGxvY2F0ZSB0aGUgSW5zdGFsbFZiZVNoaW0oKSBjYWxs DQpzaXRlOg0KDQo+ICNpZiBkZWZpbmVkIE1ERV9DUFVfSUEzMiB8fCBkZWZpbmVkIE1ERV9DUFVf WDY0DQo+ICAgaWYgKFByaXZhdGUtPlZhcmlhbnQgPT0gUUVNVV9WSURFT19CT0NIU19NTUlPIHx8 DQo+ICAgICAgIFByaXZhdGUtPlZhcmlhbnQgPT0gUUVNVV9WSURFT19CT0NIUykgew0KPiAgICAg SW5zdGFsbFZiZVNoaW0gKENhcmQtPk5hbWUsIFByaXZhdGUtPkdyYXBoaWNzT3V0cHV0Lk1vZGUt PkZyYW1lQnVmZmVyQmFzZSk7DQo+ICAgfQ0KPiAjZW5kaWYNCg0KYW5kIHBsZWFzZSBza2lwIHRo ZSBjYWxsIGlmIHRoZSBQQ0QgaXMgc2V0IHRvIFRSVUU6DQoNCj4gI2lmIGRlZmluZWQgTURFX0NQ VV9JQTMyIHx8IGRlZmluZWQgTURFX0NQVV9YNjQNCj4gICBpZiAoIUZlYXR1cmVQY2RHZXQgKFBj ZE51bGxQb2ludGVyRGV0ZWN0aW9uKSAmJg0KPiAgICAgICAoUHJpdmF0ZS0+VmFyaWFudCA9PSBR RU1VX1ZJREVPX0JPQ0hTX01NSU8gfHwNCj4gICAgICAgIFByaXZhdGUtPlZhcmlhbnQgPT0gUUVN VV9WSURFT19CT0NIUykpIHsNCj4gICAgIEluc3RhbGxWYmVTaGltIChDYXJkLT5OYW1lLCBQcml2 YXRlLT5HcmFwaGljc091dHB1dC5Nb2RlLT5GcmFtZUJ1ZmZlckJhc2UpOw0KPiAgIH0NCj4gI2Vu ZGlmDQoNCk5vdywgdGhlIGNvbnNlcXVlbmNlIG9mIHRoaXMgd291bGQgYmUgYSB3b3JraW5nIE9W TUYgYnVpbGQsIGJ1dCBpdCB3b3VsZA0KYWxzbyBicmVhayBib290aW5nIFVFRkkgV2luZG93cyA3 IG9uIE9WTUYuIFRoZXJlZm9yZSwgcGxlYXNlIGFwcGVuZA0KKmFub3RoZXIqIHBhdGNoIHRvIHlv dXIgcGF0Y2ggc2V0LCBzZXR0aW5nIHRoZSBGZWF0dXJlIFBDRCB0byBGQUxTRSBpbg0KYWxsIHRo cmVlIE9WTUYgRFNDIGZpbGVzOg0KDQotIE92bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjDQotIE92bWZQ a2cvT3ZtZlBrZ0lhMzJYNjQuZHNjDQotIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2MNCg0KV2UgY2Fu bm90IGJyZWFrIFdpbmRvd3MgNyBib290aW5nIGluIHVwc3RyZWFtIE9WTUYuIElmIHNvbWVvbmUg cmVhbGx5DQp3YW50cyB0aGUgbnVsbCBwb2ludGVyIGRldGVjdGlvbiBpbiBPVk1GIChhbmQgZG9l c24ndCBuZWVkIFdpbmRvd3MgNyBmb3INCnN1cmUpLCB0aGV5IGNhbiBwYXRjaCB0aGUgRFNDIGZp bGVzLCBvciBlbHNlIHBhc3MgdGhlDQoNCiAgLS1wY2Q9Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZE51bGxQb2ludGVyRGV0ZWN0aW9uPVRSVUUNCg0Kb3B0aW9uIHRvIHRoZSAiYnVp bGQiIHV0aWxpdHkuDQoNCi4uLiBJJ20gbm93IHNlZWluZyBpbiB0aGUgb3JpZ2luYWwgZGlzY3Vz c2lvbiB0aGF0IHBlcmhhcHMgeW91IHdpbGwNCmludHJvZHVjZSBhIGJpdG1hcCBpbnN0ZWFkIChv bmUgYml0IHBlciBmaXJtd2FyZSBwaGFzZSkuIFRoYXQncyBPSyB3aXRoDQptZTsgcGxlYXNlIHJl aW50ZXJwcmV0IGFsbCBvZiB0aGUgYWJvdmUgd2l0aCB0aGUgIkRYRSBiaXQiIHRoZW4uDQoNCldo ZW4geW91IHBvc3QgdGhlIG5leHQgdmVyc2lvbiBvZiB0aGUgcGF0Y2ggc2V0LCBwbGVhc2UgQ0Mg Sm9yZGFuIGFuZA0KbXlzZWxmIG9uIHRoZSBPdm1mUGtnIHBhdGNoZXMuDQoNClRoYW5rIHlvdSEN Ckxhc3psbw0K