From xen-devel-bounces@lists.xen.org Thu May 30 11:48:02 2013 Received: (at maildrop) by bugs.xenproject.org; 30 May 2013 10:48:02 +0000 Received: from lists.xen.org ([50.57.142.19]) by bugs.xenproject.org with esmtp (Exim 4.80) (envelope-from ) id 1Ui0Oo-00061b-MZ for xen-devel-maildrop-Eithu9ie@bugs.xenproject.org; Thu, 30 May 2013 11:48:02 +0100 Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Ui0NE-00052h-Sr; Thu, 30 May 2013 10:46:24 +0000 Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1Ui0NC-00052b-S6 for xen-devel@lists.xen.org; Thu, 30 May 2013 10:46:23 +0000 Received: from [85.158.138.51:64691] by server-6.bemta-3.messagelabs.com id D1/22-14331-DFD27A15; Thu, 30 May 2013 10:46:21 +0000 X-Env-Sender: hanweidong@huawei.com X-Msg-Ref: server-13.tower-174.messagelabs.com!1369910776!9981636!1 X-Originating-IP: [119.145.14.65] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogMTE5LjE0NS4xNC42NSA9PiA3NzQ2Mw==\n X-StarScan-Received: X-StarScan-Version: 6.9.6; banners=-,-,- X-VirusChecked: Checked Received: (qmail 29015 invoked from network); 30 May 2013 10:46:19 -0000 Received: from szxga02-in.huawei.com (HELO szxga02-in.huawei.com) (119.145.14.65) by server-13.tower-174.messagelabs.com with DES-CBC3-SHA encrypted SMTP; 30 May 2013 10:46:19 -0000 Received: from 172.24.2.119 (EHLO szxeml213-edg.china.huawei.com) ([172.24.2.119]) by szxrg02-dlp.huawei.com (MOS 4.3.4-GA FastPath queued) with ESMTP id BCJ63149; Thu, 30 May 2013 18:46:07 +0800 (CST) Received: from SZXEML420-HUB.china.huawei.com (10.82.67.159) by szxeml213-edg.china.huawei.com (172.24.2.30) with Microsoft SMTP Server (TLS) id 14.1.323.7; Thu, 30 May 2013 18:46:05 +0800 Received: from SZXEML538-MBX.china.huawei.com ([169.254.4.68]) by szxeml420-hub.china.huawei.com ([10.82.67.159]) with mapi id 14.01.0323.007; Thu, 30 May 2013 18:45:55 +0800 From: Hanweidong To: Stefano Stabellini Thread-Topic: [Xen-devel] GPU passthrough issue when VM is configured with 4G memoryo Thread-Index: AQHOXSBtfS2npDbPS0+dQDBtDLc865kdiUAw Date: Thu, 30 May 2013 10:45:54 +0000 Message-ID: References: <33183CC9F5247A488A2544077AF1902038628410@szxeml538-mbx.china.huawei.com> <513739DD.8050507@eu.citrix.com> <513868F0.6020104@eu.citrix.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.142.182.178] MIME-Version: 1.0 X-CFilter-Loop: Reflected Cc: George Dunlap , "xudong.hao@intel.com" , Yanqiangjun , Luonengjun , Wangzhenguo , Yangxiaowei , "Gonglei \(Arei\)" , Anthony Perard , "xen-devel@lists.xen.org" , "xiantao.zhang@intel.com" Subject: Re: [Xen-devel] GPU passthrough issue when VM is configured with 4G memoryo X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogU3RlZmFubyBTdGFiZWxs aW5pIFttYWlsdG86c3RlZmFuby5zdGFiZWxsaW5pQGV1LmNpdHJpeC5jb21dDQo+IFNlbnQ6IDIw MTPlubQ15pyIMzDml6UgMTg6MjgNCj4gVG86IEhhbndlaWRvbmcNCj4gQ2M6IFN0ZWZhbm8gU3Rh YmVsbGluaTsgR2VvcmdlIER1bmxhcDsgeHVkb25nLmhhb0BpbnRlbC5jb207DQo+IFlhbnFpYW5n anVuOyBMdW9uZW5nanVuOyBXYW5nemhlbmd1bzsgWWFuZ3hpYW93ZWk7IEdvbmdsZWkgKEFyZWkp Ow0KPiBBbnRob255IFBlcmFyZDsgeGVuLWRldmVsQGxpc3RzLnhlbi5vcmc7IHhpYW50YW8uemhh bmdAaW50ZWwuY29tDQo+IFN1YmplY3Q6IFJFOiBbWGVuLWRldmVsXSBHUFUgcGFzc3Rocm91Z2gg aXNzdWUgd2hlbiBWTSBpcyBjb25maWd1cmVkDQo+IHdpdGggNEcgbWVtb3J5bw0KPiANCj4gT24g VGh1LCAzMCBNYXkgMjAxMywgSGFud2VpZG9uZyB3cm90ZToNCj4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBTdGVmYW5vIFN0YWJlbGxpbmkgW21haWx0bzpzdGVm YW5vLnN0YWJlbGxpbmlAZXUuY2l0cml4LmNvbV0NCj4gPiA+IFNlbnQ6IDIwMTPlubQ15pyIMzDm l6UgMDoxOA0KPiA+ID4gVG86IEhhbndlaWRvbmcNCj4gPiA+IENjOiBTdGVmYW5vIFN0YWJlbGxp bmk7IEdlb3JnZSBEdW5sYXA7IHh1ZG9uZy5oYW9AaW50ZWwuY29tOw0KPiA+ID4gWWFucWlhbmdq dW47IEx1b25lbmdqdW47IFdhbmd6aGVuZ3VvOyBZYW5neGlhb3dlaTsgR29uZ2xlaSAoQXJlaSk7 DQo+ID4gPiBBbnRob255IFBlcmFyZDsgeGVuLWRldmVsQGxpc3RzLnhlbi5vcmc7IHhpYW50YW8u emhhbmdAaW50ZWwuY29tDQo+ID4gPiBTdWJqZWN0OiBSRTogW1hlbi1kZXZlbF0gR1BVIHBhc3N0 aHJvdWdoIGlzc3VlIHdoZW4gVk0gaXMNCj4gY29uZmlndXJlZA0KPiA+ID4gd2l0aCA0RyBtZW1v cnkNCj4gPiA+DQo+ID4gPiBPbiBUaHUsIDI1IEFwciAyMDEzLCBIYW53ZWlkb25nIHdyb3RlOg0K PiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJvbTogeGVu LWRldmVsLWJvdW5jZXNAbGlzdHMueGVuLm9yZyBbbWFpbHRvOnhlbi1kZXZlbC0NCj4gPiA+ID4g PiBib3VuY2VzQGxpc3RzLnhlbi5vcmddIE9uIEJlaGFsZiBPZiBIYW53ZWlkb25nDQo+ID4gPiA+ ID4gU2VudDogMjAxM+W5tDPmnIgyNuaXpSAxNzozOA0KPiA+ID4gPiA+IFRvOiBTdGVmYW5vIFN0 YWJlbGxpbmkNCj4gPiA+ID4gPiBDYzogR2VvcmdlIER1bmxhcDsgeHVkb25nLmhhb0BpbnRlbC5j b207IFlhbnFpYW5nanVuOw0KPiBMdW9uZW5nanVuOw0KPiA+ID4gPiA+IFdhbmd6aGVuZ3VvOyBZ YW5neGlhb3dlaTsgR29uZ2xlaSAoQXJlaSk7IEFudGhvbnkgUGVyYXJkOyB4ZW4tDQo+ID4gPiA+ ID4gZGV2ZWxAbGlzdHMueGVuLm9yZzsgeGlhbnRhby56aGFuZ0BpbnRlbC5jb20NCj4gPiA+ID4g PiBTdWJqZWN0OiBSZTogW1hlbi1kZXZlbF0gR1BVIHBhc3N0aHJvdWdoIGlzc3VlIHdoZW4gVk0g aXMNCj4gPiA+IGNvbmZpZ3VyZWQNCj4gPiA+ID4gPiB3aXRoIDRHIG1lbW9yeQ0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiA+ID4gPiBGcm9tOiBTdGVmYW5vIFN0YWJlbGxpbmkNCj4gW21haWx0bzpzdGVmYW5vLnN0YWJl bGxpbmlAZXUuY2l0cml4LmNvbV0NCj4gPiA+ID4gPiA+IFNlbnQ6IDIwMTPlubQz5pyIMTjml6Ug MjA6MDINCj4gPiA+ID4gPiA+IFRvOiBIYW53ZWlkb25nDQo+ID4gPiA+ID4gPiBDYzogR2Vvcmdl IER1bmxhcDsgU3RlZmFubyBTdGFiZWxsaW5pOyBZYW5xaWFuZ2p1bjsNCj4gTHVvbmVuZ2p1bjsN Cj4gPiA+ID4gPiA+IFdhbmd6aGVuZ3VvOyBZYW5neGlhb3dlaTsgR29uZ2xlaSAoQXJlaSk7IEFu dGhvbnkgUGVyYXJkOw0KPiB4ZW4tDQo+ID4gPiA+ID4gPiBkZXZlbEBsaXN0cy54ZW4ub3JnOyB4 dWRvbmcuaGFvQGludGVsLmNvbTsNCj4gPiA+IHhpYW50YW8uemhhbmdAaW50ZWwuY29tDQo+ID4g PiA+ID4gPiBTdWJqZWN0OiBSRTogW1hlbi1kZXZlbF0gR1BVIHBhc3N0aHJvdWdoIGlzc3VlIHdo ZW4gVk0gaXMNCj4gPiA+IGNvbmZpZ3VyZWQNCj4gPiA+ID4gPiA+IHdpdGggNEcgbWVtb3J5DQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gT24gV2VkLCAxMyBNYXIgMjAxMywgSGFud2VpZG9uZyB3 cm90ZToNCj4gPiA+ID4gPiA+ID4gTU1JTyBIT0xFIHdhcyBhZGp1c3RlZCB0byBlMDAwMDAwMCAt IGZjMDAwMDAwLiBCdXQgUUVNVQ0KPiB1c2VzDQo+ID4gPiBiZWxvdw0KPiA+ID4gPiA+ID4gY29k ZSB0byBpbml0DQo+ID4gPiA+ID4gPiA+IFJBTSBpbiB4ZW5fcmFtX2luaXQ6DQo+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ICAgICAuLi4NCj4gPiA+ID4gPiA+ID4gICAgIGJsb2NrX2xlbiA9 IHJhbV9zaXplOw0KPiA+ID4gPiA+ID4gPiAgICAgaWYgKHJhbV9zaXplID49IEhWTV9CRUxPV180 R19SQU1fRU5EKSB7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgLyogWGVuIGRvZXMgbm90IGFsbG9j YXRlIHRoZSBtZW1vcnkgY29udGludW91c2x5LA0KPiBhbmQNCj4gPiA+IGtlZXANCj4gPiA+ID4g PiBhDQo+ID4gPiA+ID4gPiBob2xlIGF0DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgICogSFZNX0JF TE9XXzRHX01NSU9fU1RBUlQgb2YNCj4gSFZNX0JFTE9XXzRHX01NSU9fTEVOR1RIDQo+ID4gPiA+ ID4gPiA+ICAgICAgICAgICovDQo+ID4gPiA+ID4gPiA+ICAgICAgICAgYmxvY2tfbGVuICs9IEhW TV9CRUxPV180R19NTUlPX0xFTkdUSDsNCj4gPiA+ID4gPiA+ID4gICAgIH0NCj4gPiA+ID4gPiA+ ID4gICAgIG1lbW9yeV9yZWdpb25faW5pdF9yYW0oJnJhbV9tZW1vcnksICJ4ZW4ucmFtIiwNCj4g YmxvY2tfbGVuKTsNCj4gPiA+ID4gPiA+ID4gICAgIHZtc3RhdGVfcmVnaXN0ZXJfcmFtX2dsb2Jh bCgmcmFtX21lbW9yeSk7DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ICAgICBpZiAocmFt X3NpemUgPj0gSFZNX0JFTE9XXzRHX1JBTV9FTkQpIHsNCj4gPiA+ID4gPiA+ID4gICAgICAgICBh Ym92ZV80Z19tZW1fc2l6ZSA9IHJhbV9zaXplIC0gSFZNX0JFTE9XXzRHX1JBTV9FTkQ7DQo+ID4g PiA+ID4gPiA+ICAgICAgICAgYmVsb3dfNGdfbWVtX3NpemUgPSBIVk1fQkVMT1dfNEdfUkFNX0VO RDsNCj4gPiA+ID4gPiA+ID4gICAgIH0gZWxzZSB7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgYmVs b3dfNGdfbWVtX3NpemUgPSByYW1fc2l6ZTsNCj4gPiA+ID4gPiA+ID4gICAgIH0NCj4gPiA+ID4g PiA+ID4gICAgIC4uLg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiBIVk1fQkVMT1dfNEdf UkFNX0VORCBpcyBmMDAwMDAwMC4gSWYgd2UgY2hhbmdlDQo+ID4gPiBIVk1fQkVMT1dfNEdfUkFN X0VORA0KPiA+ID4gPiA+ID4gdG8gZTAwMDAwMDAsDQo+ID4gPiA+ID4gPiA+IFdoaWNoIGl0J3Mg Y29uc2lzdGVudCB3aXRoIGh2bWxvYWRlciB3aGVuIGFzc2lnbmluZyBhIEdQVSwNCj4gYW5kDQo+ ID4gPiB0aGVuDQo+ID4gPiA+ID4gPiBndWVzdCB3b3JrZWQNCj4gPiA+ID4gPiA+ID4gZm9yIHVz LiBTbyB3ZSB3b25kZXJpbmcgdGhhdCB4ZW5fcmFtX2luaXQgaW4gUUVNVSBzaG91bGQgYmUNCj4g PiA+ID4gPiA+IGNvbnNpc3RlbnQgd2l0aA0KPiA+ID4gPiA+ID4gPiBodm1sb2FkZXIuDQo+ID4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IEluIGFkZGl0aW9uLCB3ZSBmb3VuZCBRRU1VIHVzZXMg aGFyZGNvZGUgMHhlMDAwMDAwMCBpbg0KPiA+ID4gcGNfaW5pdDEoKQ0KPiA+ID4gPiA+IGFzDQo+ ID4gPiA+ID4gPiBiZWxvdy4NCj4gPiA+ID4gPiA+ID4gU2hvdWxkIGtlZXAgdGhlc2UgcGxhY2Vz IGhhbmRsZSB0aGUgY29uc2lzdGVudCBtbWlvIGhvbGUgb3INCj4gbm90Pw0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiAgICAgaWYgKHJhbV9zaXplID49IDB4ZTAwMDAwMDAgKSB7DQo+ID4g PiA+ID4gPiA+ICAgICAgICAgYWJvdmVfNGdfbWVtX3NpemUgPSByYW1fc2l6ZSAtIDB4ZTAwMDAw MDA7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgYmVsb3dfNGdfbWVtX3NpemUgPSAweGUwMDAwMDAw Ow0KPiA+ID4gPiA+ID4gPiAgICAgfSBlbHNlIHsNCj4gPiA+ID4gPiA+ID4gICAgICAgICBhYm92 ZV80Z19tZW1fc2l6ZSA9IDA7DQo+ID4gPiA+ID4gPiA+ICAgICAgICAgYmVsb3dfNGdfbWVtX3Np emUgPSByYW1fc2l6ZTsNCj4gPiA+ID4gPiA+ID4gICAgIH0NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiBUaGUgZ3V5cyBhdCBJbnRlbCBzZW50IGEgY291cGxlIG9mIHBhdGNoZXMgcmVjZW50bHkg dG8gZml4DQo+IHRoaXMNCj4gPiA+IGlzc3VlOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGh0 dHA6Ly9tYXJjLmluZm8vP2w9eGVuLWRldmVsJm09MTM2MTUwMzE3MDExMDI3DQo+ID4gPiA+ID4g PiBodHRwOi8vbWFyYy5pbmZvLz9sPXFlbXUtZGV2ZWwmbT0xMzYxNzc0NzUyMTUzNjAmdz0yDQo+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gRG8gdGhleSBzb2x2ZSB5b3VyIHByb2JsZW0/DQo+ID4g PiA+ID4NCj4gPiA+ID4gPiBUaGVzZSB0d28gcGF0Y2hlcyBkaWRuJ3Qgc29sdmUgb3VyIHByb2Js ZW0uDQo+ID4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSSBkZWJ1Z2dlZCB0aGlzIGlzc3VlIHdp dGggYWJvdmUgdHdvIHBhdGNoZXMuIEkgd2FudCB0byBzaGFyZQ0KPiBzb21lDQo+ID4gPiBpbmZv cm1hdGlvbiBhbmQgZGlzY3VzcyBzb2x1dGlvbiBoZXJlLiBUaGlzIGlzc3VlIGlzIGFjdHVhbGx5 DQo+IGNhdXNlZCBieQ0KPiA+ID4gdGhhdCBhIFZNIGhhcyBhIGxhcmdlIHBjaSBob2xlIChtbWlv IHNpemUpIHdoaWNoIHJlc3VsdHMgaW4gUUVNVQ0KPiBzZXRzDQo+ID4gPiBtZW1vcnkgcmVnaW9u cyBpbmNvbnNpc3RlbnRseSB3aXRoIGh2bWxvYWRlciAoUUVNVSB1c2VzIGhhcmRjb2RlDQo+ID4g PiAweGUwMDAwMDAwIGluIHBjX2luaXQxIGFuZCB4ZW5fcmFtX2luaXQpLiBJIGNyZWF0ZWQgYSB2 aXJ0dWFsDQo+IGRldmljZQ0KPiA+ID4gd2l0aCAxR0IgbW1pbyBzaXplIHRvIGRlYnVnIHRoaXMg aXNzdWUuIEZpcnN0bHksIFFFTVUgc2V0IG1lbW9yeQ0KPiA+ID4gcmVnaW9ucyBleGNlcHQgcGNp IGhvbGUgcmVnaW9uIGluIHBjX2luaXQxKCkgYW5kIHhlbl9yYW1faW5pdCgpLA0KPiB0aGVuDQo+ ID4gPiBodm1sb2FkZXIgY2FsY3VsYXRlZCBwY2lfbWVtX3N0YXJ0IGFzIDB4ODAwMDAwMDAsIGFu ZCB3cm90ZSBpdCB0bw0KPiBUT00NCj4gPiA+IHJlZ2lzdGVyLCB3aGljaCB0cmlnZ2VyZWQgUUVN VSB0byB1cGRhdGUgcGNpIGhvbGUgcmVnaW9uIHdpdGgNCj4gPiA+IDB4ODAwMDAwMDAgdXNpbmcg aTQ0MGZ4X3VwZGF0ZV9wY2lfbWVtX2hvbGUoKS4gRmluYWxseSB0aGUgd2luZG93cw0KPiA3IFZN DQo+ID4gPiAoY29uZmlndXJlZCA4RykgY3Jhc2hlZCB3aXRoIEJTT0QgY29kZSAweDAwMDAwMDI0 LiBJZiBJIGhhcmRjb2RlIGluDQo+ID4gPiBRRU1VIHBjX2luaXQxIGFuZCB4ZW5fcmFtX2luaXQg dG8gbWF0Y2ggaHZtbG9hZGVyJ3MuIFRoZW4gdGhlDQo+IHByb2JsZW0NCj4gPiA+IHdhcyBnb25l Lg0KPiA+ID4gPg0KPiA+ID4gPiBBbHRocm91Z2ggYWJvdmUgdHdvIHBhdGNoZXMgd2lsbCBwYXNz IGFjdHVhbCBwY2kgaG9sZSBzdGFydA0KPiBhZGRyZXNzDQo+ID4gPiB0byBRRU1VLCBidXQgaXQn cyB0b28gbGF0ZSwgUUVNVSBwY19pbml0MSgpIGFuZCB4ZW5fcmFtX2luaXQoKQ0KPiBhbHJlYWR5 DQo+ID4gPiBzZXQgdGhlIG90aGVyIG1lbW9yeSByZWdpb25zLCBhbmQgb2J2aW91c2x5IHRoZSBw Y2kgaG9sZSBtaWdodA0KPiBvdmVybGFwDQo+ID4gPiB3aXRoIHJhbSByZWdpb25zIGluIHRoaXMg Y2FzZS4gU28gSSB0aGluayBodm1sb2FkZXIgc2hvdWxkIHNldHVwDQo+IHBjaQ0KPiA+ID4gZGV2 aWNlcyBhbmQgY2FsY3VsYXRlIHBjaSBob2xlIGZpcnN0LCB0aGVuIFFFTVUgY2FuIG1hcCBtZW1v cnkNCj4gcmVnaW9ucw0KPiA+ID4gY29ycmVjdGx5IGZyb20gdGhlIGJlZ2lubmluZy4NCj4gPiA+ ID4NCj4gPiA+DQo+ID4gPiBUaGFuayB5b3UgdmVyeSBtdWNoIGZvciB5b3VyIGRldGFpbGVkIGFu YWx5c2lzIG9mIHRoZSBwcm9ibGVtLg0KPiA+ID4NCj4gPiA+IEFmdGVyIHJlYWRpbmcgdGhpcywg SSB3b25kZXIgaG93IGlzIHBvc3NpYmxlIHRoYXQgcWVtdS14ZW4tDQo+IHRyYWRpdGlvbmFsDQo+ ID4gPiBkb2VzIG5vdCBoYXZlIHRoaXMgaXNzdWUsIGNvbnNpZGVyaW5nIHRoYXQgQUZBSUsgdGhl cmUgaXMgbm8gd2F5DQo+IGZvcg0KPiA+ID4gaHZtbG9hZGVyIHRvIHRlbGwgcWVtdS14ZW4tdHJh ZGl0aW9uYWwgd2hlcmUgdGhlIFBDSSBob2xlIHN0YXJ0cy4NCj4gPiA+DQo+ID4gPiBUaGUgb25s eSBkaWZmZXJlbmNlIGJldHdlZW4gdXBzdHJlYW0gUUVNVSBhbmQgcWVtdS14ZW4tdHJhZGl0aW9u YWwNCj4gaXMNCj4gPiA+IHRoYXQgdGhlIGZvcm1lciB3b3VsZCBzdGFydCB0aGUgUENJIGhvbGUg YXQgMHhmMDAwMDAwMCB3aGlsZSB0aGUNCj4gbGF0dGVyDQo+ID4gPiB3b3VsZCBzdGFydCB0aGUg UENJIGhvbGUgYXQgMHhlMDAwMDAwMC4NCj4gPiA+DQo+ID4gPiBTbyBJIHdvdWxkIGV4cGVjdCB0 aGF0IHlvdXIgdGVzdCwgd2hlcmUgaHZtbG9hZGVyIGlzIHVwZGF0aW5nIHRoZQ0KPiBQQ0kNCj4g PiA+IGhvbGUgcmVnaW9uIHRvIHN0YXJ0IGF0IDB4ODAwMDAwMDAsIHdvdWxkIGZhaWwgb24gcWVt dS14ZW4tDQo+IHRyYWRpdGlvbmFsDQo+ID4gPiB0b28uDQo+ID4NCj4gPiBZZXMsIEkgdGhpbmsg c28uDQo+ID4NCj4gPiA+DQo+ID4gPiBPZiBjb3Vyc2UgaGF2aW5nIHRoZSBQQ0kgaG9sZSBzdGFy dGluZyB1bmNvbmRpdGlvbmFsbHkgYXQNCj4gMHhmMDAwMDAwMA0KPiA+ID4gbWFrZXMgaXQgbXVj aCBlYXNpZXIgdG8gcnVuIGludG8gcHJvYmxlbXMgdGhhbiBzdGFydGluZyBpdCBhdA0KPiA+ID4g MHhlMDAwMDAwMC4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gQXNzdW1pbmcgdGhhdCBldmVyeXRoaW5n IGFib3ZlIGlzIGNvcnJlY3QsIHRoaXMgaXMgd2hhdCBJIHdvdWxkIGRvOg0KPiA+ID4NCj4gPiA+ IDEpIG1vZGlmeSB1cHN0cmVhbSBRRU1VIHRvIHN0YXJ0IHRoZSBQQ0kgaG9sZSBhdCAweGUwMDAw MDAwLCB0bw0KPiBtYXRjaA0KPiA+ID4gcWVtdS14ZW4tdW5zdGFibGUgaW4gdGVybXMgb2YgY29u ZmlndXJhdGlvbiBhbmQgbm90IHRvIGludHJvZHVjZQ0KPiBhbnkNCj4gPiA+IHJlZ3Jlc3Npb25z LiBEbyB0aGlzIGZvciB0aGUgWGVuIDQuMyByZWxlYXNlLg0KPiA+DQo+ID4gSXQncyBhIHF1aWNr IGltcHJvdmVtZW50IGJlZm9yZSBpbXBsZW1lbnRpbmcgYSB0aG9yb3VnaCBzb2x1dGlvbi4NCj4g DQo+IENvb2wuDQo+IENhbiB5b3UgY29uZmlybSB0aGF0IHRoZSBmb2xsb3dpbmcgcGF0Y2ggc29s dmVzIHlvdXIgb3JpZ2luYWwgcHJvYmxlbT8NCj4gDQoNCkFjdHVhbGx5IEkgYWxyZWFkeSBtb2Rp ZmllZCBjb2RlIGxpa2UgeW91ciBiZWxvdyBwYXRjaC4gSXQgd29ya2VkIGZvciBtZSB3aGVuIEkg cGFzc3Rocm91Z2ggb25lIEdQVSB3aG9zZSBtbWlvIHNpemUgaXMgYWJvdXQgMjAwTUIuDQoNClRo ZXJlIGlzIGhhcmRjb2RlIDB4ZTAwMDAwMDAgaW4gcGNfaW5pdDEoKSBpbiBwY19waWl4LmMgZmls ZS4gSSBzdWdnZXN0IHRvIHJlcGxhY2UgaXQgYnkgUUVNVV9YRU5fQkVMT1dfNEdfUkFNX0VORC4g SSB0aGluayB0aGUgbWVtb3J5IGxheW91dCBjYWxjdWxhdGlvbiBzaG91bGQgYmUgY29uc2lzdGVu dCBiZXR3ZWVuIHhlbl9yYW1faW5pdCgpIGFuZCBwY19pbml0MSgpLiANCg0Kd2VpZG9uZw0KCQ0K PiANCj4gZGlmZiAtLWdpdCBhL3hlbi1hbGwuYyBiL3hlbi1hbGwuYw0KPiBpbmRleCBkYWY0M2I5 Li4yNTlmODYyIDEwMDY0NA0KPiAtLS0gYS94ZW4tYWxsLmMNCj4gKysrIGIveGVuLWFsbC5jDQo+ IEBAIC0zNSw2ICszNSw5IEBADQo+ICAgICAgZG8geyB9IHdoaWxlICgwKQ0KPiAgI2VuZGlmDQo+ IA0KPiArI2RlZmluZSBRRU1VX1hFTl9CRUxPV180R19SQU1fRU5EICAgICAgIDB4ZTAwMDAwMDAN Cj4gKyNkZWZpbmUgUUVNVV9YRU5fQkVMT1dfNEdfTU1JT19MRU5HVEggICAoKDFVTEwgPDwgMzIp IC0NCj4gUUVNVV9YRU5fQkVMT1dfNEdfUkFNX0VORCkNCj4gKw0KPiAgc3RhdGljIE1lbW9yeVJl Z2lvbiByYW1fbWVtb3J5LCByYW1fNjQwaywgcmFtX2xvLCByYW1faGk7DQo+ICBzdGF0aWMgTWVt b3J5UmVnaW9uICpmcmFtZWJ1ZmZlcjsNCj4gIHN0YXRpYyBib29sIHhlbl9pbl9taWdyYXRpb247 DQo+IEBAIC0xNjAsMTggKzE2MywxOCBAQCBzdGF0aWMgdm9pZCB4ZW5fcmFtX2luaXQocmFtX2Fk ZHJfdCByYW1fc2l6ZSkNCj4gICAgICByYW1fYWRkcl90IGJsb2NrX2xlbjsNCj4gDQo+ICAgICAg YmxvY2tfbGVuID0gcmFtX3NpemU7DQo+IC0gICAgaWYgKHJhbV9zaXplID49IEhWTV9CRUxPV180 R19SQU1fRU5EKSB7DQo+ICsgICAgaWYgKHJhbV9zaXplID49IFFFTVVfWEVOX0JFTE9XXzRHX1JB TV9FTkQpIHsNCj4gICAgICAgICAgLyogWGVuIGRvZXMgbm90IGFsbG9jYXRlIHRoZSBtZW1vcnkg Y29udGludW91c2x5LCBhbmQga2VlcCBhDQo+IGhvbGUgYXQNCj4gLSAgICAgICAgICogSFZNX0JF TE9XXzRHX01NSU9fU1RBUlQgb2YgSFZNX0JFTE9XXzRHX01NSU9fTEVOR1RIDQo+ICsgICAgICAg ICAqIFFFTVVfWEVOX0JFTE9XXzRHX1JBTV9FTkQgb2YgUUVNVV9YRU5fQkVMT1dfNEdfTU1JT19M RU5HVEgNCj4gICAgICAgICAgICovDQo+IC0gICAgICAgIGJsb2NrX2xlbiArPSBIVk1fQkVMT1df NEdfTU1JT19MRU5HVEg7DQo+ICsgICAgICAgIGJsb2NrX2xlbiArPSBRRU1VX1hFTl9CRUxPV180 R19NTUlPX0xFTkdUSDsNCj4gICAgICB9DQo+ICAgICAgbWVtb3J5X3JlZ2lvbl9pbml0X3JhbSgm cmFtX21lbW9yeSwgInhlbi5yYW0iLCBibG9ja19sZW4pOw0KPiAgICAgIHZtc3RhdGVfcmVnaXN0 ZXJfcmFtX2dsb2JhbCgmcmFtX21lbW9yeSk7DQo+IA0KPiAtICAgIGlmIChyYW1fc2l6ZSA+PSBI Vk1fQkVMT1dfNEdfUkFNX0VORCkgew0KPiAtICAgICAgICBhYm92ZV80Z19tZW1fc2l6ZSA9IHJh bV9zaXplIC0gSFZNX0JFTE9XXzRHX1JBTV9FTkQ7DQo+IC0gICAgICAgIGJlbG93XzRnX21lbV9z aXplID0gSFZNX0JFTE9XXzRHX1JBTV9FTkQ7DQo+ICsgICAgaWYgKHJhbV9zaXplID49IFFFTVVf WEVOX0JFTE9XXzRHX1JBTV9FTkQpIHsNCj4gKyAgICAgICAgYWJvdmVfNGdfbWVtX3NpemUgPSBy YW1fc2l6ZSAtIFFFTVVfWEVOX0JFTE9XXzRHX1JBTV9FTkQ7DQo+ICsgICAgICAgIGJlbG93XzRn X21lbV9zaXplID0gUUVNVV9YRU5fQkVMT1dfNEdfUkFNX0VORDsNCj4gICAgICB9IGVsc2Ugew0K PiAgICAgICAgICBiZWxvd180Z19tZW1fc2l6ZSA9IHJhbV9zaXplOw0KPiAgICAgIH0NCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVu LWRldmVsCg==