From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id AB3736F624 for ; Thu, 13 Feb 2020 18:52:18 +0000 (UTC) From: Antonio Argenziano Date: Thu, 13 Feb 2020 10:52:15 -0800 Message-Id: <20200213185215.2599-1-antonio.argenziano@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t] tests/i915/gem_stolen: Remove test 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 List-ID: VW5kZXJseWluZyBpbmZyYXN0cnVjdHVyZSBmb3IgY3JlYXRpbmcgb2JqZWN0cyBpbiBzdG9sZW4g bm90IHN1cHBvcnRlZC4KClNpZ25lZC1vZmYtYnk6IEFudG9uaW8gQXJnZW56aWFubyA8YW50b25p by5hcmdlbnppYW5vQGludGVsLmNvbT4KQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2ls c29uLmNvLnVrPgotLS0KIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgIHwgICAzIC0KIHRlc3RzL2k5 MTUvZ2VtX3N0b2xlbi5jIHwgNDU0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIHRlc3RzL21lc29uLmJ1aWxkICAgICAgIHwgICAxIC0KIDMgZmlsZXMgY2hhbmdlZCwg NDU4IGRlbGV0aW9ucygtKQogZGVsZXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2k5MTUvZ2VtX3N0b2xl bi5jCgpkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2VmaWxl LnNvdXJjZXMKaW5kZXggMmNmYWQ4MDIuLjA3ZWMzYWYzIDEwMDY0NAotLS0gYS90ZXN0cy9NYWtl ZmlsZS5zb3VyY2VzCisrKyBiL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMKQEAgLTM5MSw5ICszOTEs NiBAQCBnZW1fc29mdHBpbl9TT1VSQ0VTID0gaTkxNS9nZW1fc29mdHBpbi5jCiBURVNUU19wcm9n cyArPSBnZW1fc3Bpbl9iYXRjaAogZ2VtX3NwaW5fYmF0Y2hfU09VUkNFUyA9IGk5MTUvZ2VtX3Nw aW5fYmF0Y2guYwogCi1URVNUU19wcm9ncyArPSBnZW1fc3RvbGVuCi1nZW1fc3RvbGVuX1NPVVJD RVMgPSBpOTE1L2dlbV9zdG9sZW4uYwotCiBURVNUU19wcm9ncyArPSBnZW1fc3RyZWFtaW5nX3dy aXRlcwogZ2VtX3N0cmVhbWluZ193cml0ZXNfU09VUkNFUyA9IGk5MTUvZ2VtX3N0cmVhbWluZ193 cml0ZXMuYwogCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9zdG9sZW4uYyBiL3Rlc3RzL2k5 MTUvZ2VtX3N0b2xlbi5jCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkNmIzMGRjYi4u MDAwMDAwMDAKLS0tIGEvdGVzdHMvaTkxNS9nZW1fc3RvbGVuLmMKKysrIC9kZXYvbnVsbApAQCAt MSw0NTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCDCqSAyMDE1IEludGVsIENvcnBvcmF0aW9u Ci0gKgotICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRv IGFueSBwZXJzb24gb2J0YWluaW5nIGEKLSAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNz b2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCi0gKiB0byBkZWFs IGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBs aW1pdGF0aW9uCi0gKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVi bGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKLSAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0 aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQotICogU29mdHdh cmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0 aW9uczoKLSAqCi0gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz aW9uIG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Ci0gKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGlu Y2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCi0gKiBT b2Z0d2FyZS4KLSAqCi0gKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9V VCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgotICogSU1QTElFRCwgSU5DTFVESU5H IEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0g KiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAg SU4gTk8gRVZFTlQgU0hBTEwKLSAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJF IExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCi0gKiBMSUFCSUxJVFksIFdI RVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lO RwotICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1Ig VEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwotICogSU4gVEhFIFNPRlRXQVJFLgotICoKLSAqIEF1 dGhvcnM6Ci0gKiAgICBBbmtpdHByYXNhZCBTaGFybWEgPGFua2l0cHJhc2FkLnIuc2hhcm1hIGF0 IGludGVsLmNvbT4KLSAqCi0gKi8KLQotLyoqIEBmaWxlIGdlbV9jcmVhdGVfc3RvbGVuLmMKLSAq Ci0gKiBUaGlzIGlzIGEgdGVzdCBmb3IgdGhlIGV4dGVuZGVkIGdlbV9jcmVhdGUgaW9jdGwsIHRo YXQgaW5jbHVkZXMgYWxsb2NhdGlvbgotICogb2Ygb2JqZWN0IGZyb20gc3RvbGVuIG1lbW9yeS4K LSAqCi0gKiBUaGUgZ29hbCBpcyB0byBzaW1wbHkgZW5zdXJlIHRoZSBiYXNpY3Mgd29yaywgYW5k IGludmFsaWQgaW5wdXQgY29tYmluYXRpb25zCi0gKiBhcmUgcmVqZWN0ZWQuCi0gKi8KLQotI2lu Y2x1ZGUgPHN0ZGxpYi5oPgotI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgotI2luY2x1ZGUgPHN0ZGlv Lmg+Ci0jaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8ZmNudGwuaD4KLSNpbmNsdWRlIDxp bnR0eXBlcy5oPgotI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8c3lzL3N0YXQuaD4KLSNp bmNsdWRlIDxzeXMvdGltZS5oPgotI2luY2x1ZGUgPGdldG9wdC5oPgotCi0jaW5jbHVkZSA8ZHJt Lmg+Ci0KLSNpbmNsdWRlICJpb2N0bF93cmFwcGVycy5oIgotI2luY2x1ZGUgImludGVsX2J1Zm1n ci5oIgotI2luY2x1ZGUgImludGVsX2JhdGNoYnVmZmVyLmgiCi0jaW5jbHVkZSAiaW50ZWxfaW8u aCIKLSNpbmNsdWRlICJpbnRlbF9jaGlwc2V0LmgiCi0jaW5jbHVkZSAiaWd0X2F1eC5oIgotI2lu Y2x1ZGUgImRybXRlc3QuaCIKLSNpbmNsdWRlICJkcm0uaCIKLSNpbmNsdWRlICJpOTE1X2RybS5o IgotI2luY2x1ZGUgImk5MTUvZ2VtX21tYW4uaCIKLQotSUdUX1RFU1RfREVTQ1JJUFRJT04oIlRo aXMgdGVzdCB2ZXJpZmllcyB0aGUgZXhldGVuZGVkIGdlbV9jcmVhdGUgaW9jdGwsIgotCQkgICAg ICIgdGhhdCBpbmNsdWRlcyBhbGxvY2F0aW9uIG9mIG9iaiBmcm9tIHN0b2xlbiByZWdpb24iKTsK LSNkZWZpbmUgQ0xFQVIocykgbWVtc2V0KCZzLCAwLCBzaXplb2YocykpCi0jZGVmaW5lIFNJWkUg MTAyNCoxMDI0Ci0jZGVmaW5lIERXT1JEX1NJWkUgNAotI2RlZmluZSBEQVRBIDB4ZGVhZAotI2Rl ZmluZSBMQVJHRV9TSVpFIDB4ZmZmZmZmZmYKLSNkZWZpbmUgTUFYX09CSkVDVFMgMTAwCi0KLXN0 YXRpYyBkcm1faW50ZWxfYnVmbWdyICpidWZtZ3I7Ci1zdGF0aWMgc3RydWN0IGludGVsX2JhdGNo YnVmZmVyICpiYXRjaDsKLQotc3RhdGljIHZvaWQgdmVyaWZ5X2NvcHlfb3AoZHJtX2ludGVsX2Jv ICpzcmMsIGRybV9pbnRlbF9ibyAqZGVzdCkKLXsKLQl1aW50MzJfdCAqdmlydCwgaSwgcmV0Owot CS8qIEZpbGwgdGhlIHNyYyBCTyB3aXRoIGR3b3JkcyAqLwotCXJldCA9IGRybV9pbnRlbF9nZW1f Ym9fbWFwX2d0dChzcmMpOwotCWlndF9hc3NlcnQoIXJldCk7Ci0KLQl2aXJ0ID0gc3JjLT52aXJ0 dWFsOwotCWZvciAoaSA9IDA7IGkgPCBTSVpFL0RXT1JEX1NJWkU7IGkrKykKLQkJdmlydFtpXSA9 IGk7Ci0KLQlpbnRlbF9jb3B5X2JvKGJhdGNoLCBkZXN0LCBzcmMsIFNJWkUpOwotCi0JcmV0ID0g ZHJtX2ludGVsX2dlbV9ib19tYXBfZ3R0KGRlc3QpOwotCWlndF9hc3NlcnQoIXJldCk7Ci0KLQl2 aXJ0ID0gZGVzdC0+dmlydHVhbDsKLQkvKiB2ZXJpZnkgKi8KLQlmb3IgKGkgPSAwOyBpIDwgU0la RS9EV09SRF9TSVpFOyBpKyspCi0JCWlndF9hc3NlcnRfZXEodmlydFtpXSwgaSk7Ci0KLQlkcm1f aW50ZWxfYm9fdW5tYXAoc3JjKTsKLQlkcm1faW50ZWxfYm9fdW5tYXAoZGVzdCk7Ci19Ci0KLXN0 YXRpYyB2b2lkIHN0b2xlbl9wd3JpdGUoaW50IGZkKQotewotCWRybV9pbnRlbF9ibyAqYm87Ci0J dWludDMyX3QgYnVmW1NJWkUvRFdPUkRfU0laRV07Ci0JdWludDMyX3QgaGFuZGxlID0gMDsKLQl1 aW50MzJfdCAqdmlydDsKLQlpbnQgaSwgcmV0ID0gMDsKLQotCWZvciAoaSA9IDA7IGkgPCBTSVpF L0RXT1JEX1NJWkU7IGkrKykKLQkJYnVmW2ldID0gREFUQTsKLQotCWdlbV9yZXF1aXJlX3N0b2xl bl9zdXBwb3J0KGZkKTsKLQotCWhhbmRsZSA9IGdlbV9jcmVhdGVfc3RvbGVuKGZkLCBTSVpFKTsK LQotCWdlbV93cml0ZShmZCwgaGFuZGxlLCAwLCBidWYsIFNJWkUpOwotCWJvID0gZ2VtX2hhbmRs ZV90b19saWJkcm1fYm8oYnVmbWdyLCBmZCwgImJvIiwgaGFuZGxlKTsKLQotCXJldCA9IGRybV9p bnRlbF9nZW1fYm9fbWFwX2d0dChibyk7Ci0JaWd0X2Fzc2VydCghcmV0KTsKLQotCXZpcnQgPSBi by0+dmlydHVhbDsKLQotCWZvciAoaSA9IDA7IGkgPCBTSVpFL0RXT1JEX1NJWkU7IGkrKykKLQkJ aWd0X2Fzc2VydF9lcSh2aXJ0W2ldLCBEQVRBKTsKLQotCWRybV9pbnRlbF9ib191bm1hcChibyk7 Ci0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGJvKTsKLQlnZW1fY2xvc2UoZmQsIGhhbmRsZSk7 Ci19Ci0KLXN0YXRpYyB2b2lkIHN0b2xlbl9wcmVhZChpbnQgZmQpCi17Ci0JZHJtX2ludGVsX2Jv ICpibzsKLQl1aW50MzJfdCBidWZbU0laRS9EV09SRF9TSVpFXTsKLQl1aW50MzJfdCBoYW5kbGUg PSAwOwotCXVpbnQzMl90ICp2aXJ0OwotCWludCBpLCByZXQgPSAwOwotCi0JQ0xFQVIoYnVmKTsK LQotCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsKLQotCWhhbmRsZSA9IGdlbV9jcmVh dGVfc3RvbGVuKGZkLCBTSVpFKTsKLQotCWJvID0gZ2VtX2hhbmRsZV90b19saWJkcm1fYm8oYnVm bWdyLCBmZCwgImJvIiwgaGFuZGxlKTsKLQotCXJldCA9IGRybV9pbnRlbF9nZW1fYm9fbWFwX2d0 dChibyk7Ci0JaWd0X2Fzc2VydCghcmV0KTsKLQotCXZpcnQgPSBiby0+dmlydHVhbDsKLQotCWZv ciAoaSA9IDA7IGkgPCBTSVpFL0RXT1JEX1NJWkU7IGkrKykKLQkJdmlydFtpXSA9IERBVEE7Ci0K LQlkcm1faW50ZWxfYm9fdW5tYXAoYm8pOwotCWRybV9pbnRlbF9ib191bnJlZmVyZW5jZShibyk7 Ci0KLQlnZW1fcmVhZChmZCwgaGFuZGxlLCAwLCBidWYsIFNJWkUpOwotCi0JZm9yIChpID0gMDsg aSA8IFNJWkUvRFdPUkRfU0laRTsgaSsrKQotCQlpZ3RfYXNzZXJ0X2VxKGJ1ZltpXSwgREFUQSk7 Ci0KLQlnZW1fY2xvc2UoZmQsIGhhbmRsZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIGNvcHlfdGVzdChp bnQgZmQpCi17Ci0JZHJtX2ludGVsX2JvICpzcmMsICpkZXN0OwotCXVpbnQzMl90IHNyY19oYW5k bGUgPSAwLCBkZXN0X2hhbmRsZSA9IDA7Ci0KLQlnZW1fcmVxdWlyZV9zdG9sZW5fc3VwcG9ydChm ZCk7Ci0KLQlzcmNfaGFuZGxlID0gZ2VtX2NyZWF0ZV9zdG9sZW4oZmQsIFNJWkUpOwotCWRlc3Rf aGFuZGxlID0gZ2VtX2NyZWF0ZV9zdG9sZW4oZmQsIFNJWkUpOwotCi0Jc3JjID0gZ2VtX2hhbmRs ZV90b19saWJkcm1fYm8oYnVmbWdyLCBmZCwgInNyY19ibyIsIHNyY19oYW5kbGUpOwotCWRlc3Qg PSBnZW1faGFuZGxlX3RvX2xpYmRybV9ibyhidWZtZ3IsIGZkLCAiZHN0X2JvIiwgZGVzdF9oYW5k bGUpOwotCi0JaWd0X2Fzc2VydChzcmMgIT0gTlVMTCk7Ci0JaWd0X2Fzc2VydChkZXN0ICE9IE5V TEwpOwotCi0JdmVyaWZ5X2NvcHlfb3Aoc3JjLCBkZXN0KTsKLQotCWRybV9pbnRlbF9ib191bnJl ZmVyZW5jZShzcmMpOwotCWRybV9pbnRlbF9ib191bnJlZmVyZW5jZShkZXN0KTsKLQlnZW1fY2xv c2UoZmQsIHNyY19oYW5kbGUpOwotCWdlbV9jbG9zZShmZCwgZGVzdF9oYW5kbGUpOwotfQotCi1z dGF0aWMgdm9pZCB2ZXJpZnlfb2JqZWN0X2NsZWFyKGludCBmZCkKLXsKLQlkcm1faW50ZWxfYm8g KmJvOwotCXVpbnQzMl90IGhhbmRsZSA9IDA7Ci0JdWludDMyX3QgKnZpcnQ7Ci0JaW50IGksIHJl dDsKLQotCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsKLQotCWhhbmRsZSA9IGdlbV9j cmVhdGVfc3RvbGVuKGZkLCBTSVpFKTsKLQotCWJvID0gZ2VtX2hhbmRsZV90b19saWJkcm1fYm8o YnVmbWdyLCBmZCwgInZlcmlmeV9ibyIsIGhhbmRsZSk7Ci0JaWd0X2Fzc2VydChibyAhPSBOVUxM KTsKLQotCXJldCA9IGRybV9pbnRlbF9nZW1fYm9fbWFwX2d0dChibyk7Ci0JaWd0X2Fzc2VydCgh cmV0KTsKLQotCS8qIFZlcmlmeSBpZiB0aGUgQk8gaXMgemVyb2VkICovCi0JdmlydCA9IGJvLT52 aXJ0dWFsOwotCWZvciAoaSA9IDA7IGkgPCBTSVpFIC8gRFdPUkRfU0laRTsgaSsrKQotCQlpZ3Rf YXNzZXJ0KCF2aXJ0W2ldKTsKLQotCWRybV9pbnRlbF9ib191bm1hcChibyk7Ci0JZHJtX2ludGVs X2JvX3VucmVmZXJlbmNlKGJvKTsKLQlnZW1fY2xvc2UoZmQsIGhhbmRsZSk7Ci19Ci0KLXN0YXRp YyB2b2lkIHN0b2xlbl9sYXJnZV9vYmpfYWxsb2MoaW50IGZkKQotewotCXVpbnQzMl90IGhhbmRs ZSA9IDA7Ci0KLQlnZW1fcmVxdWlyZV9zdG9sZW5fc3VwcG9ydChmZCk7Ci0JaGFuZGxlID0gX19n ZW1fY3JlYXRlX3N0b2xlbihmZCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgTEFSR0VfU0laRSArIDQw OTYpOwotCWlndF9hc3NlcnQoIWhhbmRsZSk7Ci19Ci0KLXN0YXRpYyB2b2lkIHN0b2xlbl9maWxs X3B1cmdlX3Rlc3QoaW50IGZkKQotewotCWRybV9pbnRlbF9ibyAqYm87Ci0JaW50IG9ial9jb3Vu dCA9IDAsIGkgPSAwOwotCWludCBfcmV0ID0gMCwgaiA9IDA7Ci0JdWludDMyX3QgaGFuZGxlW01B WF9PQkpFQ1RTXTsKLQl1aW50MzJfdCBuZXdfaGFuZGxlOwotCXVpbnQzMl90ICp2aXJ0OwotCWlu dCByZXRhaW5lZDsKLQotCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsKLQotCS8qIEV4 aGF1c3QgU3RvbGVuIHNwYWNlICovCi0JZG8gewotCQloYW5kbGVbaV0gPSBfX2dlbV9jcmVhdGVf c3RvbGVuKGZkLCBTSVpFKTsKLQkJaWYgKGhhbmRsZVtpXSAhPSAwKSB7Ci0JCQlibyA9IGdlbV9o YW5kbGVfdG9fbGliZHJtX2JvKGJ1Zm1nciwgZmQsCi0JCQkJCQkgICAgICJ2ZXJpZnlfYm8iLCBo YW5kbGVbaV0pOwotCQkJaWd0X2Fzc2VydChibyAhPSBOVUxMKTsKLQotCQkJX3JldCA9IGRybV9p bnRlbF9nZW1fYm9fbWFwX2d0dChibyk7Ci0JCQlpZ3RfYXNzZXJ0KCFfcmV0KTsKLQotCQkJdmly dCA9IGJvLT52aXJ0dWFsOwotCQkJZm9yIChqID0gMDsgaiA8IFNJWkUvRFdPUkRfU0laRTsgaisr KQotCQkJCXZpcnRbal0gPSBEQVRBOwotCi0JCQlkcm1faW50ZWxfYm9fdW5tYXAoYm8pOwotCQkJ ZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGJvKTsKLQotCQkJb2JqX2NvdW50Kys7Ci0JCX0KLQot CQlpKys7Ci0JfSB3aGlsZSAoaGFuZGxlW2ktMV0gJiYgaSA8IE1BWF9PQkpFQ1RTKTsKLQotCWln dF9hc3NlcnQob2JqX2NvdW50ID4gMCk7Ci0KLQkvKiBNYXJrIGFsbCBzdG9sZW4gb2JqZWN0cyBw dXJnZWFibGUgKi8KLQlmb3IgKGkgPSAwOyBpIDwgb2JqX2NvdW50OyBpKyspCi0JCXJldGFpbmVk ID0gZ2VtX21hZHZpc2UoZmQsIGhhbmRsZVtpXSwgSTkxNV9NQURWX0RPTlRORUVEKTsKLQotCS8q IFRyeSB0byBhbGxvY2F0ZSBvbmUgbW9yZSBvYmplY3QgKi8KLQluZXdfaGFuZGxlID0gZ2VtX2Ny ZWF0ZV9zdG9sZW4oZmQsIFNJWkUpOwotCi0JLyogQ2hlY2sgaWYgdGhlIHJldGFpbmVkIG9iamVj dCdzIG1lbW9yeSBjb250ZW50cyBhcmUgaW50YWN0ICovCi0JZm9yIChpID0gMDsgaSA8IG9ial9j b3VudDsgaSsrKSB7Ci0JCXJldGFpbmVkID0gZ2VtX21hZHZpc2UoZmQsIGhhbmRsZVtpXSwgSTkx NV9NQURWX1dJTExORUVEKTsKLQkJaWYgKHJldGFpbmVkKSB7Ci0JCQlibyA9IGdlbV9oYW5kbGVf dG9fbGliZHJtX2JvKGJ1Zm1nciwgZmQsCi0JCQkJCQkgICAgICJ2ZXJpZnlfYm8iLCBoYW5kbGVb aV0pOwotCQkJaWd0X2Fzc2VydChibyAhPSBOVUxMKTsKLQotCQkJX3JldCA9IGRybV9pbnRlbF9n ZW1fYm9fbWFwX2d0dChibyk7Ci0JCQlpZ3RfYXNzZXJ0KCFfcmV0KTsKLQotCQkJdmlydCA9IGJv LT52aXJ0dWFsOwotCQkJZm9yIChqID0gMDsgaiA8IFNJWkUvRFdPUkRfU0laRTsgaisrKQotCQkJ CWlndF9hc3NlcnRfZXEodmlydFtqXSwgREFUQSk7Ci0KLQkJCWRybV9pbnRlbF9ib191bm1hcChi byk7Ci0JCQlkcm1faW50ZWxfYm9fdW5yZWZlcmVuY2UoYm8pOwotCQl9Ci0JfQotCi0JZ2VtX2Ns b3NlKGZkLCBuZXdfaGFuZGxlKTsKLQlmb3IgKGkgPSAwOyBpIDwgb2JqX2NvdW50OyBpKyspCi0J CWdlbV9jbG9zZShmZCwgaGFuZGxlW2ldKTsKLX0KLQotc3RhdGljIHZvaWQgc3RvbGVuX2hpYmVy bmF0ZShpbnQgZmQpCi17Ci0JZHJtX2ludGVsX2JvICpibzsKLQlkcm1faW50ZWxfYm8gKnNyYywg KmRlc3Q7Ci0JaW50IG9ial9jb3VudCA9IDAsIGkgPSAwOwotCWludCByZXQsIGo7Ci0JdWludDMy X3QgaGFuZGxlW01BWF9PQkpFQ1RTXSwgc3JjX2hhbmRsZTsKLQl1aW50MzJfdCAqdmlydDsKLQot CWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsKLQotCXNyY19oYW5kbGUgPSBnZW1fY3Jl YXRlKGZkLCBTSVpFKTsKLQlzcmMgPSBnZW1faGFuZGxlX3RvX2xpYmRybV9ibyhidWZtZ3IsIGZk LAotCQkJCSAgICAgImJvIiwgc3JjX2hhbmRsZSk7Ci0JaWd0X2Fzc2VydChzcmMgIT0gTlVMTCk7 Ci0KLQlyZXQgPSBkcm1faW50ZWxfZ2VtX2JvX21hcF9ndHQoc3JjKTsKLQlpZ3RfYXNzZXJ0X2Vx KHJldCwgMCk7Ci0KLQl2aXJ0ID0gc3JjLT52aXJ0dWFsOwotCWZvciAoaiA9IDA7IGogPCBTSVpF L0RXT1JEX1NJWkU7IGorKykgewotCQlpZ3RfYXNzZXJ0X2VxKHZpcnRbal0sIDApOwotCQl2aXJ0 W2pdID0gajsKLQl9Ci0KLQlkcm1faW50ZWxfYm9fdW5tYXAoc3JjKTsKLQkvKiBFeGhhdXN0IFN0 b2xlbiBzcGFjZSAqLwotCWZvciAoaSA9IDA7IGkgPCBNQVhfT0JKRUNUUzsgaSsrKSB7Ci0JCWhh bmRsZVtpXSA9IF9fZ2VtX2NyZWF0ZV9zdG9sZW4oZmQsIFNJWkUpOwotCQlpZiAoIWhhbmRsZVtp XSkKLQkJCWJyZWFrOwotCi0JCWJvID0gZ2VtX2hhbmRsZV90b19saWJkcm1fYm8oYnVmbWdyLCBm ZCwKLQkJCQkJICAgICAidmVyaWZ5X2JvIiwgaGFuZGxlW2ldKTsKLQkJaWd0X2Fzc2VydChibyAh PSBOVUxMKTsKLQkJcmV0ID0gZHJtX2ludGVsX2dlbV9ib19tYXBfZ3R0KGJvKTsKLQkJaWd0X2Fz c2VydF9lcShyZXQsIDApOwotCi0JCXZpcnQgPSBiby0+dmlydHVhbDsKLQkJZm9yIChqID0gMDsg aiA8IFNJWkUvRFdPUkRfU0laRTsgaisrKQotCQkJaWd0X2Fzc2VydF9lcSh2aXJ0W2pdLCAwKTsK LQotCQlkcm1faW50ZWxfYm9fdW5tYXAoYm8pOwotCQlkcm1faW50ZWxfYm9fdW5yZWZlcmVuY2Uo Ym8pOwotCi0JCW9ial9jb3VudCsrOwotCX0KLQotCS8qIEFzc2VydCBpZiBhdGxlYXN0IG9uZSBv YmplY3QgaXMgYWxsb2NhdGVkIGZyb20gc3RvbGVuLCB0aGF0Ci0JICogaXMgZ29vZCBlbm91Z2gg dG8gdmVyaWZ5IHRoZSBjb250ZW50IHByZXNlcnZhdGlvbiBhY3Jvc3MKLQkgKiBoaWJlcm5hdGlv bi4KLQkgKi8KLQlpZ3RfYXNzZXJ0KG9ial9jb3VudCA+IDApOwotCi0JLyogQ29weSBkYXRhIHRv IGFsbCBzdG9sZW4gYmFja2VkIG9iamVjdHMgKi8KLQlmb3IgKGkgPSAwOyBpIDwgb2JqX2NvdW50 OyBpKyspIHsKLQkJZGVzdCA9IGdlbV9oYW5kbGVfdG9fbGliZHJtX2JvKGJ1Zm1nciwgZmQsCi0J CQkJCSAgICAgICAiZHN0X2JvIiwgaGFuZGxlW2ldKTsKLQkJaWd0X2Fzc2VydChkZXN0ICE9IE5V TEwpOwotCQkvKiBDb3B5IGNvbnRlbnRzIHRvIHN0b2xlbiBiYWNrZWQgb2JqZWN0cyB2aWEgYmx0 IGFuZAotCQkgKiB2ZXJpZnkgcG9zdC1oaWJlcm5hdGlvbiwgdGhpcyBhbHNvIGhlbHBzIGluIGlk ZW50aWZ5aW5nCi0JCSAqIHRoYXQgdGhlIG9wZXJhdGlvbiB3YXMgY29tcGxldGVkIGJlZm9yZSBn b2luZyB0bwotCQkgKiBoaWJlcm5hdGlvbi4KLQkJICovCi0JCWludGVsX2NvcHlfYm8oYmF0Y2gs IGRlc3QsIHNyYywgU0laRSk7Ci0JfQotCi0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKHNyYyk7 Ci0KLQlpZ3Rfc3lzdGVtX3N1c3BlbmRfYXV0b3Jlc3VtZShTVVNQRU5EX1NUQVRFX0RJU0ssIFNV U1BFTkRfVEVTVF9OT05FKTsKLQkvKiBDaGVjayBpZiB0aGUgb2JqZWN0J3MgbWVtb3J5IGNvbnRl bnRzIGFyZSBpbnRhY3QKLQkgKiBhY3Jvc3MgaGliZXJuYXRpb24uCi0JICovCi0JZm9yIChpID0g MDsgaSA8IG9ial9jb3VudDsgaSsrKSB7Ci0JCWJvID0gZ2VtX2hhbmRsZV90b19saWJkcm1fYm8o YnVmbWdyLCBmZCwKLQkJCQkJICAgICAidmVyaWZ5X2JvIiwgaGFuZGxlW2ldKTsKLQkJaWd0X2Fz c2VydChibyAhPSBOVUxMKTsKLQkJcmV0ID0gZHJtX2ludGVsX2dlbV9ib19tYXBfZ3R0KGJvKTsK LQkJaWd0X2Fzc2VydF9lcShyZXQsIDApOwotCQl2aXJ0ID0gYm8tPnZpcnR1YWw7Ci0JCWZvciAo aiA9IDA7IGogPCBTSVpFL0RXT1JEX1NJWkU7IGorKykKLQkJCWlndF9hc3NlcnRfZXEodmlydFtq XSwgaik7Ci0KLQkJZHJtX2ludGVsX2JvX3VubWFwKGJvKTsKLQkJZHJtX2ludGVsX2JvX3VucmVm ZXJlbmNlKGJvKTsKLQl9Ci0KLQlnZW1fY2xvc2UoZmQsIHNyY19oYW5kbGUpOwotCWZvciAoaSA9 IDA7IGkgPCBvYmpfY291bnQ7IGkrKykKLQkJZ2VtX2Nsb3NlKGZkLCBoYW5kbGVbaV0pOwotfQot Ci1zdGF0aWMgdm9pZAotc3RvbGVuX25vX21tYXAoaW50IGZkKQotewotCXZvaWQgKmFkZHI7Ci0J dWludDMyX3QgaGFuZGxlID0gMDsKLQotCWdlbV9yZXF1aXJlX3N0b2xlbl9zdXBwb3J0KGZkKTsK LQotCWhhbmRsZSA9IGdlbV9jcmVhdGVfc3RvbGVuKGZkLCBTSVpFKTsKLQotCWFkZHIgPSBfX2dl bV9tbWFwX19jcHUoZmQsIGhhbmRsZSwgMCwgU0laRSwgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7 Ci0JaWd0X2Fzc2VydChhZGRyID09IE5VTEwpOwotCi0JZ2VtX2Nsb3NlKGZkLCBoYW5kbGUpOwot fQotCi1pZ3RfbWFpbgotewotCWludCBmZDsKLQl1aW50MzJfdCBkZXZpZDsKLQotCWlndF9maXh0 dXJlIHsKLQkJZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKLQkJZGV2aWQgPSBp bnRlbF9nZXRfZHJtX2RldmlkKGZkKTsKLQotCQlidWZtZ3IgPSBkcm1faW50ZWxfYnVmbWdyX2dl bV9pbml0KGZkLCA0MDk2KTsKLQkJYmF0Y2ggPSBpbnRlbF9iYXRjaGJ1ZmZlcl9hbGxvYyhidWZt Z3IsIGRldmlkKTsKLQl9Ci0KLQlpZ3Rfc3VidGVzdCgic3RvbGVuLWNsZWFyIikKLQkJdmVyaWZ5 X29iamVjdF9jbGVhcihmZCk7Ci0KLQkvKgotCSAqIHN0b2xlbiBtZW0gc3BlY2lhbCBjYXNlcyAt IGNoZWNraW5nIGZvciBub24gY3B1IG1hcHBhYmxlCi0JICovCi0JaWd0X3N1YnRlc3QoInN0b2xl bi1uby1tbWFwIikKLQkJc3RvbGVuX25vX21tYXAoZmQpOwotCi0JLyogY2hlY2tpbmcgZm9yIHBy ZWFkL3B3cml0ZSBpbnRlcmZhY2VzICovCi0JaWd0X3N1YnRlc3QoInN0b2xlbi1wd3JpdGUiKQot CQlzdG9sZW5fcHdyaXRlKGZkKTsKLQotCWlndF9zdWJ0ZXN0KCJzdG9sZW4tcHJlYWQiKQotCQlz dG9sZW5fcHJlYWQoZmQpOwotCi0JLyogRnVuY3Rpb25hbCBUZXN0IC0gYmx0IGNvcHkgKi8KLQlp Z3Rfc3VidGVzdCgic3RvbGVuLWNvcHkiKQotCQljb3B5X3Rlc3QoZmQpOwotCi0JaWd0X3N1YnRl c3QoImxhcmdlLW9iamVjdC1hbGxvYyIpCi0JCXN0b2xlbl9sYXJnZV9vYmpfYWxsb2MoZmQpOwot Ci0JLyogRmlsbGluZyBzdG9sZW4gY29tcGxldGVseSBhbmQgbWFya2luZyBhbGwgdGhlIG9iamVj dHMKLQkgKiBwdXJnZWFibGUuIFRoZW4gdHJ5aW5nIHRvIGFkZCBvbmUgbW9yZSBvYmplY3QsIHRv IHZlcmlmeQotCSAqIHRoZSBwdXJnaW5nIGxvZ2ljLgotCSAqIEFnYWluIG1hcmtpbmcgYWxsIG9i amVjdHMgV0lMTE5FRUQgYW5kIHZlcmlmeWluZyB0aGUKLQkgKiBjb250ZW50cyBvZiB0aGUgcmV0 YWluZWQgb2JqZWN0cy4KLQkgKi8KLQlpZ3Rfc3VidGVzdCgic3RvbGVuLWZpbGwtcHVyZ2UiKQot CQlzdG9sZW5fZmlsbF9wdXJnZV90ZXN0KGZkKTsKLQotCWlndF9zdWJ0ZXN0KCJzdG9sZW4taGli ZXJuYXRlIikKLQkJc3RvbGVuX2hpYmVybmF0ZShmZCk7Ci0KLQlpZ3RfZml4dHVyZSB7Ci0JCWlu dGVsX2JhdGNoYnVmZmVyX2ZyZWUoYmF0Y2gpOwotCQlkcm1faW50ZWxfYnVmbWdyX2Rlc3Ryb3ko YnVmbWdyKTsKLQl9Ci19CmRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21l c29uLmJ1aWxkCmluZGV4IDZkYzMzYTQ1Li5kYzlmMzljZCAxMDA2NDQKLS0tIGEvdGVzdHMvbWVz b24uYnVpbGQKKysrIGIvdGVzdHMvbWVzb24uYnVpbGQKQEAgLTE5Niw3ICsxOTYsNiBAQCBpOTE1 X3Byb2dzID0gWwogCSdnZW1fc2hyaW5rJywKIAknZ2VtX3NvZnRwaW4nLAogCSdnZW1fc3Bpbl9i YXRjaCcsCi0JJ2dlbV9zdG9sZW4nLAogCSdnZW1fc3RyZWFtaW5nX3dyaXRlcycsCiAJJ2dlbV9z eW5jJywKIAknZ2VtX3RocmVhZGVkX2FjY2Vzc190aWxlZCcsCi0tIAoyLjIxLjAKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBs aXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=