From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 28/53] drm/i915: Update queue_flip() to do explicit request management Date: Thu, 19 Feb 2015 17:17:40 +0000 Message-ID: <1424366285-29232-29-git-send-email-John.C.Harrison@Intel.com> References: <1423828140-10653-1-git-send-email-John.C.Harrison@Intel.com> <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id DFE84720A3 for ; Thu, 19 Feb 2015 09:18:35 -0800 (PST) In-Reply-To: <1424366285-29232-1-git-send-email-John.C.Harrison@Intel.com> 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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClVwZGF0ZWQg dGhlIGRpc3BsYXkgcGFnZSBmbGlwIGNvZGUgdG8gZG8gZXhwbGljaXQgcmVxdWVzdCBjcmVhdGlv biBhbmQKc3VibWlzc2lvbiByYXRoZXIgdGhhbiByZWx5aW5nIG9uIHRoZSBPTFIgYW5kIGp1c3Qg aG9waW5nIHRoYXQgdGhlIHJlcXVlc3QKYWN0dWFsbHkgZ2V0cyBzdWJtaXR0ZWQgYXQgc29tZSBy YW5kb20gcG9pbnQuCgpUaGUgc2VxdWVuY2UgaXMgbm93IHRvIGNyZWF0ZSBhIHJlcXVlc3QsIHF1 ZXVlIHRoZSB3b3JrIHRvIHRoZSByaW5nLCBhc3NpZ24gdGhlCmtub3duIHJlcXVlc3QgdG8gdGhl IGZsaXAgcXVldWUgd29yayBpdGVtIHRoZW4gYWN0dWFsbHkgc3VibWl0IHRoZSB3b3JrIGFuZCBw b3N0CnRoZSByZXF1ZXN0LgoKRm9yOiBWSVotNTExNQpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJp c29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggICAgICAgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyAgICB8ICAgNDMgKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgICAgMiArLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgICAgMSAtCiA0IGZpbGVzIGNoYW5nZWQs IDMwIGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CmluZGV4IGU5Y2MzNDMuLjM0ZmQzMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNTYw LDcgKzU2MCw3IEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKIAlpbnQgKCpxdWV1 ZV9mbGlwKShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJ CQkgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAogCQkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLAotCQkJICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQkJICBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJCSAgdWludDMyX3QgZmxhZ3MpOwog CXZvaWQgKCp1cGRhdGVfcHJpbWFyeV9wbGFuZSkoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJ CSAgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKaW5kZXggM2IwZmU5Zi4uYzMyYmMwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwpAQCAtOTI1MSw5ICs5MjUxLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuMl9x dWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcs CisJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCSB1aW50MzJfdCBm bGFncykKIHsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCXN0 cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAl1MzIg ZmxpcF9tYXNrOwogCWludCByZXQ7CkBAIC05Mjc4LDcgKzkyNzksNiBAQCBzdGF0aWMgaW50IGlu dGVsX2dlbjJfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWludGVsX3Jpbmdf ZW1pdChyaW5nLCAwKTsgLyogYXV4IGRpc3BsYXkgYmFzZSBhZGRyZXNzLCB1bnVzZWQgKi8KIAog CWludGVsX21hcmtfcGFnZV9mbGlwX2FjdGl2ZShpbnRlbF9jcnRjKTsKLQlfX2ludGVsX3Jpbmdf YWR2YW5jZShyaW5nKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtOTI4Niw5ICs5Mjg2LDEwIEBAIHN0 YXRpYyBpbnQgaW50ZWxfZ2VuM19xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJ CQkJIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIsCiAJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJIHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLAogCQkJCSB1aW50MzJfdCBmbGFncykKIHsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nID0gcmVxLT5yaW5nOwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50 ZWxfY3J0YyhjcnRjKTsKIAl1MzIgZmxpcF9tYXNrOwogCWludCByZXQ7CkBAIC05MzEwLDcgKzkz MTEsNiBAQCBzdGF0aWMgaW50IGludGVsX2dlbjNfcXVldWVfZmxpcChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsKIAogCWludGVsX21hcmtf cGFnZV9mbGlwX2FjdGl2ZShpbnRlbF9jcnRjKTsKLQlfX2ludGVsX3JpbmdfYWR2YW5jZShyaW5n KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtOTMxOCw5ICs5MzE4LDEwIEBAIHN0YXRpYyBpbnQgaW50 ZWxfZ2VuNF9xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBk cm1fY3J0YyAqY3J0YywKIAkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsCisJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCSB1 aW50MzJfdCBmbGFncykKIHsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5y aW5nOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMp OwogCXVpbnQzMl90IHBmLCBwaXBlc3JjOwpAQCAtOTM0OSw3ICs5MzUwLDYgQEAgc3RhdGljIGlu dCBpbnRlbF9nZW40X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpbnRlbF9y aW5nX2VtaXQocmluZywgcGYgfCBwaXBlc3JjKTsKIAogCWludGVsX21hcmtfcGFnZV9mbGlwX2Fj dGl2ZShpbnRlbF9jcnRjKTsKLQlfX2ludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIAlyZXR1cm4g MDsKIH0KIApAQCAtOTM1Nyw5ICs5MzU3LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuNl9xdWV1 ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywKIAkJCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJ CQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCSB1aW50MzJfdCBmbGFn cykKIHsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0 IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwogCXVpbnQzMl90 IHBmLCBwaXBlc3JjOwpAQCAtOTM4NSw3ICs5Mzg2LDYgQEAgc3RhdGljIGludCBpbnRlbF9nZW42 X3F1ZXVlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpbnRlbF9yaW5nX2VtaXQocmlu ZywgcGYgfCBwaXBlc3JjKTsKIAogCWludGVsX21hcmtfcGFnZV9mbGlwX2FjdGl2ZShpbnRlbF9j cnRjKTsKLQlfX2ludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIAlyZXR1cm4gMDsKIH0KIApAQCAt OTM5Myw5ICs5MzkzLDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfZ2VuN19xdWV1ZV9mbGlwKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkgc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmosCi0JCQkJIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkJIHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCSB1aW50MzJfdCBmbGFncykKIHsKKwlzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwogCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAl1aW50MzJfdCBwbGFuZV9iaXQg PSAwOwogCWludCBsZW4sIHJldDsKQEAgLTk0ODAsNyArOTQ4MSw2IEBAIHN0YXRpYyBpbnQgaW50 ZWxfZ2VuN19xdWV1ZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaW50ZWxfcmluZ19l bWl0KHJpbmcsIChNSV9OT09QKSk7CiAKIAlpbnRlbF9tYXJrX3BhZ2VfZmxpcF9hY3RpdmUoaW50 ZWxfY3J0Yyk7Ci0JX19pbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7CiAJcmV0dXJuIDA7CiB9CiAK QEAgLTk2MzYsNyArOTYzNiw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfZGVmYXVsdF9xdWV1ZV9mbGlw KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkJICAgIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAkJCQkgICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsCiAJCQkJICAgIHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCi0JCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCisJCQkJICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQkJCSAgICB1 aW50MzJfdCBmbGFncykKIHsKIAlyZXR1cm4gLUVOT0RFVjsKQEAgLTk3MTUsNiArOTcxNSw3IEBA IHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CWVudW0gcGlwZSBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlzdHJ1Y3QgaW50ZWxfdW5waW5f d29yayAqd29yazsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOworCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKIAlpbnQgcmV0OwogCiAJLyoKQEAgLTk4MjgsMTMg Kzk4MjksMjAgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZ3b3JrLT5mbGlwX3F1ZXVlZF9y ZXEsCiAJCQkJCW9iai0+bGFzdF93cml0ZV9yZXEpOwogCX0gZWxzZSB7Ci0JCXJldCA9IGRldl9w cml2LT5kaXNwbGF5LnF1ZXVlX2ZsaXAoZGV2LCBjcnRjLCBmYiwgb2JqLCByaW5nLAotCQkJCQkJ ICAgcGFnZV9mbGlwX2ZsYWdzKTsKKwkJcmV0ID0gZGV2X3ByaXYtPmd0LmFsbG9jX3JlcXVlc3Qo cmluZywgcmluZy0+ZGVmYXVsdF9jb250ZXh0LCAmcmVxdWVzdCk7CiAJCWlmIChyZXQpCiAJCQln b3RvIGNsZWFudXBfdW5waW47CiAKLQkJaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJndvcmstPmZs aXBfcXVldWVkX3JlcSwKLQkJCQkJaW50ZWxfcmluZ19nZXRfcmVxdWVzdChyaW5nKSk7CisJCXJl dCA9IGRldl9wcml2LT5kaXNwbGF5LnF1ZXVlX2ZsaXAoZGV2LCBjcnRjLCBmYiwgb2JqLCByZXF1 ZXN0LAorCQkJCQkJICAgcGFnZV9mbGlwX2ZsYWdzKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gY2xl YW51cF9yZXF1ZXN0OworCisJCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZ3b3JrLT5mbGlwX3F1 ZXVlZF9yZXEsIHJlcXVlc3QpOworCisJCXJldCA9IGk5MTVfYWRkX3JlcXVlc3Rfbm9fZmx1c2go cmVxdWVzdC0+cmluZyk7CisJCWlmIChyZXQpCisJCQlnb3RvIGNsZWFudXBfcmVxdWVzdF9hc3Np Z247CiAJfQogCiAJd29yay0+ZmxpcF9xdWV1ZWRfdmJsYW5rID0gZHJtX3ZibGFua19jb3VudChk ZXYsIGludGVsX2NydGMtPnBpcGUpOwpAQCAtOTg1MSw2ICs5ODU5LDExIEBAIHN0YXRpYyBpbnQg aW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCiAJcmV0dXJuIDA7 CiAKK2NsZWFudXBfcmVxdWVzdF9hc3NpZ246CisJaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJndv cmstPmZsaXBfcXVldWVkX3JlcSwgTlVMTCk7CitjbGVhbnVwX3JlcXVlc3Q6CisJaTkxNV9nZW1f cmVxdWVzdF91bnJlZmVyZW5jZShyZXF1ZXN0KTsKKwogY2xlYW51cF91bnBpbjoKIAlpbnRlbF91 bnBpbl9mYl9vYmoob2JqKTsKIGNsZWFudXBfcGVuZGluZzoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYwppbmRleCBlZmIxNzI5Li4xOGQxMmE1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCkBAIC04MSw3ICs4MSw3IEBAIGJvb2wgaW50ZWxfcmlu Z19zdG9wcGVkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJcmV0dXJuIGRldl9wcml2 LT5ncHVfZXJyb3Iuc3RvcF9yaW5ncyAmIGludGVsX3JpbmdfZmxhZyhyaW5nKTsKIH0KIAotdm9p ZCBfX2ludGVsX3JpbmdfYWR2YW5jZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQorc3Rh dGljIHZvaWQgX19pbnRlbF9yaW5nX2FkdmFuY2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZykKIHsKIAlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHJpbmctPmJ1ZmZlcjsK IAlyaW5nYnVmLT50YWlsICY9IHJpbmdidWYtPnNpemUgLSAxOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IGMzMmY1YTEuLjI1ZDVlZGUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTQxMCw3ICs0MTAsNiBAQCBpbnQgX19pbnRl bF9yaW5nX3NwYWNlKGludCBoZWFkLCBpbnQgdGFpbCwgaW50IHNpemUpOwogdm9pZCBpbnRlbF9y aW5nX3VwZGF0ZV9zcGFjZShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1Zik7CiBpbnQg aW50ZWxfcmluZ19zcGFjZShzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1Zik7CiBib29s IGludGVsX3Jpbmdfc3RvcHBlZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKLXZvaWQg X19pbnRlbF9yaW5nX2FkdmFuY2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CiAKIGlu dCBfX211c3RfY2hlY2sgaW50ZWxfcmluZ19pZGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpOwogdm9pZCBpbnRlbF9yaW5nX2luaXRfc2Vxbm8oc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywgdTMyIHNlcW5vKTsKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==