From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 59F53891A1 for ; Mon, 18 Mar 2019 12:56:30 +0000 (UTC) Date: Mon, 18 Mar 2019 09:10:43 -0400 From: "Kumar Valsan, Prathap" Message-ID: <20190318131043.GB30702@intel.com> References: <20190215214608.32021-1-prathap.kumar.valsan@intel.com> <20190315191555.6792-1-prathap.kumar.valsan@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190315191555.6792-1-prathap.kumar.valsan@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v7] i915/gem_mocs_settings: Add mocs table for icelake List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org, Chris Wilson , Lis Tomasz List-ID: T24gRnJpLCBNYXIgMTUsIDIwMTkgYXQgMDM6MTU6NTVQTSAtMDQwMCwgUHJhdGhhcCBLdW1hciBW YWxzYW4gd3JvdGU6Cj4gRnJvbTogIkt1bWFyIFZhbHNhbiwgUHJhdGhhcCIgPHByYXRoYXAua3Vt YXIudmFsc2FuQGludGVsLmNvbT4KPiAKPiBUaGlzIHBhdGNoIGFkZHMgbW9jcyB0YWJsZSBmb3Ig aWNlbGFrZSB3aXRoIGV4cGVjdGVkIEwzIGFuZCBlRFJBTQo+IGNvbnRyb2wgdmFsdWVzLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IEt1bWFyIFZhbHNhbiwgUHJhdGhhcCA8cHJhdGhhcC5rdW1hci52YWxz YW5AaW50ZWwuY29tPgo+IC0tLQo+IENoYW5nZXMgaW4gdjc6Cj4gLSBUZXN0aW5nIG5vbi1wcml2 aWxlZ2VkIHdyaXRlIHRvIE1PQ1MgaXMgZHJvcHBlZAo+ICAgYnkgaC93IGFuZCBjbGllbnRzIGFy ZSBpc29sYXRlZCBoYXMgbW92ZWQgdG8gYSAKPiAgIG5ldyBzdWJ0ZXN0LiBUaGlzIHN1YnRlc3Qg d2lsbCBiZSBpbnZva2VkIHBlcgo+ICAgZW5naW5lKHN1Z2dlc3RlZCBieSBDaHJpcyBXaWxzb24p Cj4gQ2hhbmdlcyBpbiB2NjoKPiAtIFdlIG5lZWQgdG8gdGVzdCBub24tcHJpdmlsZWdlZCB3cml0 ZSB0byBNT0NTCj4gICBpcyBkcm9wcGVkIGJ5IHRoZSBoYXJkd2FyZS4oc3VnZ2VzdGVkIGJ5IENo cmlzIFdpbHNvbikKPiBDaGFuZ2VzIGluIHY1Ogo+IC0gQXMgbW9jcyB0YWJsZSBpcyBnbG9iYWws IHRlc3QgbmVlZCBub3Qgd3JpdGUKPiAgIG1vY3MgdGFibGUuIEJlbG93IGppcmEgaGFzIHRoZSBk aXNjdXNzaW9uLiAKPiAgIGh0dHBzOi8vamlyYS5kZXZ0b29scy5pbnRlbC5jb20vYnJvd3NlL1ZM Sy0xNTY3Cj4gQ2hhbmdlcyBpbiB2NDoKPiAtIEwzIGNvbnRyb2wgcmVnaXN0ZXJzIGFyZSBnbG9i YWwgaW4gaWNlbGFrZS4KPiAgIFRlc3QgdmFsaWRhdGVzIHRoYXQgZGlydHkgd3JpdGVzIGZyb20g dXNlcnNwYWNlCj4gICB0byBMMyBjb250cm9sIHJlZ2lzdGVycyBhcmUgYmVpbmcgZHJvcHBlZC4g Cj4gQ2hhbmdlcyBpbiB2MzoKPiAtIFRoZXJlIGFyZSBob2xlcyBpbiB0aGUgbW9jcyB0YWJsZShM dWNhcyBQb2ludGVkIG91dCkuCj4gICBJbiBpY2VsYWtlIGluZGV4IDE2IGFuZCAxNyBhcmUgcmVz ZXJ2ZWQuCj4gICBTbyB0ZXN0IHNob3VsZG4ndCBiZSBjaGVja2luZyB0aGVtLgo+IENoYW5nZXMg aW4gdjI6Cj4gLSBDbGVhbmVkIHVwIHRoZSBjb2RlIGJhc2VkIG9uIHJldmlldwo+ICAgY29tbWVu dHMgZnJvbSBMdWNhcyBhbmQgQ2hyaXMKPiAKPiAgdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0aW5n cy5jIHwgMTQ3ICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQo+ICAxIGZpbGUgY2hh bmdlZCwgMTEyIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQg YS90ZXN0cy9pOTE1L2dlbV9tb2NzX3NldHRpbmdzLmMgYi90ZXN0cy9pOTE1L2dlbV9tb2NzX3Nl dHRpbmdzLmMKPiBpbmRleCA1YjNiNmJjMS4uYzIwNWE3MjYgMTAwNjQ0Cj4gLS0tIGEvdGVzdHMv aTkxNS9nZW1fbW9jc19zZXR0aW5ncy5jCj4gKysrIGIvdGVzdHMvaTkxNS9nZW1fbW9jc19zZXR0 aW5ncy5jCj4gQEAgLTMyLDcgKzMyLDkgQEAKPiAgI2luY2x1ZGUgImlndF9wZXJmLmgiCj4gICNp bmNsdWRlICJpZ3Rfc3lzZnMuaCIKPiAgCj4gLSNkZWZpbmUgTUFYX05VTUJFUl9NT0NTX1JFR0lT VEVSUwkoNjQpCj4gKyNkZWZpbmUgR0VOOV9OVU1fTU9DU19FTlRSSUVTICAgNjIgIC8qIDYyIG91 dCBvZiA2NCAtIDYzICYgNjQgYXJlIHJlc2VydmVkLiAqLwo+ICsjZGVmaW5lIEdFTjExX05VTV9N T0NTX0VOVFJJRVMgIDY0ICAvKiA2My02NCBhcmUgcmVzZXJ2ZWQsIGJ1dCBjb25maWd1cmVkLiAq Lwo+ICsKPiAgZW51bSB7Cj4gIAlOT05FLAo+ICAJUkVTRVQsCj4gQEAgLTYxLDEwICs2MywxMyBA QCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHRlc3RfbW9kZXNbXSA9IHsKPiAgI2RlZmluZSBH RU45X01GWDFfTU9DU18wCSgweGNBMDApCS8qIE1lZGlhIDEgTU9DUyBiYXNlIHJlZ2lzdGVyKi8K PiAgI2RlZmluZSBHRU45X1ZFQk9YX01PQ1NfMAkoMHhjQjAwKQkvKiBWaWRlbyBNT0NTIGJhc2Ug cmVnaXN0ZXIqLwo+ICAjZGVmaW5lIEdFTjlfQkxUX01PQ1NfMAkJKDB4Y2MwMCkJLyogQmxpdHRl ciBNT0NTIGJhc2UgcmVnaXN0ZXIqLwo+ICsjZGVmaW5lIElDRUxBS0VfTU9DU19QVEUJezB4MDAw MDAwMDQsIDB4MDAzMCwgMHgxfQo+ICsjZGVmaW5lIE1PQ1NfUFRFCQl7MHgwMDAwMDAzOCwgMHgw MDMwLCAweDF9Cj4gIAo+ICBzdHJ1Y3QgbW9jc19lbnRyeSB7Cj4gIAl1aW50MzJfdAljb250cm9s X3ZhbHVlOwo+ICAJdWludDE2X3QJbDNjY192YWx1ZTsKPiArCXVpbnQ4X3QgCXVzZWQ7Cj4gIH07 Cj4gIAo+ICBzdHJ1Y3QgbW9jc190YWJsZSB7Cj4gQEAgLTczLDM1ICs3OCw1OCBAQCBzdHJ1Y3Qg bW9jc190YWJsZSB7Cj4gIH07Cj4gIAo+ICAvKiBUaGUgZmlyc3QgZW50cmllcyBpbiB0aGUgTU9D UyB0YWJsZXMgYXJlIGRlZmluZWQgYnkgdUFCSSAqLwo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IG1v Y3NfZW50cnkgc2t5bGFrZV9tb2NzX3RhYmxlW10gPSB7Cj4gLQl7IDB4MDAwMDAwMDksIDB4MDAx MCB9LAo+IC0JeyAweDAwMDAwMDM4LCAweDAwMzAgfSwKPiAtCXsgMHgwMDAwMDAzYiwgMHgwMDMw IH0sCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbW9jc19lbnRyeSBpY2VsYWtlX21vY3NfdGFibGVb R0VOMTFfTlVNX01PQ1NfRU5UUklFU10gPSB7Cj4gKwlbMF0gID0geyAweDAwMDAwMDA1LCAweDAw MTAsIDB4MX0sCj4gKwlbMV0gID0gSUNFTEFLRV9NT0NTX1BURSwKPiArCVsyXSAgPSB7IDB4MDAw MDAwMzcsIDB4MDAzMCwgMHgxfSwKPiArCVszXSAgPSB7IDB4MDAwMDAwMDUsIDB4MDAxMCwgMHgx fSwKPiArCVs0XSAgPSB7IDB4MDAwMDAwMDUsIDB4MDAzMCwgMHgxfSwKPiArCVs1XSAgPSB7IDB4 MDAwMDAwMzcsIDB4MDAxMCwgMHgxfSwKPiArCVs2XSAgPSB7IDB4MDAwMDAwMTcsIDB4MDAxMCwg MHgxfSwKPiArCVs3XSAgPSB7IDB4MDAwMDAwMTcsIDB4MDAzMCwgMHgxfSwKPiArCVs4XSAgPSB7 IDB4MDAwMDAwMjcsIDB4MDAxMCwgMHgxfSwKPiArCVs5XSAgPSB7IDB4MDAwMDAwMjcsIDB4MDAz MCwgMHgxfSwKPiArCVsxMF0gPSB7IDB4MDAwMDAwNzcsIDB4MDAxMCwgMHgxfSwKPiArCVsxMV0g PSB7IDB4MDAwMDAwNzcsIDB4MDAzMCwgMHgxfSwKPiArCVsxMl0gPSB7IDB4MDAwMDAwNTcsIDB4 MDAxMCwgMHgxfSwKPiArCVsxM10gPSB7IDB4MDAwMDAwNTcsIDB4MDAzMCwgMHgxfSwKPiArCVsx NF0gPSB7IDB4MDAwMDAwNjcsIDB4MDAxMCwgMHgxfSwKPiArCVsxNV0gPSB7IDB4MDAwMDAwNjcs IDB4MDAzMCwgMHgxfSwKPiArCVsxOF0gPSB7IDB4MDAwNjAwMzcsIDB4MDAzMCwgMHgxfSwKPiAr CVsxOV0gPSB7IDB4MDAwMDA3MzcsIDB4MDAzMCwgMHgxfSwKPiArCVsyMF0gPSB7IDB4MDAwMDAz MzcsIDB4MDAzMCwgMHgxfSwKPiArCVsyMV0gPSB7IDB4MDAwMDAxMzcsIDB4MDAzMCwgMHgxfSwK PiArCVsyMl0gPSB7IDB4MDAwMDAzYjcsIDB4MDAzMCwgMHgxfSwKPiArCVsyM10gPSB7IDB4MDAw MDA3YjcsIDB4MDAzMCwgMHgxfSwKPiArCVsyNCAuLi4gNjFdID0gSUNFTEFLRV9NT0NTX1BURSwK PiArCVs2Ml0gPSB7IDB4MDAwMDAwMzcsIDB4MDAxMCwgMHgxfSwKPiArCVs2M10gPSB7IDB4MDAw MDAwMzcsIDB4MDAxMCwgMHgxfSwKPiArfTsKPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbW9j c19lbnRyeSBza3lsYWtlX21vY3NfdGFibGVbR0VOOV9OVU1fTU9DU19FTlRSSUVTXSA9IHsKPiAr CVswXSA9IHsgMHgwMDAwMDAwOSwgMHgwMDEwLCAweDF9LAo+ICsJWzFdID0gTU9DU19QVEUsCj4g KwlbMl0gPSB7IDB4MDAwMDAwM2IsIDB4MDAzMCwgMHgxfSwKPiArCVszIC4uLiBHRU45X05VTV9N T0NTX0VOVFJJRVMgLSAxXSA9IE1PQ1NfUFRFLAo+ICB9Owo+ICAKPiAtc3RhdGljIGNvbnN0IHN0 cnVjdCBtb2NzX2VudHJ5IGRpcnR5X3NreWxha2VfbW9jc190YWJsZVtdID0gewo+IC0JeyAweDAw MDAzRkZGLCAweDAwM0YgfSwgLyogbm8gc25vb3AgYml0ICovCj4gLQl7IDB4MDAwMDNGRkYsIDB4 MDAzRiB9LAo+IC0JeyAweDAwMDAzRkZGLCAweDAwM0YgfSwKPiArc3RhdGljIGNvbnN0IHN0cnVj dCBtb2NzX2VudHJ5IGRpcnR5X3NreWxha2VfbW9jc190YWJsZVtHRU45X05VTV9NT0NTX0VOVFJJ RVNdID0gewo+ICsJWzAgLi4uIEdFTjlfTlVNX01PQ1NfRU5UUklFUyAtIDFdID0geyAweDAwMDAz RkZGLCAweDAwM0YsIDB4MSB9LAo+ICB9Owo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBtb2Nz X2VudHJ5IGJyb3h0b25fbW9jc190YWJsZVtdID0gewo+IC0JeyAweDAwMDAwMDA5LCAweDAwMTAg fSwKPiAtCXsgMHgwMDAwMDAzOCwgMHgwMDMwIH0sCj4gLQl7IDB4MDAwMDAwMzksIDB4MDAzMCB9 LAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG1vY3NfZW50cnkgYnJveHRvbl9tb2NzX3RhYmxlW0dF TjlfTlVNX01PQ1NfRU5UUklFU10gPSB7Cj4gKwlbMF0gPSB7IDB4MDAwMDAwMDksIDB4MDAxMCwg MHgxfSwKPiArCVsxXSA9IE1PQ1NfUFRFLAo+ICsJWzJdID0geyAweDAwMDAwMDM5LCAweDAwMzAs IDB4MX0sCj4gKwlbMyAuLi4gR0VOOV9OVU1fTU9DU19FTlRSSUVTIC0gMV0gPSBNT0NTX1BURSwK PiAgfTsKPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgbW9jc19lbnRyeSBkaXJ0eV9icm94dG9u X21vY3NfdGFibGVbXSA9IHsKPiAtCXsgMHgwMDAwN0ZGRiwgMHgwMDNGIH0sCj4gLQl7IDB4MDAw MDdGRkYsIDB4MDAzRiB9LAo+IC0JeyAweDAwMDA3RkZGLCAweDAwM0YgfSwKPiArc3RhdGljIGNv bnN0IHN0cnVjdCBtb2NzX2VudHJ5IGRpcnR5X2Jyb3h0b25fbW9jc190YWJsZVtHRU45X05VTV9N T0NTX0VOVFJJRVNdID0gewo+ICsJWzAgLi4uIEdFTjlfTlVNX01PQ1NfRU5UUklFUyAtIDFdID0g eyAweDAwMDA3RkZGLCAweDAwM0YsIDB4MSB9LAo+ICB9Owo+ICAKPiAtc3RhdGljIGNvbnN0IHVp bnQzMl90IHdyaXRlX3ZhbHVlc1tdID0gewo+IC0JMHhGRkZGRkZGRiwKPiAtCTB4RkZGRkZGRkYs Cj4gLQkweEZGRkZGRkZGLAo+IC0JMHhGRkZGRkZGRgo+ICtzdGF0aWMgY29uc3QgdWludDMyX3Qg d3JpdGVfdmFsdWVzW0dFTjlfTlVNX01PQ1NfRU5UUklFU10gPSB7Cj4gKwlbMCAuLi4gR0VOOV9O VU1fTU9DU19FTlRSSUVTIC0gMV0gPSAweEZGRkZGRkZGLAo+ICB9Owo+ICAKPiAgc3RhdGljIGJv b2wgZ2V0X21vY3Nfc2V0dGluZ3MoaW50IGZkLCBzdHJ1Y3QgbW9jc190YWJsZSAqdGFibGUsIGJv b2wgZGlydHkpCj4gQEAgLTEyNyw2ICsxNTUsMTAgQEAgc3RhdGljIGJvb2wgZ2V0X21vY3Nfc2V0 dGluZ3MoaW50IGZkLCBzdHJ1Y3QgbW9jc190YWJsZSAqdGFibGUsIGJvb2wgZGlydHkpCj4gIAkJ CXRhYmxlLT50YWJsZSA9IGJyb3h0b25fbW9jc190YWJsZTsKPiAgCQl9Cj4gIAkJcmVzdWx0ID0g dHJ1ZTsKPiArCX0gZWxzZSBpZiAoSVNfSUNFTEFLRShkZXZpZCkpIHsKPiArCQl0YWJsZS0+c2l6 ZSAgPSBBUlJBWV9TSVpFKGljZWxha2VfbW9jc190YWJsZSk7Cj4gKwkJdGFibGUtPnRhYmxlID0g aWNlbGFrZV9tb2NzX3RhYmxlOwo+ICsJCXJlc3VsdCA9IHRydWU7Cj4gIAl9Cj4gIAo+ICAJcmV0 dXJuIHJlc3VsdDsKPiBAQCAtMjM4LDcgKzI3MCw4IEBAIHN0YXRpYyB2b2lkIHdyaXRlX3JlZ2lz dGVycyhpbnQgZmQsCj4gIAkJCSAgICB1aW50MzJfdCByZWdfYmFzZSwKPiAgCQkJICAgIGNvbnN0 IHVpbnQzMl90ICp2YWx1ZXMsCj4gIAkJCSAgICB1aW50MzJfdCBzaXplLAo+IC0JCQkgICAgdWlu dDMyX3QgZW5naW5lX2lkKQo+ICsJCQkgICAgdWludDMyX3QgZW5naW5lX2lkLAo+ICsJCQkgICAg Ym9vbCBwcml2aWxlZ2VkKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0 MiBvYmo7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7Cj4gQEAg LTI1NCw3ICsyODcsMTAgQEAgc3RhdGljIHZvaWQgd3JpdGVfcmVnaXN0ZXJzKGludCBmZCwKPiAg CWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMTsKPiAgCWV4ZWNidWYuYmF0Y2hfbGVuID0gY3JlYXRl X3dyaXRlX2JhdGNoKGJhdGNoLCB2YWx1ZXMsIHNpemUsIHJlZ19iYXNlKTsKPiAgCWk5MTVfZXhl Y2J1ZmZlcjJfc2V0X2NvbnRleHRfaWQoZXhlY2J1ZiwgY3R4X2lkKTsKPiAtCWV4ZWNidWYuZmxh Z3MgPSBJOTE1X0VYRUNfU0VDVVJFIHwgZW5naW5lX2lkOwo+ICsJaWYgKHByaXZpbGVnZWQpCj4g KwkJZXhlY2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19TRUNVUkUgfCBlbmdpbmVfaWQ7Cj4gKwllbHNl Cj4gKwkJZXhlY2J1Zi5mbGFncyA9IGVuZ2luZV9pZDsKPiAgCj4gIAlnZW1fd3JpdGUoZmQsIGhh bmRsZSwgMCwgYmF0Y2gsIGV4ZWNidWYuYmF0Y2hfbGVuKTsKPiAgCWdlbV9leGVjYnVmKGZkLCAm ZXhlY2J1Zik7Cj4gQEAgLTI4Myw5ICszMTksMTIgQEAgc3RhdGljIHZvaWQgY2hlY2tfY29udHJv bF9yZWdpc3RlcnMoaW50IGZkLAo+ICAJcmVhZF9yZWdzID0gZ2VtX21tYXBfX2NwdShmZCwgZHN0 X2hhbmRsZSwgMCwgNDA5NiwgUFJPVF9SRUFEKTsKPiAgCj4gIAlnZW1fc2V0X2RvbWFpbihmZCwg ZHN0X2hhbmRsZSwgSTkxNV9HRU1fRE9NQUlOX0NQVSwgMCk7Cj4gLQlmb3IgKGludCBpbmRleCA9 IDA7IGluZGV4IDwgdGFibGUuc2l6ZTsgaW5kZXgrKykKPiArCWZvciAoaW50IGluZGV4ID0gMDsg aW5kZXggPCB0YWJsZS5zaXplOyBpbmRleCsrKSB7Cj4gKwkJaWYgKCF0YWJsZS50YWJsZVtpbmRl eF0udXNlZCkKPiArCQkJY29udGludWU7Cj4gIAkJaWd0X2Fzc2VydF9lcV91MzIocmVhZF9yZWdz W2luZGV4XSwKPiAgCQkJCSAgdGFibGUudGFibGVbaW5kZXhdLmNvbnRyb2xfdmFsdWUpOwo+ICsJ fQo+ICAKPiAgCW11bm1hcChyZWFkX3JlZ3MsIDQwOTYpOwo+ICAJZ2VtX2Nsb3NlKGZkLCBkc3Rf aGFuZGxlKTsKPiBAQCAtMzE1LDEwICszNTQsMTQgQEAgc3RhdGljIHZvaWQgY2hlY2tfbDNjY19y ZWdpc3RlcnMoaW50IGZkLAo+ICAJZ2VtX3NldF9kb21haW4oZmQsIGRzdF9oYW5kbGUsIEk5MTVf R0VNX0RPTUFJTl9DUFUsIDApOwo+ICAKPiAgCWZvciAoaW5kZXggPSAwOyBpbmRleCA8IHRhYmxl LnNpemUgLyAyOyBpbmRleCsrKSB7Cj4gLQkJaWd0X2Fzc2VydF9lcV91MzIocmVhZF9yZWdzW2lu ZGV4XSAmIDB4ZmZmZiwKPiAtCQkJCSAgdGFibGUudGFibGVbaW5kZXggKiAyXS5sM2NjX3ZhbHVl KTsKPiAtCQlpZ3RfYXNzZXJ0X2VxX3UzMihyZWFkX3JlZ3NbaW5kZXhdID4+IDE2LAo+IC0JCQkJ ICB0YWJsZS50YWJsZVtpbmRleCAqIDIgKyAxXS5sM2NjX3ZhbHVlKTsKPiArCQlpZiAodGFibGUu dGFibGVbaW5kZXggKiAyXS51c2VkKSB7Cj4gKwkJCWlndF9hc3NlcnRfZXFfdTMyKHJlYWRfcmVn c1tpbmRleF0gJiAweGZmZmYsCj4gKwkJCQkJICB0YWJsZS50YWJsZVtpbmRleCAqIDJdLmwzY2Nf dmFsdWUpOwo+ICsJCX0KPiArCQlpZiAodGFibGUudGFibGVbaW5kZXggKiAyICsgMV0udXNlZCkg ewo+ICsJCQlpZ3RfYXNzZXJ0X2VxX3UzMihyZWFkX3JlZ3NbaW5kZXhdID4+IDE2LAo+ICsJCQkJ CSAgdGFibGUudGFibGVbaW5kZXggKiAyICsgMV0ubDNjY192YWx1ZSk7Cj4gKwkJfQo+ICAJfQo+ ICAKPiAgCWlmICh0YWJsZS5zaXplICYgMSkKPiBAQCAtMzcyLDE2ICs0MTUsMjMgQEAgc3RhdGlj IHZvaWQgY2hlY2tfbW9jc192YWx1ZXMoaW50IGZkLCB1bnNpZ25lZCBlbmdpbmUsIHVpbnQzMl90 IGN0eF9pZCwgYm9vbCBkaXIKPiAgCQljaGVja19sM2NjX3JlZ2lzdGVycyhmZCwgZW5naW5lLCBj dHhfaWQsIGRpcnR5KTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgd3JpdGVfZGlydHlfbW9jcyhp bnQgZmQsIHVuc2lnbmVkIGVuZ2luZSwgdWludDMyX3QgY3R4X2lkKQo+ICtzdGF0aWMgdm9pZCB3 cml0ZV9kaXJ0eV9tb2NzKGludCBmZCwgdW5zaWduZWQgZW5naW5lLCB1aW50MzJfdCBjdHhfaWQs IGJvb2wgcHJpdmlsZWdlZCkKPiAgewo+ICsJaW50IG51bV9vZl9tb2NzX2VudHJpZXM7Cj4gKwo+ ICsJaWYgKGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2RldmlkKGZkKSkgPj0gMTEpCj4gKwkJbnVt X29mX21vY3NfZW50cmllcyA9IEdFTjExX05VTV9NT0NTX0VOVFJJRVM7Cj4gKwllbHNlCj4gKwkJ bnVtX29mX21vY3NfZW50cmllcyA9IEdFTjlfTlVNX01PQ1NfRU5UUklFUzsKPiArCj4gIAl3cml0 ZV9yZWdpc3RlcnMoZmQsIGN0eF9pZCwgZ2V0X2VuZ2luZV9iYXNlKGVuZ2luZSksCj4gLQkJCXdy aXRlX3ZhbHVlcywgQVJSQVlfU0laRSh3cml0ZV92YWx1ZXMpLAo+IC0JCQllbmdpbmUpOwo+ICsJ CQl3cml0ZV92YWx1ZXMsIG51bV9vZl9tb2NzX2VudHJpZXMsCj4gKwkJCWVuZ2luZSwgcHJpdmls ZWdlZCk7Cj4gIAo+ICAJaWYgKGVuZ2luZSA9PSBJOTE1X0VYRUNfUkVOREVSKQo+ICAJCXdyaXRl X3JlZ2lzdGVycyhmZCwgY3R4X2lkLCBHRU45X0xOQ0ZDTU9DUzAsCj4gLQkJCQl3cml0ZV92YWx1 ZXMsIEFSUkFZX1NJWkUod3JpdGVfdmFsdWVzKSwKPiAtCQkJCWVuZ2luZSk7Cj4gKwkJCQl3cml0 ZV92YWx1ZXMsIG51bV9vZl9tb2NzX2VudHJpZXMvMiwKPiArCQkJCWVuZ2luZSwgcHJpdmlsZWdl ZCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyB2b2lkIHJ1bl90ZXN0KGludCBmZCwgdW5zaWduZWQgZW5n aW5lLCB1bnNpZ25lZCBmbGFncywgdW5zaWduZWQgbW9kZSkKPiBAQCAtMzkwLDYgKzQ0MCwxMyBA QCBzdGF0aWMgdm9pZCBydW5fdGVzdChpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSwgdW5zaWduZWQg ZmxhZ3MsIHVuc2lnbmVkIG1vZGUpCj4gIAl1aW50MzJfdCBjdHhfY2xlYW5faWQ7Cj4gIAl1aW50 MzJfdCBjdHhfZGlydHlfaWQ7Cj4gIAo+ICsJLyogQXMgbW9jcyBpcyBnbG9iYWwgZm9yIEdFTjEx KywgdHJ5aW5nIHByaXZpbGVnZWQgd3JpdGUgdG8gZGlydHkKPiArCSAqIHRoZSBtb2NzIGFuZCB0 ZXN0aW5nIGNvbnRleHQgc2F2ZSBhbmQgcmVzdG9yZSBvZiBtb2NzIGJldHdlZW4KPiArCSAqIGNv bnRleHRzIGlzIGJvdW5kIHRvIGZhaWwuCj4gKwkgKi8KPiArCWlmIChmbGFncyAmIE1PQ1NfRElS VFlfVkFMVUVTKQo+ICsJCWlndF9za2lwX29uKGludGVsX2dlbihpbnRlbF9nZXRfZHJtX2Rldmlk KGZkKSkgPj0gMTEpOwo+ICsKPiAgCWdlbV9yZXF1aXJlX3JpbmcoZmQsIGVuZ2luZSk7Cj4gIAo+ ICAJLyogU2tpcCBpZiB3ZSBkb24ndCBrbm93IHdoZXJlIHRoZSByZWdpc3RlcnMgYXJlIGZvciB0 aGlzIGVuZ2luZSAqLwo+IEBAIC00MDAsNyArNDU3LDcgQEAgc3RhdGljIHZvaWQgcnVuX3Rlc3Qo aW50IGZkLCB1bnNpZ25lZCBlbmdpbmUsIHVuc2lnbmVkIGZsYWdzLCB1bnNpZ25lZCBtb2RlKQo+ ICAKPiAgCWlmIChmbGFncyAmIE1PQ1NfRElSVFlfVkFMVUVTKSB7Cj4gIAkJY3R4X2RpcnR5X2lk ID0gZ2VtX2NvbnRleHRfY3JlYXRlKGZkKTsKPiAtCQl3cml0ZV9kaXJ0eV9tb2NzKGZkLCBlbmdp bmUsIGN0eF9kaXJ0eV9pZCk7Cj4gKwkJd3JpdGVfZGlydHlfbW9jcyhmZCwgZW5naW5lLCBjdHhf ZGlydHlfaWQsIHRydWUpOwo+ICAJCWNoZWNrX21vY3NfdmFsdWVzKGZkLCBlbmdpbmUsIGN0eF9k aXJ0eV9pZCwgdHJ1ZSk7Cj4gIAl9Cj4gIAo+IEBAIC00MzAsNiArNDg3LDE4IEBAIHN0YXRpYyB2 b2lkIHJ1bl90ZXN0KGludCBmZCwgdW5zaWduZWQgZW5naW5lLCB1bnNpZ25lZCBmbGFncywgdW5z aWduZWQgbW9kZSkKPiAgCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjdHhfaWQpOwo+ICB9Cj4g IAo+ICtzdGF0aWMgdm9pZCBpc29sYXRpb25fdGVzdChpbnQgZmQsIHVuc2lnbmVkIGVuZ2luZSkK PiArewo+ICsJdWludDMyX3QgY3R4WzJdID0geyBnZW1fY29udGV4dF9jcmVhdGUoZmQpLCBnZW1f Y29udGV4dF9jcmVhdGUoZmQpIH07Cj4gKwo+ICsJLyogQW55IHdyaXRlcyBieSBvbmUgbm9ybWFs IGNsaWVudCBzaG91bGQgbm90IGFmZmVjdCBhIHNlY29uZCBjbGllbnQgKi8KPiArCXdyaXRlX2Rp cnR5X21vY3MoZmQsIGVuZ2luZSwgY3R4WzBdLCBmYWxzZSk7Cj4gKwljaGVja19tb2NzX3ZhbHVl cyhmZCwgZW5naW5lLCBjdHhbMV0sIGZhbHNlKTsKPiArCj4gKwlmb3IgKGludCBpID0gMDsgaSA8 IEFSUkFZX1NJWkUoY3R4KTsgaSsrKQo+ICsJCWdlbV9jb250ZXh0X2Rlc3Ryb3koZmQsIGN0eFtp XSk7Cj4gK30KPiArCj4gIGlndF9tYWluCj4gIHsKPiAgCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lICplOwo+IEBAIC00OTAsNiArNTU5LDE0IEBAIGlndF9tYWluCj4gIAkJCQl9 Cj4gIAkJCX0KPiAgCQl9Cj4gKwo+ICsJCWlndF9zdWJ0ZXN0X2YoIm1vY3MtaXNvbGF0aW9uLSVz IiwKPiArCQkJCWUtPm5hbWUpIHsKPiArCQkJZ2VtX3JlcXVpcmVfY29udGV4dHMoZmQpOwo+ICsK PiArCQkJaXNvbGF0aW9uX3Rlc3QoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncyk7Cj4gKwkJfQo+ ICsKPiAgCX0KQ2hyaXMsCkFkZGVkIGlzb2xhdGlvbl90ZXN0IGFzIGEgc3VidGVzdC4gQ2FuIGkg Z2V0IGEgci1iIGlmIHRoaXMgbG9va3MgZ29vZCB0bwp5b3UuCgpUaGFua3MsClByYXRoYXAKPiAg Cj4gIAlpZ3RfZml4dHVyZQo+IC0tIAo+IDIuMjAuMQo+IApfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2lndC1kZXY=