From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH i-g-t 15/17] gem_wsim: Engine bond command Date: Thu, 18 Oct 2018 16:28:13 +0100 Message-ID: <20181018152815.31816-16-tvrtko.ursulin@linux.intel.com> References: <20181018152815.31816-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm1-x344.google.com (mail-wm1-x344.google.com [IPv6:2a00:1450:4864:20::344]) by gabe.freedesktop.org (Postfix) with ESMTPS id D85A56E046 for ; Thu, 18 Oct 2018 15:28:38 +0000 (UTC) Received: by mail-wm1-x344.google.com with SMTP id 143-v6so705875wmf.1 for ; Thu, 18 Oct 2018 08:28:38 -0700 (PDT) In-Reply-To: <20181018152815.31816-1-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBi b25kcyBhcmUgYW4gaTkxNSB1QVBJIGFwcGxpY2FibGUgdG8gbG9hZCBiYWxhbmNlZCBjb250ZXh0 cyB3aXRoCmVuZ2luZSBtYXAuIFRoZXkgYWxsb3cgZXhwcmVzc2lvbiBydWxlcyBvZiBlbmdpbmUg c2VsZWN0aW9uIGJldHdlZW4gdHdvCmNvbnRleHRzIHdoZW4gc3VibWlzc2lvbnMgYXJlIGFsc28g dGllZCB3aXRoIHN1Ym1pdCBmZW5jZXMuCgpQbGVhc2UgcmVmZXIgdG8gdGhlIFJFQURNRSBmb3Ig YSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBiZW5jaG1hcmtzL2dlbV93c2ltLmMg IHwgMTAwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBiZW5jaG1h cmtzL3dzaW0vUkVBRE1FIHwgIDUwICsrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAxNDMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9iZW5j aG1hcmtzL2dlbV93c2ltLmMgYi9iZW5jaG1hcmtzL2dlbV93c2ltLmMKaW5kZXggYTc3MmUyYzU4 OGI1Li5iNWFkZTdiMzM4ODMgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3MvZ2VtX3dzaW0uYworKysg Yi9iZW5jaG1hcmtzL2dlbV93c2ltLmMKQEAgLTg0LDYgKzg0LDcgQEAgZW51bSB3X3R5cGUKIAlQ UkVFTVBUSU9OLAogCUVOR0lORV9NQVAsCiAJTE9BRF9CQUxBTkNFLAorCUJPTkQsCiB9OwogCiBz dHJ1Y3QgZGVwcwpAQCAtOTksNiArMTAwLDExIEBAIHN0cnVjdCB3X2FyZyB7CiAJaW50IHByaW87 CiB9OwogCitzdHJ1Y3QgYm9uZCB7CisJdWludDY0X3QgbWFzazsKKwllbnVtIGludGVsX2VuZ2lu ZV9pZCBtYXN0ZXI7Cit9OworCiBzdHJ1Y3Qgd19zdGVwCiB7CiAJLyogV29ya2xvYWQgc3RlcCBt ZXRhZGF0YSAqLwpAQCAtMTIyLDYgKzEyOCwxMCBAQCBzdHJ1Y3Qgd19zdGVwCiAJCQllbnVtIGlu dGVsX2VuZ2luZV9pZCAqZW5naW5lX21hcDsKIAkJfTsKIAkJYm9vbCBsb2FkX2JhbGFuY2U7CisJ CXN0cnVjdCB7CisJCQl1aW50NjRfdCBib25kX21hc2s7CisJCQllbnVtIGludGVsX2VuZ2luZV9p ZCBib25kX21hc3RlcjsKKwkJfTsKIAl9OwogCiAJLyogSW1wbGVtZW50YXRpb24gZGV0YWlscyAq LwpAQCAtMTUzLDYgKzE2Myw4IEBAIHN0cnVjdCBjdHggewogCWludCBwcmlvcml0eTsKIAl1bnNp Z25lZCBpbnQgZW5naW5lX21hcF9jb3VudDsKIAllbnVtIGludGVsX2VuZ2luZV9pZCAqZW5naW5l X21hcDsKKwl1bnNpZ25lZCBpbnQgYm9uZF9jb3VudDsKKwlzdHJ1Y3QgYm9uZCAqYm9uZHM7CiAJ Ym9vbCB0YXJnZXRzX2luc3RhbmNlOwogCWJvb2wgd2FudHNfYmFsYW5jZTsKIAl1bnNpZ25lZCBp bnQgc3RhdGljX3ZjczsKQEAgLTUyMyw2ICs1MzUsNDAgQEAgcGFyc2Vfd29ya2xvYWQoc3RydWN0 IHdfYXJnICphcmcsIHVuc2lnbmVkIGludCBmbGFncywgc3RydWN0IHdvcmtsb2FkICphcHBfdykK IAogCQkJCXN0ZXAudHlwZSA9IExPQURfQkFMQU5DRTsKIAkJCQlnb3RvIGFkZF9zdGVwOworCQkJ fSBlbHNlIGlmICghc3RyY21wKGZpZWxkLCAiYiIpKSB7CisJCQkJdW5zaWduZWQgaW50IG5yID0g MDsKKwkJCQl3aGlsZSAoKGZpZWxkID0gc3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsK KwkJCQkJdG1wID0gYXRvaShmaWVsZCk7CisJCQkJCWNoZWNrX2FyZyhuciA9PSAwICYmIHRtcCA8 PSAwLAorCQkJCQkJICAiSW52YWxpZCBjb250ZXh0IGF0IHN0ZXAgJXUhXG4iLAorCQkJCQkJICBu cl9zdGVwcyk7CisJCQkJCWNoZWNrX2FyZyhuciA9PSAxICYmCisJCQkJCQkgICh0bXAgPCAtMSB8 fCB0bXAgPT0gMCksCisJCQkJCQkgICJJbnZhbGlkIHNpYmxpbmdzIG1hc2sgYXQgc3RlcCAldSFc biIsCisJCQkJCQkgIG5yX3N0ZXBzKTsKKwkJCQkJY2hlY2tfYXJnKG5yID4gMiwKKwkJCQkJCSAg IkludmFsaWQgYm9uZCBmb3JtYXQgYXQgc3RlcCAldSFcbiIsCisJCQkJCQkgIG5yX3N0ZXBzKTsK KworCQkJCQlpZiAobnIgPT0gMCkgeworCQkJCQkJc3RlcC5jb250ZXh0ID0gdG1wOworCQkJCQl9 IGVsc2UgaWYgKG5yID09IDEpIHsKKwkJCQkJCXN0ZXAuYm9uZF9tYXNrID0gdG1wOworCQkJCQl9 IGVsc2UgaWYgKG5yID09IDIpIHsKKwkJCQkJCXRtcCA9IHN0cl90b19lbmdpbmUoZmllbGQpOwor CQkJCQkJY2hlY2tfYXJnKHRtcCA8PSAwIHx8CisJCQkJCQkJICB0bXAgPT0gVkNTIHx8CisJCQkJ CQkJICB0bXAgPT0gREVGQVVMVCwKKwkJCQkJCQkgICJJbnZhbGlkIG1hc3RlciBlbmdpbmUgYXQg c3RlcCAldSFcbiIsCisJCQkJCQkJICBucl9zdGVwcyk7CisJCQkJCQlzdGVwLmJvbmRfbWFzdGVy ID0gdG1wOworCQkJCQl9CisKKwkJCQkJbnIrKzsKKwkJCQl9CisKKwkJCQlzdGVwLnR5cGUgPSBC T05EOworCQkJCWdvdG8gYWRkX3N0ZXA7CiAJCQl9CiAKIAkJCXRtcCA9IGF0b2koZmllbGQpOwpA QCAtMTA0NCw2ICsxMDkwLDggQEAgcHJlcGFyZV93b3JrbG9hZCh1bnNpZ25lZCBpbnQgaWQsIHN0 cnVjdCB3b3JrbG9hZCAqd3JrLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJICogVHJhbnNmZXIgb3Zl ciBlbmdpbmUgbWFwIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgd29ya2xvYWQgc3RlcC4KIAkgKi8K IAlmb3IgKGogPSAwOyBqIDwgd3JrLT5ucl9jdHhzOyBqICs9IDIpIHsKKwkJc3RydWN0IGN0eCAq Y3R4ID0gJndyay0+Y3R4X2xpc3Rbal07CisKIAkJYm9vbCB0YXJnZXRzID0gZmFsc2U7CiAJCWJv b2wgYmFsYW5jZSA9IGZhbHNlOwogCkBAIC0xMDU3LDE2ICsxMTA1LDI4IEBAIHByZXBhcmVfd29y a2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgdW5zaWduZWQgaW50 IGZsYWdzKQogCQkJCWVsc2UKIAkJCQkJdGFyZ2V0cyA9IHRydWU7CiAJCQl9IGVsc2UgaWYgKHct PnR5cGUgPT0gRU5HSU5FX01BUCkgewotCQkJCXdyay0+Y3R4X2xpc3Rbal0uZW5naW5lX21hcCA9 IHctPmVuZ2luZV9tYXA7Ci0JCQkJd3JrLT5jdHhfbGlzdFtqXS5lbmdpbmVfbWFwX2NvdW50ID0K LQkJCQkJdy0+ZW5naW5lX21hcF9jb3VudDsKKwkJCQljdHgtPmVuZ2luZV9tYXAgPSB3LT5lbmdp bmVfbWFwOworCQkJCWN0eC0+ZW5naW5lX21hcF9jb3VudCA9IHctPmVuZ2luZV9tYXBfY291bnQ7 CiAJCQl9IGVsc2UgaWYgKHctPnR5cGUgPT0gTE9BRF9CQUxBTkNFKSB7Ci0JCQkJaWYgKCF3cmst PmN0eF9saXN0W2pdLmVuZ2luZV9tYXApIHsKKwkJCQlpZiAoIWN0eC0+ZW5naW5lX21hcCkgewog CQkJCQl3c2ltX2VycigiTG9hZCBiYWxhbmNpbmcgbmVlZHMgYW4gZW5naW5lIG1hcCFcbiIpOwog CQkJCQlyZXR1cm4gMTsKIAkJCQl9Ci0JCQkJd3JrLT5jdHhfbGlzdFtqXS53YW50c19iYWxhbmNl ID0KLQkJCQkJdy0+bG9hZF9iYWxhbmNlOworCQkJCWN0eC0+d2FudHNfYmFsYW5jZSA9IHctPmxv YWRfYmFsYW5jZTsKKwkJCX0gZWxzZSBpZiAody0+dHlwZSA9PSBCT05EKSB7CisJCQkJaWYgKCFj dHgtPndhbnRzX2JhbGFuY2UpIHsKKwkJCQkJd3NpbV9lcnIoIkVuZ2luZSBib25kcyBuZWVkIGxv YWQgYmFsYW5jaW5nIGVuZ2luZSBtYXAhXG4iKTsKKwkJCQkJcmV0dXJuIDE7CisJCQkJfQorCQkJ CWN0eC0+Ym9uZF9jb3VudCsrOworCQkJCWN0eC0+Ym9uZHMgPSByZWFsbG9jKGN0eC0+Ym9uZHMs CisJCQkJCQkgICAgIGN0eC0+Ym9uZF9jb3VudCAqCisJCQkJCQkgICAgIHNpemVvZihzdHJ1Y3Qg Ym9uZCkpOworCQkJCWlndF9hc3NlcnQoY3R4LT5ib25kcyk7CisJCQkJY3R4LT5ib25kc1tjdHgt PmJvbmRfY291bnQgLSAxXS5tYXNrID0KKwkJCQkJdy0+Ym9uZF9tYXNrOworCQkJCWN0eC0+Ym9u ZHNbY3R4LT5ib25kX2NvdW50IC0gMV0ubWFzdGVyID0KKwkJCQkJdy0+Ym9uZF9tYXN0ZXI7CiAJ CQl9CiAJCX0KIApAQCAtMTE5Niw2ICsxMjU2LDcgQEAgcHJlcGFyZV93b3JrbG9hZCh1bnNpZ25l ZCBpbnQgaWQsIHN0cnVjdCB3b3JrbG9hZCAqd3JrLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJCQkJ eyAuYmFzZS5uYW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0xPQURfQkFMQU5DRSwKIAkJ CQkgIC5lbmdpbmVzX21hc2sgPSAtMSwKIAkJCQl9OworCQkJc3RydWN0IGk5MTVfY29udGV4dF9l bmdpbmVzX2JvbmQgKmJvbmRzID0gTlVMTDsKIAogCQkJaWYgKGN0eC0+d2FudHNfYmFsYW5jZSkg ewogCQkJCXNldF9lbmdpbmVzLmV4dGVuc2lvbnMgPQpAQCAtMTIxMSw3ICsxMjcyLDMxIEBAIHBy ZXBhcmVfd29ya2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgdW5z aWduZWQgaW50IGZsYWdzKQogCQkJCQljdHgtPmVuZ2luZV9tYXBbal0gLSBWQ1MxOyAvKiBGSVhN RSAqLwogCQkJfQogCisJCQlpZiAoY3R4LT5ib25kX2NvdW50KSB7CisJCQkJYm9uZHMgPSBjYWxs b2MoY3R4LT5ib25kX2NvdW50LCBzaXplb2YoKmJvbmRzKSk7CisJCQkJbG9hZF9iYWxhbmNlLmJh c2UubmV4dF9leHRlbnNpb24gPQorCQkJCQl0b191c2VyX3BvaW50ZXIoJmJvbmRzWzBdKTsKKwkJ CX0KKworCQkJZm9yIChqID0gMDsgaiA8IGN0eC0+Ym9uZF9jb3VudDsgaisrKSB7CisJCQkJc3Ry dWN0IGk5MTVfY29udGV4dF9lbmdpbmVzX2JvbmQgKmJvbmQgPQorCQkJCQkmYm9uZHNbal07CisK KwkJCQlpZiAoaiA8IChjdHgtPmJvbmRfY291bnQgLSAxKSkKKwkJCQkJYm9uZC0+YmFzZS5uZXh0 X2V4dGVuc2lvbiA9CisJCQkJCQl0b191c2VyX3BvaW50ZXIoYm9uZCArIDEpOworCisJCQkJYm9u ZC0+YmFzZS5uYW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0JPTkQ7CisJCQkJYm9uZC0+ bWFzdGVyX2NsYXNzID0gSTkxNV9FTkdJTkVfQ0xBU1NfVklERU87CisJCQkJYm9uZC0+bWFzdGVy X2luc3RhbmNlID0KKwkJCQkJY3R4LT5ib25kc1tqXS5tYXN0ZXIgLSBWQ1MxOworCQkJCWJvbmQt PnNpYmxpbmdfbWFzayA9IGN0eC0+Ym9uZHNbal0ubWFzazsKKwkJCX0KKwogCQkJZ2VtX2NvbnRl eHRfc2V0X3BhcmFtKGZkLCAmcGFyYW0pOworCisJCQlpZiAoYm9uZHMpCisJCQkJZnJlZShib25k cyk7CiAJCX0gZWxzZSBpZiAoY3R4LT53YW50c19iYWxhbmNlKSB7CiAJCQlzdHJ1Y3QgaTkxNV9j b250ZXh0X2VuZ2luZXNfbG9hZF9iYWxhbmNlIGxvYWRfYmFsYW5jZSA9CiAJCQkJeyAuYmFzZS5u YW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0xPQURfQkFMQU5DRSwKQEAgLTIxODIsNyAr MjI2Nyw4IEBAIHN0YXRpYyB2b2lkICpydW5fd29ya2xvYWQodm9pZCAqZGF0YSkKIAkJCQljb250 aW51ZTsKIAkJCX0gZWxzZSBpZiAody0+dHlwZSA9PSBQUkVFTVBUSU9OIHx8CiAJCQkJICAgdy0+ dHlwZSA9PSBFTkdJTkVfTUFQIHx8Ci0JCQkJICAgdy0+dHlwZSA9PSBMT0FEX0JBTEFOQ0UpIHsK KwkJCQkgICB3LT50eXBlID09IExPQURfQkFMQU5DRSB8fAorCQkJCSAgIHctPnR5cGUgPT0gQk9O RCkgewogCQkJCWNvbnRpbnVlOwogCQkJfQogCmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL3dzaW0v UkVBRE1FIGIvYmVuY2htYXJrcy93c2ltL1JFQURNRQppbmRleCA1OGRhZGE2NzUzNTcuLmYyOTc0 OTkyYWI2OCAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy93c2ltL1JFQURNRQorKysgYi9iZW5jaG1h cmtzL3dzaW0vUkVBRE1FCkBAIC03LDYgKzcsNyBAQCBCLjx1aW50PgogTS48dWludD4uPHN0cj5b fDxzdHI+XS4uLgogUHxYLjx1aW50Pi48aW50PgogZHxwfHN8dHxxfGEuPGludD4sLi4uCitiLjx1 aW50Pi48dWludD4uPHN0cj4KIGYKIAogRm9yIGR1cmF0aW9uIGEgcmFuZ2UgY2FuIGJlIGdpdmVu IGZyb20gd2hpY2ggYSByYW5kb20gdmFsdWUgd2lsbCBiZSBwaWNrZWQKQEAgLTI2LDYgKzI3LDcg QEAgQWRkaXRpb25hbCB3b3JrbG9hZCBzdGVwcyBhcmUgYWxzbyBzdXBwb3J0ZWQ6CiAgJ2YnIC0g Q3JlYXRlIGEgc3luYyBmZW5jZS4KICAnYScgLSBBZHZhbmNlIHRoZSBwcmV2aW91c2x5IGNyZWF0 ZWQgc3luYyBmZW5jZS4KICAnQicgLSBUdXJuIG9uIGNvbnRleHQgbG9hZCBiYWxhbmNpbmcuCisg J2InIC0gU2V0IHVwIGVuZ2luZSBib25kcy4KICAnTScgLSBTZXQgdXAgZW5naW5lIG1hcC4KICAn UCcgLSBDb250ZXh0IHByaW9yaXR5LgogICdYJyAtIENvbnRleHQgcHJlZW1wdGlvbiBjb250cm9s LgpAQCAtMTk0LDMgKzE5Niw1MSBAQCBUaGlzIGVuYWJsZXMgbG9hZCBiYWxhbmNpbmcgZm9yIGNv bnRleHQgbnVtYmVyIG9uZS4KIAogU3VibWlzc2lvbnMgdG8gbG9hZCBiYWxhbmNlZCBjb250ZXh0 cyBhcmUgb25seSBhbGxvd2VkIHRvIHVzZSB0aGUgREVGQVVMVCBlbmdpbmUKIHNwZWNpZmllci4K KworRW5naW5lIGJvbmRzCistLS0tLS0tLS0tLS0KKworRW5naW5lIGJvbmRzIGFyZSBleHRlbnNp b25zIG9uIGxvYWQgYmFsYW5jZWQgY29udGV4dHMuIFRoZXkgYWxsb3cgZXhwcmVzc2luZworcnVs ZXMgb2YgZW5naW5lIHNlbGVjdGlvbiBiZXR3ZWVuIHR3byBjby1vcGVyYXRpbmcgY29udGV4dHMg dGllZCB3aXRoIHN1Ym1pdAorZmVuY2VzLiBJbiBvdGhlciB3b3JkcywgdGhlIHJ1bGUgZXhwcmVz c2lvbiBpcyB0ZWxsaW5nIHRoZSBkcml2ZXI6ICJJZiB5b3UgcGljawordGhpcyBlbmdpbmUgZm9y IGNvbnRleHQgb25lLCB0aGVuIHlvdSBoYXZlIHRvIHBpY2sgdGhhdCBlbmdpbmUgZm9yIGNvbnRl eHQgdHdvIi4KKworU3ludGF4IGlzOgorICBiLjxjb250ZXh0Pi48ZW5naW5lX21hc2s+LjxtYXN0 ZXJfZW5naW5lPgorCitFbmdpbmUgbWFzayBpcyBhIGJpdG1hc2sgcmVwcmVzZW50aW5nIGVuZ2lu ZXMgaW4gdGhlIGVuZ2luZSBtYXAgY29uZmlndXJlZCBmb3IKK3RoZSBzYW1lIGNvbnRleHQuCisK K1RoZXJlIGNhbiBiZSBtdWx0aXBsZSBib25kcyB0aWVkIHRvIHRoZSBzYW1lIGNvbnRleHQuCisK K0V4YW1wbGU6CisKKyAgTS4xLlJDU3xWRUNTCisgIEIuMQorICBNLjIuVkNTMXxWQ1MyCisgIEIu MgorICBiLjIuMS5SQ1MKKyAgYi4yLjIuVkVDUworCitUaGlzIHRlbGxzIHRoZSBkcml2ZXIgdGhh dCBpZiBpdCBwaWNrZWQgUkNTIGZvciBjb250ZXh0IG9uZSwgaXQgaGFzIHRvIHBpY2sgVkNTMQor Zm9yIGNvbnRleHQgdHdvLiBBbmQgaWYgaXQgcGlja2VkIFZFQ1MgZm9yIGNvbnRleHQgb25lLCBp dCBoYXMgdG8gcGljayBWQ1MxIGZvcgorY29udGV4dCB0d28uCisKK0lmIHdlIGV4dGVuZCB0aGUg YWJvdmUgZXhhbXBsZSB3aXRoIG1vcmUgd29ya2xvYWQgZGlyZWN0aXZlczoKKworICAxLkRFRkFV TFQuMTAwMC4wLjAKKyAgMi5ERUZBVUxULjEwMDAucy0xLjAKKworV2UgZ2V0IHRvIGEgZnVsbHkg ZnVuY3Rpb25hbCBleGFtcGxlIHdoZXJlIHR3byBiYXRjaCBidWZmZXJzIGFyZSBzdWJtaXR0ZWQg aW4gYQorbG9hZCBiYWxhbmNlZCBmYXNoaW9uLCB0ZWxsaW5nIHRoZSBkcml2ZXIgdGhleSBzaG91 bGQgcnVuIHNpbXVsdGFuZW91c2x5IGFuZAordGhhdCB2YWxpZCBlbmdpbmUgcGFpcnMgYXJlIGVp dGhlciBSQ1MgKyBWQ1MxIChmb3IgdHdvIGNvbnRleHRzIHJlc3BlY3RpdmVseSksCitvciBWRUNT ICsgVkNTMi4KKworVGhpcyBjYW4gYWxzbyBiZSBleHRlbmRlZCB1c2luZyBzeW5jIGZlbmNlcyB0 byBpbXByb3ZlIGNoYW5jZXMgb2YgdGhlIGZpcnN0CitzdWJtaXNzaW9uIG5vdCBnZXR0aW5nIG9u IHRoZSBoYXJkd2FyZSBhZnRlciB0aGUgc2Vjb25kIG9uZS4gU2Vjb25kIGJsb2NrIHdvdWxkCit0 aGVuIGxvb2sgbGlrZToKKworICBmCisgIDEuREVGQVVMVC4xMDAwLmYtMS4wCisgIDIuREVGQVVM VC4xMDAwLnMtMS4wCisgIGEuLTMKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by gabe.freedesktop.org (Postfix) with ESMTPS id 136806E052 for ; Thu, 18 Oct 2018 15:28:39 +0000 (UTC) Received: by mail-wm1-x343.google.com with SMTP id y11-v6so701751wma.3 for ; Thu, 18 Oct 2018 08:28:39 -0700 (PDT) From: Tvrtko Ursulin Date: Thu, 18 Oct 2018 16:28:13 +0100 Message-Id: <20181018152815.31816-16-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20181018152815.31816-1-tvrtko.ursulin@linux.intel.com> References: <20181018152815.31816-1-tvrtko.ursulin@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t 15/17] gem_wsim: Engine bond command List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 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: Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBi b25kcyBhcmUgYW4gaTkxNSB1QVBJIGFwcGxpY2FibGUgdG8gbG9hZCBiYWxhbmNlZCBjb250ZXh0 cyB3aXRoCmVuZ2luZSBtYXAuIFRoZXkgYWxsb3cgZXhwcmVzc2lvbiBydWxlcyBvZiBlbmdpbmUg c2VsZWN0aW9uIGJldHdlZW4gdHdvCmNvbnRleHRzIHdoZW4gc3VibWlzc2lvbnMgYXJlIGFsc28g dGllZCB3aXRoIHN1Ym1pdCBmZW5jZXMuCgpQbGVhc2UgcmVmZXIgdG8gdGhlIFJFQURNRSBmb3Ig YSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uLgoKU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3Vs aW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBiZW5jaG1hcmtzL2dlbV93c2ltLmMg IHwgMTAwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBiZW5jaG1h cmtzL3dzaW0vUkVBRE1FIHwgIDUwICsrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFu Z2VkLCAxNDMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9iZW5j aG1hcmtzL2dlbV93c2ltLmMgYi9iZW5jaG1hcmtzL2dlbV93c2ltLmMKaW5kZXggYTc3MmUyYzU4 OGI1Li5iNWFkZTdiMzM4ODMgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3MvZ2VtX3dzaW0uYworKysg Yi9iZW5jaG1hcmtzL2dlbV93c2ltLmMKQEAgLTg0LDYgKzg0LDcgQEAgZW51bSB3X3R5cGUKIAlQ UkVFTVBUSU9OLAogCUVOR0lORV9NQVAsCiAJTE9BRF9CQUxBTkNFLAorCUJPTkQsCiB9OwogCiBz dHJ1Y3QgZGVwcwpAQCAtOTksNiArMTAwLDExIEBAIHN0cnVjdCB3X2FyZyB7CiAJaW50IHByaW87 CiB9OwogCitzdHJ1Y3QgYm9uZCB7CisJdWludDY0X3QgbWFzazsKKwllbnVtIGludGVsX2VuZ2lu ZV9pZCBtYXN0ZXI7Cit9OworCiBzdHJ1Y3Qgd19zdGVwCiB7CiAJLyogV29ya2xvYWQgc3RlcCBt ZXRhZGF0YSAqLwpAQCAtMTIyLDYgKzEyOCwxMCBAQCBzdHJ1Y3Qgd19zdGVwCiAJCQllbnVtIGlu dGVsX2VuZ2luZV9pZCAqZW5naW5lX21hcDsKIAkJfTsKIAkJYm9vbCBsb2FkX2JhbGFuY2U7CisJ CXN0cnVjdCB7CisJCQl1aW50NjRfdCBib25kX21hc2s7CisJCQllbnVtIGludGVsX2VuZ2luZV9p ZCBib25kX21hc3RlcjsKKwkJfTsKIAl9OwogCiAJLyogSW1wbGVtZW50YXRpb24gZGV0YWlscyAq LwpAQCAtMTUzLDYgKzE2Myw4IEBAIHN0cnVjdCBjdHggewogCWludCBwcmlvcml0eTsKIAl1bnNp Z25lZCBpbnQgZW5naW5lX21hcF9jb3VudDsKIAllbnVtIGludGVsX2VuZ2luZV9pZCAqZW5naW5l X21hcDsKKwl1bnNpZ25lZCBpbnQgYm9uZF9jb3VudDsKKwlzdHJ1Y3QgYm9uZCAqYm9uZHM7CiAJ Ym9vbCB0YXJnZXRzX2luc3RhbmNlOwogCWJvb2wgd2FudHNfYmFsYW5jZTsKIAl1bnNpZ25lZCBp bnQgc3RhdGljX3ZjczsKQEAgLTUyMyw2ICs1MzUsNDAgQEAgcGFyc2Vfd29ya2xvYWQoc3RydWN0 IHdfYXJnICphcmcsIHVuc2lnbmVkIGludCBmbGFncywgc3RydWN0IHdvcmtsb2FkICphcHBfdykK IAogCQkJCXN0ZXAudHlwZSA9IExPQURfQkFMQU5DRTsKIAkJCQlnb3RvIGFkZF9zdGVwOworCQkJ fSBlbHNlIGlmICghc3RyY21wKGZpZWxkLCAiYiIpKSB7CisJCQkJdW5zaWduZWQgaW50IG5yID0g MDsKKwkJCQl3aGlsZSAoKGZpZWxkID0gc3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsK KwkJCQkJdG1wID0gYXRvaShmaWVsZCk7CisJCQkJCWNoZWNrX2FyZyhuciA9PSAwICYmIHRtcCA8 PSAwLAorCQkJCQkJICAiSW52YWxpZCBjb250ZXh0IGF0IHN0ZXAgJXUhXG4iLAorCQkJCQkJICBu cl9zdGVwcyk7CisJCQkJCWNoZWNrX2FyZyhuciA9PSAxICYmCisJCQkJCQkgICh0bXAgPCAtMSB8 fCB0bXAgPT0gMCksCisJCQkJCQkgICJJbnZhbGlkIHNpYmxpbmdzIG1hc2sgYXQgc3RlcCAldSFc biIsCisJCQkJCQkgIG5yX3N0ZXBzKTsKKwkJCQkJY2hlY2tfYXJnKG5yID4gMiwKKwkJCQkJCSAg IkludmFsaWQgYm9uZCBmb3JtYXQgYXQgc3RlcCAldSFcbiIsCisJCQkJCQkgIG5yX3N0ZXBzKTsK KworCQkJCQlpZiAobnIgPT0gMCkgeworCQkJCQkJc3RlcC5jb250ZXh0ID0gdG1wOworCQkJCQl9 IGVsc2UgaWYgKG5yID09IDEpIHsKKwkJCQkJCXN0ZXAuYm9uZF9tYXNrID0gdG1wOworCQkJCQl9 IGVsc2UgaWYgKG5yID09IDIpIHsKKwkJCQkJCXRtcCA9IHN0cl90b19lbmdpbmUoZmllbGQpOwor CQkJCQkJY2hlY2tfYXJnKHRtcCA8PSAwIHx8CisJCQkJCQkJICB0bXAgPT0gVkNTIHx8CisJCQkJ CQkJICB0bXAgPT0gREVGQVVMVCwKKwkJCQkJCQkgICJJbnZhbGlkIG1hc3RlciBlbmdpbmUgYXQg c3RlcCAldSFcbiIsCisJCQkJCQkJICBucl9zdGVwcyk7CisJCQkJCQlzdGVwLmJvbmRfbWFzdGVy ID0gdG1wOworCQkJCQl9CisKKwkJCQkJbnIrKzsKKwkJCQl9CisKKwkJCQlzdGVwLnR5cGUgPSBC T05EOworCQkJCWdvdG8gYWRkX3N0ZXA7CiAJCQl9CiAKIAkJCXRtcCA9IGF0b2koZmllbGQpOwpA QCAtMTA0NCw2ICsxMDkwLDggQEAgcHJlcGFyZV93b3JrbG9hZCh1bnNpZ25lZCBpbnQgaWQsIHN0 cnVjdCB3b3JrbG9hZCAqd3JrLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJICogVHJhbnNmZXIgb3Zl ciBlbmdpbmUgbWFwIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgd29ya2xvYWQgc3RlcC4KIAkgKi8K IAlmb3IgKGogPSAwOyBqIDwgd3JrLT5ucl9jdHhzOyBqICs9IDIpIHsKKwkJc3RydWN0IGN0eCAq Y3R4ID0gJndyay0+Y3R4X2xpc3Rbal07CisKIAkJYm9vbCB0YXJnZXRzID0gZmFsc2U7CiAJCWJv b2wgYmFsYW5jZSA9IGZhbHNlOwogCkBAIC0xMDU3LDE2ICsxMTA1LDI4IEBAIHByZXBhcmVfd29y a2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgdW5zaWduZWQgaW50 IGZsYWdzKQogCQkJCWVsc2UKIAkJCQkJdGFyZ2V0cyA9IHRydWU7CiAJCQl9IGVsc2UgaWYgKHct PnR5cGUgPT0gRU5HSU5FX01BUCkgewotCQkJCXdyay0+Y3R4X2xpc3Rbal0uZW5naW5lX21hcCA9 IHctPmVuZ2luZV9tYXA7Ci0JCQkJd3JrLT5jdHhfbGlzdFtqXS5lbmdpbmVfbWFwX2NvdW50ID0K LQkJCQkJdy0+ZW5naW5lX21hcF9jb3VudDsKKwkJCQljdHgtPmVuZ2luZV9tYXAgPSB3LT5lbmdp bmVfbWFwOworCQkJCWN0eC0+ZW5naW5lX21hcF9jb3VudCA9IHctPmVuZ2luZV9tYXBfY291bnQ7 CiAJCQl9IGVsc2UgaWYgKHctPnR5cGUgPT0gTE9BRF9CQUxBTkNFKSB7Ci0JCQkJaWYgKCF3cmst PmN0eF9saXN0W2pdLmVuZ2luZV9tYXApIHsKKwkJCQlpZiAoIWN0eC0+ZW5naW5lX21hcCkgewog CQkJCQl3c2ltX2VycigiTG9hZCBiYWxhbmNpbmcgbmVlZHMgYW4gZW5naW5lIG1hcCFcbiIpOwog CQkJCQlyZXR1cm4gMTsKIAkJCQl9Ci0JCQkJd3JrLT5jdHhfbGlzdFtqXS53YW50c19iYWxhbmNl ID0KLQkJCQkJdy0+bG9hZF9iYWxhbmNlOworCQkJCWN0eC0+d2FudHNfYmFsYW5jZSA9IHctPmxv YWRfYmFsYW5jZTsKKwkJCX0gZWxzZSBpZiAody0+dHlwZSA9PSBCT05EKSB7CisJCQkJaWYgKCFj dHgtPndhbnRzX2JhbGFuY2UpIHsKKwkJCQkJd3NpbV9lcnIoIkVuZ2luZSBib25kcyBuZWVkIGxv YWQgYmFsYW5jaW5nIGVuZ2luZSBtYXAhXG4iKTsKKwkJCQkJcmV0dXJuIDE7CisJCQkJfQorCQkJ CWN0eC0+Ym9uZF9jb3VudCsrOworCQkJCWN0eC0+Ym9uZHMgPSByZWFsbG9jKGN0eC0+Ym9uZHMs CisJCQkJCQkgICAgIGN0eC0+Ym9uZF9jb3VudCAqCisJCQkJCQkgICAgIHNpemVvZihzdHJ1Y3Qg Ym9uZCkpOworCQkJCWlndF9hc3NlcnQoY3R4LT5ib25kcyk7CisJCQkJY3R4LT5ib25kc1tjdHgt PmJvbmRfY291bnQgLSAxXS5tYXNrID0KKwkJCQkJdy0+Ym9uZF9tYXNrOworCQkJCWN0eC0+Ym9u ZHNbY3R4LT5ib25kX2NvdW50IC0gMV0ubWFzdGVyID0KKwkJCQkJdy0+Ym9uZF9tYXN0ZXI7CiAJ CQl9CiAJCX0KIApAQCAtMTE5Niw2ICsxMjU2LDcgQEAgcHJlcGFyZV93b3JrbG9hZCh1bnNpZ25l ZCBpbnQgaWQsIHN0cnVjdCB3b3JrbG9hZCAqd3JrLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJCQkJ eyAuYmFzZS5uYW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0xPQURfQkFMQU5DRSwKIAkJ CQkgIC5lbmdpbmVzX21hc2sgPSAtMSwKIAkJCQl9OworCQkJc3RydWN0IGk5MTVfY29udGV4dF9l bmdpbmVzX2JvbmQgKmJvbmRzID0gTlVMTDsKIAogCQkJaWYgKGN0eC0+d2FudHNfYmFsYW5jZSkg ewogCQkJCXNldF9lbmdpbmVzLmV4dGVuc2lvbnMgPQpAQCAtMTIxMSw3ICsxMjcyLDMxIEBAIHBy ZXBhcmVfd29ya2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgdW5z aWduZWQgaW50IGZsYWdzKQogCQkJCQljdHgtPmVuZ2luZV9tYXBbal0gLSBWQ1MxOyAvKiBGSVhN RSAqLwogCQkJfQogCisJCQlpZiAoY3R4LT5ib25kX2NvdW50KSB7CisJCQkJYm9uZHMgPSBjYWxs b2MoY3R4LT5ib25kX2NvdW50LCBzaXplb2YoKmJvbmRzKSk7CisJCQkJbG9hZF9iYWxhbmNlLmJh c2UubmV4dF9leHRlbnNpb24gPQorCQkJCQl0b191c2VyX3BvaW50ZXIoJmJvbmRzWzBdKTsKKwkJ CX0KKworCQkJZm9yIChqID0gMDsgaiA8IGN0eC0+Ym9uZF9jb3VudDsgaisrKSB7CisJCQkJc3Ry dWN0IGk5MTVfY29udGV4dF9lbmdpbmVzX2JvbmQgKmJvbmQgPQorCQkJCQkmYm9uZHNbal07CisK KwkJCQlpZiAoaiA8IChjdHgtPmJvbmRfY291bnQgLSAxKSkKKwkJCQkJYm9uZC0+YmFzZS5uZXh0 X2V4dGVuc2lvbiA9CisJCQkJCQl0b191c2VyX3BvaW50ZXIoYm9uZCArIDEpOworCisJCQkJYm9u ZC0+YmFzZS5uYW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0JPTkQ7CisJCQkJYm9uZC0+ bWFzdGVyX2NsYXNzID0gSTkxNV9FTkdJTkVfQ0xBU1NfVklERU87CisJCQkJYm9uZC0+bWFzdGVy X2luc3RhbmNlID0KKwkJCQkJY3R4LT5ib25kc1tqXS5tYXN0ZXIgLSBWQ1MxOworCQkJCWJvbmQt PnNpYmxpbmdfbWFzayA9IGN0eC0+Ym9uZHNbal0ubWFzazsKKwkJCX0KKwogCQkJZ2VtX2NvbnRl eHRfc2V0X3BhcmFtKGZkLCAmcGFyYW0pOworCisJCQlpZiAoYm9uZHMpCisJCQkJZnJlZShib25k cyk7CiAJCX0gZWxzZSBpZiAoY3R4LT53YW50c19iYWxhbmNlKSB7CiAJCQlzdHJ1Y3QgaTkxNV9j b250ZXh0X2VuZ2luZXNfbG9hZF9iYWxhbmNlIGxvYWRfYmFsYW5jZSA9CiAJCQkJeyAuYmFzZS5u YW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0xPQURfQkFMQU5DRSwKQEAgLTIxODIsNyAr MjI2Nyw4IEBAIHN0YXRpYyB2b2lkICpydW5fd29ya2xvYWQodm9pZCAqZGF0YSkKIAkJCQljb250 aW51ZTsKIAkJCX0gZWxzZSBpZiAody0+dHlwZSA9PSBQUkVFTVBUSU9OIHx8CiAJCQkJICAgdy0+ dHlwZSA9PSBFTkdJTkVfTUFQIHx8Ci0JCQkJICAgdy0+dHlwZSA9PSBMT0FEX0JBTEFOQ0UpIHsK KwkJCQkgICB3LT50eXBlID09IExPQURfQkFMQU5DRSB8fAorCQkJCSAgIHctPnR5cGUgPT0gQk9O RCkgewogCQkJCWNvbnRpbnVlOwogCQkJfQogCmRpZmYgLS1naXQgYS9iZW5jaG1hcmtzL3dzaW0v UkVBRE1FIGIvYmVuY2htYXJrcy93c2ltL1JFQURNRQppbmRleCA1OGRhZGE2NzUzNTcuLmYyOTc0 OTkyYWI2OCAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy93c2ltL1JFQURNRQorKysgYi9iZW5jaG1h cmtzL3dzaW0vUkVBRE1FCkBAIC03LDYgKzcsNyBAQCBCLjx1aW50PgogTS48dWludD4uPHN0cj5b fDxzdHI+XS4uLgogUHxYLjx1aW50Pi48aW50PgogZHxwfHN8dHxxfGEuPGludD4sLi4uCitiLjx1 aW50Pi48dWludD4uPHN0cj4KIGYKIAogRm9yIGR1cmF0aW9uIGEgcmFuZ2UgY2FuIGJlIGdpdmVu IGZyb20gd2hpY2ggYSByYW5kb20gdmFsdWUgd2lsbCBiZSBwaWNrZWQKQEAgLTI2LDYgKzI3LDcg QEAgQWRkaXRpb25hbCB3b3JrbG9hZCBzdGVwcyBhcmUgYWxzbyBzdXBwb3J0ZWQ6CiAgJ2YnIC0g Q3JlYXRlIGEgc3luYyBmZW5jZS4KICAnYScgLSBBZHZhbmNlIHRoZSBwcmV2aW91c2x5IGNyZWF0 ZWQgc3luYyBmZW5jZS4KICAnQicgLSBUdXJuIG9uIGNvbnRleHQgbG9hZCBiYWxhbmNpbmcuCisg J2InIC0gU2V0IHVwIGVuZ2luZSBib25kcy4KICAnTScgLSBTZXQgdXAgZW5naW5lIG1hcC4KICAn UCcgLSBDb250ZXh0IHByaW9yaXR5LgogICdYJyAtIENvbnRleHQgcHJlZW1wdGlvbiBjb250cm9s LgpAQCAtMTk0LDMgKzE5Niw1MSBAQCBUaGlzIGVuYWJsZXMgbG9hZCBiYWxhbmNpbmcgZm9yIGNv bnRleHQgbnVtYmVyIG9uZS4KIAogU3VibWlzc2lvbnMgdG8gbG9hZCBiYWxhbmNlZCBjb250ZXh0 cyBhcmUgb25seSBhbGxvd2VkIHRvIHVzZSB0aGUgREVGQVVMVCBlbmdpbmUKIHNwZWNpZmllci4K KworRW5naW5lIGJvbmRzCistLS0tLS0tLS0tLS0KKworRW5naW5lIGJvbmRzIGFyZSBleHRlbnNp b25zIG9uIGxvYWQgYmFsYW5jZWQgY29udGV4dHMuIFRoZXkgYWxsb3cgZXhwcmVzc2luZworcnVs ZXMgb2YgZW5naW5lIHNlbGVjdGlvbiBiZXR3ZWVuIHR3byBjby1vcGVyYXRpbmcgY29udGV4dHMg dGllZCB3aXRoIHN1Ym1pdAorZmVuY2VzLiBJbiBvdGhlciB3b3JkcywgdGhlIHJ1bGUgZXhwcmVz c2lvbiBpcyB0ZWxsaW5nIHRoZSBkcml2ZXI6ICJJZiB5b3UgcGljawordGhpcyBlbmdpbmUgZm9y IGNvbnRleHQgb25lLCB0aGVuIHlvdSBoYXZlIHRvIHBpY2sgdGhhdCBlbmdpbmUgZm9yIGNvbnRl eHQgdHdvIi4KKworU3ludGF4IGlzOgorICBiLjxjb250ZXh0Pi48ZW5naW5lX21hc2s+LjxtYXN0 ZXJfZW5naW5lPgorCitFbmdpbmUgbWFzayBpcyBhIGJpdG1hc2sgcmVwcmVzZW50aW5nIGVuZ2lu ZXMgaW4gdGhlIGVuZ2luZSBtYXAgY29uZmlndXJlZCBmb3IKK3RoZSBzYW1lIGNvbnRleHQuCisK K1RoZXJlIGNhbiBiZSBtdWx0aXBsZSBib25kcyB0aWVkIHRvIHRoZSBzYW1lIGNvbnRleHQuCisK K0V4YW1wbGU6CisKKyAgTS4xLlJDU3xWRUNTCisgIEIuMQorICBNLjIuVkNTMXxWQ1MyCisgIEIu MgorICBiLjIuMS5SQ1MKKyAgYi4yLjIuVkVDUworCitUaGlzIHRlbGxzIHRoZSBkcml2ZXIgdGhh dCBpZiBpdCBwaWNrZWQgUkNTIGZvciBjb250ZXh0IG9uZSwgaXQgaGFzIHRvIHBpY2sgVkNTMQor Zm9yIGNvbnRleHQgdHdvLiBBbmQgaWYgaXQgcGlja2VkIFZFQ1MgZm9yIGNvbnRleHQgb25lLCBp dCBoYXMgdG8gcGljayBWQ1MxIGZvcgorY29udGV4dCB0d28uCisKK0lmIHdlIGV4dGVuZCB0aGUg YWJvdmUgZXhhbXBsZSB3aXRoIG1vcmUgd29ya2xvYWQgZGlyZWN0aXZlczoKKworICAxLkRFRkFV TFQuMTAwMC4wLjAKKyAgMi5ERUZBVUxULjEwMDAucy0xLjAKKworV2UgZ2V0IHRvIGEgZnVsbHkg ZnVuY3Rpb25hbCBleGFtcGxlIHdoZXJlIHR3byBiYXRjaCBidWZmZXJzIGFyZSBzdWJtaXR0ZWQg aW4gYQorbG9hZCBiYWxhbmNlZCBmYXNoaW9uLCB0ZWxsaW5nIHRoZSBkcml2ZXIgdGhleSBzaG91 bGQgcnVuIHNpbXVsdGFuZW91c2x5IGFuZAordGhhdCB2YWxpZCBlbmdpbmUgcGFpcnMgYXJlIGVp dGhlciBSQ1MgKyBWQ1MxIChmb3IgdHdvIGNvbnRleHRzIHJlc3BlY3RpdmVseSksCitvciBWRUNT ICsgVkNTMi4KKworVGhpcyBjYW4gYWxzbyBiZSBleHRlbmRlZCB1c2luZyBzeW5jIGZlbmNlcyB0 byBpbXByb3ZlIGNoYW5jZXMgb2YgdGhlIGZpcnN0CitzdWJtaXNzaW9uIG5vdCBnZXR0aW5nIG9u IHRoZSBoYXJkd2FyZSBhZnRlciB0aGUgc2Vjb25kIG9uZS4gU2Vjb25kIGJsb2NrIHdvdWxkCit0 aGVuIGxvb2sgbGlrZToKKworICBmCisgIDEuREVGQVVMVC4xMDAwLmYtMS4wCisgIDIuREVGQVVM VC4xMDAwLnMtMS4wCisgIGEuLTMKLS0gCjIuMTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pZ3QtZGV2Cg==