From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id A7E44893B9 for ; Thu, 21 Feb 2019 19:28:07 +0000 (UTC) From: Antonio Argenziano Date: Thu, 21 Feb 2019 11:27:45 -0800 Message-Id: <20190221192745.31178-6-antonio.argenziano@intel.com> In-Reply-To: <20190221192745.31178-1-antonio.argenziano@intel.com> References: <20190221192745.31178-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC 5/5] igt/lib: If mappable aperture is missing return 0 size 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 Cc: Matthew Auld List-ID: U28gZmFyIHRoZSBhcGVydHVyZSBzaXplIGhhcyBiZWVuIHJlYWQgZGlyZWN0bHkgZnJvbSB0aGUg YmFyLAppbiB0aGlzIHBhdGNoIHdlIHJldHVybiB6ZXJvIGlmIHRoZSBtYXBwYWJsZSBhcGVydHVy ZSBpcyBub3QgYXZhaWxhYmxlCmFzIHRoZSB2YWx1ZSBzdG9yZWQgaW4gdGhlIGJhciBtaWdodCBu b3QgYmUgYWNjdXJhdGUuIFRoZSBwYXRjaCBhbHNvIGFkZHMgYQoncmVxdWlyZScgd2hlbiBhIGNh bGwgdG8gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKSBpcyBtYWRlIHNvIHRoYXQKdGhlIGFw ZXJ0dXJlIGlzIGd1YXJhbnRlZWQgdG8gZXhpc3QgYmVmb3JlIGNoZWNraW5nIHRoZSBzaXplLgoK Q2M6IEthdGFyenluYSBEZWMgPGthdGFyenluYS5kZWNAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2ls c29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBNYXR0aGV3IEF1bGQgPG1hdHRoZXcu YXVsZEBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25p by5hcmdlbnppYW5vQGludGVsLmNvbT4KLS0tCiBsaWIvaW9jdGxfd3JhcHBlcnMuYyAgICAgICAg ICAgIHwgMjggKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogbGliL2lvY3RsX3dyYXBwZXJz LmggICAgICAgICAgICB8ICAyICstCiB0ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jIHwg MTIgKysrKysrLS0tLS0tCiB0ZXN0cy9pOTE1L2dlbV9jcHVfcmVsb2MuYyAgICAgIHwgMTQgKysr KysrKysrKy0tLS0KIHRlc3RzL2k5MTUvZ2VtX21tYXAuYyAgICAgICAgICAgfCAgNCArKy0tCiB0 ZXN0cy9pOTE1L2dlbV9tbWFwX2d0dC5jICAgICAgIHwgMTAgKysrKystLS0tLQogdGVzdHMvaTkx NS9nZW1fcHdyaXRlLmMgICAgICAgICB8ICA0ICsrLS0KIHRlc3RzL2k5MTUvZ2VtX3Nocmluay5j ICAgICAgICAgfCAgMiArLQogdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jICAgICAgICB8ICAyICst CiB0ZXN0cy9rbXNfZmxpcC5jICAgICAgICAgICAgICAgIHwgIDIgKy0KIHRlc3RzL3ByaW1lX21t YXAuYyAgICAgICAgICAgICAgfCAgNyArKysrKy0tCiAxMSBmaWxlcyBjaGFuZ2VkLCA1MyBpbnNl cnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaW9jdGxfd3JhcHBl cnMuYyBiL2xpYi9pb2N0bF93cmFwcGVycy5jCmluZGV4IDI1ZGQ4YWQzLi5hYjdjN2E1ZSAxMDA2 NDQKLS0tIGEvbGliL2lvY3RsX3dyYXBwZXJzLmMKKysrIGIvbGliL2lvY3RsX3dyYXBwZXJzLmMK QEAgLTE0NDAsMTkgKzE0NDAsMTQgQEAgdWludDY0X3QgZ2VtX2FwZXJ0dXJlX3NpemUoaW50IGZk KQogCXJldHVybiBhcGVydHVyZV9zaXplOwogfQogCi0vKioKLSAqIGdlbV9tYXBwYWJsZV9hcGVy dHVyZV9zaXplOgotICoKLSAqIEZlYXR1cmUgdGVzdCBtYWNybyB0byBxdWVyeSB0aGUga2VybmVs IGZvciB0aGUgbWFwcGFibGUgZ3B1IGFwZXJ0dXJlIHNpemUuCi0gKiBUaGlzIGlzIHRoZSBhcmVh IGF2YWlsYWJsZSBmb3IgR1RUIG1lbW9yeSBtYXBwaW5ncy4KLSAqCi0gKiBSZXR1cm5zOiBUaGUg bWFwcGFibGUgZ3R0IGFkZHJlc3Mgc3BhY2Ugc2l6ZS4KLSAqLwotdWludDY0X3QgZ2VtX21hcHBh YmxlX2FwZXJ0dXJlX3NpemUodm9pZCkKK3N0YXRpYyB1aW50NjRfdCBfX2dlbV9tYXBwYWJsZV9h cGVydHVyZV9zaXplKGludCBmZCkKIHsKIAlzdHJ1Y3QgcGNpX2RldmljZSAqcGNpX2RldiA9IGlu dGVsX2dldF9wY2lfZGV2aWNlKCk7CiAJaW50IGJhcjsKIAorCWlmICghZ2VtX21tYXBfX2hhc19n dHQoZmQpKQorCQlyZXR1cm4gMDsgLyogQXBlcnR1cmUgbm90IGF2YWlsYWJsZSAqLworCiAJaWYg KGludGVsX2dlbihwY2lfZGV2LT5kZXZpY2VfaWQpIDwgMykKIAkJYmFyID0gMDsKIAllbHNlCkBA IC0xNDYxLDYgKzE0NTYsMjEgQEAgdWludDY0X3QgZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUo dm9pZCkKIAlyZXR1cm4gcGNpX2Rldi0+cmVnaW9uc1tiYXJdLnNpemU7CiB9CiAKKy8qKgorICog Z2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemU6CisgKgorICogRmVhdHVyZSB0ZXN0IG1hY3JvIHRv IHF1ZXJ5IHRoZSBrZXJuZWwgZm9yIHRoZSBtYXBwYWJsZSBncHUgYXBlcnR1cmUgc2l6ZS4KKyAq IFRoaXMgaXMgdGhlIGFyZWEgYXZhaWxhYmxlIGZvciBHVFQgbWVtb3J5IG1hcHBpbmdzLgorICoK KyAqIFJldHVybnM6IFRoZSBtYXBwYWJsZSBndHQgYWRkcmVzcyBzcGFjZSBzaXplLgorICovCit1 aW50NjRfdCBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShpbnQgZmQpCit7CisJZ2VtX3JlcXVp cmVfbW1hcF9ndHQoZmQpOworCisJcmV0dXJuIF9fZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUo ZmQpOworfQorCiAvKioKICAqIGdlbV9nbG9iYWxfYXBlcnR1cmVfc2l6ZToKICAqIEBmZDogb3Bl biBpOTE1IGRybSBmaWxlIGRlc2NyaXB0b3IKZGlmZiAtLWdpdCBhL2xpYi9pb2N0bF93cmFwcGVy cy5oIGIvbGliL2lvY3RsX3dyYXBwZXJzLmgKaW5kZXggNjkzMDIwZWQuLjJkNGUwNmVkIDEwMDY0 NAotLS0gYS9saWIvaW9jdGxfd3JhcHBlcnMuaAorKysgYi9saWIvaW9jdGxfd3JhcHBlcnMuaApA QCAtMTY5LDcgKzE2OSw3IEBAIHVpbnQ2NF90IGdlbV90b3RhbF9zdG9sZW5fc2l6ZShpbnQgZmQp OwogdWludDY0X3QgZ2VtX2F2YWlsYWJsZV9hcGVydHVyZV9zaXplKGludCBmZCk7CiB1aW50NjRf dCBnZW1fYXBlcnR1cmVfc2l6ZShpbnQgZmQpOwogdWludDY0X3QgZ2VtX2dsb2JhbF9hcGVydHVy ZV9zaXplKGludCBmZCk7Ci11aW50NjRfdCBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSh2b2lk KTsKK3VpbnQ2NF90IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGludCBmZCk7CiBib29sIGdl bV9oYXNfc29mdHBpbihpbnQgZmQpOwogYm9vbCBnZW1faGFzX2V4ZWNfZmVuY2UoaW50IGZkKTsK IApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fY29uY3VycmVudF9hbGwuYyBiL3Rlc3RzL2k5 MTUvZ2VtX2NvbmN1cnJlbnRfYWxsLmMKaW5kZXggMWFiNjA4ZWYuLmU0ZmMxNDI2IDEwMDY0NAot LS0gYS90ZXN0cy9pOTE1L2dlbV9jb25jdXJyZW50X2FsbC5jCisrKyBiL3Rlc3RzL2k5MTUvZ2Vt X2NvbmN1cnJlbnRfYWxsLmMKQEAgLTE4NTEsNyArMTg1MSw3IEBAIGlndF9tYWluCiAJCQkJIGMt Pm5hbWUsIHMtPm5hbWUsICJzbWFsbCIpOwogCQkJaWd0X3N1YnRlc3RfZ3JvdXAgewogCQkJCWln dF9maXh0dXJlIHsKLQkJCQkJY291bnQgPSBudW1fYnVmZmVycyhnZW1fbWFwcGFibGVfYXBlcnR1 cmVfc2l6ZSgpLzQsCisJCQkJCWNvdW50ID0gbnVtX2J1ZmZlcnMoZ2VtX21hcHBhYmxlX2FwZXJ0 dXJlX3NpemUoZmQpLzQsCiAJCQkJCQkJICAgIHMsIGMsIENIRUNLX1JBTSk7CiAJCQkJfQogCQkJ CXJ1bl9tb2RlcyhuYW1lLCBjLCBtb2RlcywgcywgY291bnQpOwpAQCAtMTg2Miw3ICsxODYyLDcg QEAgaWd0X21haW4KIAkJCQkgYy0+bmFtZSwgcy0+bmFtZSwgInRocmFzaCIpOwogCQkJaWd0X3N1 YnRlc3RfZ3JvdXAgewogCQkJCWlndF9maXh0dXJlIHsKLQkJCQkJY291bnQgPSBudW1fYnVmZmVy cyhnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpLAorCQkJCQljb3VudCA9IG51bV9idWZmZXJz KGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSwKIAkJCQkJCQkgICAgcywgYywgQ0hFQ0tf UkFNKTsKIAkJCQl9CiAJCQkJcnVuX21vZGVzKG5hbWUsIGMsIG1vZGVzLCBzLCBjb3VudCk7CkBA IC0xODk0LDcgKzE4OTQsNyBAQCBpZ3RfbWFpbgogCQkJCSBjLT5uYW1lLCBzLT5uYW1lLCAic2hy aW5rIik7CiAJCQlpZ3Rfc3VidGVzdF9ncm91cCB7CiAJCQkJaWd0X2ZpeHR1cmUgewotCQkJCQlj b3VudCA9IG51bV9idWZmZXJzKGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCksCisJCQkJCWNv dW50ID0gbnVtX2J1ZmZlcnMoZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpLAogCQkJCQkJ CSAgICBzLCBjLCBDSEVDS19SQU0pOwogCiAJCQkJCWlndF9mb3JrX3Nocmlua19oZWxwZXIoZmQp OwpAQCAtMTkxMCw4ICsxOTEwLDggQEAgaWd0X21haW4KIAkJCQkgYy0+bmFtZSwgcy0+bmFtZSwg InN3YXAiKTsKIAkJCWlndF9zdWJ0ZXN0X2dyb3VwIHsKIAkJCQlpZ3RfZml4dHVyZSB7Ci0JCQkJ CWlmIChpbnRlbF9nZXRfYXZhaWxfcmFtX21iKCkgPiBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6 ZSgpLygxMDI0KjEwMjQpKSB7Ci0JCQkJCQlwaW5fc3ogPSBpbnRlbF9nZXRfYXZhaWxfcmFtX21i KCkgLSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpLygxMDI0KjEwMjQpOworCQkJCQlpZiAo aW50ZWxfZ2V0X2F2YWlsX3JhbV9tYigpID4gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQp LygxMDI0KjEwMjQpKSB7CisJCQkJCQlwaW5fc3ogPSBpbnRlbF9nZXRfYXZhaWxfcmFtX21iKCkg LSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkvKDEwMjQqMTAyNCk7CiAKIAkJCQkJCWln dF9kZWJ1ZygiUGlubmluZyAlbGxkIE1pQlxuIiwgKGxvbmcgbG9uZylwaW5fc3opOwogCQkJCQkJ cGluX3N6ICo9IDEwMjQgKiAxMDI0OwpAQCAtMTkyNSw3ICsxOTI1LDcgQEAgaWd0X21haW4KIAkJ CQkJCWlndF9yZXF1aXJlKHBpbm5lZCk7CiAJCQkJCX0KIAotCQkJCQljb3VudCA9IG51bV9idWZm ZXJzKGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCksCisJCQkJCWNvdW50ID0gbnVtX2J1ZmZl cnMoZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpLAogCQkJCQkJCSAgICBzLCBjLCBDSEVD S19SQU0gfCBDSEVDS19TV0FQKTsKIAkJCQl9CiAJCQkJcnVuX21vZGVzKG5hbWUsIGMsIG1vZGVz LCBzLCBjb3VudCk7CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9jcHVfcmVsb2MuYyBiL3Rl c3RzL2k5MTUvZ2VtX2NwdV9yZWxvYy5jCmluZGV4IDQ3MDk5ODYyLi41OGZkNDQ3MCAxMDA2NDQK LS0tIGEvdGVzdHMvaTkxNS9nZW1fY3B1X3JlbG9jLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fY3B1 X3JlbG9jLmMKQEAgLTI4Myw4ICsyODMsMTEgQEAgaWd0X21haW4KIAkJcnVuX3Rlc3QoaTkxNSwg MSk7CiAKIAlpZ3Rfc3VidGVzdCgiZnVsbCIpIHsKLQkJdWludDY0X3QgYXBlcl9zaXplID0gZ2Vt X21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKTsKLQkJdW5zaWduZWQgbG9uZyBjb3VudCA9IGFwZXJf c2l6ZSAvIDQwOTYgKyAxOworCQl1aW50NjRfdCBhcGVyX3NpemU7CisJCXVuc2lnbmVkIGxvbmcg Y291bnQ7CisKKwkJYXBlcl9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoaTkxNSk7 CisJCWNvdW50ID0gYXBlcl9zaXplIC8gNDA5NiArIDE7CiAKIAkJaW50ZWxfcmVxdWlyZV9tZW1v cnkoY291bnQsIDQwOTYsIENIRUNLX1JBTSk7CiAKQEAgLTI5MiwxMCArMjk1LDEzIEBAIGlndF9t YWluCiAJfQogCiAJaWd0X3N1YnRlc3QoImZvcmtlZCIpIHsKLQkJdWludDY0X3QgYXBlcl9zaXpl ID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKTsKLQkJdW5zaWduZWQgbG9uZyBjb3VudCA9 IGFwZXJfc2l6ZSAvIDQwOTYgKyAxOworCQl1aW50NjRfdCBhcGVyX3NpemU7CisJCXVuc2lnbmVk IGxvbmcgY291bnQ7CiAJCWludCBuY3B1cyA9IHN5c2NvbmYoX1NDX05QUk9DRVNTT1JTX09OTE4p OwogCisJCWFwZXJfc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGk5MTUpOworCQlj b3VudCA9IGFwZXJfc2l6ZSAvIDQwOTYgKyAxOworCiAJCWludGVsX3JlcXVpcmVfbWVtb3J5KGNv dW50LCA0MDk2LCBDSEVDS19SQU0pOwogCiAJCWlndF9mb3JrKGNoaWxkLCBuY3B1cykKZGlmZiAt LWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX21tYXAuYyBiL3Rlc3RzL2k5MTUvZ2VtX21tYXAuYwppbmRl eCAwZWQxNTg3OC4uNGUzMGZlYzEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX21tYXAuYwor KysgYi90ZXN0cy9pOTE1L2dlbV9tbWFwLmMKQEAgLTUzLDEwICs1MywxMCBAQCB0ZXN0X2h1Z2Vf Ym8oaW50IGh1Z2UpCiAKIAlzd2l0Y2ggKGh1Z2UpIHsKIAljYXNlIC0xOgotCQlodWdlX29iamVj dF9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoKSAvIDI7CisJCWh1Z2Vfb2JqZWN0 X3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkgLyAyOwogCQlicmVhazsKIAlj YXNlIDA6Ci0JCWh1Z2Vfb2JqZWN0X3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgp ICsgUEFHRV9TSVpFOworCQlodWdlX29iamVjdF9zaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJl X3NpemUoZmQpICsgUEFHRV9TSVpFOwogCQlicmVhazsKIAljYXNlIDE6CiAJCWh1Z2Vfb2JqZWN0 X3NpemUgPSBnZW1fYXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJWkU7CmRpZmYgLS1naXQgYS90 ZXN0cy9pOTE1L2dlbV9tbWFwX2d0dC5jIGIvdGVzdHMvaTkxNS9nZW1fbW1hcF9ndHQuYwppbmRl eCA5OWRhNDlmNi4uM2FkZDRiOTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX21tYXBfZ3R0 LmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fbW1hcF9ndHQuYwpAQCAtNTI3LDcgKzUyNyw3IEBAIHRl c3RfaHVnZV9ibyhpbnQgZmQsIGludCBodWdlLCBpbnQgdGlsaW5nKQogCiAJc3dpdGNoIChodWdl KSB7CiAJY2FzZSAtMToKLQkJc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgLyAy OworCQlzaXplID0gZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpIC8gMjsKIAogCQkvKiBQ b3dlciBvZiB0d28gZmVuY2Ugc2l6ZSwgbmF0dXJhbCBmZW5jZQogCQkgKiBhbGlnbm1lbnQsIGFu ZCB0aGUgZ3VhcmQgcGFnZSBhdCB0aGUgZW5kCkBAIC01NDIsNyArNTQyLDcgQEAgdGVzdF9odWdl X2JvKGludCBmZCwgaW50IGh1Z2UsIGludCB0aWxpbmcpCiAJCQlzaXplIC89IDI7CiAJCWJyZWFr OwogCWNhc2UgMDoKLQkJc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgKyBQQUdF X1NJWkU7CisJCXNpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJ WkU7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCXNpemUgPSBnZW1fZ2xvYmFsX2FwZXJ0dXJlX3Np emUoZmQpICsgUEFHRV9TSVpFOwpAQCAtNjIzLDEzICs2MjMsMTMgQEAgdGVzdF9odWdlX2NvcHko aW50IGZkLCBpbnQgaHVnZSwgaW50IHRpbGluZ19hLCBpbnQgdGlsaW5nX2IsIGludCBuY3B1cykK IAogCXN3aXRjaCAoaHVnZSkgewogCWNhc2UgLTI6Ci0JCWh1Z2Vfb2JqZWN0X3NpemUgPSBnZW1f bWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpIC8gNDsKKwkJaHVnZV9vYmplY3Rfc2l6ZSA9IGdlbV9t YXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSAvIDQ7CiAJCWJyZWFrOwogCWNhc2UgLTE6Ci0JCWh1 Z2Vfb2JqZWN0X3NpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpIC8gMjsKKwkJaHVn ZV9vYmplY3Rfc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSAvIDI7CiAJCWJy ZWFrOwogCWNhc2UgMDoKLQkJaHVnZV9vYmplY3Rfc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVy ZV9zaXplKCkgKyBQQUdFX1NJWkU7CisJCWh1Z2Vfb2JqZWN0X3NpemUgPSBnZW1fbWFwcGFibGVf YXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJWkU7CiAJCWJyZWFrOwogCWNhc2UgMToKIAkJaHVn ZV9vYmplY3Rfc2l6ZSA9IGdlbV9nbG9iYWxfYXBlcnR1cmVfc2l6ZShmZCkgKyBQQUdFX1NJWkU7 CmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9wd3JpdGUuYyBiL3Rlc3RzL2k5MTUvZ2VtX3B3 cml0ZS5jCmluZGV4IDY5NmJkMzE2Li41Y2FlMTIxYSAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9n ZW1fcHdyaXRlLmMKKysrIGIvdGVzdHMvaTkxNS9nZW1fcHdyaXRlLmMKQEAgLTg5LDcgKzg5LDcg QEAgc3RhdGljIHZvaWQgdGVzdF9iaWdfY3B1KGludCBmZCwgaW50IHNjYWxlLCB1bnNpZ25lZCBm bGFncykKIAogCXN3aXRjaCAoc2NhbGUpIHsKIAljYXNlIDA6Ci0JCXNpemUgPSBnZW1fbWFwcGFi bGVfYXBlcnR1cmVfc2l6ZSgpICsgNDA5NjsKKwkJc2l6ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVy ZV9zaXplKGZkKSArIDQwOTY7CiAJCWJyZWFrOwogCWNhc2UgMToKIAkJc2l6ZSA9IGdlbV9nbG9i YWxfYXBlcnR1cmVfc2l6ZShmZCkgKyA0MDk2OwpAQCAtMTUxLDcgKzE1MSw3IEBAIHN0YXRpYyB2 b2lkIHRlc3RfYmlnX2d0dChpbnQgZmQsIGludCBzY2FsZSwgdW5zaWduZWQgZmxhZ3MpCiAJaWd0 X3JlcXVpcmUoZ2VtX21tYXBfX2hhc193YyhmZCkpOwogCXN3aXRjaCAoc2NhbGUpIHsKIAljYXNl IDA6Ci0JCXNpemUgPSBnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZSgpICsgNDA5NjsKKwkJc2l6 ZSA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKGZkKSArIDQwOTY7CiAJCWJyZWFrOwogCWNh c2UgMToKIAkJc2l6ZSA9IGdlbV9nbG9iYWxfYXBlcnR1cmVfc2l6ZShmZCkgKyA0MDk2OwpkaWZm IC0tZ2l0IGEvdGVzdHMvaTkxNS9nZW1fc2hyaW5rLmMgYi90ZXN0cy9pOTE1L2dlbV9zaHJpbmsu YwppbmRleCA5YzU0ZmNiNC4uNTk4ZTFlYmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2VtX3No cmluay5jCisrKyBiL3Rlc3RzL2k5MTUvZ2VtX3Nocmluay5jCkBAIC00MTEsNyArNDExLDcgQEAg aWd0X21haW4KIAkJICogd2UgZXhwZWN0IHRoZSBzaHJpbmtlciB0byBzdGFydCBwdXJnaW5nIG9i amVjdHMsCiAJCSAqIGFuZCBwb3NzaWJseSBmYWlsLgogCQkgKi8KLQkJYWxsb2Nfc2l6ZSA9IGdl bV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgLyAyOworCQlhbGxvY19zaXplID0gZ2VtX21hcHBh YmxlX2FwZXJ0dXJlX3NpemUoZmQpIC8gMjsKIAkJbnVtX3Byb2Nlc3NlcyA9IDEgKyAobWVtX3Np emUgLyAoYWxsb2Nfc2l6ZSA+PiAyMCkpOwogCiAJCWlndF9pbmZvKCJVc2luZyAlZCBwcm9jZXNz ZXMgYW5kICUnbGx1TWlCIHBlciBwcm9jZXNzXG4iLApkaWZmIC0tZ2l0IGEvdGVzdHMvaTkxNS9p OTE1X3BtX3JwbS5jIGIvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jCmluZGV4IDAxYWI4MzkwLi44 ZThjYjA3MyAxMDA2NDQKLS0tIGEvdGVzdHMvaTkxNS9pOTE1X3BtX3JwbS5jCisrKyBiL3Rlc3Rz L2k5MTUvaTkxNV9wbV9ycG0uYwpAQCAtMTM3MSw3ICsxMzcxLDcgQEAgc3RhdGljIHZvaWQgZ2Vt X2V2aWN0X3B3cml0ZV9zdWJ0ZXN0KHZvaWQpCiAKIAlnZW1fcmVxdWlyZV9tbWFwX2d0dChkcm1f ZmQpOwogCi0JbnVtX3RyYXNoX2JvcyA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9zaXplKCkgLyAo MTAyNCoxMDI0KSArIDE7CisJbnVtX3RyYXNoX2JvcyA9IGdlbV9tYXBwYWJsZV9hcGVydHVyZV9z aXplKGRybV9mZCkgLyAoMTAyNCoxMDI0KSArIDE7CiAJdHJhc2hfYm9zID0gbWFsbG9jKG51bV90 cmFzaF9ib3MgKiBzaXplb2YoKnRyYXNoX2JvcykpOwogCWlndF9hc3NlcnQodHJhc2hfYm9zKTsK IApkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2ZsaXAuYyBiL3Rlc3RzL2ttc19mbGlwLmMKaW5kZXgg Nzk4ZmM0ZTguLjAwNWIxZjI4IDEwMDc1NQotLS0gYS90ZXN0cy9rbXNfZmxpcC5jCisrKyBiL3Rl c3RzL2ttc19mbGlwLmMKQEAgLTEyMzEsNyArMTIzMSw3IEBAIHN0YXRpYyB2b2lkIHJ1bl90ZXN0 X29uX2NydGNfc2V0KHN0cnVjdCB0ZXN0X291dHB1dCAqbywgaW50ICpjcnRjX2lkeHMsCiAJLyog MjU2IE1CIGlzIHVzdWFsbHkgdGhlIG1heGltdW0gbWFwcGFibGUgYXBlcnR1cmUsCiAJICogKG1h a2UgaXQgNHggdGltZXMgdGhhdCB0byBlbnN1cmUgZmFpbHVyZSkgKi8KIAlpZiAoby0+ZmxhZ3Mg JiBURVNUX0JPX1RPT0JJRykgewotCQlib19zaXplID0gNCpnZW1fbWFwcGFibGVfYXBlcnR1cmVf c2l6ZSgpOworCQlib19zaXplID0gNCpnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShkcm1fZmQp OwogCQlpZ3RfcmVxdWlyZShib19zaXplIDwgZ2VtX2dsb2JhbF9hcGVydHVyZV9zaXplKGRybV9m ZCkpOwogCX0KIApkaWZmIC0tZ2l0IGEvdGVzdHMvcHJpbWVfbW1hcC5jIGIvdGVzdHMvcHJpbWVf bW1hcC5jCmluZGV4IGU2MjU4NjUxLi5jOTZhYjc3MiAxMDA2NDQKLS0tIGEvdGVzdHMvcHJpbWVf bW1hcC5jCisrKyBiL3Rlc3RzL3ByaW1lX21tYXAuYwpAQCAtNDQ4LDggKzQ0OCwxMSBAQCB0ZXN0 X2FwZXJ0dXJlX2xpbWl0KHZvaWQpCiAJY2hhciAqcHRyMSwgKnB0cjI7CiAJdWludDMyX3QgaGFu ZGxlMSwgaGFuZGxlMjsKIAkvKiBUd28gYnVmZmVycyB0aGUgc3VtIG9mIHdoaWNoID4gbWFwcGFi bGUgYXBlcnR1cmUgKi8KLQl1aW50NjRfdCBzaXplMSA9IChnZW1fbWFwcGFibGVfYXBlcnR1cmVf c2l6ZSgpICogNykgLyA4OwotCXVpbnQ2NF90IHNpemUyID0gKGdlbV9tYXBwYWJsZV9hcGVydHVy ZV9zaXplKCkgKiAzKSAvIDg7CisJdWludDY0X3Qgc2l6ZTE7CisJdWludDY0X3Qgc2l6ZTI7CisK KwlzaXplMSA9IChnZW1fbWFwcGFibGVfYXBlcnR1cmVfc2l6ZShmZCkgKiA3KSAvIDg7CisJc2l6 ZTIgPSAoZ2VtX21hcHBhYmxlX2FwZXJ0dXJlX3NpemUoZmQpICogMykgLyA4OwogCiAJaGFuZGxl MSA9IGdlbV9jcmVhdGUoZmQsIHNpemUxKTsKIAlmaWxsX2JvKGhhbmRsZTEsIEJPX1NJWkUpOwot LSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXY=