From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Adalbert=20Laz=C4=83r?= Subject: [RFC PATCH v6 65/92] kvm: introspection: add KVMI_EVENT_SINGLESTEP Date: Fri, 9 Aug 2019 19:00:20 +0300 Message-ID: <20190809160047.8319-66-alazar@bitdefender.com> References: <20190809160047.8319-1-alazar@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809160047.8319-1-alazar@bitdefender.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: kvm@vger.kernel.org Cc: Tamas K Lengyel , Weijiang Yang , Yu C , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Jan Kiszka , =?UTF-8?q?Samuel=20Laur=C3=A9n?= , Konrad Rzeszutek Wilk , virtualization@lists.linux-foundation.org, =?UTF-8?q?Adalbert=20Laz=C4=83r?= , linux-mm@kvack.org, Patrick Colp , =?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= , Mathieu Tarral , Stefan Hajnoczi , Paolo Bonzini , Zhang@mail.linuxfoundation.org, =?UTF-8?q?Mihai=20Don=C8=9Bu?= List-Id: virtualization@lists.linuxfoundation.org RnJvbTogTmljdciZb3IgQ8OuyJt1IDxuY2l0dUBiaXRkZWZlbmRlci5jb20+CgpUaGlzIGV2ZW50 IGlzIHNlbnQgd2hlbiB0aGUgY3VycmVudCBpbnN0cnVjdGlvbiBoYXMgYmVlbiBzaW5nbGUgc3Rl cHBlZAphcyBhIHJlc3VsdCBvZiBhIEtWTUlfRVZFTlRfUEYgZXZlbnQgdG8gd2hpY2ggdGhlIGlu dHJvc3BlY3Rpb24gdG9vbApzZXQgdGhlIHNpbmdsZXN0ZXAgZmllbGQgYW5kIHJlc3BvbmRlZCB3 aXRoIENPTlRJTlVFLgoKU2lnbmVkLW9mZi1ieTogTmljdciZb3IgQ8OuyJt1IDxuY2l0dUBiaXRk ZWZlbmRlci5jb20+ClNpZ25lZC1vZmYtYnk6IEFkYWxiZXJ0IExhesSDciA8YWxhemFyQGJpdGRl ZmVuZGVyLmNvbT4KLS0tCiBEb2N1bWVudGF0aW9uL3ZpcnR1YWwva3ZtL2t2bWkucnN0IHwgMjUg KysrKysrKysrKysrKysrKysrKwogdmlydC9rdm0va3ZtaS5jICAgICAgICAgICAgICAgICAgICB8 IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA2NSBp bnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi92aXJ0dWFsL2t2bS9rdm1p LnJzdCBiL0RvY3VtZW50YXRpb24vdmlydHVhbC9rdm0va3ZtaS5yc3QKaW5kZXggODcyMWE0NzBk ZTg3Li41NzJhYmFiMWY2ZWYgMTAwNjQ0Ci0tLSBhL0RvY3VtZW50YXRpb24vdmlydHVhbC9rdm0v a3ZtaS5yc3QKKysrIGIvRG9jdW1lbnRhdGlvbi92aXJ0dWFsL2t2bS9rdm1pLnJzdApAQCAtMTU3 NCwzICsxNTc0LDI4IEBAIGludHJvc3BlY3Rpb24gaGFzIGJlZW4gZW5hYmxlZCBmb3IgdGhpcyBl dmVudCAoc2VlICoqS1ZNSV9DT05UUk9MX0VWRU5UUyoqKS4KIAlLVk1JX0RFU0NfVFIKIAogYGB3 cml0ZWBgIGlzIDEgaWYgdGhlIGRlc2NyaXB0b3Igd2FzIHdyaXR0ZW4sIDAgb3RoZXJ3aXNlLgor CisxMi4gS1ZNSV9FVkVOVF9TSU5HTEVTVEVQCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisK KzpBcmNoaXRlY3R1cmVzOiB4ODYKKzpWZXJzaW9uczogPj0gMQorOkFjdGlvbnM6IENPTlRJTlVF LCBDUkFTSAorOlBhcmFtZXRlcnM6CisKKzo6CisKKwlzdHJ1Y3Qga3ZtaV9ldmVudDsKKworOlJl dHVybnM6CisKKzo6CisKKwlzdHJ1Y3Qga3ZtaV92Y3B1X2hkcjsKKwlzdHJ1Y3Qga3ZtaV9ldmVu dF9yZXBseTsKKworVGhpcyBldmVudCBpcyBzZW50IHdoZW4gdGhlIGN1cnJlbnQgaW5zdHJ1Y3Rp b24gaGFzIGJlZW4gZXhlY3V0ZWQKKyhhcyBhIHJlc3VsdCBvZiBhICpLVk1JX0VWRU5UX1BGKiBl dmVudCB0byB3aGljaCB0aGUgaW50cm9zcGVjdGlvbgordG9vbCBzZXQgdGhlIGBgc2luZ2xlc3Rl cGBgIGZpZWxkIGFuZCByZXNwb25kZWQgd2l0aCAqQ09OVElOVUUqKQorYW5kIHRoZSBpbnRyb3Nw ZWN0aW9uIGhhcyBiZWVuIGVuYWJsZWQgZm9yIHRoaXMgZXZlbnQKKyhzZWUgKipLVk1JX0NPTlRS T0xfRVZFTlRTKiopLgpkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtaS5jIGIvdmlydC9rdm0va3Zt aS5jCmluZGV4IGEzYTVhZjkwODBhOS4uM2RmZWRmM2FlNzM5IDEwMDY0NAotLS0gYS92aXJ0L2t2 bS9rdm1pLmMKKysrIGIvdmlydC9rdm0va3ZtaS5jCkBAIC0xMTgyLDYgKzExODIsNDQgQEAgdm9p ZCBrdm1pX3RyYXBfZXZlbnQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KQogCWt2bWlfcHV0KHZjcHUt Pmt2bSk7CiB9CiAKK3N0YXRpYyB1MzIga3ZtaV9zZW5kX3NpbmdsZXN0ZXAoc3RydWN0IGt2bV92 Y3B1ICp2Y3B1KQoreworCWludCBlcnIsIGFjdGlvbjsKKworCWVyciA9IGt2bWlfc2VuZF9ldmVu dCh2Y3B1LCBLVk1JX0VWRU5UX1NJTkdMRVNURVAsIE5VTEwsIDAsCisJCQkgICAgICBOVUxMLCAw LCAmYWN0aW9uKTsKKwlpZiAoZXJyKQorCQlyZXR1cm4gS1ZNSV9FVkVOVF9BQ1RJT05fQ09OVElO VUU7CisKKwlyZXR1cm4gYWN0aW9uOworfQorCitzdGF0aWMgdm9pZCBfX2t2bWlfc2luZ2xlc3Rl cF9ldmVudChzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCit7CisJdTMyIGFjdGlvbjsKKworCWFjdGlv biA9IGt2bWlfc2VuZF9zaW5nbGVzdGVwKHZjcHUpOworCXN3aXRjaCAoYWN0aW9uKSB7CisJY2Fz ZSBLVk1JX0VWRU5UX0FDVElPTl9DT05USU5VRToKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJa3Zt aV9oYW5kbGVfY29tbW9uX2V2ZW50X2FjdGlvbnModmNwdSwgYWN0aW9uLCAiU0lOR0xFU1RFUCIp OworCX0KK30KKworc3RhdGljIHZvaWQga3ZtaV9zaW5nbGVzdGVwX2V2ZW50KHN0cnVjdCBrdm1f dmNwdSAqdmNwdSkKK3sKKwlzdHJ1Y3Qga3ZtaV92Y3B1ICppdmNwdSA9IElWQ1BVKHZjcHUpOwor CisJaWYgKCFpdmNwdS0+c3NfcmVxdWVzdGVkKQorCQlyZXR1cm47CisKKwlpZiAoaXNfZXZlbnRf ZW5hYmxlZCh2Y3B1LCBLVk1JX0VWRU5UX1NJTkdMRVNURVApKQorCQlfX2t2bWlfc2luZ2xlc3Rl cF9ldmVudCh2Y3B1KTsKKworCWl2Y3B1LT5zc19yZXF1ZXN0ZWQgPSBmYWxzZTsKK30KKwogc3Rh dGljIGJvb2wgX19rdm1pX2NyZWF0ZV92Y3B1X2V2ZW50KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkK IHsKIAl1MzIgYWN0aW9uOwpAQCAtMTYxNiw2ICsxNjU0LDggQEAgdm9pZCBrdm1pX3N0b3Bfc3Mo c3RydWN0IGt2bV92Y3B1ICp2Y3B1KQogCiAJaXZjcHUtPnNzX293bmVyID0gZmFsc2U7CiAKKwlr dm1pX3NpbmdsZXN0ZXBfZXZlbnQodmNwdSk7CisKIG91dDoKIAlrdm1pX3B1dChrdm0pOwogfQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpWaXJ0dWFsaXph dGlvbiBtYWlsaW5nIGxpc3QKVmlydHVhbGl6YXRpb25AbGlzdHMubGludXgtZm91bmRhdGlvbi5v cmcKaHR0cHM6Ly9saXN0cy5saW51eGZvdW5kYXRpb24ub3JnL21haWxtYW4vbGlzdGluZm8vdmly dHVhbGl6YXRpb24=