From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0D13D6E20E for ; Mon, 20 Aug 2018 13:01:55 +0000 (UTC) From: Chris Wilson Date: Mon, 20 Aug 2018 14:01:49 +0100 Message-Id: <20180820130149.30566-7-chris@chris-wilson.co.uk> In-Reply-To: <20180820130149.30566-1-chris@chris-wilson.co.uk> References: <20180820130149.30566-1-chris@chris-wilson.co.uk> Subject: [igt-dev] [PATCH i-g-t 6/6] igt/shell: Add primitive vgem wrapping 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 List-ID: U2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0t LQogc2hlbGwvZHJtL3ZnZW0vdmdlbS1idWlsdGluLmMgICAgICAgIHwgMzYgKysrKysrKysrKysr KysrKysrKwogc2hlbGwvZHJtL3ZnZW0vdmdlbS1jb25zdGFudHMuYyAgICAgIHwgMzMgKysrKysr KysrKysrKysrKysrCiBzaGVsbC9kcm0vdmdlbS92Z2VtLWNvbnN0YW50cy5oICAgICAgfCAgNiAr KysrCiBzaGVsbC9kcm0vdmdlbS92Z2VtLW9iamVjdC5jICAgICAgICAgfCA1MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBzaGVsbC9kcm0vdmdlbS92Z2VtLW9iamVjdC5oICAgICAgICAg fCAgNiArKysrCiBzaGVsbC9leGFtcGxlcy92Z2VtL21vZHVsZS11bmxvYWQuanMgfCAzMiArKysr KysrKysrKysrKysrKwogc2hlbGwvbWVzb24uYnVpbGQgICAgICAgICAgICAgICAgICAgIHwgIDMg KysKIDcgZmlsZXMgY2hhbmdlZCwgMTY4IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzaGVsbC9kcm0vdmdlbS92Z2VtLWJ1aWx0aW4uYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNoZWxs L2RybS92Z2VtL3ZnZW0tY29uc3RhbnRzLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzaGVsbC9kcm0v dmdlbS92Z2VtLWNvbnN0YW50cy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc2hlbGwvZHJtL3ZnZW0v dmdlbS1vYmplY3QuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHNoZWxsL2RybS92Z2VtL3ZnZW0tb2Jq ZWN0LmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzaGVsbC9leGFtcGxlcy92Z2VtL21vZHVsZS11bmxv YWQuanMKCmRpZmYgLS1naXQgYS9zaGVsbC9kcm0vdmdlbS92Z2VtLWJ1aWx0aW4uYyBiL3NoZWxs L2RybS92Z2VtL3ZnZW0tYnVpbHRpbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uNmJlZGZjYzZjCi0tLSAvZGV2L251bGwKKysrIGIvc2hlbGwvZHJtL3ZnZW0vdmdlbS1i dWlsdGluLmMKQEAgLTAsMCArMSwzNiBAQAorI2luY2x1ZGUgImR1a3RhcGUuaCIKKyNpbmNsdWRl ICJpZ3QtYnVpbHRpbnMuaCIKKyNpbmNsdWRlICJkcm0tYnVpbHRpbi5oIgorCisjaW5jbHVkZSAi dmdlbS1jb25zdGFudHMuaCIKKyNpbmNsdWRlICJ2Z2VtLW9iamVjdC5oIgorCisjZGVmaW5lIE1P RFVMRV9OQU1FICJ2Z2VtIgorCitzdGF0aWMgZHVrX3JldF90IHZnZW1fYnVpbHRpbl9jdG9yKGR1 a19jb250ZXh0ICpjdHgpCit7CisJZHVrX3B1c2hfb2JqZWN0KGN0eCk7CisKKwlkdWtfZ2V0X2ds b2JhbF9zdHJpbmcoY3R4LCAiZHJtIik7CisJZHVrX2R1cF90b3AoY3R4KTsKKwlkdWtfcHV0X3By b3Bfc3RyaW5nKGN0eCwgLTMsICJkcm0iKTsKKwlkdWtfc2V0X3Byb3RvdHlwZShjdHgsIC0yKTsK KworCWR1a19wdXNoX3N0cmluZyhjdHgsIE1PRFVMRV9OQU1FKTsKKwlkdWtfcHV0X3Byb3Bfc3Ry aW5nKGN0eCwgLTIsICJuYW1lIik7CisKKwl2Z2VtX2NvbnN0YW50cyhjdHgpOworCXZnZW1fb2Jq ZWN0X3NldHVwKGN0eCk7CisKKwlyZXR1cm4gMTsKK30KKworX19hdHRyaWJ1dGVfXygoY29uc3Ry dWN0b3IpKQorc3RhdGljIHZvaWQgX192Z2VtX3JlZ2lzdGVyX2J1aWx0aW5fXyh2b2lkKQorewor CXN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIgPSB7CisJCS5uYW1lID0gTU9EVUxFX05B TUUsCisJCS5jdG9yID0gdmdlbV9idWlsdGluX2N0b3IKKwl9OworCWRybV9tb2R1bGVfcmVnaXN0 ZXJfZHJpdmVyKCZkcml2ZXIpOworfQpkaWZmIC0tZ2l0IGEvc2hlbGwvZHJtL3ZnZW0vdmdlbS1j b25zdGFudHMuYyBiL3NoZWxsL2RybS92Z2VtL3ZnZW0tY29uc3RhbnRzLmMKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wNzc2ZTRiNTkKLS0tIC9kZXYvbnVsbAorKysgYi9z aGVsbC9kcm0vdmdlbS92Z2VtLWNvbnN0YW50cy5jCkBAIC0wLDAgKzEsMzMgQEAKKyNpbmNsdWRl ICJkcm0tdWFwaS92Z2VtX2RybS5oIgorI2luY2x1ZGUgImR1a3RhcGUuaCIKKworI2luY2x1ZGUg InZnZW0tY29uc3RhbnRzLmgiCisKKyNkZWZpbmUgQyh4KSB7ICN4LCB4IH0KKworc3RhdGljIGNv bnN0IGR1a19udW1iZXJfbGlzdF9lbnRyeSB2Z2VtX2lvY3RsW10gPSB7CisJQyhEUk1fSU9DVExf VkdFTV9GRU5DRV9BVFRBQ0gpLAorCUMoRFJNX0lPQ1RMX1ZHRU1fRkVOQ0VfU0lHTkFMKSwKKwor CXsgfSwKK307CisKK3N0YXRpYyBjb25zdCBkdWtfbnVtYmVyX2xpc3RfZW50cnkgdmdlbV9mZW5j ZVtdID0geworCUMoRFJNX1ZHRU1fRkVOQ0VfQVRUQUNIKSwKKwlDKERSTV9WR0VNX0ZFTkNFX1NJ R05BTCksCisKKwl7fSwKK307CisKK3ZvaWQgdmdlbV9jb25zdGFudHMoZHVrX2NvbnRleHQgKmN0 eCkKK3sKKwlkdWtfcHVzaF9vYmplY3QoY3R4KTsKKwlkdWtfcHV0X251bWJlcl9saXN0KGN0eCwg LTEsIHZnZW1faW9jdGwpOworCWR1a19wdXRfcHJvcF9zdHJpbmcoY3R4LCAtMiwgImlvY3RsIik7 CisKKwlkdWtfcHVzaF9vYmplY3QoY3R4KTsKKwlkdWtfcHV0X251bWJlcl9saXN0KGN0eCwgLTEs IHZnZW1fZmVuY2UpOworCWR1a19wdXRfcHJvcF9zdHJpbmcoY3R4LCAtMiwgImZlbmNlIik7Cit9 CisKKyN1bmRlZiBDCmRpZmYgLS1naXQgYS9zaGVsbC9kcm0vdmdlbS92Z2VtLWNvbnN0YW50cy5o IGIvc2hlbGwvZHJtL3ZnZW0vdmdlbS1jb25zdGFudHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjA0YjViOTQ2YQotLS0gL2Rldi9udWxsCisrKyBiL3NoZWxsL2RybS92 Z2VtL3ZnZW0tY29uc3RhbnRzLmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIFZHRU1fQ09OU1RB TlRTX0gKKyNkZWZpbmUgVkdFTV9DT05TVEFOVFNfSAorCit2b2lkIHZnZW1fY29uc3RhbnRzKGR1 a19jb250ZXh0ICpjdHgpOworCisjZW5kaWYgLyogVkdFTV9DT05TVEFOVFNfSCAqLwpkaWZmIC0t Z2l0IGEvc2hlbGwvZHJtL3ZnZW0vdmdlbS1vYmplY3QuYyBiL3NoZWxsL2RybS92Z2VtL3ZnZW0t b2JqZWN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4wY2FiMmVmN2YK LS0tIC9kZXYvbnVsbAorKysgYi9zaGVsbC9kcm0vdmdlbS92Z2VtLW9iamVjdC5jCkBAIC0wLDAg KzEsNTIgQEAKKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKworI2luY2x1ZGUgImRybS1nZW0uaCIK KyNpbmNsdWRlICJkdWt0YXBlLmgiCisKKyNpbmNsdWRlICJ2Z2VtLW9iamVjdC5oIgorCisjaW5j bHVkZSAiZHJtLXVhcGkvdmdlbV9kcm0uaCIKKworc3RhdGljIGR1a19yZXRfdCB2Z2VtX29iamVj dF9jdG9yKGR1a19jb250ZXh0ICpjdHgpCit7CisJc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1i IGFyZyA9IHsKKwkJLndpZHRoID0gZHVrX2dldF91aW50KGN0eCwgLTMpLAorCQkuaGVpZ2h0ID0g ZHVrX2dldF91aW50KGN0eCwgLTIpLAorCQkuYnBwID0gZHVrX2dldF91aW50KGN0eCwgLTEpLAor CX07CisJaW50IGZkOworCisJZHVrX3B1c2hfdGhpcyhjdHgpOworCWR1a19nZXRfcHJvcF9zdHJp bmcoY3R4LCAtMSwgImZkIik7CisJZmQgPSBkdWtfZ2V0X2ludChjdHgsIC0xKTsKKworCWlmIChp b2N0bChmZCwgRFJNX0lPQ1RMX01PREVfQ1JFQVRFX0RVTUIsICZhcmcpIDwgMCkKKwkJcmV0dXJu IC0xOworCisJZHVrX3B1c2hfb2JqZWN0KGN0eCk7CisKKwlkdWtfcHVzaF91aW50KGN0eCwgYXJn LmhhbmRsZSk7CisJZHVrX3B1dF9wcm9wX3N0cmluZyhjdHgsIC0yLCAiaGFuZGxlIik7CisKKwlk dWtfcHVzaF91aW50KGN0eCwgYXJnLnNpemUpOworCWR1a19wdXRfcHJvcF9zdHJpbmcoY3R4LCAt MiwgInNpemUiKTsKKworCWR1a19wdXNoX3VpbnQoY3R4LCBhcmcucGl0Y2gpOworCWR1a19wdXRf cHJvcF9zdHJpbmcoY3R4LCAtMiwgInBpdGNoIik7CisKKwlkdWtfcHVzaF90aGlzKGN0eCk7CisJ ZHVrX3B1dF9wcm9wX3N0cmluZyhjdHgsIC0yLCAiZHJpdmVyIik7CisKKwlkdWtfcHVzaF9jX2Z1 bmN0aW9uKGN0eCwgZHJtX2dlbV9vYmplY3RfZHRvciwgMSk7CisJZHVrX3NldF9maW5hbGl6ZXIo Y3R4LCAtMik7CisKKwlyZXR1cm4gMTsKK30KKworZHVrX3JldF90IHZnZW1fb2JqZWN0X3NldHVw KGR1a19jb250ZXh0ICpjdHgpCit7CisJZHVrX3B1c2hfY19mdW5jdGlvbihjdHgsIHZnZW1fb2Jq ZWN0X2N0b3IsIDEpOworCWR1a19wdXRfcHJvcF9zdHJpbmcoY3R4LCAtMiwgIk9iamVjdCIpOwor CisJcmV0dXJuIDE7Cit9CmRpZmYgLS1naXQgYS9zaGVsbC9kcm0vdmdlbS92Z2VtLW9iamVjdC5o IGIvc2hlbGwvZHJtL3ZnZW0vdmdlbS1vYmplY3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjc3NjljNzQ2MAotLS0gL2Rldi9udWxsCisrKyBiL3NoZWxsL2RybS92Z2Vt L3ZnZW0tb2JqZWN0LmgKQEAgLTAsMCArMSw2IEBACisjaWZuZGVmIFZHRU1fT0JKRUNUX0gKKyNk ZWZpbmUgVkdFTV9PQkpFQ1RfSAorCitkdWtfcmV0X3QgdmdlbV9vYmplY3Rfc2V0dXAoZHVrX2Nv bnRleHQgKmN0eCk7CisKKyNlbmRpZiAvKiBWR0VNX09CSkVDVF9IICovCmRpZmYgLS1naXQgYS9z aGVsbC9leGFtcGxlcy92Z2VtL21vZHVsZS11bmxvYWQuanMgYi9zaGVsbC9leGFtcGxlcy92Z2Vt L21vZHVsZS11bmxvYWQuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4w NzBhMzg5ODQKLS0tIC9kZXYvbnVsbAorKysgYi9zaGVsbC9leGFtcGxlcy92Z2VtL21vZHVsZS11 bmxvYWQuanMKQEAgLTAsMCArMSwzMiBAQAorY29uc3QgdmdlbSA9IGlndC5yZXF1aXJlKGRybS5k cml2ZXJzLnZnZW0pOworCit2YXIgZGV2aWNlLCBvYmplY3Q7CisKK2RldmljZSA9IHZnZW0uY2Fy ZCgpOworaWd0LmV4cGVjdChmdW5jdGlvbigpIHsgdmdlbS51bmxvYWQoKSB9LCAtb3MuRUFHQUlO KTsKK2RldmljZSA9IHVuZGVmaW5lZDsKK3ZnZW0udW5sb2FkKCk7CisKKy8qCitkZXZpY2UgPSB2 Z2VtLmNhcmQoKTsKK29iamVjdCA9IGRldmljZS5PYmplY3QoNjQsIDY0LCA0KTsKK2RtYWJ1ZiA9 IG9iamVjdC5nZXRfcHJpbWVfZmQoKTsKK2RldmljZSA9IHVuZGVmaW5lZDsKKworaWd0LmV4cGVj dChmdW5jdGlvbigpIHsgdmdlbS51bmxvYWQoKSB9LCAtb3MuRUFHQUlOKTsKK2RtYWJ1ZiA9IHVu ZGVmaW5lZDsKK3ZnZW0udW5sb2FkKCk7CisqLworCisvKgorZGV2aWNlID0gdmdlbS5jYXJkKCk7 CitvYmplY3QgPSBkZXZpY2UuT2JqZWN0KDY0LCA2NCwgNCk7CitkbWFidWYgPSBvYmplY3QuZ2V0 X3ByaW1lX2ZkKCk7CitkZXZpY2UgPSB1bmRlZmluZWQ7CittYXAgPSBkbWFidWYubW1hcCgpOwor ZG1hYnVmID0gdW5kZWZpbmVkOworCitpZ3QuZXhwZWN0KGZ1bmN0aW9uKCkgeyB2Z2VtLnVubG9h ZCgpIH0sIC1vcy5FQUdBSU4pOworbWFwID0gdW5kZWZpbmVkOwordmdlbS51bmxvYWQoKTsKKyov CmRpZmYgLS1naXQgYS9zaGVsbC9tZXNvbi5idWlsZCBiL3NoZWxsL21lc29uLmJ1aWxkCmluZGV4 IGMyOTk1MGRiYS4uZWUxMWIwYjUxIDEwMDY0NAotLS0gYS9zaGVsbC9tZXNvbi5idWlsZAorKysg Yi9zaGVsbC9tZXNvbi5idWlsZApAQCAtOCw2ICs4LDkgQEAgZXhlY3V0YWJsZSgnaWd0JywgWwog CSAgICAgJ2RybS9pOTE1L2k5MTUtYnVpbHRpbi5jJywKIAkgICAgICdkcm0vaTkxNS9pOTE1LWNv bnN0YW50cy5jJywKIAkgICAgICdkcm0vaTkxNS9pOTE1LW9iamVjdC5jJywKKwkgICAgICdkcm0v dmdlbS92Z2VtLWJ1aWx0aW4uYycsCisJICAgICAnZHJtL3ZnZW0vdmdlbS1jb25zdGFudHMuYycs CisJICAgICAnZHJtL3ZnZW0vdmdlbS1vYmplY3QuYycsCiAJICAgICAnaWd0LWJ1aWx0aW5zLmMn LAogCSAgICAgJ2lndC1idWlsdGlucy5jJywKIAkgICAgICdpZ3QtbWF0aC5jJywKLS0gCjIuMTgu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KaWd0LWRl diBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==