From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 41/41] drm/i915: Support explicit fencing for execbuf Date: Thu, 20 Oct 2016 16:04:23 +0100 Message-ID: <20161020150423.4560-42-chris@chris-wilson.co.uk> References: <20161020150423.4560-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x244.google.com (mail-qk0-x244.google.com [IPv6:2607:f8b0:400d:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 444416EB9E for ; Thu, 20 Oct 2016 15:05:14 +0000 (UTC) Received: by mail-qk0-x244.google.com with SMTP id z190so4775944qkc.3 for ; Thu, 20 Oct 2016 08:05:14 -0700 (PDT) In-Reply-To: <20161020150423.4560-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Tm93IHRoYXQgdGhlIHVzZXIgY2FuIG9wdC1vdXQgb2YgaW1wbGljaXQgZmVuY2luZywgd2UgbmVl ZCB0byBnaXZlIHRoZW0KYmFjayBjb250cm9sIG92ZXIgdGhlIGZlbmNpbmcuIFdlIGVtcGxveSBz eW5jX2ZpbGUgdG8gd3JhcCBvdXIKZHJtX2k5MTVfZ2VtX3JlcXVlc3QgYW5kIHByb3ZpZGUgYW4g ZmQgdGhhdCB1c2Vyc3BhY2UgY2FuIG1lcmdlIHdpdGgKb3RoZXIgc3luY19maWxlIGZkcyBhbmQg cGFzcyBiYWNrIHRvIHRoZSBrZXJuZWwgdG8gd2FpdCB1cG9uIGJlZm9yZQpmdXR1cmUgZXhlY3V0 aW9uLgoKVGVzdGNhc2U6IGlndC9nZW1fZXhlY19mZW5jZQpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBX aWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBMYWh0 aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9LY29uZmlnICAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5jICAgICAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jIHwgNTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiBp bmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgICAgfCAzNiArKysrKysrKysr KysrKysrKysrLQogNCBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L0tjb25maWcgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9LY29uZmlnCmluZGV4IDFjMWIxOWNjYjkyZi4uYzM4MzY4NGI1MzhmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9LY29uZmlnCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L0tjb25maWcKQEAgLTE4LDYgKzE4LDcgQEAgY29uZmlnIERSTV9JOTE1CiAJc2Vs ZWN0IElOUFVUIGlmIEFDUEkKIAlzZWxlY3QgQUNQSV9WSURFTyBpZiBBQ1BJCiAJc2VsZWN0IEFD UElfQlVUVE9OIGlmIEFDUEkKKwlzZWxlY3QgU1lOQ19GSUxFCiAJaGVscAogCSAgQ2hvb3NlIHRo aXMgb3B0aW9uIGlmIHlvdSBoYXZlIGEgc3lzdGVtIHRoYXQgaGFzICJJbnRlbCBHcmFwaGljcwog CSAgTWVkaWEgQWNjZWxlcmF0b3IiIG9yICJIRCBHcmFwaGljcyIgaW50ZWdyYXRlZCBncmFwaGlj cywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCmluZGV4IGFiZmM1MDA3ZjE3MC4uNGRmNzVlNjNjZjIy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTM0MCw2ICszNDAsNyBAQCBzdGF0aWMgaW50 IGk5MTVfZ2V0cGFyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAljYXNl IEk5MTVfUEFSQU1fSEFTX0NPSEVSRU5UX1BIWVNfR1RUOgogCWNhc2UgSTkxNV9QQVJBTV9IQVNf RVhFQ19TT0ZUUElOOgogCWNhc2UgSTkxNV9QQVJBTV9IQVNfRVhFQ19BU1lOQzoKKwljYXNlIEk5 MTVfUEFSQU1fSEFTX0VYRUNfRkVOQ0U6CiAJCS8qIEZvciB0aGUgdGltZSBiZWluZyBhbGwgb2Yg dGhlc2UgYXJlIGFsd2F5cyB0cnVlOwogCQkgKiBpZiBzb21lIHN1cHBvcnRlZCBoYXJkd2FyZSBk b2VzIG5vdCBoYXZlIG9uZSBvZiB0aGVzZQogCQkgKiBmZWF0dXJlcyB0aGlzIHZhbHVlIG5lZWRz IHRvIGJlIHByb3ZpZGVkIGZyb20KQEAgLTI1MjksNyArMjUzMCw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgaTkxNV9pb2N0bHNbXSA9IHsKIAlEUk1fSU9DVExfREVGX0RS VihJOTE1X0hXU19BRERSLCBkcm1fbm9vcCwgRFJNX0FVVEh8RFJNX01BU1RFUnxEUk1fUk9PVF9P TkxZKSwKIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9JTklULCBkcm1fbm9vcCwgRFJNX0FV VEh8RFJNX01BU1RFUnxEUk1fUk9PVF9PTkxZKSwKIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dF TV9FWEVDQlVGRkVSLCBpOTE1X2dlbV9leGVjYnVmZmVyLCBEUk1fQVVUSCksCi0JRFJNX0lPQ1RM X0RFRl9EUlYoSTkxNV9HRU1fRVhFQ0JVRkZFUjIsIGk5MTVfZ2VtX2V4ZWNidWZmZXIyLCBEUk1f QVVUSHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExfREVGX0RSVihJOTE1X0dFTV9FWEVD QlVGRkVSMl9XUiwgaTkxNV9nZW1fZXhlY2J1ZmZlcjIsIERSTV9BVVRIfERSTV9SRU5ERVJfQUxM T1cpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX1BJTiwgaTkxNV9nZW1fcmVqZWN0X3Bp bl9pb2N0bCwgRFJNX0FVVEh8RFJNX1JPT1RfT05MWSksCiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkx NV9HRU1fVU5QSU4sIGk5MTVfZ2VtX3JlamVjdF9waW5faW9jdGwsIERSTV9BVVRIfERSTV9ST09U X09OTFkpLAogCURSTV9JT0NUTF9ERUZfRFJWKEk5MTVfR0VNX0JVU1ksIGk5MTVfZ2VtX2J1c3lf aW9jdGwsIERSTV9BVVRIfERSTV9SRU5ERVJfQUxMT1cpLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZXhlY2J1ZmZlci5jCmluZGV4IDc3NWM5NDZiYjlmYi4uZjYwYjU3YjdkNjc3IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0yOCw2ICsy OCw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9kbWFfcmVtYXBwaW5nLmg+CiAjaW5jbHVkZSA8bGlu dXgvcmVzZXJ2YXRpb24uaD4KKyNpbmNsdWRlIDxsaW51eC9zeW5jX2ZpbGUuaD4KICNpbmNsdWRl IDxsaW51eC91YWNjZXNzLmg+CiAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgpAQCAtMTU5Niw2ICsx NTk3LDkgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2 b2lkICpkYXRhLAogCXN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMgPSAmcGFy YW1zX21hc3RlcjsKIAljb25zdCB1MzIgY3R4X2lkID0gaTkxNV9leGVjYnVmZmVyMl9nZXRfY29u dGV4dF9pZCgqYXJncyk7CiAJdTMyIGRpc3BhdGNoX2ZsYWdzOworCXN0cnVjdCBmZW5jZSAqaW5f ZmVuY2UgPSBOVUxMOworCXN0cnVjdCBzeW5jX2ZpbGUgKm91dF9mZW5jZSA9IE5VTEw7CisJaW50 IG91dF9mZW5jZV9mZCA9IC0xOwogCWludCByZXQ7CiAJYm9vbCBuZWVkX3JlbG9jczsKIApAQCAt MTYzOSw2ICsxNjQzLDIzIEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZGlzcGF0Y2hfZmxhZ3MgfD0gSTkxNV9ESVNQQVRDSF9S UzsKIAl9CiAKKwlpZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfRkVOQ0VfSU4pIHsKKwkJaW5f ZmVuY2UgPSBzeW5jX2ZpbGVfZ2V0X2ZlbmNlKGxvd2VyXzMyX2JpdHMoYXJncy0+cnN2ZDIpKTsK KwkJaWYgKCFpbl9mZW5jZSkgeworCQkJcmV0ID0gLUVJTlZBTDsKKwkJCWdvdG8gcHJlX211dGV4 X2VycjsKKwkJfQorCX0KKworCWlmIChhcmdzLT5mbGFncyAmIEk5MTVfRVhFQ19GRU5DRV9PVVQp IHsKKwkJb3V0X2ZlbmNlX2ZkID0gZ2V0X3VudXNlZF9mZF9mbGFncyhPX0NMT0VYRUMpOworCQlp ZiAob3V0X2ZlbmNlX2ZkIDwgMCkgeworCQkJcmV0ID0gb3V0X2ZlbmNlX2ZkOworCQkJb3V0X2Zl bmNlX2ZkID0gLTE7CisJCQlnb3RvIHByZV9tdXRleF9lcnI7CisJCX0KKwl9CisKIAkvKiBUYWtl IGEgbG9jYWwgd2FrZXJlZiBmb3IgcHJlcGFyaW5nIHRvIGRpc3BhdGNoIHRoZSBleGVjYnVmIGFz CiAJICogd2UgZXhwZWN0IHRvIGFjY2VzcyB0aGUgaGFyZHdhcmUgZmFpcmx5IGZyZXF1ZW50bHkg aW4gdGhlCiAJICogcHJvY2Vzcy4gVXBvbiBmaXJzdCBkaXNwYXRjaCwgd2UgYWNxdWlyZSBhbm90 aGVyIHByb2xvbmdlZApAQCAtMTc4Myw2ICsxODA0LDIwIEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZm ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJZ290byBlcnJfYmF0Y2hf dW5waW47CiAJfQogCisJaWYgKGluX2ZlbmNlKSB7CisJCXJldCA9IGk5MTVfZ2VtX3JlcXVlc3Rf YXdhaXRfZmVuY2UocGFyYW1zLT5yZXF1ZXN0LCBpbl9mZW5jZSk7CisJCWlmIChyZXQgPCAwKQor CQkJZ290byBlcnJfcmVxdWVzdDsKKwl9CisKKwlpZiAob3V0X2ZlbmNlX2ZkICE9IC0xKSB7CisJ CW91dF9mZW5jZSA9IHN5bmNfZmlsZV9jcmVhdGUoZmVuY2VfZ2V0KCZwYXJhbXMtPnJlcXVlc3Qt PmZlbmNlKSk7CisJCWlmICghb3V0X2ZlbmNlKSB7CisJCQlyZXQgPSAtRU5PTUVNOworCQkJZ290 byBlcnJfcmVxdWVzdDsKKwkJfQorCX0KKwogCS8qIFdoaWxzdCB0aGlzIHJlcXVlc3QgZXhpc3Rz LCBiYXRjaF9vYmogd2lsbCBiZSBvbiB0aGUKIAkgKiBhY3RpdmVfbGlzdCwgYW5kIHNvIHdpbGwg aG9sZCB0aGUgYWN0aXZlIHJlZmVyZW5jZS4gT25seSB3aGVuIHRoaXMKIAkgKiByZXF1ZXN0IGlz IHJldGlyZWQgd2lsbCB0aGUgdGhlIGJhdGNoX29iaiBiZSBtb3ZlZCBvbnRvIHRoZQpAQCAtMTgx MCw2ICsxODQ1LDE2IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdm9pZCAqZGF0YSwKIAlyZXQgPSBleGVjYnVmX3N1Ym1pdChwYXJhbXMsIGFyZ3MsICZl Yi0+dm1hcyk7CiBlcnJfcmVxdWVzdDoKIAlfX2k5MTVfYWRkX3JlcXVlc3QocGFyYW1zLT5yZXF1 ZXN0LCByZXQgPT0gMCk7CisJaWYgKG91dF9mZW5jZSkgeworCQlpZiAocmV0ID09IDApIHsKKwkJ CWZkX2luc3RhbGwob3V0X2ZlbmNlX2ZkLCBvdXRfZmVuY2UtPmZpbGUpOworCQkJYXJncy0+cnN2 ZDIgJj0gR0VOTUFTS19VTEwoMCwgMzEpOyAvKiBrZWVwIGluLWZlbmNlICovCisJCQlhcmdzLT5y c3ZkMiB8PSAodTY0KW91dF9mZW5jZV9mZCA8PCAzMjsKKwkJCW91dF9mZW5jZV9mZCA9IC0xOwor CQl9IGVsc2UgeworCQkJZnB1dChvdXRfZmVuY2UtPmZpbGUpOworCQl9CisJfQogCiBlcnJfYmF0 Y2hfdW5waW46CiAJLyoKQEAgLTE4MzEsNiArMTg3Niw5IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZm ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkvKiBpbnRlbF9ncHVfYnVz eSBzaG91bGQgYWxzbyBnZXQgYSByZWYsIHNvIGl0IHdpbGwgZnJlZSB3aGVuIHRoZSBkZXZpY2UK IAkgKiBpcyByZWFsbHkgaWRsZS4gKi8KIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7 CisJaWYgKG91dF9mZW5jZV9mZCAhPSAtMSkKKwkJcHV0X3VudXNlZF9mZChvdXRfZmVuY2VfZmQp OworCWZlbmNlX3B1dChpbl9mZW5jZSk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtMTkzOCwxMSAr MTk4Niw2IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXIyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZv aWQgKmRhdGEsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWlmIChhcmdzLT5yc3ZkMiAhPSAw KSB7Ci0JCURSTV9ERUJVRygiZGlydHkgcnZzZDIgZmllbGRcbiIpOwotCQlyZXR1cm4gLUVJTlZB TDsKLQl9Ci0KIAlleGVjMl9saXN0ID0gZHJtX21hbGxvY19nZnAoYXJncy0+YnVmZmVyX2NvdW50 LAogCQkJCSAgICBzaXplb2YoKmV4ZWMyX2xpc3QpLAogCQkJCSAgICBHRlBfVEVNUE9SQVJZKTsK ZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9k cm0vaTkxNV9kcm0uaAppbmRleCBhMmZhNTExYjQ2YjMuLmExZDA0ZDhiYzgwYSAxMDA2NDQKLS0t IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaApAQCAtMjQ2LDYgKzI0Niw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJl YSB7CiAjZGVmaW5lIERSTV9JOTE1X09WRVJMQVlfUFVUX0lNQUdFCTB4MjcKICNkZWZpbmUgRFJN X0k5MTVfT1ZFUkxBWV9BVFRSUwkweDI4CiAjZGVmaW5lIERSTV9JOTE1X0dFTV9FWEVDQlVGRkVS MgkweDI5CisjZGVmaW5lIERSTV9JOTE1X0dFTV9FWEVDQlVGRkVSMl9XUglEUk1fSTkxNV9HRU1f RVhFQ0JVRkZFUjIKICNkZWZpbmUgRFJNX0k5MTVfR0VUX1NQUklURV9DT0xPUktFWQkweDJhCiAj ZGVmaW5lIERSTV9JOTE1X1NFVF9TUFJJVEVfQ09MT1JLRVkJMHgyYgogI2RlZmluZSBEUk1fSTkx NV9HRU1fV0FJVAkweDJjCkBAIC0yNzksNiArMjgwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgX2RybV9p OTE1X3NhcmVhIHsKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfR0VNX0lOSVQJCURSTV9JT1coRFJN X0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9JTklULCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2lu aXQpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9FWEVDQlVGRkVSCURSTV9JT1coRFJNX0NP TU1BTkRfQkFTRSArIERSTV9JOTE1X0dFTV9FWEVDQlVGRkVSLCBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X2V4ZWNidWZmZXIpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9FWEVDQlVGRkVSMglEUk1f SU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fRVhFQ0JVRkZFUjIsIHN0cnVjdCBk cm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIpCisjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9FWEVD QlVGRkVSMl9XUglEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0VYRUNC VUZGRVIyX1dSLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyKQogI2RlZmluZSBEUk1f SU9DVExfSTkxNV9HRU1fUElOCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVf R0VNX1BJTiwgc3RydWN0IGRybV9pOTE1X2dlbV9waW4pCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1 X0dFTV9VTlBJTglEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9HRU1fVU5QSU4s IHN0cnVjdCBkcm1faTkxNV9nZW1fdW5waW4pCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0dFTV9C VVNZCQlEUk1fSU9XUihEUk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfR0VNX0JVU1ksIHN0cnVj dCBkcm1faTkxNV9nZW1fYnVzeSkKQEAgLTM5Myw2ICszOTUsMTMgQEAgdHlwZWRlZiBzdHJ1Y3Qg ZHJtX2k5MTVfaXJxX3dhaXQgewogICovCiAjZGVmaW5lIEk5MTVfUEFSQU1fSEFTX0VYRUNfQVNZ TkMJIDQxCiAKKy8qIFF1ZXJ5IHdoZXRoZXIgRFJNX0k5MTVfR0VNX0VYRUNCVUZGRVIyIHN1cHBv cnRzIGV4cGxpY2l0IGZlbmNlIHN1cHBvcnQgLQorICogYm90aCBiZWluZyBhYmxlIHRvIHBhc3Mg aW4gYSBzeW5jX2ZpbGUgZmQgdG8gd2FpdCB1cG9uIGJlZm9yZSBleGVjdXRpbmcsCisgKiBhbmQg YmVpbmcgYWJsZSB0byByZXR1cm4gYSBuZXcgc3luY19maWxlIGZkIHRoYXQgaXMgc2lnbmFsZWQg d2hlbiB0aGUKKyAqIGN1cnJlbnQgcmVxdWVzdCBpcyBjb21wbGV0ZS4KKyAqLworI2RlZmluZSBJ OTE1X1BBUkFNX0hBU19FWEVDX0ZFTkNFCSA0MgorCiB0eXBlZGVmIHN0cnVjdCBkcm1faTkxNV9n ZXRwYXJhbSB7CiAJX19zMzIgcGFyYW07CiAJLyoKQEAgLTg0NSw3ICs4NTQsMzIgQEAgc3RydWN0 IGRybV9pOTE1X2dlbV9leGVjYnVmZmVyMiB7CiAgKi8KICNkZWZpbmUgSTkxNV9FWEVDX1JFU09V UkNFX1NUUkVBTUVSICAgICAoMTw8MTUpCiAKLSNkZWZpbmUgX19JOTE1X0VYRUNfVU5LTk9XTl9G TEFHUyAtKEk5MTVfRVhFQ19SRVNPVVJDRV9TVFJFQU1FUjw8MSkKKy8qIFNldHRpbmcgSTkxNV9F WEVDX0ZFTkNFX0lOIGltcGxpZXMgdGhhdCBsb3dlcl8zMl9iaXRzKHJzdmQyKSByZXByZXNlbnQK KyAqIGEgc3luY19maWxlIGZkIHRvIHdhaXQgdXBvbiAoaW4gYSBub25ibG9ja2luZyBtYW5uZXIp IHByaW9yIHRvIGV4ZWN1dGluZworICogdGhlIGJhdGNoLgorICoKKyAqIFJldHVybnMgLUVJTlZB TCBpZiB0aGUgc3luY19maWxlIGZkIGNhbm5vdCBiZSBmb3VuZC4KKyAqLworI2RlZmluZSBJOTE1 X0VYRUNfRkVOQ0VfSU4JCSgxPDwxNikKKworLyogU2V0dGluZyBJOTE1X0VYRUNfRkVOQ0VfT1VU IGNhdXNlcyB0aGUgaW9jdGwgdG8gcmV0dXJuIGEgc3luY19maWxlIGZkCisgKiBpbiB0aGUgdXBw ZXJfMzJfYml0cyhyc3ZkMikgdXBvbiBzdWNjZXNzLiBPd25lcnNoaXAgb2YgdGhlIGZkIGlzIGdp dmVuCisgKiB0byB0aGUgY2FsbGVyLCBhbmQgaXQgc2hvdWxkIGJlIGNsb3NlKCkgYWZ0ZXIgdXNl LiAoVGhlIGZkIGlzIGEgcmVndWxhcgorICogZmlsZSBkZXNjcmlwdG9yIGFuZCB3aWxsIGJlIGNs ZWFuZWQgdXAgb24gcHJvY2VzcyB0ZXJtaW5hdGlvbi4gSXQgaG9sZHMKKyAqIGEgcmVmZXJlbmNl IHRvIHRoZSByZXF1ZXN0LCBidXQgbm90aGluZyBlbHNlLikKKyAqCisgKiBUaGUgc3luY19maWxl IGZkIGNhbiBiZSBjb21iaW5lZCB3aXRoIG90aGVyIHN5bmNfZmlsZSBhbmQgcGFzc2VkIGVpdGhl cgorICogdG8gZXhlY2J1ZiB1c2luZyBJOTE1X0VYRUNfRkVOQ0VfSU4sIHRvIGF0b21pYyBLTVMg aW9jdGxzIChzbyB0aGF0IGEgZmxpcAorICogd2lsbCBvbmx5IG9jY3VyIGFmdGVyIHRoaXMgcmVx dWVzdCBjb21wbGV0ZXMpLCBvciB0byBvdGhlciBkZXZpY2VzLgorICoKKyAqIFVzaW5nIEk5MTVf RVhFQ19GRU5DRV9PVVQgcmVxdWlyZXMgdXNlIG9mCisgKiBEUk1fSU9DVExfSTkxNV9HRU1fRVhF Q0JVRkZFUjJfV1IgaW9jdGwgc28gdGhhdCB0aGUgcmVzdWx0IGlzIHdyaXR0ZW4KKyAqIGJhY2sg dG8gdXNlcnNwYWNlLiBGYWlsdXJlIHRvIGRvIHNvIHdpbGwgY2F1c2UgdGhlIG91dC1mZW5jZSB0 byBhbHdheXMKKyAqIGJlIHJlcG9ydGVkIGFzIHplcm8sIGFuZCB0aGUgcmVhbCBmZW5jZSBmZCB0 byBiZSBsZWFrZWQuCisgKi8KKyNkZWZpbmUgSTkxNV9FWEVDX0ZFTkNFX09VVAkJKDE8PDE3KQor CisjZGVmaW5lIF9fSTkxNV9FWEVDX1VOS05PV05fRkxBR1MgKC0oSTkxNV9FWEVDX0ZFTkNFX09V VDw8MSkpCiAKICNkZWZpbmUgSTkxNV9FWEVDX0NPTlRFWFRfSURfTUFTSwkoMHhmZmZmZmZmZikK ICNkZWZpbmUgaTkxNV9leGVjYnVmZmVyMl9zZXRfY29udGV4dF9pZChlYjIsIGNvbnRleHQpIFwK LS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK