From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 1/8] sync_file: add type/flags to sync file object creation. Date: Wed, 12 Apr 2017 14:57:19 +1000 Message-ID: <20170412045726.13689-2-airlied@gmail.com> References: <20170412045726.13689-1-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170412045726.13689-1-airlied-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMgYWxsb3dzIHVzIHRv IGNyZWF0ZSBzeW5jIGZpbGVzIHdpdGggZGlmZmVyZW50IHNlbWFudGljcywKYW5kIGNsZWFybHkg ZGVmaW5lIHRoZSBpbnRlcm9wZXJhdGlvbiBiZXR3ZWVuIHRoZW0gaXQgYWxzbwpwcm92aWRlcyBm bGFncyB0byBhbGxvdyBmb3IgdHdlYWtzIG9uIHRob3NlIHNlbWFudGljcy4KClRoaXMgcHJvdmlk ZXMgYSB2YWxpZGF0aW9uIGludGVyZmFjZSBmb3IgZHJpdmVycyB0aGF0IGFjY2VwdAp0eXBlcyBm cm9tIHVzZXJzcGFjZSBzbyB0aGV5IGNhbiByZXR1cm4gRUlOVkFMIGluc3RlYWQgb2YgRU5PTUVN LgoKVGhpcyBwcm92aWRlcyBhbiBpb2N0bCBmb3IgdXNlcnNwYWNlIHRvIHJldHJpZXZlIHRoZSB0 eXBlL2ZsYWdzCm9mIGFuIG9iamVjdCBpdCBtYXkgcmVjaWV2ZSBmcm9tIHNvbWV3aGVyZSBlbHNl LgoKUmV2aWV3ZWQtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNv bT4KU2lnbmVkLW9mZi1ieTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBE b2N1bWVudGF0aW9uL2RyaXZlci1hcGkvZG1hLWJ1Zi5yc3QgfCAgNiArKysrCiBkcml2ZXJzL2Rt YS1idWYvc3dfc3luYy5jICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9kbWEtYnVmL3N5bmNf ZmlsZS5jICAgICAgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t CiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jICAgICAgICAgfCAgMiArLQogaW5jbHVkZS9s aW51eC9zeW5jX2ZpbGUuaCAgICAgICAgICAgIHwgIDkgKysrKy0KIGluY2x1ZGUvdWFwaS9saW51 eC9zeW5jX2ZpbGUuaCAgICAgICB8IDI3ICsrKysrKysrKysrKysrKwogNiBmaWxlcyBjaGFuZ2Vk LCAxMDYgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Eb2N1bWVu dGF0aW9uL2RyaXZlci1hcGkvZG1hLWJ1Zi5yc3QgYi9Eb2N1bWVudGF0aW9uL2RyaXZlci1hcGkv ZG1hLWJ1Zi5yc3QKaW5kZXggMzE2NzFiNC4uYmYyZjdkNSAxMDA2NDQKLS0tIGEvRG9jdW1lbnRh dGlvbi9kcml2ZXItYXBpL2RtYS1idWYucnN0CisrKyBiL0RvY3VtZW50YXRpb24vZHJpdmVyLWFw aS9kbWEtYnVmLnJzdApAQCAtMTYzLDMgKzE2Myw5IEBAIERNQSBGZW5jZSB1QUJJL1N5bmMgRmls ZQogLi4ga2VybmVsLWRvYzo6IGluY2x1ZGUvbGludXgvc3luY19maWxlLmgKICAgIDppbnRlcm5h bDoKIAorCitTeW5jIEZpbGUgSU9DVEwgRGVmaW5pdGlvbnMKK35+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgorCisuLiBrZXJuZWwtZG9jOjogaW5jbHVkZS91YXBpL2xpbnV4L3N5bmNfZmlsZS5o CisgICA6aW50ZXJuYWw6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvc3dfc3luYy5jIGIv ZHJpdmVycy9kbWEtYnVmL3N3X3N5bmMuYwppbmRleCA2OWM1ZmYzLi4xYzQ3ZGU2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2RtYS1idWYvc3dfc3luYy5jCisrKyBiL2RyaXZlcnMvZG1hLWJ1Zi9zd19z eW5jLmMKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0aWMgbG9uZyBzd19zeW5jX2lvY3RsX2NyZWF0 ZV9mZW5jZShzdHJ1Y3Qgc3luY190aW1lbGluZSAqb2JqLAogCQlnb3RvIGVycjsKIAl9CiAKLQlz eW5jX2ZpbGUgPSBzeW5jX2ZpbGVfY3JlYXRlKCZwdC0+YmFzZSk7CisJc3luY19maWxlID0gc3lu Y19maWxlX2NyZWF0ZSgmcHQtPmJhc2UsIFNZTkNfRklMRV9UWVBFX0ZFTkNFLCAwKTsKIAlkbWFf ZmVuY2VfcHV0KCZwdC0+YmFzZSk7CiAJaWYgKCFzeW5jX2ZpbGUpIHsKIAkJZXJyID0gLUVOT01F TTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZG1hLWJ1Zi9zeW5jX2ZpbGUuYyBiL2RyaXZlcnMvZG1h LWJ1Zi9zeW5jX2ZpbGUuYwppbmRleCAyMzIxMDM1Li40MzQyZDkyIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2RtYS1idWYvc3luY19maWxlLmMKKysrIGIvZHJpdmVycy9kbWEtYnVmL3N5bmNfZmlsZS5j CkBAIC0yOCw5ICsyOCwzMiBAQAogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9u cyBzeW5jX2ZpbGVfZm9wczsKIAotc3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9h bGxvYyh2b2lkKQorLyoqCisgKiBzeW5jX2ZpbGVfdmFsaWRhdGVfdHlwZV9mbGFncyAtIHZhbGlk YXRlIHR5cGUvZmxhZ3MgZm9yIHN1cHBvcnQKKyAqIEB0eXBlOiB0eXBlIG9mIHN5bmMgZmlsZSBv YmplY3QKKyAqIEBmbGFnczogZmxhZ3MgdG8gc3luYyBvYmplY3QuCisgKgorICogVmFsaWRhdGVz IHRoZSBmbGFncyBhcmUgY29ycmVjdCBzbyB1c2Vyc3BhY2UgY2FuIGdldCBhIG1vcmUKKyAqIGRl dGFpbGVkIGVycm9yIHR5cGUuCisgKi8KK2ludCBzeW5jX2ZpbGVfdmFsaWRhdGVfdHlwZV9mbGFn cyh1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFncykKK3sKKwlpZiAoZmxhZ3MpCisJCXJldHVy biAtRUlOVkFMOworCWlmICh0eXBlICE9IFNZTkNfRklMRV9UWVBFX0ZFTkNFKQorCQlyZXR1cm4g LUVJTlZBTDsKKwlyZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woc3luY19maWxlX3ZhbGlkYXRl X3R5cGVfZmxhZ3MpOworCitzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlX2FsbG9j KHVpbnQzMl90IHR5cGUsIHVpbnQzMl90IGZsYWdzKQogewogCXN0cnVjdCBzeW5jX2ZpbGUgKnN5 bmNfZmlsZTsKKwlpbnQgcmV0OworCisJcmV0ID0gc3luY19maWxlX3ZhbGlkYXRlX3R5cGVfZmxh Z3ModHlwZSwgZmxhZ3MpOworCWlmIChyZXQpCisJCXJldHVybiBOVUxMOwogCiAJc3luY19maWxl ID0ga3phbGxvYyhzaXplb2YoKnN5bmNfZmlsZSksIEdGUF9LRVJORUwpOwogCWlmICghc3luY19m aWxlKQpAQCAtNDcsNiArNzAsOCBAQCBzdGF0aWMgc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxl X2FsbG9jKHZvaWQpCiAKIAlJTklUX0xJU1RfSEVBRCgmc3luY19maWxlLT5jYi5ub2RlKTsKIAor CXN5bmNfZmlsZS0+dHlwZSA9IHR5cGU7CisJc3luY19maWxlLT5mbGFncyA9IGZsYWdzOwogCXJl dHVybiBzeW5jX2ZpbGU7CiAKIGVycjoKQEAgLTY2LDE3ICs5MSwyMSBAQCBzdGF0aWMgdm9pZCBm ZW5jZV9jaGVja19jYl9mdW5jKHN0cnVjdCBkbWFfZmVuY2UgKmYsIHN0cnVjdCBkbWFfZmVuY2Vf Y2IgKmNiKQogLyoqCiAgKiBzeW5jX2ZpbGVfY3JlYXRlKCkgLSBjcmVhdGVzIGEgc3luYyBmaWxl CiAgKiBAZmVuY2U6CWZlbmNlIHRvIGFkZCB0byB0aGUgc3luY19mZW5jZQorICogQHR5cGU6IHR5 cGUgb2Ygc3luYyBmaWxlIHRvIGNyZWF0ZQorICogQGZsYWdzOiBmbGFncyB0byBjcmVhdGUgc3lu YyBmaWxlIHdpdGguCiAgKgogICogQ3JlYXRlcyBhIHN5bmNfZmlsZSBjb250YWluZyBAZmVuY2Uu IFRoaXMgZnVuY3Rpb24gYWNxdWlyZXMgYW5kIGFkZGl0aW9uYWwKICAqIHJlZmVyZW5jZSBvZiBA ZmVuY2UgZm9yIHRoZSBuZXdseS1jcmVhdGVkICZzeW5jX2ZpbGUsIGlmIGl0IHN1Y2NlZWRzLiBU aGUKICAqIHN5bmNfZmlsZSBjYW4gYmUgcmVsZWFzZWQgd2l0aCBmcHV0KHN5bmNfZmlsZS0+Zmls ZSkuIFJldHVybnMgdGhlCiAgKiBzeW5jX2ZpbGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgog ICovCi1zdHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfY3JlYXRlKHN0cnVjdCBkbWFfZmVuY2Ug KmZlbmNlKQorc3RydWN0IHN5bmNfZmlsZSAqc3luY19maWxlX2NyZWF0ZShzdHJ1Y3QgZG1hX2Zl bmNlICpmZW5jZSwKKwkJCQkgICB1aW50MzJfdCB0eXBlLAorCQkJCSAgIHVpbnQzMl90IGZsYWdz KQogewogCXN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZTsKIAotCXN5bmNfZmlsZSA9IHN5bmNf ZmlsZV9hbGxvYygpOworCXN5bmNfZmlsZSA9IHN5bmNfZmlsZV9hbGxvYyh0eXBlLCBmbGFncyk7 CiAJaWYgKCFzeW5jX2ZpbGUpCiAJCXJldHVybiBOVUxMOwogCkBAIC0yMDAsNyArMjI5LDcgQEAg c3RhdGljIHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZV9tZXJnZShjb25zdCBjaGFyICpuYW1l LCBzdHJ1Y3Qgc3luY19maWxlICphLAogCXN0cnVjdCBkbWFfZmVuY2UgKipmZW5jZXMsICoqbmZl bmNlcywgKiphX2ZlbmNlcywgKipiX2ZlbmNlczsKIAlpbnQgaSwgaV9hLCBpX2IsIG51bV9mZW5j ZXMsIGFfbnVtX2ZlbmNlcywgYl9udW1fZmVuY2VzOwogCi0Jc3luY19maWxlID0gc3luY19maWxl X2FsbG9jKCk7CisJc3luY19maWxlID0gc3luY19maWxlX2FsbG9jKGEtPnR5cGUsIGEtPmZsYWdz KTsKIAlpZiAoIXN5bmNfZmlsZSkKIAkJcmV0dXJuIE5VTEw7CiAKQEAgLTMzOSw2ICszNjgsMTIg QEAgc3RhdGljIGxvbmcgc3luY19maWxlX2lvY3RsX21lcmdlKHN0cnVjdCBzeW5jX2ZpbGUgKnN5 bmNfZmlsZSwKIAl9CiAKIAlkYXRhLm5hbWVbc2l6ZW9mKGRhdGEubmFtZSkgLSAxXSA9ICdcMCc7 CisKKwlpZiAoc3luY19maWxlLT50eXBlICE9IGZlbmNlMi0+dHlwZSkgeworCQllcnIgPSAtRUlO VkFMOworCQlnb3RvIGVycl9wdXRfZmQ7CisJfQorCiAJZmVuY2UzID0gc3luY19maWxlX21lcmdl KGRhdGEubmFtZSwgc3luY19maWxlLCBmZW5jZTIpOwogCWlmICghZmVuY2UzKSB7CiAJCWVyciA9 IC1FTk9NRU07CkBAIC00MzcsNiArNDcyLDI3IEBAIHN0YXRpYyBsb25nIHN5bmNfZmlsZV9pb2N0 bF9mZW5jZV9pbmZvKHN0cnVjdCBzeW5jX2ZpbGUgKnN5bmNfZmlsZSwKIAlyZXR1cm4gcmV0Owog fQogCitzdGF0aWMgbG9uZyBzeW5jX2ZpbGVfaW9jdGxfdHlwZShzdHJ1Y3Qgc3luY19maWxlICpz eW5jX2ZpbGUsCisJCQkJIHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXN0cnVjdCBzeW5jX2ZpbGVf dHlwZSB0eXBlOworCWludCByZXQ7CisJaWYgKGNvcHlfZnJvbV91c2VyKCZ0eXBlLCAodm9pZCBf X3VzZXIgKilhcmcsIHNpemVvZih0eXBlKSkpCisJCXJldHVybiAtRUZBVUxUOworCisJaWYgKHR5 cGUuZmxhZ3MgfHwgdHlwZS50eXBlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXR5cGUudHlwZSA9 IHN5bmNfZmlsZS0+dHlwZTsKKwl0eXBlLmZsYWdzID0gc3luY19maWxlLT5mbGFnczsKKworCWlm IChjb3B5X3RvX3VzZXIoKHZvaWQgX191c2VyICopYXJnLCAmdHlwZSwgc2l6ZW9mKHR5cGUpKSkK KwkJcmV0ID0gLUVGQVVMVDsKKwllbHNlCisJCXJldCA9IDA7CisJcmV0dXJuIHJldDsKK30KKwog c3RhdGljIGxvbmcgc3luY19maWxlX2lvY3RsKHN0cnVjdCBmaWxlICpmaWxlLCB1bnNpZ25lZCBp bnQgY21kLAogCQkJICAgIHVuc2lnbmVkIGxvbmcgYXJnKQogewpAQCAtNDQ5LDYgKzUwNSw5IEBA IHN0YXRpYyBsb25nIHN5bmNfZmlsZV9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQg aW50IGNtZCwKIAljYXNlIFNZTkNfSU9DX0ZJTEVfSU5GTzoKIAkJcmV0dXJuIHN5bmNfZmlsZV9p b2N0bF9mZW5jZV9pbmZvKHN5bmNfZmlsZSwgYXJnKTsKIAorCWNhc2UgU1lOQ19JT0NfVFlQRToK KwkJcmV0dXJuIHN5bmNfZmlsZV9pb2N0bF90eXBlKHN5bmNfZmlsZSwgYXJnKTsKKwogCWRlZmF1 bHQ6CiAJCXJldHVybiAtRU5PVFRZOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCmluZGV4IGE1NjczMTAu LmJiNWE3NDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYwpAQCAtMTkxNyw3ICsxOTE3LDcgQEAgc3RhdGlj IGludCBzZXR1cF9vdXRfZmVuY2Uoc3RydWN0IGRybV9vdXRfZmVuY2Vfc3RhdGUgKmZlbmNlX3N0 YXRlLAogCWlmIChwdXRfdXNlcihmZW5jZV9zdGF0ZS0+ZmQsIGZlbmNlX3N0YXRlLT5vdXRfZmVu Y2VfcHRyKSkKIAkJcmV0dXJuIC1FRkFVTFQ7CiAKLQlmZW5jZV9zdGF0ZS0+c3luY19maWxlID0g c3luY19maWxlX2NyZWF0ZShmZW5jZSk7CisJZmVuY2Vfc3RhdGUtPnN5bmNfZmlsZSA9IHN5bmNf ZmlsZV9jcmVhdGUoZmVuY2UsIFNZTkNfRklMRV9UWVBFX0ZFTkNFLCAwKTsKIAlpZiAoIWZlbmNl X3N0YXRlLT5zeW5jX2ZpbGUpCiAJCXJldHVybiAtRU5PTUVNOwogCmRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L3N5bmNfZmlsZS5oIGIvaW5jbHVkZS9saW51eC9zeW5jX2ZpbGUuaAppbmRleCAz ZTNhYjg0Li5lZGU0MTgyIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L3N5bmNfZmlsZS5oCisr KyBiL2luY2x1ZGUvbGludXgvc3luY19maWxlLmgKQEAgLTIwLDYgKzIwLDggQEAKICNpbmNsdWRl IDxsaW51eC9zcGlubG9jay5oPgogI2luY2x1ZGUgPGxpbnV4L2RtYS1mZW5jZS5oPgogI2luY2x1 ZGUgPGxpbnV4L2RtYS1mZW5jZS1hcnJheS5oPgorI2luY2x1ZGUgPHVhcGkvbGludXgvc3luY19m aWxlLmg+CisKIAogLyoqCiAgKiBzdHJ1Y3Qgc3luY19maWxlIC0gc3luYyBmaWxlIHRvIGV4cG9y dCB0byB0aGUgdXNlcnNwYWNlCkBAIC0zMCw2ICszMiw4IEBACiAgKiBAd3E6CQkJd2FpdCBxdWV1 ZSBmb3IgZmVuY2Ugc2lnbmFsaW5nCiAgKiBAZmVuY2U6CQlmZW5jZSB3aXRoIHRoZSBmZW5jZXMg aW4gdGhlIHN5bmNfZmlsZQogICogQGNiOgkJCWZlbmNlIGNhbGxiYWNrIGluZm9ybWF0aW9uCisg KiBAdHlwZTogICAgICAgICAgICAgICBzeW5jIGZpbGUgdHlwZQorICogQGZsYWdzOiAgICAgICAg ICAgICAgZmxhZ3MgdXNlZCB0byBjcmVhdGUgc3luYyBmaWxlCiAgKi8KIHN0cnVjdCBzeW5jX2Zp bGUgewogCXN0cnVjdCBmaWxlCQkqZmlsZTsKQEAgLTQzLDExICs0NywxNCBAQCBzdHJ1Y3Qgc3lu Y19maWxlIHsKIAogCXN0cnVjdCBkbWFfZmVuY2UJKmZlbmNlOwogCXN0cnVjdCBkbWFfZmVuY2Vf Y2IgY2I7CisJdWludDMyX3QgdHlwZTsKKwl1aW50MzJfdCBmbGFnczsKIH07CiAKICNkZWZpbmUg UE9MTF9FTkFCTEVEIERNQV9GRU5DRV9GTEFHX1VTRVJfQklUUwogCi1zdHJ1Y3Qgc3luY19maWxl ICpzeW5jX2ZpbGVfY3JlYXRlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKK2ludCBzeW5jX2Zp bGVfdmFsaWRhdGVfdHlwZV9mbGFncyh1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFncyk7Citz dHJ1Y3Qgc3luY19maWxlICpzeW5jX2ZpbGVfY3JlYXRlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl LCB1aW50MzJfdCB0eXBlLCB1aW50MzJfdCBmbGFncyk7CiBzdHJ1Y3QgZG1hX2ZlbmNlICpzeW5j X2ZpbGVfZ2V0X2ZlbmNlKGludCBmZCk7CiAKICNlbmRpZiAvKiBfTElOVVhfU1lOQ19IICovCmRp ZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvbGludXgvc3luY19maWxlLmggYi9pbmNsdWRlL3VhcGkv bGludXgvc3luY19maWxlLmgKaW5kZXggNWIyODdkNi4uZjQzOWNkYSAxMDA2NDQKLS0tIGEvaW5j bHVkZS91YXBpL2xpbnV4L3N5bmNfZmlsZS5oCisrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9zeW5j X2ZpbGUuaApAQCAtNjksNiArNjksMjYgQEAgc3RydWN0IHN5bmNfZmlsZV9pbmZvIHsKICNkZWZp bmUgU1lOQ19JT0NfTUFHSUMJCSc+JwogCiAvKioKKyAqIERPQzogU1lOQ19GSUxFX1RZUEVfRkVO Q0UgLSBmZW5jZSBzeW5jIGZpbGUgb2JqZWN0CisgKgorICogVGhpcyBzeW5jIGZpbGUgaXMgYSB3 cmFwcGVyIGFyb3VuZCBhIGRtYSBmZW5jZSBvciBhIGRtYSBmZW5jZSBhcnJheS4KKyAqIEl0IGNh biBiZSBtZXJnZWQgd2l0aCBhbm90aGVyIGZlbmNlIHN5bmMgZmlsZSBvYmplY3QgdG8gY3JlYXRl IGEgbmV3CisgKiBtZXJnZWQgb2JqZWN0LgorICogVGhlIGZlbmNlIGJhY2tpbmcgdGhpcyBvYmpl Y3QgY2Fubm90IGJlIHJlcGxhY2VkLgorICogVGhpcyBpcyB1c2VmdWwgZm9yIHNoYXJlZCBmZW5j ZXMuCisgKi8KKyNkZWZpbmUgU1lOQ19GSUxFX1RZUEVfRkVOQ0UgMAorCisvKioKKyAqIHN0cnVj dCBzeW5jX2ZpbGVfdHlwZSAtIGRhdGEgcmV0dXJuZWQgZnJvbSBzeW5jIGZpbGUgdHlwZSBpb2N0 bAorICogQHR5cGU6CXN5bmNfZmlsZSB0eXBlCisgKiBAZmxhZ3M6CXN5bmNfZmlsZSBjcmVhdGlv biBmbGFncworICovCitzdHJ1Y3Qgc3luY19maWxlX3R5cGUgeworCV9fdTMyCXR5cGU7CisJX191 MzIJZmxhZ3M7Cit9OworLyoqCiAgKiBPcGNvZGVzICAwLCAxIGFuZCAyIHdlcmUgYnVybmVkIGR1 cmluZyBhIEFQSSBjaGFuZ2UgdG8gYXZvaWQgdXNlcnMgb2YgdGhlCiAgKiBvbGQgQVBJIHRvIGdl dCB3ZWlyZCBlcnJvcnMgd2hlbiB0cnlpbmcgdG8gaGFuZGxpbmcgc3luY19maWxlcy4gVGhlIEFQ SQogICogY2hhbmdlIGhhcHBlbmVkIGR1cmluZyB0aGUgZGUtc3RhZ2Ugb2YgdGhlIFN5bmMgRnJh bWV3b3JrIHdoZW4gdGhlcmUgd2FzCkBAIC05NCw0ICsxMTQsMTEgQEAgc3RydWN0IHN5bmNfZmls ZV9pbmZvIHsKICAqLwogI2RlZmluZSBTWU5DX0lPQ19GSUxFX0lORk8JX0lPV1IoU1lOQ19JT0Nf TUFHSUMsIDQsIHN0cnVjdCBzeW5jX2ZpbGVfaW5mbykKIAorLyoqCisgKiBET0M6IFNZTkNfSU9D X1RZUEUgLSBnZXQgY3JlYXRpb24gdHlwZSBhbmQgZmxhZ3Mgb2Ygc3luY19maWxlLgorICoKKyAq IFRha2VzIGEgc3RydWN0IHN5bmNfZmlsZV90eXBlLiBSZXR1cm5zIHRoZSBjcmVhdGVkIHZhbHVl cyBvZiB0eXBlIGFuZCBmbGFncy4KKyAqLworI2RlZmluZSBTWU5DX0lPQ19UWVBFCQlfSU9XUihT WU5DX0lPQ19NQUdJQywgNSwgc3RydWN0IHN5bmNfZmlsZV90eXBlKQorCiAjZW5kaWYgLyogX1VB UElfTElOVVhfU1lOQ19IICovCi0tIAoyLjkuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9hbWQtZ2Z4Cg==