From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Subject: [PATCH v5 05/12] KVM: arm: introduce kvm_arm_init/setup/clear_debug Date: Fri, 29 May 2015 10:30:21 +0100 Message-ID: <1432891828-4816-6-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: Lorenzo Pieralisi , Russell King , Richard Weinberger , Ard Biesheuvel , Gleb Natapov , jan.kiszka@siemens.com, Will Deacon , open list , dahi@linux.vnet.ibm.com, Andre Przywara , 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 VGhpcyBpcyBhIHByZWN1cnNvciBmb3IgbGF0ZXIgcGF0Y2hlcyB3aGljaCB3aWxsIG5lZWQgdG8g ZG8gbW9yZSB0bwpzZXR1cCBkZWJ1ZyBzdGF0ZSBiZWZvcmUgZW50ZXJpbmcgdGhlIGh5cC5TIHN3 aXRjaCBjb2RlLiBUaGUgZXhpc3RpbmcKZnVuY3Rpb25hbGl0eSBmb3Igc2V0dGluZyBtZGNyX2Vs MiBoYXMgYmVlbiBtb3ZlZCBvdXQgb2YgaHlwLlMgYW5kIG5vdwp1c2VzIHRoZSB2YWx1ZSBrZXB0 IGluIHZjcHUtPmFyY2gubWRjcl9lbDIuCgpBcyB0aGUgYXNzZW1ibGVyIHVzZWQgdG8gcHJldmlv dXNseSBtYXNrIGFuZCBwcmVzZXJ2ZSBNRENSX0VMMi5IUE1OIEkndmUKaGFkIHRvIGFkZCBhIG1l Y2hhbmlzbSB0byBzYXZlIHRoZSB2YWx1ZSBvZiBtZGNyX2VsMiBhcyBhIHBlci1jcHUKdmFyaWFi bGUgZHVyaW5nIHRoZSBpbml0aWFsaXNhdGlvbiBjb2RlLiBUaGUga2VybmVsIG5ldmVyIHNldHMg dGhpcwpudW1iZXIgc28gd2UgYXJlIGFzc3VtaW5nIHRoZSBib290Y29kZSBoYXMgc2V0IHVwIHRo ZSBjb3JyZWN0IHZhbHVlCmhlcmUuCgpUaGlzIGFsc28gbW92ZXMgdGhlIGNvbmRpdGlvbmFsIHNl dHRpbmcgb2YgdGhlIFREQSBiaXQgZnJvbSB0aGUgaHlwIGNvZGUKaW50byB0aGUgQyBjb2RlIHdo aWNoIGlzIGN1cnJlbnRseSB1c2VkIGZvciB0aGUgbGF6eSBkZWJ1ZyByZWdpc3Rlcgpjb250ZXh0 IHN3aXRjaCBjb2RlLgoKU2lnbmVkLW9mZi1ieTogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBs aW5hcm8ub3JnPgoKLS0tCnYzCiAgLSByZW5hbWUgZm5zIGZyb20gYXJjaC0+YXJtCiAgLSBwcmVz ZXJ2ZSBNRENSX0VMMi5IUE1OIHNldHRpbmcKICAtIHJlLXdvcmQgc29tZSBvZiB0aGUgY29tbWVu dHMKICAtIGZpeCBzb21lIG1pbm9yIGdyYW1tYXIgbml0cwogIC0gbWVyZ2Ugc2V0dGluZyBvZiBt ZGNyX2VsMgogIC0gaW50cm9kdWNlIHRyYXBfZGVidWcgZmxhZwogIC0gbW92ZSBzZXR1cC9jbGVh ciB3aXRoaW4gdGhlIGlycSBsb2NrIHNlY3Rpb24KdjQKICAtIGZpeCBURE9TQSBkZXNjCiAgLSBy bSB1bi1uZWVkZWQgZWxzZSBsZWcKICAtIHMvYXJjaC9hcm0vCi0tLQogYXJjaC9hcm0vaW5jbHVk ZS9hc20va3ZtX2hvc3QuaCAgIHwgIDQgKysKIGFyY2gvYXJtL2t2bS9hcm0uYyAgICAgICAgICAg ICAgICB8ICA5ICsrKystCiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9hc20uaCAgfCAgMiAr CiBhcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmggfCAgNSArKysKIGFyY2gvYXJtNjQv a2VybmVsL2FzbS1vZmZzZXRzLmMgICB8ICAxICsKIGFyY2gvYXJtNjQva3ZtL01ha2VmaWxlICAg ICAgICAgICB8ICAyICstCiBhcmNoL2FybTY0L2t2bS9kZWJ1Zy5jICAgICAgICAgICAgfCA4MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGFyY2gvYXJtNjQva3ZtL2h5 cC5TICAgICAgICAgICAgICB8IDE5ICsrKystLS0tLQogOCBmaWxlcyBjaGFuZ2VkLCAxMTAgaW5z ZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm02 NC9rdm0vZGVidWcuYwoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2t2bV9ob3N0 LmggYi9hcmNoL2FybS9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCmluZGV4IGQ3MTYwN2MuLjc0NmMw YzY5IDEwMDY0NAotLS0gYS9hcmNoL2FybS9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCisrKyBiL2Fy Y2gvYXJtL2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgKQEAgLTIzNiw0ICsyMzYsOCBAQCBzdGF0aWMg aW5saW5lIHZvaWQga3ZtX2FyY2hfc3luY19ldmVudHMoc3RydWN0IGt2bSAqa3ZtKSB7fQogc3Rh dGljIGlubGluZSB2b2lkIGt2bV9hcmNoX3ZjcHVfdW5pbml0KHN0cnVjdCBrdm1fdmNwdSAqdmNw dSkge30KIHN0YXRpYyBpbmxpbmUgdm9pZCBrdm1fYXJjaF9zY2hlZF9pbihzdHJ1Y3Qga3ZtX3Zj cHUgKnZjcHUsIGludCBjcHUpIHt9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBrdm1fYXJtX2luaXRf ZGVidWcodm9pZCkge30KK3N0YXRpYyBpbmxpbmUgdm9pZCBrdm1fYXJtX3NldHVwX2RlYnVnKHN0 cnVjdCBrdm1fdmNwdSAqdmNwdSkge30KK3N0YXRpYyBpbmxpbmUgdm9pZCBrdm1fYXJtX2NsZWFy X2RlYnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkge30KKwogI2VuZGlmIC8qIF9fQVJNX0tWTV9I T1NUX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0va3ZtL2FybS5jIGIvYXJjaC9hcm0va3Zt L2FybS5jCmluZGV4IDUyYTFkNGQzOC4uNGEyNzRlMSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0va3Zt L2FybS5jCisrKyBiL2FyY2gvYXJtL2t2bS9hcm0uYwpAQCAtNTcwLDYgKzU3MCw4IEBAIGludCBr dm1fYXJjaF92Y3B1X2lvY3RsX3J1bihzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUsIHN0cnVjdCBrdm1f cnVuICpydW4pCiAJCQljb250aW51ZTsKIAkJfQogCisJCWt2bV9hcm1fc2V0dXBfZGVidWcodmNw dSk7CisKIAkJLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqCiAJCSAqIEVudGVyIHRoZSBndWVzdAogCQkgKi8KQEAgLTU4Miw3ICs1 ODQsMTAgQEAgaW50IGt2bV9hcmNoX3ZjcHVfaW9jdGxfcnVuKHN0cnVjdCBrdm1fdmNwdSAqdmNw dSwgc3RydWN0IGt2bV9ydW4gKnJ1bikKIAkJdmNwdS0+bW9kZSA9IE9VVFNJREVfR1VFU1RfTU9E RTsKIAkJa3ZtX2d1ZXN0X2V4aXQoKTsKIAkJdHJhY2Vfa3ZtX2V4aXQoa3ZtX3ZjcHVfdHJhcF9n ZXRfY2xhc3ModmNwdSksICp2Y3B1X3BjKHZjcHUpKTsKLQkJLyoKKworCQlrdm1fYXJtX2NsZWFy X2RlYnVnKHZjcHUpOworCisgICAgICAgICAgICAgICAgLyoKIAkJICogV2UgbWF5IGhhdmUgdGFr ZW4gYSBob3N0IGludGVycnVwdCBpbiBIWVAgbW9kZSAoaWUKIAkJICogd2hpbGUgZXhlY3V0aW5n IHRoZSBndWVzdCkuIFRoaXMgaW50ZXJydXB0IGlzIHN0aWxsCiAJCSAqIHBlbmRpbmcsIGFzIHdl IGhhdmVuJ3Qgc2VydmljZWQgaXQgeWV0IQpAQCAtOTMwLDYgKzkzNSw4IEBAIHN0YXRpYyB2b2lk IGNwdV9pbml0X2h5cF9tb2RlKHZvaWQgKmR1bW15KQogCXZlY3Rvcl9wdHIgPSAodW5zaWduZWQg bG9uZylfX2t2bV9oeXBfdmVjdG9yOwogCiAJX19jcHVfaW5pdF9oeXBfbW9kZShib290X3BnZF9w dHIsIHBnZF9wdHIsIGh5cF9zdGFja19wdHIsIHZlY3Rvcl9wdHIpOworCisJa3ZtX2FybV9pbml0 X2RlYnVnKCk7CiB9CiAKIHN0YXRpYyBpbnQgaHlwX2luaXRfY3B1X25vdGlmeShzdHJ1Y3Qgbm90 aWZpZXJfYmxvY2sgKnNlbGYsCmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2 bV9hc20uaCBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2FzbS5oCmluZGV4IDRmNzMxMGYu LmQ2YjUwN2UgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2FzbS5oCisr KyBiL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20va3ZtX2FzbS5oCkBAIC0xMzcsNiArMTM3LDggQEAg ZXh0ZXJuIGNoYXIgX19yZXN0b3JlX3ZnaWNfdjJfc3RhdGVbXTsKIGV4dGVybiBjaGFyIF9fc2F2 ZV92Z2ljX3YzX3N0YXRlW107CiBleHRlcm4gY2hhciBfX3Jlc3RvcmVfdmdpY192M19zdGF0ZVtd OwogCitleHRlcm4gdTMyIF9fa3ZtX2dldF9tZGNyX2VsMih2b2lkKTsKKwogI2VuZGlmCiAKICNl bmRpZiAvKiBfX0FSTV9LVk1fQVNNX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm02NC9pbmNs dWRlL2FzbS9rdm1faG9zdC5oIGIvYXJjaC9hcm02NC9pbmNsdWRlL2FzbS9rdm1faG9zdC5oCmlu ZGV4IGYwZjU4YzkuLjdjYjk5YjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQvaW5jbHVkZS9hc20v a3ZtX2hvc3QuaAorKysgYi9hcmNoL2FybTY0L2luY2x1ZGUvYXNtL2t2bV9ob3N0LmgKQEAgLTEw Myw2ICsxMDMsNyBAQCBzdHJ1Y3Qga3ZtX3ZjcHVfYXJjaCB7CiAKIAkvKiBIWVAgY29uZmlndXJh dGlvbiAqLwogCXU2NCBoY3JfZWwyOworCXUzMiBtZGNyX2VsMjsKIAogCS8qIEV4Y2VwdGlvbiBJ bmZvcm1hdGlvbiAqLwogCXN0cnVjdCBrdm1fdmNwdV9mYXVsdF9pbmZvIGZhdWx0OwpAQCAtMjUw LDQgKzI1MSw4IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBrdm1fYXJjaF9zeW5jX2V2ZW50cyhzdHJ1 Y3Qga3ZtICprdm0pIHt9CiBzdGF0aWMgaW5saW5lIHZvaWQga3ZtX2FyY2hfdmNwdV91bmluaXQo c3RydWN0IGt2bV92Y3B1ICp2Y3B1KSB7fQogc3RhdGljIGlubGluZSB2b2lkIGt2bV9hcmNoX3Nj aGVkX2luKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSwgaW50IGNwdSkge30KIAordm9pZCBrdm1fYXJt X2luaXRfZGVidWcodm9pZCk7Cit2b2lkIGt2bV9hcm1fc2V0dXBfZGVidWcoc3RydWN0IGt2bV92 Y3B1ICp2Y3B1KTsKK3ZvaWQga3ZtX2FybV9jbGVhcl9kZWJ1ZyhzdHJ1Y3Qga3ZtX3ZjcHUgKnZj cHUpOworCiAjZW5kaWYgLyogX19BUk02NF9LVk1fSE9TVF9IX18gKi8KZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtNjQva2VybmVsL2FzbS1vZmZzZXRzLmMgYi9hcmNoL2FybTY0L2tlcm5lbC9hc20tb2Zm c2V0cy5jCmluZGV4IGRhNjc1Y2MuLmRmYjI1YTIgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQva2Vy bmVsL2FzbS1vZmZzZXRzLmMKKysrIGIvYXJjaC9hcm02NC9rZXJuZWwvYXNtLW9mZnNldHMuYwpA QCAtMTE3LDYgKzExNyw3IEBAIGludCBtYWluKHZvaWQpCiAgIERFRklORShWQ1BVX0hQRkFSX0VM MiwJb2Zmc2V0b2Yoc3RydWN0IGt2bV92Y3B1LCBhcmNoLmZhdWx0LmhwZmFyX2VsMikpOwogICBE RUZJTkUoVkNQVV9ERUJVR19GTEFHUywJb2Zmc2V0b2Yoc3RydWN0IGt2bV92Y3B1LCBhcmNoLmRl YnVnX2ZsYWdzKSk7CiAgIERFRklORShWQ1BVX0hDUl9FTDIsCQlvZmZzZXRvZihzdHJ1Y3Qga3Zt X3ZjcHUsIGFyY2guaGNyX2VsMikpOworICBERUZJTkUoVkNQVV9NRENSX0VMMiwJb2Zmc2V0b2Yo c3RydWN0IGt2bV92Y3B1LCBhcmNoLm1kY3JfZWwyKSk7CiAgIERFRklORShWQ1BVX0lSUV9MSU5F UywJb2Zmc2V0b2Yoc3RydWN0IGt2bV92Y3B1LCBhcmNoLmlycV9saW5lcykpOwogICBERUZJTkUo VkNQVV9IT1NUX0NPTlRFWFQsCW9mZnNldG9mKHN0cnVjdCBrdm1fdmNwdSwgYXJjaC5ob3N0X2Nw dV9jb250ZXh0KSk7CiAgIERFRklORShWQ1BVX1RJTUVSX0NOVFZfQ1RMLAlvZmZzZXRvZihzdHJ1 Y3Qga3ZtX3ZjcHUsIGFyY2gudGltZXJfY3B1LmNudHZfY3RsKSk7CmRpZmYgLS1naXQgYS9hcmNo L2FybTY0L2t2bS9NYWtlZmlsZSBiL2FyY2gvYXJtNjQva3ZtL01ha2VmaWxlCmluZGV4IGQ1OTA0 ZjguLjkwZTNmMzkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtNjQva3ZtL01ha2VmaWxlCisrKyBiL2Fy Y2gvYXJtNjQva3ZtL01ha2VmaWxlCkBAIC0xNyw3ICsxNyw3IEBAIGt2bS0kKENPTkZJR19LVk1f QVJNX0hPU1QpICs9ICQoQVJNKS9wc2NpLm8gJChBUk0pL3BlcmYubwogCiBrdm0tJChDT05GSUdf S1ZNX0FSTV9IT1NUKSArPSBlbXVsYXRlLm8gaW5qZWN0X2ZhdWx0Lm8gcmVnbWFwLm8KIGt2bS0k KENPTkZJR19LVk1fQVJNX0hPU1QpICs9IGh5cC5vIGh5cC1pbml0Lm8gaGFuZGxlX2V4aXQubwot a3ZtLSQoQ09ORklHX0tWTV9BUk1fSE9TVCkgKz0gZ3Vlc3QubyByZXNldC5vIHN5c19yZWdzLm8g c3lzX3JlZ3NfZ2VuZXJpY192OC5vCitrdm0tJChDT05GSUdfS1ZNX0FSTV9IT1NUKSArPSBndWVz dC5vIGRlYnVnLm8gcmVzZXQubyBzeXNfcmVncy5vIHN5c19yZWdzX2dlbmVyaWNfdjgubwogCiBr dm0tJChDT05GSUdfS1ZNX0FSTV9IT1NUKSArPSAkKEtWTSkvYXJtL3ZnaWMubwoga3ZtLSQoQ09O RklHX0tWTV9BUk1fSE9TVCkgKz0gJChLVk0pL2FybS92Z2ljLXYyLm8KZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtNjQva3ZtL2RlYnVnLmMgYi9hcmNoL2FybTY0L2t2bS9kZWJ1Zy5jCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhZjBlMWYKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNo L2FybTY0L2t2bS9kZWJ1Zy5jCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBEZWJ1ZyBhbmQgR3Vl c3QgRGVidWcgc3VwcG9ydAorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNSAtIExpbmFybyBMdGQK KyAqIEF1dGhvcjogQWxleCBCZW5uw6llIDxhbGV4LmJlbm5lZUBsaW5hcm8ub3JnPgorICoKKyAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2luY2x1ZGUgPGxpbnV4L2t2bV9ob3N0Lmg+CisK KyNpbmNsdWRlIDxhc20va3ZtX2FybS5oPgorCitzdGF0aWMgREVGSU5FX1BFUl9DUFUodTMyLCBt ZGNyX2VsMik7CisKKy8qKgorICoga3ZtX2FybV9pbml0X2RlYnVnIC0gZ3JhYiB3aGF0IHdlIG5l ZWQgZm9yIGRlYnVnCisgKgorICogQ3VycmVudGx5IHRoZSBzb2xlIHRhc2sgb2YgdGhpcyBmdW5j dGlvbiBpcyB0byByZXRyaWV2ZSB0aGUgaW5pdGlhbAorICogdmFsdWUgb2YgbWRjcl9lbDIgc28g d2UgY2FuIHByZXNlcnZlIE1EQ1JfRUwyLkhQTU4gd2hpY2ggaGFzCisgKiBwcmVzdW1hYmx5IGJl ZW4gc2V0LXVwIGJ5IHNvbWUga25vd2xlZGdlYWJsZSBib290Y29kZS4KKyAqCisgKiBJdCBpcyBj YWxsZWQgb25jZSBwZXItY3B1IGR1cmluZyBDUFUgaHlwIGluaXRpYWxpc2F0aW9uLgorICovCisK K3ZvaWQga3ZtX2FybV9pbml0X2RlYnVnKHZvaWQpCit7CisJX190aGlzX2NwdV93cml0ZShtZGNy X2VsMiwga3ZtX2NhbGxfaHlwKF9fa3ZtX2dldF9tZGNyX2VsMikpOworfQorCisKKy8qKgorICog a3ZtX2FybV9zZXR1cF9kZWJ1ZyAtIHNldCB1cCBkZWJ1ZyByZWxhdGVkIHN0dWZmCisgKgorICog QHZjcHU6CXRoZSB2Y3B1IHBvaW50ZXIKKyAqCisgKiBUaGlzIGlzIGNhbGxlZCBiZWZvcmUgZWFj aCBlbnRyeSBpbnRvIHRoZSBoeXBlcnZpc29yIHRvIHNldHVwIGFueQorICogZGVidWcgcmVsYXRl ZCByZWdpc3RlcnMuIEN1cnJlbnRseSB0aGlzIGp1c3QgZW5zdXJlcyB3ZSB3aWxsIHRyYXAKKyAq IGFjY2VzcyB0bzoKKyAqICAtIFBlcmZvcm1hbmNlIG1vbml0b3JzIChNRENSX0VMMl9UUE0vTURD Ul9FTDJfVFBNQ1IpCisgKiAgLSBEZWJ1ZyBST00gQWRkcmVzcyAoTURDUl9FTDJfVERSQSkKKyAq ICAtIE9TIHJlbGF0ZWQgcmVnaXN0ZXJzIChNRENSX0VMMl9URE9TQSkKKyAqCisgKiBBZGRpdGlv bmFsbHksIEtWTSBvbmx5IHRyYXBzIGd1ZXN0IGFjY2Vzc2VzIHRvIHRoZSBkZWJ1ZyByZWdpc3Rl cnMgaWYKKyAqIHRoZSBndWVzdCBpcyBub3QgYWN0aXZlbHkgdXNpbmcgdGhlbSAoc2VlIHRoZSBL Vk1fQVJNNjRfREVCVUdfRElSVFkKKyAqIGZsYWcgb24gdmNwdS0+YXJjaC5kZWJ1Z19mbGFncyku ICBTaW5jZSB0aGUgZ3Vlc3QgbXVzdCBub3QgaW50ZXJmZXJlCisgKiB3aXRoIHRoZSBoYXJkd2Fy ZSBzdGF0ZSB3aGVuIGRlYnVnZ2luZyB0aGUgZ3Vlc3QsIHdlIG11c3QgZW5zdXJlIHRoYXQKKyAq IHRyYXBwaW5nIGlzIGVuYWJsZWQgd2hlbmV2ZXIgd2UgYXJlIGRlYnVnZ2luZyB0aGUgZ3Vlc3Qg dXNpbmcgdGhlCisgKiBkZWJ1ZyByZWdpc3RlcnMuCisgKi8KKwordm9pZCBrdm1fYXJtX3NldHVw X2RlYnVnKHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKK3sKKwlib29sIHRyYXBfZGVidWcgPSAhKHZj cHUtPmFyY2guZGVidWdfZmxhZ3MgJiBLVk1fQVJNNjRfREVCVUdfRElSVFkpOworCisJdmNwdS0+ YXJjaC5tZGNyX2VsMiA9IF9fdGhpc19jcHVfcmVhZChtZGNyX2VsMikgJiBNRENSX0VMMl9IUE1O X01BU0s7CisJdmNwdS0+YXJjaC5tZGNyX2VsMiB8PSAoTURDUl9FTDJfVFBNIHwKKwkJCQlNRENS X0VMMl9UUE1DUiB8CisJCQkJTURDUl9FTDJfVERSQSB8CisJCQkJTURDUl9FTDJfVERPU0EpOwor CisJLyogVHJhcCBvbiBhY2Nlc3MgdG8gZGVidWcgcmVnaXN0ZXJzPyAqLworCWlmICh0cmFwX2Rl YnVnKQorCQl2Y3B1LT5hcmNoLm1kY3JfZWwyIHw9IE1EQ1JfRUwyX1REQTsKKworfQorCit2b2lk IGt2bV9hcm1fY2xlYXJfZGVidWcoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQoreworCS8qIE5vdGhp bmcgdG8gZG8geWV0ICovCit9CmRpZmYgLS1naXQgYS9hcmNoL2FybTY0L2t2bS9oeXAuUyBiL2Fy Y2gvYXJtNjQva3ZtL2h5cC5TCmluZGV4IGNiOWJkZDguLjc0ZTYzZDggMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtNjQva3ZtL2h5cC5TCisrKyBiL2FyY2gvYXJtNjQva3ZtL2h5cC5TCkBAIC03NjgsMTcg Kzc2OCw4IEBACiAJbW92CXgyLCAjKDEgPDwgMTUpCS8vIFRyYXAgQ1AxNSBDcj0xNQogCW1zcglo c3RyX2VsMiwgeDIKIAotCW1ycwl4MiwgbWRjcl9lbDIKLQlhbmQJeDIsIHgyLCAjTURDUl9FTDJf SFBNTl9NQVNLCi0Jb3JyCXgyLCB4MiwgIyhNRENSX0VMMl9UUE0gfCBNRENSX0VMMl9UUE1DUikK LQlvcnIJeDIsIHgyLCAjKE1EQ1JfRUwyX1REUkEgfCBNRENSX0VMMl9URE9TQSkKLQotCS8vIENo ZWNrIGZvciBLVk1fQVJNNjRfREVCVUdfRElSVFksIGFuZCBzZXQgZGVidWcgdG8gdHJhcAotCS8v IGlmIG5vdCBkaXJ0eS4KLQlsZHIJeDMsIFt4MCwgI1ZDUFVfREVCVUdfRkxBR1NdCi0JdGJuegl4 MywgI0tWTV9BUk02NF9ERUJVR19ESVJUWV9TSElGVCwgMWYKLQlvcnIJeDIsIHgyLCAgI01EQ1Jf RUwyX1REQQotMToKKwkvLyBNb25pdG9yIERlYnVnIENvbmZpZyAtIHNlZSBrdm1fYXJtX3NldHVw X2RlYnVnKCkKKwlsZHIJeDIsIFt4MCwgI1ZDUFVfTURDUl9FTDJdCiAJbXNyCW1kY3JfZWwyLCB4 MgogLmVuZG0KIApAQCAtMTI5NSw0ICsxMjg2LDEwIEBAIEVOVFJZKF9fa3ZtX2h5cF92ZWN0b3Ip CiAJdmVudHJ5CWVsMV9lcnJvcl9pbnZhbGlkCQkvLyBFcnJvciAzMi1iaXQgRUwxCiBFTkRQUk9D KF9fa3ZtX2h5cF92ZWN0b3IpCiAKKworRU5UUlkoX19rdm1fZ2V0X21kY3JfZWwyKQorCW1ycwl4 MCwgbWRjcl9lbDIKKwlyZXQKK0VORFBST0MoX19rdm1fZ2V0X21kY3JfZWwyKQorCiAJLnBvcHNl Y3Rpb24KLS0gCjIuNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwprdm1hcm0gbWFpbGluZyBsaXN0Cmt2bWFybUBsaXN0cy5jcy5jb2x1bWJpYS5lZHUK aHR0cHM6Ly9saXN0cy5jcy5jb2x1bWJpYS5lZHUvbWFpbG1hbi9saXN0aW5mby9rdm1hcm0K