From mboxrd@z Thu Jan 1 00:00:00 1970 From: youenn.gestin@grim-is-a-geek.fr Subject: Re: GPU passthrough issue when VM is configured with 4G memory Date: Sun, 17 Mar 2013 00:41:01 +0100 Message-ID: References: <33183CC9F5247A488A2544077AF1902038628410@szxeml538-mbx.china.huawei.com> <513739DD.8050507@eu.citrix.com> <513868F0.6020104@eu.citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org TGUgMTMuMDMuMjAxMyAxNDoyMywgSGFud2VpZG9uZyBhIMOpY3JpdMKgOgo+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9tOiBkdW5sYXBnQGdtYWlsLmNvbSBbbWFpbHRvOmR1bmxh cGdAZ21haWwuY29tXSBPbiBCZWhhbGYgT2YgCj4+IEdlb3JnZQo+PiBEdW5sYXAKPj4gU2VudDog MjAxM+W5tDPmnIgxMuaXpSAxODo0MAo+PiBUbzogSGFud2VpZG9uZwo+PiBDYzogU3RlZmFubyBT dGFiZWxsaW5pOyBZYW5xaWFuZ2p1bjsgTHVvbmVuZ2p1bjsgV2FuZ3poZW5ndW87Cj4+IFlhbmd4 aWFvd2VpOyBHb25nbGVpIChBcmVpKTsgQW50aG9ueSBQZXJhcmQ7IHhlbi1kZXZlbEBsaXN0cy54 ZW4ub3JnCj4+IFN1YmplY3Q6IFJlOiBbWGVuLWRldmVsXSBHUFUgcGFzc3Rocm91Z2ggaXNzdWUg d2hlbiBWTSBpcyBjb25maWd1cmVkCj4+IHdpdGggNEcgbWVtb3J5Cj4+Cj4+IE9uIFR1ZSwgTWFy IDEyLCAyMDEzIGF0IDU6NDUgQU0sIEhhbndlaWRvbmcgPGhhbndlaWRvbmdAaHVhd2VpLmNvbT4K Pj4gd3JvdGU6Cj4+ID4gSSBkb24ndCB0aGluayBpdCdzIGEgcGFzcy10aHJvdWdoIGlzc3VlLiBX ZSBhbHNvIGVuY291bnRlcmVkIAo+PiBzaW1pbGFyCj4+ID4gaXNzdWUgd2hlbiB1c2luZyBpdnNo bWVtIGRldmljZSB3aXRoIDUxMk0gbW1pby4gVGhlIHByb2JsZW0gaXMKPj4gaHZtbG9hZGVyCj4+ ID4gYWRqdXN0ZWQgcGNpX21lbV9zdGFydCBhY2NvcmRpbmcgdG8gYWN0dWFsIG1taW8gc2l6ZSBv ZiBWTSwgYnV0IAo+PiBRRU1VCj4+IGRvZXMKPj4gPiBub3Qga25vdyB0aGUgYWN0dWFsIG1taW8g c2l6ZSBvZiBWTSwgaXQganVzdCB1c2VzIHRoZQo+PiBIVk1fQkVMT1dfNEdfUkFNX0VORAo+PiA+ IGFuZCBIVk1fQkVMT1dfNEdfTU1JT19MRU5HVEggaW4geGVuX3JhbV9pbml0LiBUaGlzIHJlc3Vs dHMgaW4gCj4+IG1lbW9yeQo+PiBsYXlvdXQKPj4gPiBtaXNtYXRjaCBiZXR3ZWVuIGh2bWxvYWRl ciBhbmQgUUVNVS4gSSB0aGluayBpdCBuZWVkcyB0byBtYWtlIFFFTVUKPj4ga25vdwo+PiA+IGFj dHVhbCBtbWlvIHNpemUsIGFuZCB0aGVuIGl0IGNhbiBtYWtlIHRoZSBzYW1lIG1lbW9yeSBsYXlv dXQgYXMKPj4gaHZtbG9hZGVyLgo+Pgo+PiBTbyBJJ20gbm90IGFuIGV4cGVydCBpbiB0aGlzIGNv ZGVwYXRoLCBidXQgaXQgd2FzIG15IHVuZGVyc3RhbmRpbmcKPj4gdGhhdCByZXNpemluZyB0aGUg TU1JTyBob2xlIGlzIGFjdHVhbGx5IHRoZSBqb2Igb2YgdGhlIGd1ZXN0IEJJT1M6IAo+PiBpdAo+ PiBpcyBzdXBwb3NlZCB0byBxdWVyeSB0aGUgUENJIGRldmljZXMgdG8gZmluZCBvdXQgaG93IG11 Y2ggbWVtb3J5IAo+PiB0aGV5Cj4+IG5lZWQsIGFuZCB0aGVuIHJlbG9jYXRlIG1lbW9yeSBhcyBh cHByb3ByaWF0ZS4gIFhlblNlcnZlciBuZXZlciBoYWQKPj4gYW55IHByb2JsZW0gd2l0aCB0aGUg TU1JTyBob2xlIG5vdCBiZWluZyBiaWcgZW5vdWdoIHdoZW4gcGFzc2luZyAKPj4gY2FyZHMKPj4g dG8gdGhlIGd1ZXN0OyB0aGUgb25seSBwcm9ibGVtIHdlJ3ZlIGV2ZXIgaGFkIChhcyBmYXIgYXMg SSBrbm93KSBpcwo+PiB0aGUgaXNzdWUgSSBtZW50aW9uZWQgYmVmb3JlLCB3aGVyZSB0aGVyZSB3 YXMgYSBidWcgaW4gc29tZSBwY2kgCj4+IGJyaWRnZQo+PiBjYXJkcyB0aGF0IGJyZWFrcyBWVC1k IGlmIHRoZSBndWVzdCBwaHlzaWNhbCBhZGRyZXNzIG92ZXJsYXBzIHRoZSAKPj4gaG9zdAo+PiBw aHlzaWNhbCBhZGRyZXNzIHJhbmdlIG9mIGFub3RoZXIgZGV2aWNlLgo+Pgo+PiBDYW4geW91IG1h eWJlIGJvb3QgTGludXggaW4gYW4gSFZNIGRvbWFpbiBhbmQgZG8gYW4gbHNwY2kgb3IgbG9vayBh dAo+PiBMaW51eCdzIGU4MjAgbWFwLCBhbmQgY2hlY2sgdG8gc2VlIHdoZXRoZXIgdGhlIEJJT1Mg aGFzIGluIGZhY3QKPj4gcmVsb2NhdGVkIHRoZSBndWVzdCBtZW1vcnksIG9yIHdoZXRoZXIgdGhl IE1NSU8gaG9sZSBkb2VzIGluZGVlZCAKPj4gc3RhcnQKPj4gb25seSBhdCBIVk1fQkVMT1dfNEdf UkFNX0VORD8KPj4KPgo+IFdlIHRyaWVkIExpbnV4IGd1ZXN0LCBidXQgaXQgc3RvcHBlZCBhdCBn cnViIHNjcmVlbiwgY2Fubm90IGJvb3QgdXAuIAo+IFBvc3RlZAo+ICJ4bCBkbWVzZyIgb3V0cHV0 IGFzIGJlbG93Ogo+Cj4gKFhFTikgSFZNMTM6IEhWTSBMb2FkZXIKPiAoWEVOKSBIVk0xMzogRGV0 ZWN0ZWQgWGVuIHY0LjMtdW5zdGFibGUKPiAoWEVOKSBIVk0xMzogWGVuYnVzIHJpbmdzIEAweGZl ZmZjMDAwLCBldmVudCBjaGFubmVsIDMKPiAoWEVOKSBIVk0xMzogU3lzdGVtIHJlcXVlc3RlZCBT ZWFCSU9TCj4gKFhFTikgSFZNMTM6IENQVSBzcGVlZCBpcyAyNTAwIE1Iego+IChYRU4pIGlycS5j OjI3MDogRG9tMTMgUENJIGxpbmsgMCBjaGFuZ2VkIDAgLT4gNQo+IChYRU4pIEhWTTEzOiBQQ0kt SVNBIGxpbmsgMCByb3V0ZWQgdG8gSVJRNQo+IChYRU4pIGlycS5jOjI3MDogRG9tMTMgUENJIGxp bmsgMSBjaGFuZ2VkIDAgLT4gMTAKPiAoWEVOKSBIVk0xMzogUENJLUlTQSBsaW5rIDEgcm91dGVk IHRvIElSUTEwCj4gKFhFTikgaXJxLmM6MjcwOiBEb20xMyBQQ0kgbGluayAyIGNoYW5nZWQgMCAt PiAxMQo+IChYRU4pIEhWTTEzOiBQQ0ktSVNBIGxpbmsgMiByb3V0ZWQgdG8gSVJRMTEKPiAoWEVO KSBpcnEuYzoyNzA6IERvbTEzIFBDSSBsaW5rIDMgY2hhbmdlZCAwIC0+IDUKPiAoWEVOKSBIVk0x MzogUENJLUlTQSBsaW5rIDMgcm91dGVkIHRvIElSUTUKPiAoWEVOKSBIVk0xMzogcGNpIGRldiAw MToyIElOVEQtPklSUTUKPiAoWEVOKSBIVk0xMzogcGNpIGRldiAwMTozIElOVEEtPklSUTEwCj4g KFhFTikgSFZNMTM6IHBjaSBkZXYgMDM6MCBJTlRBLT5JUlE1Cj4gKFhFTikgSFZNMTM6IHBjaSBk ZXYgMDQ6MCBJTlRBLT5JUlE1Cj4gKFhFTikgSFZNMTM6IHBjaSBkZXYgMDU6MCBJTlRBLT5JUlEx MAo+IChYRU4pIEhWTTEzOiBwY2kgZGV2IDA1OjAgYmFyIDE0IHNpemUgbHg6IDA4MDAwMDAwCj4g KFhFTikgbWVtb3J5X21hcDphZGQ6IGRvbTEzIGdmbj1lMDAwMCBtZm49ZTgwMDAgbnI9ODAwMAo+ IChYRU4pIG1lbW9yeV9tYXA6YWRkOiBkb20xMyBnZm49ZTgwMDAgbWZuPWYwMDAwIG5yPTQwMDAK PiAoWEVOKSBIVk0xMzogcGNpIGRldiAwNTowIGJhciAxYyBzaXplIGx4OiAwNDAwMDAwMAo+IChY RU4pIEhWTTEzOiBwY2kgZGV2IDAyOjAgYmFyIDEwIHNpemUgbHg6IDAyMDAwMDAwCj4gKFhFTikg bWVtb3J5X21hcDphZGQ6IGRvbTEzIGdmbj1lZTAwMCBtZm49YmMwMDAgbnI9MjAwMAo+IChYRU4p IEhWTTEzOiBwY2kgZGV2IDA1OjAgYmFyIDEwIHNpemUgbHg6IDAyMDAwMDAwCj4gKFhFTikgSFZN MTM6IHBjaSBkZXYgMDM6MCBiYXIgMTQgc2l6ZSBseDogMDEwMDAwMDAKPiAoWEVOKSBIVk0xMzog cGNpIGRldiAwNTowIGJhciAzMCBzaXplIGx4OiAwMDA4MDAwMAo+IChYRU4pIEhWTTEzOiBwY2kg ZGV2IDAyOjAgYmFyIDMwIHNpemUgbHg6IDAwMDEwMDAwCj4gKFhFTikgSFZNMTM6IHBjaSBkZXYg MDQ6MCBiYXIgMzAgc2l6ZSBseDogMDAwMTAwMDAKPiAoWEVOKSBIVk0xMzogcGNpIGRldiAwMjow IGJhciAxNCBzaXplIGx4OiAwMDAwMTAwMAo+IChYRU4pIEhWTTEzOiBwY2kgZGV2IDAzOjAgYmFy IDEwIHNpemUgbHg6IDAwMDAwMTAwCj4gKFhFTikgSFZNMTM6IHBjaSBkZXYgMDQ6MCBiYXIgMTAg c2l6ZSBseDogMDAwMDAxMDAKPiAoWEVOKSBIVk0xMzogcGNpIGRldiAwNDowIGJhciAxNCBzaXpl IGx4OiAwMDAwMDEwMAo+IChYRU4pIEhWTTEzOiBwY2kgZGV2IDA1OjAgYmFyIDI0IHNpemUgbHg6 IDAwMDAwMDgwCj4gKFhFTikgaW9wb3J0X21hcDphZGQ6IGRvbTEzIGdwb3J0PWMyMDAgbXBvcnQ9 MjAwMCBucj04MAo+IChYRU4pIEhWTTEzOiBwY2kgZGV2IDAxOjIgYmFyIDIwIHNpemUgbHg6IDAw MDAwMDIwCj4gKFhFTikgSFZNMTM6IHBjaSBkZXYgMDE6MSBiYXIgMjAgc2l6ZSBseDogMDAwMDAw MTAKPiAoWEVOKSBIVk0xMzogTXVsdGlwcm9jZXNzb3IgaW5pdGlhbGlzYXRpb246Cj4gKFhFTikg SFZNMTM6ICAtIENQVTAgLi4uIDQ2LWJpdCBwaHlzIC4uLiBmaXhlZCBNVFJScyAuLi4gdmFyIE1U UlJzCj4gWzMvOF0gLi4uIGRvbmUuCj4gKFhFTikgSFZNMTM6IFRlc3RpbmcgSFZNIGVudmlyb25t ZW50Ogo+IChYRU4pIEhWTTEzOiAgLSBSRVAgSU5TQiBhY3Jvc3MgcGFnZSBib3VuZGFyaWVzIC4u LiBwYXNzZWQKPiAoWEVOKSBIVk0xMzogIC0gR1MgYmFzZSBNU1JzIGFuZCBTV0FQR1MgLi4uIHBh c3NlZAo+IChYRU4pIEhWTTEzOiBQYXNzZWQgMiBvZiAyIHRlc3RzCj4gKFhFTikgSFZNMTM6IFdy aXRpbmcgU01CSU9TIHRhYmxlcyAuLi4KPiAoWEVOKSBIVk0xMzogTG9hZGluZyBTZWFCSU9TIC4u Lgo+IChYRU4pIEhWTTEzOiBDcmVhdGluZyBNUCB0YWJsZXMgLi4uCj4gKFhFTikgSFZNMTM6IExv YWRpbmcgQUNQSSAuLi4KPiAoWEVOKSBIVk0xMzogdm04NiBUU1MgYXQgZmMwMGEwMDAKPiAoWEVO KSBIVk0xMzogQklPUyBtYXA6Cj4gKFhFTikgSFZNMTM6ICAxMDAwMC0xMDBkMzogU2NyYXRjaCBz cGFjZQo+IChYRU4pIEhWTTEzOiAgZTAwMDAtZmZmZmY6IE1haW4gQklPUwo+IChYRU4pIEhWTTEz OiBFODIwIHRhYmxlOgo+IChYRU4pIEhWTTEzOiAgWzAwXTogMDAwMDAwMDA6MDAwMDAwMDAgLSAw MDAwMDAwMDowMDBhMDAwMDogUkFNCj4gKFhFTikgSFZNMTM6ICBIT0xFOiAwMDAwMDAwMDowMDBh MDAwMCAtIDAwMDAwMDAwOjAwMGUwMDAwCj4gKFhFTikgSFZNMTM6ICBbMDFdOiAwMDAwMDAwMDow MDBlMDAwMCAtIDAwMDAwMDAwOjAwMTAwMDAwOiBSRVNFUlZFRAo+IChYRU4pIEhWTTEzOiAgWzAy XTogMDAwMDAwMDA6MDAxMDAwMDAgLSAwMDAwMDAwMDplMDAwMDAwMDogUkFNCj4gKFhFTikgSFZN MTM6ICBIT0xFOiAwMDAwMDAwMDplMDAwMDAwMCAtIDAwMDAwMDAwOmZjMDAwMDAwCj4gKFhFTikg SFZNMTM6ICBbMDNdOiAwMDAwMDAwMDpmYzAwMDAwMCAtIDAwMDAwMDAxOjAwMDAwMDAwOiBSRVNF UlZFRAo+IChYRU4pIEhWTTEzOiAgWzA0XTogMDAwMDAwMDE6MDAwMDAwMDAgLSAwMDAwMDAwMTox ZjgwMDAwMDogUkFNCj4gKFhFTikgSFZNMTM6IEludm9raW5nIFNlYUJJT1MgLi4uCj4gKFhFTikg SFZNMTM6IFNlYUJJT1MgKHZlcnNpb24gCj4gcmVsLTEuNy4xLTAtZzUxNzU1YzMtMjAxMzAyMjdf MTY0MDAxLWxpbnV4LURQTVpQTykKPiAoWEVOKSBIVk0xMzoKPiAoWEVOKSBIVk0xMzogRm91bmQg WGVuIGh5cGVydmlzb3Igc2lnbmF0dXJlIGF0IDQwMDAwMDAwCj4gKFhFTikgSFZNMTM6IHhlbjog Y29weSBlODIwLi4uCj4gKFhFTikgSFZNMTM6IFJhbSBTaXplPTB4ZTAwMDAwMDAgKDB4MDAwMDAw MDAxZjgwMDAwMCBoaWdoKQo+IChYRU4pIEhWTTEzOiBSZWxvY2F0aW5nIGxvdyBkYXRhIGZyb20g MHgwMDBlMjQ5MCB0byAweDAwMGVmNzkwIChzaXplIAo+IDIxNTYpCj4gKFhFTikgSFZNMTM6IFJl bG9jYXRpbmcgaW5pdCBmcm9tIDB4MDAwZTJjZmMgdG8gMHhkZmZlMjBmMCAoc2l6ZSAKPiA1Njgw NCkKPiAoWEVOKSBIVk0xMzogQ1BVIE1oej0yNTAxCj4gKFhFTikgSFZNMTM6IEZvdW5kIDkgUENJ IGRldmljZXMgKG1heCBQQ0kgYnVzIGlzIDAwKQo+IChYRU4pIEhWTTEzOiBBbGxvY2F0ZWQgWGVu IGh5cGVyY2FsbCBwYWdlIGF0IGRmZmZmMDAwCj4gKFhFTikgSFZNMTM6IERldGVjdGVkIFhlbiB2 NC4zLXVuc3RhYmxlCj4gKFhFTikgSFZNMTM6IEZvdW5kIDEgY3B1KHMpIG1heCBzdXBwb3J0ZWQg MSBjcHUocykKPiAoWEVOKSBIVk0xMzogeGVuOiBjb3B5IEJJT1MgdGFibGVzLi4uCj4gKFhFTikg SFZNMTM6IENvcHlpbmcgU01CSU9TIGVudHJ5IHBvaW50IGZyb20gMHgwMDAxMDAxMCB0byAweDAw MGZkYjEwCj4gKFhFTikgSFZNMTM6IENvcHlpbmcgTVBUQUJMRSBmcm9tIDB4ZmMwMDExNDAvZmMw MDExNTAgdG8gMHgwMDBmZGEzMAo+IChYRU4pIEhWTTEzOiBDb3B5aW5nIFBJUiBmcm9tIDB4MDAw MTAwMzAgdG8gMHgwMDBmZDliMAo+IChYRU4pIEhWTTEzOiBDb3B5aW5nIEFDUEkgUlNEUCBmcm9t IDB4MDAwMTAwYjAgdG8gMHgwMDBmZDk4MAo+IChYRU4pIEhWTTEzOiBTY2FuIGZvciBWR0Egb3B0 aW9uIHJvbQo+IChYRU4pIEhWTTEzOiBSdW5uaW5nIG9wdGlvbiByb20gYXQgYzAwMDowMDAzCj4g KFhFTikgc3RkdmdhLmM6MTQ3OmQxMyBlbnRlcmluZyBzdGR2Z2EgYW5kIGNhY2hpbmcgbW9kZXMK PiAoWEVOKSBIVk0xMzogVHVybmluZyBvbiB2Z2EgdGV4dCBtb2RlIGNvbnNvbGUKPiAoWEVOKSBI Vk0xMzogU2VhQklPUyAodmVyc2lvbiAKPiByZWwtMS43LjEtMC1nNTE3NTVjMy0yMDEzMDIyN18x NjQwMDEtbGludXgtRFBNWlBPKQo+IChYRU4pIEhWTTEzOgo+IChYRU4pIEhWTTEzOiBVSENJIGlu aXQgb24gZGV2IDAwOjAxLjIgKGlvPWMyODApCj4gKFhFTikgSFZNMTM6IEZvdW5kIDEgbHB0IHBv cnRzCj4gKFhFTikgSFZNMTM6IEZvdW5kIDEgc2VyaWFsIHBvcnRzCj4gKFhFTikgSFZNMTM6IEFU QSBjb250cm9sbGVyIDEgYXQgMWYwLzNmNC9jMmEwIChpcnEgMTQgZGV2IDkpCj4gKFhFTikgSFZN MTM6IEFUQSBjb250cm9sbGVyIDIgYXQgMTcwLzM3NC9jMmE4IChpcnEgMTUgZGV2IDkpCj4gKFhF TikgSFZNMTM6IGF0YTAtMDogUUVNVSBIQVJERElTSyBBVEEtNyBIYXJkLURpc2sgKDIwNDgwIE1p Qnl0ZXMpCj4gKFhFTikgSFZNMTM6IFNlYXJjaGluZyBib290b3JkZXIgZm9yOiAvcGNpQGkwY2Y4 LypAMSwxL2RyaXZlQDAvZGlza0AwCj4gKFhFTikgSFZNMTM6IERWRC9DRCBbYXRhMS0wOiBRRU1V IERWRC1ST00gQVRBUEktNCBEVkQvQ0RdCj4gKFhFTikgSFZNMTM6IFNlYXJjaGluZyBib290b3Jk ZXIgZm9yOiAvcGNpQGkwY2Y4LypAMSwxL2RyaXZlQDEvZGlza0AwCj4gKFhFTikgSFZNMTM6IFBT MiBrZXlib2FyZCBpbml0aWFsaXplZAo+IChYRU4pIEhWTTEzOiBBbGwgdGhyZWFkcyBjb21wbGV0 ZS4KPiAoWEVOKSBIVk0xMzogU2NhbiBmb3Igb3B0aW9uIHJvbXMKPiAoWEVOKSBIVk0xMzogUnVu bmluZyBvcHRpb24gcm9tIGF0IGM5MDA6MDAwMwo+IChYRU4pIEhWTTEzOiBwbW0gY2FsbCBhcmcx PTEKPiAoWEVOKSBIVk0xMzogcG1tIGNhbGwgYXJnMT0wCj4gKFhFTikgSFZNMTM6IHBtbSBjYWxs IGFyZzE9MQo+IChYRU4pIEhWTTEzOiBwbW0gY2FsbCBhcmcxPTAKPiAoWEVOKSBIVk0xMzogU2Vh cmNoaW5nIGJvb3RvcmRlciBmb3I6IC9wY2lAaTBjZjgvKkA0Cj4gKFhFTikgSFZNMTM6IFByZXNz IEYxMiBmb3IgYm9vdCBtZW51Lgo+IChYRU4pIEhWTTEzOgo+IChYRU4pIEhWTTEzOiBkcml2ZSAw eDAwMGZkOTMwOiBQQ0hTPTE2MzgzLzE2LzYzIHRyYW5zbGF0aW9uPWxiYQo+IExDSFM9MTAyNC8y NTUvNjMgcz00MTk0MzA0MAo+IChYRU4pIEhWTTEzOgo+IChYRU4pIEhWTTEzOiBTcGFjZSBhdmFp bGFibGUgZm9yIFVNQjogMDAwY2EwMDAtMDAwZWU4MDAKPiAoWEVOKSBIVk0xMzogUmV0dXJuZWQg NjE0NDAgYnl0ZXMgb2YgWm9uZUhpZ2gKPiAoWEVOKSBIVk0xMzogZTgyMCBtYXAgaGFzIDcgaXRl bXM6Cj4gKFhFTikgSFZNMTM6ICAgMDogMDAwMDAwMDAwMDAwMDAwMCAtIDAwMDAwMDAwMDAwOWZj MDAgPSAxIFJBTQo+IChYRU4pIEhWTTEzOiAgIDE6IDAwMDAwMDAwMDAwOWZjMDAgLSAwMDAwMDAw MDAwMGEwMDAwID0gMiBSRVNFUlZFRAo+IChYRU4pIEhWTTEzOiAgIDI6IDAwMDAwMDAwMDAwZjAw MDAgLSAwMDAwMDAwMDAwMTAwMDAwID0gMiBSRVNFUlZFRAo+IChYRU4pIEhWTTEzOiAgIDM6IDAw MDAwMDAwMDAxMDAwMDAgLSAwMDAwMDAwMGRmZmZmMDAwID0gMSBSQU0KPiAoWEVOKSBIVk0xMzog ICA0OiAwMDAwMDAwMGRmZmZmMDAwIC0gMDAwMDAwMDBlMDAwMDAwMCA9IDIgUkVTRVJWRUQKPiAo WEVOKSBIVk0xMzogICA1OiAwMDAwMDAwMGZjMDAwMDAwIC0gMDAwMDAwMDEwMDAwMDAwMCA9IDIg UkVTRVJWRUQKPiAoWEVOKSBIVk0xMzogICA2OiAwMDAwMDAwMTAwMDAwMDAwIC0gMDAwMDAwMDEx ZjgwMDAwMCA9IDEgUkFNCj4gKFhFTikgSFZNMTM6IGVudGVyIGhhbmRsZV8xOToKPiAoWEVOKSBI Vk0xMzogICBOVUxMCj4gKFhFTikgSFZNMTM6IEJvb3RpbmcgZnJvbSBIYXJkIERpc2suLi4KPiAo WEVOKSBIVk0xMzogQm9vdGluZyBmcm9tIDAwMDA6N2MwMAo+IChYRU4pIHN0ZHZnYS5jOjE1MTpk MTMgbGVhdmluZyBzdGR2Z2EKPiAoWEVOKSBzdGR2Z2EuYzoxNDc6ZDEzIGVudGVyaW5nIHN0ZHZn YSBhbmQgY2FjaGluZyBtb2Rlcwo+Cj4gTU1JTyBIT0xFIHdhcyBhZGp1c3RlZCB0byBlMDAwMDAw MCAtIGZjMDAwMDAwLiBCdXQgUUVNVSB1c2VzIGJlbG93IAo+IGNvZGUgdG8gaW5pdAo+IFJBTSBp biB4ZW5fcmFtX2luaXQ6Cj4KPiAgICAgLi4uCj4gICAgIGJsb2NrX2xlbiA9IHJhbV9zaXplOwo+ ICAgICBpZiAocmFtX3NpemUgPj0gSFZNX0JFTE9XXzRHX1JBTV9FTkQpIHsKPiAgICAgICAgIC8q IFhlbiBkb2VzIG5vdCBhbGxvY2F0ZSB0aGUgbWVtb3J5IGNvbnRpbnVvdXNseSwgYW5kIGtlZXAg YSAKPiBob2xlIGF0Cj4gICAgICAgICAgKiBIVk1fQkVMT1dfNEdfTU1JT19TVEFSVCBvZiBIVk1f QkVMT1dfNEdfTU1JT19MRU5HVEgKPiAgICAgICAgICAqLwo+ICAgICAgICAgYmxvY2tfbGVuICs9 IEhWTV9CRUxPV180R19NTUlPX0xFTkdUSDsKPiAgICAgfQo+ICAgICBtZW1vcnlfcmVnaW9uX2lu aXRfcmFtKCZyYW1fbWVtb3J5LCAieGVuLnJhbSIsIGJsb2NrX2xlbik7Cj4gICAgIHZtc3RhdGVf cmVnaXN0ZXJfcmFtX2dsb2JhbCgmcmFtX21lbW9yeSk7Cj4KPiAgICAgaWYgKHJhbV9zaXplID49 IEhWTV9CRUxPV180R19SQU1fRU5EKSB7Cj4gICAgICAgICBhYm92ZV80Z19tZW1fc2l6ZSA9IHJh bV9zaXplIC0gSFZNX0JFTE9XXzRHX1JBTV9FTkQ7Cj4gICAgICAgICBiZWxvd180Z19tZW1fc2l6 ZSA9IEhWTV9CRUxPV180R19SQU1fRU5EOwo+ICAgICB9IGVsc2Ugewo+ICAgICAgICAgYmVsb3df NGdfbWVtX3NpemUgPSByYW1fc2l6ZTsKPiAgICAgfQo+ICAgICAuLi4KPgo+IEhWTV9CRUxPV180 R19SQU1fRU5EIGlzIGYwMDAwMDAwLiBJZiB3ZSBjaGFuZ2UgSFZNX0JFTE9XXzRHX1JBTV9FTkQK PiB0byBlMDAwMDAwMCwKPiBXaGljaCBpdCdzIGNvbnNpc3RlbnQgd2l0aCBodm1sb2FkZXIgd2hl biBhc3NpZ25pbmcgYSBHUFUsIGFuZCB0aGVuCj4gZ3Vlc3Qgd29ya2VkCj4gZm9yIHVzLiBTbyB3 ZSB3b25kZXJpbmcgdGhhdCB4ZW5fcmFtX2luaXQgaW4gUUVNVSBzaG91bGQgYmUgCj4gY29uc2lz dGVudCB3aXRoCj4gaHZtbG9hZGVyLgo+Cj4gSW4gYWRkaXRpb24sIHdlIGZvdW5kIFFFTVUgdXNl cyBoYXJkY29kZSAweGUwMDAwMDAwIGluIHBjX2luaXQxKCkgYXMgCj4gYmVsb3cuCj4gU2hvdWxk IGtlZXAgdGhlc2UgcGxhY2VzIGhhbmRsZSB0aGUgY29uc2lzdGVudCBtbWlvIGhvbGUgb3Igbm90 Pwo+Cj4gICAgIGlmIChyYW1fc2l6ZSA+PSAweGUwMDAwMDAwICkgewo+ICAgICAgICAgYWJvdmVf NGdfbWVtX3NpemUgPSByYW1fc2l6ZSAtIDB4ZTAwMDAwMDA7Cj4gICAgICAgICBiZWxvd180Z19t ZW1fc2l6ZSA9IDB4ZTAwMDAwMDA7Cj4gICAgIH0gZWxzZSB7Cj4gICAgICAgICBhYm92ZV80Z19t ZW1fc2l6ZSA9IDA7Cj4gICAgICAgICBiZWxvd180Z19tZW1fc2l6ZSA9IHJhbV9zaXplOwo+ICAg ICB9Cj4KPiAtLXdlaWRvbmcKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwo+IGh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKSGVsbG8sCgpXaGF0IGNhbiBv ZiBidWcgd2UgY2FuIGVuY291bnRlciBieSBoYXJkY29kaW5nIHRoZSBIVk1fQkVMT1dfNEdfUkFN X0VORCAKdG8gZTAwMDAwMDAgPwoKQnkgZG9pbmcgdGhpcyBJJ20gYWJsZSB0byBib290IG9uIFdp bjcgd2l0aCBncHUgcGFzc3Rocm91Z2ggb2YgYW4gCm52aWRpYSA1NjBUSSBhbiAxMkdvIG9mIHJh bS4KClJlZ2FyZHMgYW5kIHRoYW5rcyBmb3IgYWxsIHlvdXIgd29yayAhCgpZb3Vlbm4uCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFp bGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=