From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 81B1C6E0E2 for ; Sun, 2 Aug 2020 16:30:34 +0000 (UTC) From: =?UTF-8?q?Zbigniew=20Kempczy=C5=84ski?= Date: Sun, 2 Aug 2020 18:29:55 +0200 Message-Id: <20200802163002.5815-12-zbigniew.kempczynski@intel.com> In-Reply-To: <20200802163002.5815-1-zbigniew.kempczynski@intel.com> References: <20200802163002.5815-1-zbigniew.kempczynski@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v23 11/18] lib/igt_draw: remove libdrm dependency 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: Chris Wilson List-ID: Q2hhbmdlIHJlbmRlcmNvcHkgdG8gdXNlIGludGVsX2JiIHRvIHJlbW92ZSBsaWJkcm0gZGVwZW5k ZW5jeS4KClNpZ25lZC1vZmYtYnk6IERvbWluaWsgR3J6ZWdvcnplayA8ZG9taW5pay5ncnplZ29y emVrQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogWmJpZ25pZXcgS2VtcGN6ecWEc2tpIDx6Ymln bmlldy5rZW1wY3p5bnNraUBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlz LXdpbHNvbi5jby51az4KLS0tCiBsaWIvaWd0X2RyYXcuYyB8IDE1NSArKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWIvaWd0X2RyYXcuaCB8ICAgOCAr LS0KIDIgZmlsZXMgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKSwgODQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGliL2lndF9kcmF3LmMgYi9saWIvaWd0X2RyYXcuYwppbmRleCBmMjM0MDEy Ny4uNDYyNzM4ZWYgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfZHJhdy5jCisrKyBiL2xpYi9pZ3RfZHJh dy5jCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiaWd0X2RyYXcuaCIKIAogI2luY2x1ZGUg ImRybXRlc3QuaCIKKyNpbmNsdWRlICJpbnRlbF9idWZvcHMuaCIKICNpbmNsdWRlICJpbnRlbF9i YXRjaGJ1ZmZlci5oIgogI2luY2x1ZGUgImludGVsX2NoaXBzZXQuaCIKICNpbmNsdWRlICJpZ3Rf Y29yZS5oIgpAQCAtNjEsOCArNjIsOCBAQAogLyogU29tZSBpbnRlcm5hbCBkYXRhIHN0cnVjdHVy ZXMgdG8gYXZvaWQgaGF2aW5nIHRvIHBhc3MgdG9ucyBvZiBwYXJhbWV0ZXJzCiAgKiBhcm91bmQg ZXZlcnl0aGluZy4gKi8KIHN0cnVjdCBjbWRfZGF0YSB7Ci0JZHJtX2ludGVsX2J1Zm1nciAqYnVm bWdyOwotCWRybV9pbnRlbF9jb250ZXh0ICpjb250ZXh0OworCXN0cnVjdCBidWZfb3BzICpib3Bz OworCXVpbnQzMl90IGN0eDsKIH07CiAKIHN0cnVjdCBidWZfZGF0YSB7CkBAIC0yNjQsOCArMjY1 LDcgQEAgc3RhdGljIHZvaWQgc2V0X3BpeGVsKHZvaWQgKl9wdHIsIGludCBpbmRleCwgdWludDMy X3QgY29sb3IsIGludCBicHApCiAJfQogfQogCi1zdGF0aWMgdm9pZCBzd2l0Y2hfYmx0X3RpbGlu ZyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCB0aWxpbmcsCi0JCQkg ICAgICBib29sIG9uKQorc3RhdGljIHZvaWQgc3dpdGNoX2JsdF90aWxpbmcoc3RydWN0IGludGVs X2JiICppYmIsIHVpbnQzMl90IHRpbGluZywgYm9vbCBvbikKIHsKIAl1aW50MzJfdCBiY3Nfc3dj dHJsOwogCkBAIC0yNzMsMjYgKzI3MywyMiBAQCBzdGF0aWMgdm9pZCBzd2l0Y2hfYmx0X3RpbGlu ZyhzdHJ1Y3QgaW50ZWxfYmF0Y2hidWZmZXIgKmJhdGNoLCB1aW50MzJfdCB0aWxpbmcsCiAJaWYg KHRpbGluZyAhPSBJOTE1X1RJTElOR19ZKQogCQlyZXR1cm47CiAKLQlpZ3RfcmVxdWlyZShiYXRj aC0+Z2VuID49IDYpOworCWlndF9yZXF1aXJlKGliYi0+Z2VuID49IDYpOwogCiAJYmNzX3N3Y3Ry bCA9ICgweDMgPDwgMTYpIHwgKG9uID8gMHgzIDogMHgwKTsKIAogCS8qIFRvIGNoYW5nZSB0aGUg dGlsZSByZWdpc3RlciwgaW5zZXJ0IGFuIE1JX0ZMVVNIX0RXIGZvbGxvd2VkIGJ5IGFuCiAJICog TUlfTE9BRF9SRUdJU1RFUl9JTU0KIAkgKi8KLQlCRUdJTl9CQVRDSCg0LCAwKTsKLQlPVVRfQkFU Q0goTUlfRkxVU0hfRFcgfCAyKTsKLQlPVVRfQkFUQ0goMHgwKTsKLQlPVVRfQkFUQ0goMHgwKTsK LQlPVVRfQkFUQ0goMHgwKTsKLQlBRFZBTkNFX0JBVENIKCk7Ci0KLQlCRUdJTl9CQVRDSCg0LCAw KTsKLQlPVVRfQkFUQ0goTUlfTE9BRF9SRUdJU1RFUl9JTU0pOwotCU9VVF9CQVRDSCgweDIyMjAw KTsgLyogQkNTX1NXQ1RSTCAqLwotCU9VVF9CQVRDSChiY3Nfc3djdHJsKTsKLQlPVVRfQkFUQ0go TUlfTk9PUCk7Ci0JQURWQU5DRV9CQVRDSCgpOworCWludGVsX2JiX291dChpYmIsIE1JX0ZMVVNI X0RXIHwgMik7CisJaW50ZWxfYmJfb3V0KGliYiwgMHgwKTsKKwlpbnRlbF9iYl9vdXQoaWJiLCAw eDApOworCWludGVsX2JiX291dChpYmIsIDB4MCk7CisKKwlpbnRlbF9iYl9vdXQoaWJiLCBNSV9M T0FEX1JFR0lTVEVSX0lNTSk7CisJaW50ZWxfYmJfb3V0KGliYiwgMHgyMjIwMCk7IC8qIEJDU19T V0NUUkwgKi8KKwlpbnRlbF9iYl9vdXQoaWJiLCBiY3Nfc3djdHJsKTsKKwlpbnRlbF9iYl9vdXQo aWJiLCBNSV9OT09QKTsKIH0KIAogc3RhdGljIHZvaWQgZHJhd19yZWN0X3B0cl9saW5lYXIodm9p ZCAqcHRyLCB1aW50MzJfdCBzdHJpZGUsCkBAIC01MDksMjIgKzUwNSw0MCBAQCBzdGF0aWMgdm9p ZCBkcmF3X3JlY3RfcHdyaXRlKGludCBmZCwgc3RydWN0IGJ1Zl9kYXRhICpidWYsCiAJfQogfQog CitzdGF0aWMgc3RydWN0IGludGVsX2J1ZiAqY3JlYXRlX2J1ZihpbnQgZmQsIHN0cnVjdCBidWZf b3BzICpib3BzLAorCQkJCSAgICBzdHJ1Y3QgYnVmX2RhdGEgKmZyb20sIHVpbnQzMl90IHRpbGlu ZykKK3sKKwlzdHJ1Y3QgaW50ZWxfYnVmICpidWYgPSBjYWxsb2Moc2l6ZW9mKCpidWYpLCAxKTsK Kwl1aW50MzJfdCBoYW5kbGUsIG5hbWUsIHdpZHRoLCBoZWlnaHQ7CisKKwlpZ3RfYXNzZXJ0KGJ1 Zik7CisKKwl3aWR0aCA9IGZyb20tPnN0cmlkZSAvIChmcm9tLT5icHAgLyA4KTsKKwloZWlnaHQg PSBmcm9tLT5zaXplIC8gZnJvbS0+c3RyaWRlOworCisJbmFtZSA9IGdlbV9mbGluayhmZCwgZnJv bS0+aGFuZGxlKTsKKwloYW5kbGUgPSBnZW1fb3BlbihmZCwgbmFtZSk7CisJaW50ZWxfYnVmX2lu aXRfdXNpbmdfaGFuZGxlKGJvcHMsIGhhbmRsZSwgYnVmLAorCQkJCSAgICB3aWR0aCwgaGVpZ2h0 LCBmcm9tLT5icHAsIDAsCisJCQkJICAgIHRpbGluZywgMCk7CisKKwlyZXR1cm4gYnVmOworfQor CiBzdGF0aWMgdm9pZCBkcmF3X3JlY3RfYmx0KGludCBmZCwgc3RydWN0IGNtZF9kYXRhICpjbWRf ZGF0YSwKIAkJCSAgc3RydWN0IGJ1Zl9kYXRhICpidWYsIHN0cnVjdCByZWN0ICpyZWN0LAogCQkJ ICB1aW50MzJfdCB0aWxpbmcsIHVpbnQzMl90IGNvbG9yKQogewotCWRybV9pbnRlbF9ibyAqZHN0 OwotCXN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2g7CisJc3RydWN0IGludGVsX2JiICpp YmI7CisJc3RydWN0IGludGVsX2J1ZiAqZHN0OwogCWludCBibHRfY21kX2xlbiwgYmx0X2NtZF90 aWxpbmcsIGJsdF9jbWRfZGVwdGg7CiAJdWludDMyX3QgZGV2aWQgPSBpbnRlbF9nZXRfZHJtX2Rl dmlkKGZkKTsKIAlpbnQgZ2VuID0gaW50ZWxfZ2VuKGRldmlkKTsKIAlpbnQgcGl0Y2g7CiAKLQlk c3QgPSBnZW1faGFuZGxlX3RvX2xpYmRybV9ibyhjbWRfZGF0YS0+YnVmbWdyLCBmZCwgIiIsIGJ1 Zi0+aGFuZGxlKTsKLQlpZ3RfYXNzZXJ0KGRzdCk7Ci0KLQliYXRjaCA9IGludGVsX2JhdGNoYnVm ZmVyX2FsbG9jKGNtZF9kYXRhLT5idWZtZ3IsIGRldmlkKTsKLQlpZ3RfYXNzZXJ0KGJhdGNoKTsK Kwlkc3QgPSBjcmVhdGVfYnVmKGZkLCBjbWRfZGF0YS0+Ym9wcywgYnVmLCB0aWxpbmcpOworCWli YiA9IGludGVsX2JiX2NyZWF0ZShmZCwgUEFHRV9TSVpFKTsKKwlpbnRlbF9iYl9hZGRfaW50ZWxf YnVmKGliYiwgZHN0LCB0cnVlKTsKIAogCXN3aXRjaCAoYnVmLT5icHApIHsKIAljYXNlIDg6CkBA IC01NDQsMzQgKzU1OCwzMiBAQCBzdGF0aWMgdm9pZCBkcmF3X3JlY3RfYmx0KGludCBmZCwgc3Ry dWN0IGNtZF9kYXRhICpjbWRfZGF0YSwKIAlibHRfY21kX3RpbGluZyA9ICh0aWxpbmcpID8gWFlf Q09MT1JfQkxUX1RJTEVEIDogMDsKIAlwaXRjaCA9IChnZW4gPj0gNCAmJiB0aWxpbmcpID8gYnVm LT5zdHJpZGUgLyA0IDogYnVmLT5zdHJpZGU7CiAKLQlzd2l0Y2hfYmx0X3RpbGluZyhiYXRjaCwg dGlsaW5nLCB0cnVlKTsKKwlzd2l0Y2hfYmx0X3RpbGluZyhpYmIsIHRpbGluZywgdHJ1ZSk7CiAK LQlCRUdJTl9CQVRDSCg2LCAxKTsKLQlPVVRfQkFUQ0goWFlfQ09MT1JfQkxUX0NNRF9OT0xFTiB8 IFhZX0NPTE9SX0JMVF9XUklURV9BTFBIQSB8Ci0JCSAgWFlfQ09MT1JfQkxUX1dSSVRFX1JHQiB8 IGJsdF9jbWRfdGlsaW5nIHwgYmx0X2NtZF9sZW4pOwotCU9VVF9CQVRDSChibHRfY21kX2RlcHRo IHwgKDB4RjAgPDwgMTYpIHwgcGl0Y2gpOwotCU9VVF9CQVRDSCgocmVjdC0+eSA8PCAxNikgfCBy ZWN0LT54KTsKLQlPVVRfQkFUQ0goKChyZWN0LT55ICsgcmVjdC0+aCkgPDwgMTYpIHwgKHJlY3Qt PnggKyByZWN0LT53KSk7Ci0JT1VUX1JFTE9DX0ZFTkNFRChkc3QsIDAsIEk5MTVfR0VNX0RPTUFJ Tl9SRU5ERVIsIDApOwotCU9VVF9CQVRDSChjb2xvcik7Ci0JQURWQU5DRV9CQVRDSCgpOworCWlu dGVsX2JiX291dChpYmIsIFhZX0NPTE9SX0JMVF9DTURfTk9MRU4gfCBYWV9DT0xPUl9CTFRfV1JJ VEVfQUxQSEEgfAorCQkgICAgIFhZX0NPTE9SX0JMVF9XUklURV9SR0IgfCBibHRfY21kX3RpbGlu ZyB8IGJsdF9jbWRfbGVuKTsKKwlpbnRlbF9iYl9vdXQoaWJiLCBibHRfY21kX2RlcHRoIHwgKDB4 RjAgPDwgMTYpIHwgcGl0Y2gpOworCWludGVsX2JiX291dChpYmIsIChyZWN0LT55IDw8IDE2KSB8 IHJlY3QtPngpOworCWludGVsX2JiX291dChpYmIsICgocmVjdC0+eSArIHJlY3QtPmgpIDw8IDE2 KSB8IChyZWN0LT54ICsgcmVjdC0+dykpOworCWludGVsX2JiX2VtaXRfcmVsb2NfZmVuY2VkKGli YiwgZHN0LT5oYW5kbGUsIDAsIEk5MTVfR0VNX0RPTUFJTl9SRU5ERVIsCisJCQkJICAgMCwgZHN0 LT5hZGRyLm9mZnNldCk7CisJaW50ZWxfYmJfb3V0KGliYiwgY29sb3IpOwogCi0Jc3dpdGNoX2Js dF90aWxpbmcoYmF0Y2gsIHRpbGluZywgZmFsc2UpOworCXN3aXRjaF9ibHRfdGlsaW5nKGliYiwg dGlsaW5nLCBmYWxzZSk7CiAKLQlpbnRlbF9iYXRjaGJ1ZmZlcl9mbHVzaChiYXRjaCk7Ci0JaW50 ZWxfYmF0Y2hidWZmZXJfZnJlZShiYXRjaCk7Ci0JZHJtX2ludGVsX2JvX3VucmVmZXJlbmNlKGRz dCk7CisJaW50ZWxfYmJfZmx1c2hfYmxpdChpYmIpOworCWludGVsX2JiX2Rlc3Ryb3koaWJiKTsK KwlpbnRlbF9idWZfZGVzdHJveShkc3QpOwogfQogCiBzdGF0aWMgdm9pZCBkcmF3X3JlY3RfcmVu ZGVyKGludCBmZCwgc3RydWN0IGNtZF9kYXRhICpjbWRfZGF0YSwKIAkJCSAgICAgc3RydWN0IGJ1 Zl9kYXRhICpidWYsIHN0cnVjdCByZWN0ICpyZWN0LAogCQkJICAgICB1aW50MzJfdCB0aWxpbmcs IHVpbnQzMl90IGNvbG9yKQogewotCWRybV9pbnRlbF9ibyAqc3JjLCAqZHN0OworCXN0cnVjdCBp bnRlbF9idWYgKnNyYywgKmRzdDsKIAl1aW50MzJfdCBkZXZpZCA9IGludGVsX2dldF9kcm1fZGV2 aWQoZmQpOwogCWlndF9yZW5kZXJfY29weWZ1bmNfdCByZW5kZXJjb3B5ID0gaWd0X2dldF9yZW5k ZXJfY29weWZ1bmMoZGV2aWQpOwotCXN0cnVjdCBpZ3RfYnVmIHNyY19idWYgPSB7fSwgZHN0X2J1 ZiA9IHt9OwotCXN0cnVjdCBpbnRlbF9iYXRjaGJ1ZmZlciAqYmF0Y2g7CisJc3RydWN0IGludGVs X2JiICppYmI7CiAJc3RydWN0IGJ1Zl9kYXRhIHRtcDsKIAlpbnQgcGl4ZWxfc2l6ZSA9IGJ1Zi0+ YnBwIC8gODsKIApAQCAtNTg1LDQwICs1OTcsMjQgQEAgc3RhdGljIHZvaWQgZHJhd19yZWN0X3Jl bmRlcihpbnQgZmQsIHN0cnVjdCBjbWRfZGF0YSAqY21kX2RhdGEsCiAJZHJhd19yZWN0X21tYXBf Y3B1KGZkLCAmdG1wLCAmKHN0cnVjdCByZWN0KXswLCAwLCByZWN0LT53LCByZWN0LT5ofSwKIAkJ CSAgIEk5MTVfVElMSU5HX05PTkUsIEk5MTVfQklUXzZfU1dJWlpMRV9OT05FLCBjb2xvcik7CiAK LQlzcmMgPSBnZW1faGFuZGxlX3RvX2xpYmRybV9ibyhjbWRfZGF0YS0+YnVmbWdyLCBmZCwgIiIs IHRtcC5oYW5kbGUpOwotCWlndF9hc3NlcnQoc3JjKTsKLQlkc3QgPSBnZW1faGFuZGxlX3RvX2xp YmRybV9ibyhjbWRfZGF0YS0+YnVmbWdyLCBmZCwgIiIsIGJ1Zi0+aGFuZGxlKTsKLQlpZ3RfYXNz ZXJ0KGRzdCk7Ci0KLQlzcmNfYnVmLmJvID0gc3JjOwotCXNyY19idWYuc3VyZmFjZVswXS5zdHJp ZGUgPSB0bXAuc3RyaWRlOwotCXNyY19idWYudGlsaW5nID0gSTkxNV9USUxJTkdfTk9ORTsKLQlz cmNfYnVmLnN1cmZhY2VbMF0uc2l6ZSA9IHRtcC5zaXplOwotCXNyY19idWYuYnBwID0gdG1wLmJw cDsKLQlkc3RfYnVmLmJvID0gZHN0OwotCWRzdF9idWYuc3VyZmFjZVswXS5zdHJpZGUgPSBidWYt PnN0cmlkZTsKLQlkc3RfYnVmLnRpbGluZyA9IHRpbGluZzsKLQlkc3RfYnVmLnN1cmZhY2VbMF0u c2l6ZSA9IGJ1Zi0+c2l6ZTsKLQlkc3RfYnVmLmJwcCA9IGJ1Zi0+YnBwOwotCi0JYmF0Y2ggPSBp bnRlbF9iYXRjaGJ1ZmZlcl9hbGxvYyhjbWRfZGF0YS0+YnVmbWdyLCBkZXZpZCk7Ci0JaWd0X2Fz c2VydChiYXRjaCk7Ci0KLQlyZW5kZXJjb3B5KGJhdGNoLCBjbWRfZGF0YS0+Y29udGV4dCwgJnNy Y19idWYsIDAsIDAsIHJlY3QtPncsCi0JCSAgIHJlY3QtPmgsICZkc3RfYnVmLCByZWN0LT54LCBy ZWN0LT55KTsKLQotCWludGVsX2JhdGNoYnVmZmVyX2ZyZWUoYmF0Y2gpOwotCWRybV9pbnRlbF9i b191bnJlZmVyZW5jZShzcmMpOwotCWRybV9pbnRlbF9ib191bnJlZmVyZW5jZShkc3QpOworCXNy YyA9IGNyZWF0ZV9idWYoZmQsIGNtZF9kYXRhLT5ib3BzLCAmdG1wLCBJOTE1X1RJTElOR19OT05F KTsKKwlkc3QgPSBjcmVhdGVfYnVmKGZkLCBjbWRfZGF0YS0+Ym9wcywgYnVmLCB0aWxpbmcpOwor CWliYiA9IGludGVsX2JiX2NyZWF0ZShmZCwgUEFHRV9TSVpFKTsKKworCXJlbmRlcmNvcHkoaWJi LCBjbWRfZGF0YS0+Y3R4LCBzcmMsIDAsIDAsIHJlY3QtPncsCisJCSAgIHJlY3QtPmgsIGRzdCwg cmVjdC0+eCwgcmVjdC0+eSk7CisKKwlpbnRlbF9iYl9kZXN0cm95KGliYik7CisJaW50ZWxfYnVm X2Rlc3Ryb3koc3JjKTsKKwlpbnRlbF9idWZfZGVzdHJveShkc3QpOwogCWdlbV9jbG9zZShmZCwg dG1wLmhhbmRsZSk7CiB9CiAKIC8qKgogICogaWd0X2RyYXdfcmVjdDoKICAqIEBmZDogdGhlIERS TSBmaWxlIGRlc2NyaXB0b3IKLSAqIEBidWZtZ3I6IHRoZSBsaWJkcm0gYnVmbWdyLCBvbmx5IHJl cXVpcmVkIGZvciBJR1RfRFJBV19CTFQgYW5kCi0gKiAgICAgICAgICBJR1RfRFJBV19SRU5ERVIK LSAqIEBjb250ZXh0OiB0aGUgY29udGV4dCwgY2FuIGJlIE5VTEwgaWYgeW91IGRvbid0IHdhbnQg dG8gdGhpbmsgYWJvdXQgaXQKKyAqIEBib3BzOiBidWYgb3BzLCBvbmx5IHJlcXVpcmVkIGZvciBJ R1RfRFJBV19CTFQgYW5kIElHVF9EUkFXX1JFTkRFUgorICogQGN0eDogdGhlIGNvbnRleHQsIGNh biBiZSAwIGlmIHlvdSBkb24ndCB3YW50IHRvIHRoaW5rIGFib3V0IGl0CiAgKiBAYnVmX2hhbmRs ZTogdGhlIGhhbmRsZSBvZiB0aGUgYnVmZmVyIHdoZXJlIHlvdSdyZSBnb2luZyB0byBkcmF3IHRv CiAgKiBAYnVmX3NpemU6IHRoZSBzaXplIG9mIHRoZSBidWZmZXIKICAqIEBidWZfc3RyaWRlOiB0 aGUgc3RyaWRlIG9mIHRoZSBidWZmZXIKQEAgLTYzNCw3ICs2MzAsNyBAQCBzdGF0aWMgdm9pZCBk cmF3X3JlY3RfcmVuZGVyKGludCBmZCwgc3RydWN0IGNtZF9kYXRhICpjbWRfZGF0YSwKICAqIFRo aXMgZnVuY3Rpb24gZHJhd3MgYSBjb2xvcmVkIHJlY3RhbmdsZSBvbiB0aGUgZGVzdGluYXRpb24g YnVmZmVyLCBhbGxvd2luZwogICogeW91IHRvIHNwZWNpZnkgdGhlIG1ldGhvZCB1c2VkIHRvIGRy YXcgdGhlIHJlY3RhbmdsZS4KICAqLwotdm9pZCBpZ3RfZHJhd19yZWN0KGludCBmZCwgZHJtX2lu dGVsX2J1Zm1nciAqYnVmbWdyLCBkcm1faW50ZWxfY29udGV4dCAqY29udGV4dCwKK3ZvaWQgaWd0 X2RyYXdfcmVjdChpbnQgZmQsIHN0cnVjdCBidWZfb3BzICpib3BzLCB1aW50MzJfdCBjdHgsCiAJ CSAgIHVpbnQzMl90IGJ1Zl9oYW5kbGUsIHVpbnQzMl90IGJ1Zl9zaXplLCB1aW50MzJfdCBidWZf c3RyaWRlLAogCQkgICB1aW50MzJfdCB0aWxpbmcsIGVudW0gaWd0X2RyYXdfbWV0aG9kIG1ldGhv ZCwKIAkJICAgaW50IHJlY3RfeCwgaW50IHJlY3RfeSwgaW50IHJlY3RfdywgaW50IHJlY3RfaCwK QEAgLTY0Myw4ICs2MzksOCBAQCB2b2lkIGlndF9kcmF3X3JlY3QoaW50IGZkLCBkcm1faW50ZWxf YnVmbWdyICpidWZtZ3IsIGRybV9pbnRlbF9jb250ZXh0ICpjb250ZXh0LAogCXVpbnQzMl90IGJ1 Zl90aWxpbmcsIHN3aXp6bGU7CiAKIAlzdHJ1Y3QgY21kX2RhdGEgY21kX2RhdGEgPSB7Ci0JCS5i dWZtZ3IgPSBidWZtZ3IsCi0JCS5jb250ZXh0ID0gY29udGV4dCwKKwkJLmJvcHMgPSBib3BzLAor CQkuY3R4ID0gY3R4LAogCX07CiAJc3RydWN0IGJ1Zl9kYXRhIGJ1ZiA9IHsKIAkJLmhhbmRsZSA9 IGJ1Zl9oYW5kbGUsCkBAIC02OTMsOSArNjg5LDggQEAgdm9pZCBpZ3RfZHJhd19yZWN0KGludCBm ZCwgZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyLCBkcm1faW50ZWxfY29udGV4dCAqY29udGV4dCwK IC8qKgogICogaWd0X2RyYXdfcmVjdF9mYjoKICAqIEBmZDogdGhlIERSTSBmaWxlIGRlc2NyaXB0 b3IKLSAqIEBidWZtZ3I6IHRoZSBsaWJkcm0gYnVmbWdyLCBvbmx5IHJlcXVpcmVkIGZvciBJR1Rf RFJBV19CTFQgYW5kCi0gKiAgICAgICAgICBJR1RfRFJBV19SRU5ERVIKLSAqIEBjb250ZXh0OiB0 aGUgY29udGV4dCwgY2FuIGJlIE5VTEwgaWYgeW91IGRvbid0IHdhbnQgdG8gdGhpbmsgYWJvdXQg aXQKKyAqIEBib3BzOiBidWYgb3BzLCBvbmx5IHJlcXVpcmVkIGZvciBJR1RfRFJBV19CTFQgYW5k IElHVF9EUkFXX1JFTkRFUgorICogQGN0eDogY29udGV4dCwgY2FuIGJlIDAgaWYgeW91IGRvbid0 IHdhbnQgdG8gdGhpbmsgYWJvdXQgaXQKICAqIEBmYjogZnJhbWVidWZmZXIKICAqIEBtZXRob2Q6 IG1ldGhvZCB5b3UncmUgZ29pbmcgdG8gdXNlIHRvIHdyaXRlIHRvIHRoZSBidWZmZXIKICAqIEBy ZWN0X3g6IGhvcml6b250YWwgcG9zaXRpb24gb24gdGhlIGJ1ZmZlciB3aGVyZSB5b3VyIHJlY3Rh bmdsZSBzdGFydHMKQEAgLTcwNywxMiArNzAyLDEyIEBAIHZvaWQgaWd0X2RyYXdfcmVjdChpbnQg ZmQsIGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwgZHJtX2ludGVsX2NvbnRleHQgKmNvbnRleHQs CiAgKiBUaGlzIGlzIGV4YWN0bHkgdGhlIHNhbWUgYXMgaWd0X2RyYXdfcmVjdCwgYnV0IHlvdSBj YW4gcGFzcyBhbiBpZ3RfZmIgaW5zdGVhZAogICogb2YgbWFudWFsbHkgcHJvdmlkaW5nIGl0cyBk ZXRhaWxzLiBTZWUgaWd0X2RyYXdfcmVjdC4KICAqLwotdm9pZCBpZ3RfZHJhd19yZWN0X2ZiKGlu dCBmZCwgZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdyLAotCQkgICAgICBkcm1faW50ZWxfY29udGV4 dCAqY29udGV4dCwgc3RydWN0IGlndF9mYiAqZmIsCit2b2lkIGlndF9kcmF3X3JlY3RfZmIoaW50 IGZkLCBzdHJ1Y3QgYnVmX29wcyAqYm9wcywKKwkJICAgICAgdWludDMyX3QgY3R4LCBzdHJ1Y3Qg aWd0X2ZiICpmYiwKIAkJICAgICAgZW51bSBpZ3RfZHJhd19tZXRob2QgbWV0aG9kLCBpbnQgcmVj dF94LCBpbnQgcmVjdF95LAogCQkgICAgICBpbnQgcmVjdF93LCBpbnQgcmVjdF9oLCB1aW50MzJf dCBjb2xvcikKIHsKLQlpZ3RfZHJhd19yZWN0KGZkLCBidWZtZ3IsIGNvbnRleHQsIGZiLT5nZW1f aGFuZGxlLCBmYi0+c2l6ZSwgZmItPnN0cmlkZXNbMF0sCisJaWd0X2RyYXdfcmVjdChmZCwgYm9w cywgY3R4LCBmYi0+Z2VtX2hhbmRsZSwgZmItPnNpemUsIGZiLT5zdHJpZGVzWzBdLAogCQkgICAg ICBpZ3RfZmJfbW9kX3RvX3RpbGluZyhmYi0+bW9kaWZpZXIpLCBtZXRob2QsCiAJCSAgICAgIHJl Y3RfeCwgcmVjdF95LCByZWN0X3csIHJlY3RfaCwgY29sb3IsCiAJCSAgICAgIGlndF9kcm1fZm9y bWF0X3RvX2JwcChmYi0+ZHJtX2Zvcm1hdCkpOwpAQCAtNzI4LDcgKzcyMyw3IEBAIHZvaWQgaWd0 X2RyYXdfcmVjdF9mYihpbnQgZmQsIGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwKICAqLwogdm9p ZCBpZ3RfZHJhd19maWxsX2ZiKGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIsIHVpbnQzMl90IGNv bG9yKQogewotCWlndF9kcmF3X3JlY3RfZmIoZmQsIE5VTEwsIE5VTEwsIGZiLAorCWlndF9kcmF3 X3JlY3RfZmIoZmQsIE5VTEwsIDAsIGZiLAogCQkJIGdlbV9oYXNfbWFwcGFibGVfZ2d0dChmZCkg PyBJR1RfRFJBV19NTUFQX0dUVCA6CiAJCQkJCQkgICAgIElHVF9EUkFXX01NQVBfV0MsCiAJCQkg MCwgMCwgZmItPndpZHRoLCBmYi0+aGVpZ2h0LCBjb2xvcik7CmRpZmYgLS1naXQgYS9saWIvaWd0 X2RyYXcuaCBiL2xpYi9pZ3RfZHJhdy5oCmluZGV4IGVjMTQ2NzU0Li4yZDE4ZWY2YyAxMDA2NDQK LS0tIGEvbGliL2lndF9kcmF3LmgKKysrIGIvbGliL2lndF9kcmF3LmgKQEAgLTI1LDcgKzI1LDcg QEAKICNpZm5kZWYgX19JR1RfRFJBV19IX18KICNkZWZpbmUgX19JR1RfRFJBV19IX18KIAotI2lu Y2x1ZGUgPGludGVsX2J1Zm1nci5oPgorI2luY2x1ZGUgPGludGVsX2J1Zm9wcy5oPgogI2luY2x1 ZGUgImlndF9mYi5oIgogCiAvKioKQEAgLTUwLDE0ICs1MCwxNCBAQCBlbnVtIGlndF9kcmF3X21l dGhvZCB7CiAKIGNvbnN0IGNoYXIgKmlndF9kcmF3X2dldF9tZXRob2RfbmFtZShlbnVtIGlndF9k cmF3X21ldGhvZCBtZXRob2QpOwogCi12b2lkIGlndF9kcmF3X3JlY3QoaW50IGZkLCBkcm1faW50 ZWxfYnVmbWdyICpidWZtZ3IsIGRybV9pbnRlbF9jb250ZXh0ICpjb250ZXh0LAordm9pZCBpZ3Rf ZHJhd19yZWN0KGludCBmZCwgc3RydWN0IGJ1Zl9vcHMgKmJvcHMsIHVpbnQzMl90IGN0eCwKIAkJ ICAgdWludDMyX3QgYnVmX2hhbmRsZSwgdWludDMyX3QgYnVmX3NpemUsIHVpbnQzMl90IGJ1Zl9z dHJpZGUsCiAJCSAgIHVpbnQzMl90IHRpbGluZywgZW51bSBpZ3RfZHJhd19tZXRob2QgbWV0aG9k LAogCQkgICBpbnQgcmVjdF94LCBpbnQgcmVjdF95LCBpbnQgcmVjdF93LCBpbnQgcmVjdF9oLAog CQkgICB1aW50MzJfdCBjb2xvciwgaW50IGJwcCk7CiAKLXZvaWQgaWd0X2RyYXdfcmVjdF9mYihp bnQgZmQsIGRybV9pbnRlbF9idWZtZ3IgKmJ1Zm1nciwKLQkJICAgICAgZHJtX2ludGVsX2NvbnRl eHQgKmNvbnRleHQsIHN0cnVjdCBpZ3RfZmIgKmZiLAordm9pZCBpZ3RfZHJhd19yZWN0X2ZiKGlu dCBmZCwgc3RydWN0IGJ1Zl9vcHMgKmJvcHMsCisJCSAgICAgIHVpbnQzMl90IGN0eCwgc3RydWN0 IGlndF9mYiAqZmIsCiAJCSAgICAgIGVudW0gaWd0X2RyYXdfbWV0aG9kIG1ldGhvZCwgaW50IHJl Y3RfeCwgaW50IHJlY3RfeSwKIAkJICAgICAgaW50IHJlY3RfdywgaW50IHJlY3RfaCwgdWludDMy X3QgY29sb3IpOwogCi0tIAoyLjI2LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldgo=