From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v5 12/12] KVM: arm64: add trace points for guest_debug debug Date: Fri, 29 May 2015 10:30:28 +0100 Message-ID: <1432891828-4816-13-git-send-email-alex.bennee@linaro.org> References: <1432891828-4816-1-git-send-email-alex.bennee@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Russell King , Gleb Natapov , jan.kiszka@siemens.com, Will Deacon , open list , dahi@linux.vnet.ibm.com, Catalin Marinas , r65777@freescale.com, bp@suse.de To: kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, kvmarm@lists.cs.columbia.edu, christoffer.dall@linaro.org, marc.zyngier@arm.com, peter.maydell@linaro.org, agraf@suse.de, drjones@redhat.com, pbonzini@redhat.com, zhichao.huang@linaro.org Return-path: In-Reply-To: <1432891828-4816-1-git-send-email-alex.bennee@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: kvmarm-bounces@lists.cs.columbia.edu Sender: kvmarm-bounces@lists.cs.columbia.edu List-Id: kvm.vger.kernel.org VGhpcyBpbmNsdWRlcyB0cmFjZSBwb2ludHMgZm9yOgogIGt2bV9hcmNoX3NldHVwX2d1ZXN0X2Rl YnVnCiAga3ZtX2FyY2hfY2xlYXJfZ3Vlc3RfZGVidWcKCkkndmUgYWxzbyBhZGRlZCBzb21lIGdl bmVyaWMgcmVnaXN0ZXIgc2V0dGluZyB0cmFjZSBldmVudHMgYW5kIGFsc28gYQp0cmFjZSBwb2lu dCB0byBkdW1wIHRoZSBhcnJheSBvZiBoYXJkd2FyZSByZWdpc3RlcnMuCgpTaWduZWQtb2ZmLWJ5 OiBBbGV4IEJlbm7DqWUgPGFsZXguYmVubmVlQGxpbmFyby5vcmc+CgotLS0KdjMKICAtIGFkZCB0 cmFjZSBldmVudCBmb3IgZGVidWcgYWNjZXNzLgogIC0gcmVtb3ZlIHNob3J0IHRyYWNlICNkZWZp bmUsIHJlbmFtZSB0cmFjZSBldmVudHMKICAtIHVzZSBfX3ByaW50X2FycmF5IHdpdGggZml4ZWQg YXJyYXkgaW5zdGVhZCBvZiBvd24gZnVuYwogIC0gcmF0aW9uYWxpc2UgdHJhY2UgcG9pbnRzIChv bmx5IG9uZSBwZXIgcmVnaXN0ZXIgY2hhbmdlZCkKICAtIGFkZCB2Y3B1IHB0ciB0byB0aGUgZGVi dWdfc2V0dXAgdHJhY2UKICAtIHJlbW92ZSA6OiBpbiBwcmludHMKdjQKICAtIHUzMi91NjQgc3Bs aXQgb24gZGVidWcgcmVnaXN0ZXJzCiAgLSBmaXggZm9yIHJlbmFtZXMKICAtIGFkZCB0cmFjaW5n IG9mIHRyYXBzL3NldF9ndWVzdF9kZWJ1ZwogIC0gcmVtb3ZlIGhhbmRsZV9ndWVzdF9kZWJ1ZyB0 cmFjZQp2NQogIC0gbWlub3IgcHJpbnQgZm10IGZpeAogIC0gcm0gcHN0YXRlIHRyYWNlcwotLS0K IGFyY2gvYXJtL2t2bS9hcm0uYyAgICAgICAgfCAgIDIgKwogYXJjaC9hcm0va3ZtL3RyYWNlLmgg ICAgICB8ICAxNyArKysrKysrKwogYXJjaC9hcm02NC9rdm0vZGVidWcuYyAgICB8ICAzNSArKysr KysrKysrKysrKystCiBhcmNoL2FybTY0L2t2bS9zeXNfcmVncy5jIHwgIDEwICsrKysrCiBhcmNo L2FybTY0L2t2bS90cmFjZS5oICAgIHwgMTA1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgMTY4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9rdm0vYXJtLmMgYi9hcmNoL2FybS9r dm0vYXJtLmMKaW5kZXggNmRmNDdjMS4uYTkzOWE0ZSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va3Zt L2FybS5jCisrKyBiL2FyY2gvYXJtL2t2bS9hcm0uYwpAQCAtMzIzLDYgKzMyMyw4IEBAIHZvaWQg a3ZtX2FyY2hfdmNwdV9wdXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQogaW50IGt2bV9hcmNoX3Zj cHVfaW9jdGxfc2V0X2d1ZXN0X2RlYnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwKIAkJCQkJc3Ry dWN0IGt2bV9ndWVzdF9kZWJ1ZyAqZGJnKQogeworCXRyYWNlX2t2bV9zZXRfZ3Vlc3RfZGVidWco dmNwdSwgZGJnLT5jb250cm9sKTsKKwogCWlmIChkYmctPmNvbnRyb2wgJiB+S1ZNX0dVRVNUREJH X1ZBTElEX01BU0spCiAJCXJldHVybiAtRUlOVkFMOwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9r dm0vdHJhY2UuaCBiL2FyY2gvYXJtL2t2bS90cmFjZS5oCmluZGV4IDBlYzM1MzkuLjNlMzQ2YTYg MTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL2t2bS90cmFjZS5oCisrKyBiL2FyY2gvYXJtL2t2bS90cmFj ZS5oCkBAIC0zMTcsNiArMzE3LDIzIEBAIFRSQUNFX0VWRU5UKGt2bV90b2dnbGVfY2FjaGUsCiAJ CSAgICAgIF9fZW50cnktPm5vdyA/ICJvbiIgOiAib2ZmIikKICk7CiAKK1RSQUNFX0VWRU5UKGt2 bV9zZXRfZ3Vlc3RfZGVidWcsCisJVFBfUFJPVE8oc3RydWN0IGt2bV92Y3B1ICp2Y3B1LCBfX3Uz MiBndWVzdF9kZWJ1ZyksCisJVFBfQVJHUyh2Y3B1LCBndWVzdF9kZWJ1ZyksCisKKwlUUF9TVFJV Q1RfX2VudHJ5KAorCQlfX2ZpZWxkKHN0cnVjdCBrdm1fdmNwdSAqLCB2Y3B1KQorCQlfX2ZpZWxk KF9fdTMyLCBndWVzdF9kZWJ1ZykKKwkpLAorCisJVFBfZmFzdF9hc3NpZ24oCisJCV9fZW50cnkt PnZjcHUgPSB2Y3B1OworCQlfX2VudHJ5LT5ndWVzdF9kZWJ1ZyA9IGd1ZXN0X2RlYnVnOworCSks CisKKwlUUF9wcmludGsoInZjcHU6ICVwLCBmbGFnczogMHglMDh4IiwgX19lbnRyeS0+dmNwdSwg X19lbnRyeS0+Z3Vlc3RfZGVidWcpCispOworCiAjZW5kaWYgLyogX1RSQUNFX0tWTV9IICovCiAK ICN1bmRlZiBUUkFDRV9JTkNMVURFX1BBVEgKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL2Rl YnVnLmMgYi9hcmNoL2FybTY0L2t2bS9kZWJ1Zy5jCmluZGV4IDNjMGRhYWUuLjk3MjA0YjUgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtNjQva3ZtL2RlYnVnLmMKKysrIGIvYXJjaC9hcm02NC9rdm0vZGVi dWcuYwpAQCAtMjQsNiArMjQsOCBAQAogI2luY2x1ZGUgPGFzbS9rdm1fYXJtLmg+CiAjaW5jbHVk ZSA8YXNtL2t2bV9lbXVsYXRlLmg+CiAKKyNpbmNsdWRlICJ0cmFjZS5oIgorCiAvKiBUaGVzZSBh cmUgdGhlIGJpdHMgb2YgTURTQ1JfRUwxIHdlIG1heSBtYW5pcHVsYXRlICovCiAjZGVmaW5lIE1E U0NSX0VMMV9ERUJVR19NQVNLCShEQkdfTURTQ1JfU1MgfCBcCiAJCQkJREJHX01EU0NSX0tERSB8 IFwKQEAgLTQ2LDExICs0OCwxNyBAQCBzdGF0aWMgREVGSU5FX1BFUl9DUFUodTMyLCBtZGNyX2Vs Mik7CiBzdGF0aWMgdm9pZCBzYXZlX2d1ZXN0X2RlYnVnX3JlZ3Moc3RydWN0IGt2bV92Y3B1ICp2 Y3B1KQogewogCXZjcHUtPmFyY2guZ3Vlc3RfZGVidWdfcHJlc2VydmVkLm1kc2NyX2VsMSA9IHZj cHVfc3lzX3JlZyh2Y3B1LCBNRFNDUl9FTDEpOworCisJdHJhY2Vfa3ZtX2FybV9zZXRfZHJlZzMy KCJTYXZlZCBNRFNDUl9FTDEiLAorCQkJCXZjcHUtPmFyY2guZ3Vlc3RfZGVidWdfcHJlc2VydmVk Lm1kc2NyX2VsMSk7CiB9CiAKIHN0YXRpYyB2b2lkIHJlc3RvcmVfZ3Vlc3RfZGVidWdfcmVncyhz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiB7CiAJdmNwdV9zeXNfcmVnKHZjcHUsIE1EU0NSX0VMMSkg PSB2Y3B1LT5hcmNoLmd1ZXN0X2RlYnVnX3ByZXNlcnZlZC5tZHNjcl9lbDE7CisKKwl0cmFjZV9r dm1fYXJtX3NldF9kcmVnMzIoIlJlc3RvcmVkIE1EU0NSX0VMMSIsCisJCQkJdmNwdV9zeXNfcmVn KHZjcHUsIE1EU0NSX0VMMSkpOwogfQogCiAvKioKQEAgLTkyLDYgKzEwMCw4IEBAIHZvaWQga3Zt X2FybV9zZXR1cF9kZWJ1ZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCiB7CiAJYm9vbCB0cmFwX2Rl YnVnID0gISh2Y3B1LT5hcmNoLmRlYnVnX2ZsYWdzICYgS1ZNX0FSTTY0X0RFQlVHX0RJUlRZKTsK IAorCXRyYWNlX2t2bV9hcm1fc2V0dXBfZGVidWcodmNwdSwgdmNwdS0+Z3Vlc3RfZGVidWcpOwor CiAJdmNwdS0+YXJjaC5tZGNyX2VsMiA9IF9fdGhpc19jcHVfcmVhZChtZGNyX2VsMikgJiBNRENS X0VMMl9IUE1OX01BU0s7CiAJdmNwdS0+YXJjaC5tZGNyX2VsMiB8PSAoTURDUl9FTDJfVFBNIHwK IAkJCQlNRENSX0VMMl9UUE1DUiB8CkBAIC0xMjEsNiArMTMxLDggQEAgdm9pZCBrdm1fYXJtX3Nl dHVwX2RlYnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAkJCXZjcHVfc3lzX3JlZyh2Y3B1LCBN RFNDUl9FTDEpICY9IH5EQkdfTURTQ1JfU1M7CiAJCX0KIAorCQl0cmFjZV9rdm1fYXJtX3NldF9k cmVnMzIoIlNQU1JfRUwyIiwgKnZjcHVfY3Bzcih2Y3B1KSk7CisKIAkJLyoKIAkJICogSFcgQnJl YWsvV2F0Y2ggcG9pbnRzCiAJCSAqCkBAIC0xMzcsMTYgKzE0OSwyOSBAQCB2b2lkIGt2bV9hcm1f c2V0dXBfZGVidWcoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQogCQkJdmNwdS0+YXJjaC5kZWJ1Z19w dHIgPSAmdmNwdS0+YXJjaC5leHRlcm5hbF9kZWJ1Z19zdGF0ZTsKIAkJCXZjcHUtPmFyY2guZGVi dWdfZmxhZ3MgfD0gS1ZNX0FSTTY0X0RFQlVHX0RJUlRZOwogCQkJdHJhcF9kZWJ1ZyA9IHRydWU7 CisKKwkJCXRyYWNlX2t2bV9hcm1fc2V0X3JlZ3NldCgiQktQVFMiLCBnZXRfbnVtX2JycHMoKSwK KwkJCQkJCSZ2Y3B1LT5hcmNoLmRlYnVnX3B0ci0+ZGJnX2JjclswXSwKKwkJCQkJCSZ2Y3B1LT5h cmNoLmRlYnVnX3B0ci0+ZGJnX2J2clswXSk7CisKKwkJCXRyYWNlX2t2bV9hcm1fc2V0X3JlZ3Nl dCgiV0FQVFMiLCBnZXRfbnVtX3dycHMoKSwKKwkJCQkJCSZ2Y3B1LT5hcmNoLmRlYnVnX3B0ci0+ ZGJnX3djclswXSwKKwkJCQkJCSZ2Y3B1LT5hcmNoLmRlYnVnX3B0ci0+ZGJnX3d2clswXSk7CiAJ CX0KIAl9CiAKIAkvKiBUcmFwIGRlYnVnIHJlZ2lzdGVyIGFjY2VzcyAqLwogCWlmICh0cmFwX2Rl YnVnKQogCQl2Y3B1LT5hcmNoLm1kY3JfZWwyIHw9IE1EQ1JfRUwyX1REQTsKKworCXRyYWNlX2t2 bV9hcm1fc2V0X2RyZWczMigiTURDUl9FTDIiLCB2Y3B1LT5hcmNoLm1kY3JfZWwyKTsKKwl0cmFj ZV9rdm1fYXJtX3NldF9kcmVnMzIoIk1EU0NSX0VMMSIsIHZjcHVfc3lzX3JlZyh2Y3B1LCBNRFND Ul9FTDEpKTsKIH0KIAogdm9pZCBrdm1fYXJtX2NsZWFyX2RlYnVnKHN0cnVjdCBrdm1fdmNwdSAq dmNwdSkKIHsKKwl0cmFjZV9rdm1fYXJtX2NsZWFyX2RlYnVnKHZjcHUtPmd1ZXN0X2RlYnVnKTsK KwogCWlmICh2Y3B1LT5ndWVzdF9kZWJ1ZykgewogCQlyZXN0b3JlX2d1ZXN0X2RlYnVnX3JlZ3Mo dmNwdSk7CiAKQEAgLTE1NCw4ICsxNzksMTYgQEAgdm9pZCBrdm1fYXJtX2NsZWFyX2RlYnVnKHN0 cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAkJICogSWYgd2Ugd2VyZSB1c2luZyBIVyBkZWJ1ZyB3ZSBu ZWVkIHRvIHJlc3RvcmUgdGhlCiAJCSAqIGRlYnVnX3B0ciB0byB0aGUgZ3Vlc3QgZGVidWcgc3Rh dGUuCiAJCSAqLwotCQlpZiAodmNwdS0+Z3Vlc3RfZGVidWcgJiBLVk1fR1VFU1REQkdfVVNFX0hX X0JQKQorCQlpZiAodmNwdS0+Z3Vlc3RfZGVidWcgJiBLVk1fR1VFU1REQkdfVVNFX0hXX0JQKSB7 CiAJCQl2Y3B1LT5hcmNoLmRlYnVnX3B0ciA9ICZ2Y3B1LT5hcmNoLnZjcHVfZGVidWdfc3RhdGU7 CiAKKwkJCXRyYWNlX2t2bV9hcm1fc2V0X3JlZ3NldCgiQktQVFMiLCBnZXRfbnVtX2JycHMoKSwK KwkJCQkJCSZ2Y3B1LT5hcmNoLmRlYnVnX3B0ci0+ZGJnX2JjclswXSwKKwkJCQkJCSZ2Y3B1LT5h cmNoLmRlYnVnX3B0ci0+ZGJnX2J2clswXSk7CisKKwkJCXRyYWNlX2t2bV9hcm1fc2V0X3JlZ3Nl dCgiV0FQVFMiLCBnZXRfbnVtX3dycHMoKSwKKwkJCQkJCSZ2Y3B1LT5hcmNoLmRlYnVnX3B0ci0+ ZGJnX3djclswXSwKKwkJCQkJCSZ2Y3B1LT5hcmNoLmRlYnVnX3B0ci0+ZGJnX3d2clswXSk7CisJ CX0KIAl9CiB9CmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9zeXNfcmVncy5jIGIvYXJjaC9h cm02NC9rdm0vc3lzX3JlZ3MuYwppbmRleCA0MDU0MDNlLi4xNWJjODUxIDEwMDY0NAotLS0gYS9h cmNoL2FybTY0L2t2bS9zeXNfcmVncy5jCisrKyBiL2FyY2gvYXJtNjQva3ZtL3N5c19yZWdzLmMK QEAgLTM4LDYgKzM4LDggQEAKIAogI2luY2x1ZGUgInN5c19yZWdzLmgiCiAKKyNpbmNsdWRlICJ0 cmFjZS5oIgorCiAvKgogICogQWxsIG9mIHRoaXMgZmlsZSBpcyBleHRyZW1seSBzaW1pbGFyIHRv IHRoZSBBUk0gY29wcm9jLmMsIGJ1dCB0aGUKICAqIHR5cGVzIGFyZSBkaWZmZXJlbnQuIE15IGd1 dCBmZWVsaW5nIGlzIHRoYXQgaXQgc2hvdWxkIGJlIHByZXR0eQpAQCAtMjA4LDYgKzIxMCw4IEBA IHN0YXRpYyBib29sIHRyYXBfZGVidWdfcmVncyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsCiAJCSp2 Y3B1X3JlZyh2Y3B1LCBwLT5SdCkgPSB2Y3B1X3N5c19yZWcodmNwdSwgci0+cmVnKTsKIAl9CiAK Kwl0cmFjZV90cmFwX3JlZyhfX2Z1bmNfXywgci0+cmVnLCBwLT5pc193cml0ZSwgKnZjcHVfcmVn KHZjcHUsIHAtPlJ0KSk7CisKIAlyZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjIzLDYgKzIyNyw4IEBA IHN0YXRpYyBpbmxpbmUgYm9vbCB0cmFwX2RlYnVnMzIoc3RydWN0IGt2bV92Y3B1ICp2Y3B1LAog CQkqdmNwdV9yZWcodmNwdSwgcC0+UnQpID0gKnI7CiAJfQogCisJdHJhY2VfdHJhcF9yZWcoX19m dW5jX18sIHJkLT5yZWcsIHAtPmlzX3dyaXRlLCAqcik7CisKIAlyZXR1cm4gdHJ1ZTsKIH0KIApA QCAtMjM4LDYgKzI0NCw4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCB0cmFwX2RlYnVnNjQoc3RydWN0 IGt2bV92Y3B1ICp2Y3B1LAogCQkqdmNwdV9yZWcodmNwdSwgcC0+UnQpID0gKnI7CiAJfQogCisJ dHJhY2VfdHJhcF9yZWcoX19mdW5jX18sIHJkLT5yZWcsIHAtPmlzX3dyaXRlLCAqcik7CisKIAly ZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTAzMSw2ICsxMDM5LDggQEAgaW50IGt2bV9oYW5kbGVfc3lz X3JlZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1fcnVuICpydW4pCiAJc3RydWN0 IHN5c19yZWdfcGFyYW1zIHBhcmFtczsKIAl1bnNpZ25lZCBsb25nIGVzciA9IGt2bV92Y3B1X2dl dF9oc3IodmNwdSk7CiAKKwl0cmFjZV9rdm1faGFuZGxlX3N5c19yZWcoZXNyKTsKKwogCXBhcmFt cy5pc19hYXJjaDMyID0gZmFsc2U7CiAJcGFyYW1zLmlzXzMyYml0ID0gZmFsc2U7CiAJcGFyYW1z Lk9wMCA9IChlc3IgPj4gMjApICYgMzsKZGlmZiAtLWdpdCBhL2FyY2gvYXJtNjQva3ZtL3RyYWNl LmggYi9hcmNoL2FybTY0L2t2bS90cmFjZS5oCmluZGV4IDE1NzQxNmU5Li41MTIyYTU1IDEwMDY0 NAotLS0gYS9hcmNoL2FybTY0L2t2bS90cmFjZS5oCisrKyBiL2FyY2gvYXJtNjQva3ZtL3RyYWNl LmgKQEAgLTQ0LDYgKzQ0LDExMSBAQCBUUkFDRV9FVkVOVChrdm1faHZjX2FybTY0LAogCQkgIF9f ZW50cnktPnZjcHVfcGMsIF9fZW50cnktPnIwLCBfX2VudHJ5LT5pbW0pCiApOwogCitUUkFDRV9F VkVOVChrdm1fYXJtX3NldHVwX2RlYnVnLAorCVRQX1BST1RPKHN0cnVjdCBrdm1fdmNwdSAqdmNw dSwgX191MzIgZ3Vlc3RfZGVidWcpLAorCVRQX0FSR1ModmNwdSwgZ3Vlc3RfZGVidWcpLAorCisJ VFBfU1RSVUNUX19lbnRyeSgKKwkJX19maWVsZChzdHJ1Y3Qga3ZtX3ZjcHUgKiwgdmNwdSkKKwkJ X19maWVsZChfX3UzMiwgZ3Vlc3RfZGVidWcpCisJKSwKKworCVRQX2Zhc3RfYXNzaWduKAorCQlf X2VudHJ5LT52Y3B1ID0gdmNwdTsKKwkJX19lbnRyeS0+Z3Vlc3RfZGVidWcgPSBndWVzdF9kZWJ1 ZzsKKwkpLAorCisJVFBfcHJpbnRrKCJ2Y3B1OiAlcCwgZmxhZ3M6IDB4JTA4eCIsIF9fZW50cnkt PnZjcHUsIF9fZW50cnktPmd1ZXN0X2RlYnVnKQorKTsKKworVFJBQ0VfRVZFTlQoa3ZtX2FybV9j bGVhcl9kZWJ1ZywKKwlUUF9QUk9UTyhfX3UzMiBndWVzdF9kZWJ1ZyksCisJVFBfQVJHUyhndWVz dF9kZWJ1ZyksCisKKwlUUF9TVFJVQ1RfX2VudHJ5KAorCQlfX2ZpZWxkKF9fdTMyLCBndWVzdF9k ZWJ1ZykKKwkpLAorCisJVFBfZmFzdF9hc3NpZ24oCisJCV9fZW50cnktPmd1ZXN0X2RlYnVnID0g Z3Vlc3RfZGVidWc7CisJKSwKKworCVRQX3ByaW50aygiZmxhZ3M6IDB4JTA4eCIsIF9fZW50cnkt Pmd1ZXN0X2RlYnVnKQorKTsKKworVFJBQ0VfRVZFTlQoa3ZtX2FybV9zZXRfZHJlZzMyLAorCVRQ X1BST1RPKGNvbnN0IGNoYXIgKm5hbWUsIF9fdTMyIHZhbHVlKSwKKwlUUF9BUkdTKG5hbWUsIHZh bHVlKSwKKworCVRQX1NUUlVDVF9fZW50cnkoCisJCV9fZmllbGQoY29uc3QgY2hhciAqLCBuYW1l KQorCQlfX2ZpZWxkKF9fdTMyLCB2YWx1ZSkKKwkpLAorCisJVFBfZmFzdF9hc3NpZ24oCisJCV9f ZW50cnktPm5hbWUgPSBuYW1lOworCQlfX2VudHJ5LT52YWx1ZSA9IHZhbHVlOworCSksCisKKwlU UF9wcmludGsoIiVzOiAweCUwOHgiLCBfX2VudHJ5LT5uYW1lLCBfX2VudHJ5LT52YWx1ZSkKKyk7 CisKK1RSQUNFX0VWRU5UKGt2bV9hcm1fc2V0X3JlZ3NldCwKKwlUUF9QUk9UTyhjb25zdCBjaGFy ICp0eXBlLCBpbnQgbGVuLCBfX3UzMiAqY29udHJvbCwgX191NjQgKnZhbHVlKSwKKwlUUF9BUkdT KHR5cGUsIGxlbiwgY29udHJvbCwgdmFsdWUpLAorCVRQX1NUUlVDVF9fZW50cnkoCisJCV9fZmll bGQoY29uc3QgY2hhciAqLCBuYW1lKQorCQlfX2ZpZWxkKGludCwgbGVuKQorCQlfX2FycmF5KHUz MiwgY3RybHMsIDE2KQorCQlfX2FycmF5KHU2NCwgdmFsdWVzLCAxNikKKwkpLAorCVRQX2Zhc3Rf YXNzaWduKAorCQlfX2VudHJ5LT5uYW1lID0gdHlwZTsKKwkJX19lbnRyeS0+bGVuID0gbGVuOwor CQltZW1jcHkoX19lbnRyeS0+Y3RybHMsIGNvbnRyb2wsIGxlbiA8PCAyKTsKKwkJbWVtY3B5KF9f ZW50cnktPnZhbHVlcywgdmFsdWUsIGxlbiA8PCAzKTsKKwkpLAorCVRQX3ByaW50aygiJWQgJXMg Q1RSTDolcyBWQUxVRTolcyIsIF9fZW50cnktPmxlbiwgX19lbnRyeS0+bmFtZSwKKwkJX19wcmlu dF9hcnJheShfX2VudHJ5LT5jdHJscywgX19lbnRyeS0+bGVuLCBzaXplb2YoX191MzIpKSwKKwkJ X19wcmludF9hcnJheShfX2VudHJ5LT52YWx1ZXMsIF9fZW50cnktPmxlbiwgc2l6ZW9mKF9fdTY0 KSkpCispOworCitUUkFDRV9FVkVOVCh0cmFwX3JlZywKKwlUUF9QUk9UTyhjb25zdCBjaGFyICpm biwgaW50IHJlZywgYm9vbCBpc193cml0ZSwgdTY0IHdyaXRlX3ZhbHVlKSwKKwlUUF9BUkdTKGZu LCByZWcsIGlzX3dyaXRlLCB3cml0ZV92YWx1ZSksCisKKwlUUF9TVFJVQ1RfX2VudHJ5KAorCQlf X2ZpZWxkKGNvbnN0IGNoYXIgKiwgZm4pCisJCV9fZmllbGQoaW50LCByZWcpCisJCV9fZmllbGQo Ym9vbCwgaXNfd3JpdGUpCisJCV9fZmllbGQodTY0LCB3cml0ZV92YWx1ZSkKKwkpLAorCisJVFBf ZmFzdF9hc3NpZ24oCisJCV9fZW50cnktPmZuID0gZm47CisJCV9fZW50cnktPnJlZyA9IHJlZzsK KwkJX19lbnRyeS0+aXNfd3JpdGUgPSBpc193cml0ZTsKKwkJX19lbnRyeS0+d3JpdGVfdmFsdWUg PSB3cml0ZV92YWx1ZTsKKwkpLAorCisJVFBfcHJpbnRrKCIlcyAlcyByZWcgJWQgKDB4JTA4bGx4 KSIsIF9fZW50cnktPmZuLCAgX19lbnRyeS0+aXNfd3JpdGU/IndyaXRlIHRvIjoicmVhZCBmcm9t IiwgX19lbnRyeS0+cmVnLCBfX2VudHJ5LT53cml0ZV92YWx1ZSkKKyk7CisKK1RSQUNFX0VWRU5U KGt2bV9oYW5kbGVfc3lzX3JlZywKKwlUUF9QUk9UTyh1bnNpZ25lZCBsb25nIGhzciksCisJVFBf QVJHUyhoc3IpLAorCisJVFBfU1RSVUNUX19lbnRyeSgKKwkJX19maWVsZCh1bnNpZ25lZCBsb25n LAloc3IpCisJKSwKKworCVRQX2Zhc3RfYXNzaWduKAorCQlfX2VudHJ5LT5oc3IgPSBoc3I7CisJ KSwKKworCVRQX3ByaW50aygiSFNSIDB4JTA4bHgiLCBfX2VudHJ5LT5oc3IpCispOworCiAjZW5k aWYgLyogX1RSQUNFX0FSTTY0X0tWTV9IICovCiAKICN1bmRlZiBUUkFDRV9JTkNMVURFX1BBVEgK LS0gCjIuNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Xwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUKaHR0cHM6 Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K