From mboxrd@z Thu Jan 1 00:00:00 1970 From: Razvan Cojocaru Subject: Re: [PATCH] vm_event: Allow subscribing to write events for specific MSR-s Date: Tue, 12 Apr 2016 20:57:25 +0300 Message-ID: <570D3705.1030004@bitdefender.com> References: <1460471669-3434-1-git-send-email-rcojocaru@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Tamas K Lengyel Cc: Kevin Tian , sstabellini@kernel.org, "wei.liu2@citrix.com" , Jan Beulich , Andrew Cooper , Ian Jackson , Xen-devel , Julien Grall , Jun Nakajima , Keir Fraser List-Id: xen-devel@lists.xenproject.org T24gMDQvMTIvMTYgMjA6NDksIFRhbWFzIEsgTGVuZ3llbCB3cm90ZToKPiAgICAgZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9tb25pdG9yLmMgYi94ZW4vYXJjaC94ODYvbW9uaXRvci5jCj4gICAg IGluZGV4IDFmZWM0MTIuLjFiZTA1OGEgMTAwNjQ0Cj4gICAgIC0tLSBhL3hlbi9hcmNoL3g4Ni9t b25pdG9yLmMKPiAgICAgKysrIGIveGVuL2FyY2gveDg2L21vbml0b3IuYwo+ICAgICBAQCAtMjAs NiArMjAsNyBAQAo+ICAgICAgICovCj4gCj4gICAgICAjaW5jbHVkZSA8YXNtL21vbml0b3IuaD4K PiAgICAgKyNpbmNsdWRlIDxhc20vdm1fZXZlbnQuaD4KPiAgICAgICNpbmNsdWRlIDxwdWJsaWMv dm1fZXZlbnQuaD4KPiAKPiAgICAgIGludCBhcmNoX21vbml0b3JfZG9tY3RsX2V2ZW50KHN0cnVj dCBkb21haW4gKmQsCj4gICAgIEBAIC03NywyNSArNzgsMjUgQEAgaW50IGFyY2hfbW9uaXRvcl9k b21jdGxfZXZlbnQoc3RydWN0IGRvbWFpbiAqZCwKPiAKPiAgICAgICAgICBjYXNlIFhFTl9ET01D VExfTU9OSVRPUl9FVkVOVF9NT1ZfVE9fTVNSOgo+ICAgICAgICAgIHsKPiAgICAgLSAgICAgICAg Ym9vbF90IG9sZF9zdGF0dXMgPSBhZC0+bW9uaXRvci5tb3ZfdG9fbXNyX2VuYWJsZWQ7Cj4gICAg ICsgICAgICAgIGJvb2xfdCBvbGRfc3RhdHVzOwo+ICAgICArICAgICAgICBpbnQgcmM7Cj4gICAg ICsgICAgICAgIHUzMiBtc3IgPSBtb3AtPnUubW92X3RvX21zci5tc3I7Cj4gCj4gICAgIC0gICAg ICAgIGlmICggdW5saWtlbHkob2xkX3N0YXR1cyA9PSByZXF1ZXN0ZWRfc3RhdHVzKSApCj4gICAg IC0gICAgICAgICAgICByZXR1cm4gLUVFWElTVDsKPiAgICAgKyAgICAgICAgZG9tYWluX3BhdXNl KGQpOwo+IAo+ICAgICAtICAgICAgICBpZiAoIHJlcXVlc3RlZF9zdGF0dXMgJiYgbW9wLT51Lm1v dl90b19tc3IuZXh0ZW5kZWRfY2FwdHVyZSAmJgo+ICAgICAtICAgICAgICAgICAgICFodm1fZW5h YmxlX21zcl9leGl0X2ludGVyY2VwdGlvbihkKSApCj4gICAgIC0gICAgICAgICAgICByZXR1cm4g LUVPUE5PVFNVUFA7Cj4gICAgICsgICAgICAgIG9sZF9zdGF0dXMgPSB2bV9ldmVudF9pc19tc3Jf ZW5hYmxlZChkLCBtc3IpOwo+IAo+ICAgICAtICAgICAgICBkb21haW5fcGF1c2UoZCk7Cj4gICAg ICsgICAgICAgIGlmICggdW5saWtlbHkob2xkX3N0YXR1cyA9PSByZXF1ZXN0ZWRfc3RhdHVzKSAp Cj4gICAgICsgICAgICAgICAgICByZXR1cm4gLUVFWElTVDsKPiAKPiAKPiBNb3ZpbmcgdGhpcyB0 ZXN0IGFmdGVyIHRoZSBkb21haW4gZ2V0cyBwYXVzZWQgd2lsbCBsZWF2ZSB0aGUgZ3Vlc3QKPiBw YXVzZWQgb24gZXJyb3IgY29uZGl0aW9uLiBBbnkgcmVhc29uIHdoeSB0aGlzIHJlYXJyYW5nZW1l bnQgaXMgbmVjZXNzYXJ5PwoKVGhlIHJlYXJyYW5nZW1lbnQgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ug dm1fZXZlbnRfaXNfbXNyX2VuYWJsZWQoKSB1c2VzCnRoZSBwZXItZG9tYWluIGJpdG1hcCB0byBk byBpdHMgam9iLCBzbyBJIHRob3VnaHQgaGF2aW5nIHRoZSBkb21haW4KcGF1c2VkIHdoZW4gY2hl Y2tpbmcgaXQgd291bGQgd29yayBiZXN0LgoKTGVhdmluZyB0aGUgZG9tYWluIHBhdXNlZCB0aGVy ZSBpcyBhbiBvdmVyc2lnaHQsIEkgbmVlZCB0byBjb3JyZWN0IHRoYXQsCnNvIHRoYW5rcyBmb3Ig bm90aWNpbmchCgo+ICAgICAtICAgICAgICBpZiAoIHJlcXVlc3RlZF9zdGF0dXMgJiYgbW9wLT51 Lm1vdl90b19tc3IuZXh0ZW5kZWRfY2FwdHVyZSApCj4gICAgIC0gICAgICAgICAgICBhZC0+bW9u aXRvci5tb3ZfdG9fbXNyX2V4dGVuZGVkID0gMTsKPiAgICAgKyAgICAgICAgaWYgKCByZXF1ZXN0 ZWRfc3RhdHVzICkKPiAgICAgKyAgICAgICAgICAgIHJjID0gdm1fZXZlbnRfZW5hYmxlX21zcihk LCBtc3IpOwo+ICAgICAgICAgICAgICBlbHNlCj4gICAgIC0gICAgICAgICAgICBhZC0+bW9uaXRv ci5tb3ZfdG9fbXNyX2V4dGVuZGVkID0gMDsKPiAgICAgKyAgICAgICAgICAgIHJjID0gdm1fZXZl bnRfZGlzYWJsZV9tc3IoZCwgbXNyKTsKPiAKPiAgICAgLSAgICAgICAgYWQtPm1vbml0b3IubW92 X3RvX21zcl9lbmFibGVkID0gcmVxdWVzdGVkX3N0YXR1czsKPiAgICAgICAgICAgICAgZG9tYWlu X3VucGF1c2UoZCk7Cj4gICAgIC0gICAgICAgIGJyZWFrOwo+ICAgICArCj4gICAgICsgICAgICAg IHJldHVybiByYzsKPiAgICAgICAgICB9Cj4gCj4gICAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX01P TklUT1JfRVZFTlRfU0lOR0xFU1RFUDoKPiAgICAgZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni92 bV9ldmVudC5jIGIveGVuL2FyY2gveDg2L3ZtX2V2ZW50LmMKPiAgICAgaW5kZXggNTYzNTYwMy4u Yjg1MWUzOSAxMDA2NDQKPiAgICAgLS0tIGEveGVuL2FyY2gveDg2L3ZtX2V2ZW50LmMKPiAgICAg KysrIGIveGVuL2FyY2gveDg2L3ZtX2V2ZW50LmMKPiAgICAgQEAgLTI3LDYgKzI3LDEzIEBAIGlu dCB2bV9ldmVudF9pbml0X2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkKQo+ICAgICAgewo+ICAgICAg ICAgIHN0cnVjdCB2Y3B1ICp2Owo+IAo+ICAgICArICAgIGQtPmFyY2gubW9uaXRvcl9tc3JfYml0 bWFwID0gYWxsb2NfeGVuaGVhcF9wYWdlKCk7Cj4gICAgICsKPiAgICAgKyAgICBpZiAoICFkLT5h cmNoLm1vbml0b3JfbXNyX2JpdG1hcCApCj4gICAgICsgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ ICAgICArCj4gICAgICsgICAgbWVtc2V0KGQtPmFyY2gubW9uaXRvcl9tc3JfYml0bWFwLCAwLCBQ QUdFX1NJWkUpOwo+ICAgICArCj4gICAgICAgICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQo+ICAg ICAgICAgIHsKPiAgICAgICAgICAgICAgaWYgKCB2LT5hcmNoLnZtX2V2ZW50ICkKPiAgICAgQEAg LTU1LDExICs2Miw2NiBAQCB2b2lkIHZtX2V2ZW50X2NsZWFudXBfZG9tYWluKHN0cnVjdCBkb21h aW4gKmQpCj4gICAgICAgICAgICAgIHYtPmFyY2gudm1fZXZlbnQgPSBOVUxMOwo+ICAgICAgICAg IH0KPiAKPiAgICAgKyAgICBmcmVlX3hlbmhlYXBfcGFnZShkLT5hcmNoLm1vbml0b3JfbXNyX2Jp dG1hcCk7Cj4gICAgICsgICAgZC0+YXJjaC5tb25pdG9yX21zcl9iaXRtYXAgPSBOVUxMOwo+ICAg ICArCj4gICAgICAgICAgZC0+YXJjaC5tZW1fYWNjZXNzX2VtdWxhdGVfZWFjaF9yZXAgPSAwOwo+ ICAgICAgICAgIG1lbXNldCgmZC0+YXJjaC5tb25pdG9yLCAwLCBzaXplb2YoZC0+YXJjaC5tb25p dG9yKSk7Cj4gICAgICAgICAgbWVtc2V0KCZkLT5tb25pdG9yLCAwLCBzaXplb2YoZC0+bW9uaXRv cikpOwo+ICAgICAgfQo+IAo+ICAgICAraW50IHZtX2V2ZW50X2VuYWJsZV9tc3Ioc3RydWN0IGRv bWFpbiAqZCwgdTMyIG1zcikKPiAKPiAKPiBUaGlzIGZ1bmN0aW9uLi4KPiAgCj4gCj4gICAgICt7 Cj4gICAgICsgICAgaWYgKCAhZC0+YXJjaC5tb25pdG9yX21zcl9iaXRtYXAgKQo+ICAgICArICAg ICAgICByZXR1cm4gLUVJTlZBTDsKPiAgICAgKwo+ICAgICArICAgIGlmICggbXNyIDw9IDB4MWZm ZiApCj4gICAgICsgICAgICAgIHNldF9iaXQobXNyLCBkLT5hcmNoLm1vbml0b3JfbXNyX2JpdG1h cCArCj4gICAgIDB4MDAwL0JZVEVTX1BFUl9MT05HKTsKPiAgICAgKyAgICBlbHNlIGlmICggKG1z ciA+PSAweGMwMDAwMDAwKSAmJiAobXNyIDw9IDB4YzAwMDFmZmYpICkKPiAgICAgKyAgICB7Cj4g ICAgICsgICAgICAgIG1zciAmPSAweDFmZmY7Cj4gICAgICsgICAgICAgIHNldF9iaXQobXNyLCBk LT5hcmNoLm1vbml0b3JfbXNyX2JpdG1hcCArCj4gICAgIDB4NDAwL0JZVEVTX1BFUl9MT05HKTsK PiAgICAgKyAgICB9Cj4gICAgICsKPiAgICAgKyAgICBodm1fZW5hYmxlX21zcl9pbnRlcmNlcHRp b24oZCwgbXNyKTsKPiAgICAgKwo+ICAgICArICAgIHJldHVybiAwOwo+ICAgICArfQo+ICAgICAr Cj4gICAgICtpbnQgdm1fZXZlbnRfZGlzYWJsZV9tc3Ioc3RydWN0IGRvbWFpbiAqZCwgdTMyIG1z cikKPiAKPiAKPiAuLmFuZCB0aGlzLi4KPiAgCj4gCj4gICAgICt7Cj4gICAgICsgICAgaWYgKCAh ZC0+YXJjaC5tb25pdG9yX21zcl9iaXRtYXAgKQo+ICAgICArICAgICAgICByZXR1cm4gLUVJTlZB TDsKPiAgICAgKwo+ICAgICArICAgIGlmICggbXNyIDw9IDB4MWZmZiApCj4gICAgICsgICAgICAg IGNsZWFyX2JpdChtc3IsIGQtPmFyY2gubW9uaXRvcl9tc3JfYml0bWFwICsKPiAgICAgMHgwMDAv QllURVNfUEVSX0xPTkcpOwo+ICAgICArICAgIGVsc2UgaWYgKCAobXNyID49IDB4YzAwMDAwMDAp ICYmIChtc3IgPD0gMHhjMDAwMWZmZikgKQo+ICAgICArICAgIHsKPiAgICAgKyAgICAgICAgbXNy ICY9IDB4MWZmZjsKPiAgICAgKyAgICAgICAgY2xlYXJfYml0KG1zciwgZC0+YXJjaC5tb25pdG9y X21zcl9iaXRtYXAgKwo+ICAgICAweDQwMC9CWVRFU19QRVJfTE9ORyk7Cj4gICAgICsgICAgfQo+ ICAgICArCj4gICAgICsgICAgcmV0dXJuIDA7Cj4gICAgICt9Cj4gICAgICsKPiAgICAgK2Jvb2xf dCB2bV9ldmVudF9pc19tc3JfZW5hYmxlZChjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1MzIgbXNy KQo+IAo+ICAKPiAuLmFuZCB0aGlzIG9uZSBoYXMgbm90aGluZyB0byBkbyB3aXRoIHZtX2V2ZW50 IHJlYWxseS4gVGhlc2UgYmVsb25nIGluCj4gdGhlIG1vbml0b3IuYyBzaWRlLgo+ICAKPiAKPiAg ICAgK3sKPiAgICAgKyAgICBib29sX3QgcmMgPSAwOwo+ICAgICArCj4gICAgICsgICAgaWYgKCAh ZC0+YXJjaC5tb25pdG9yX21zcl9iaXRtYXAgKQo+ICAgICArICAgICAgICByZXR1cm4gMDsKPiAg ICAgKwo+ICAgICArICAgIGlmICggbXNyIDw9IDB4MWZmZiApCj4gICAgICsgICAgICAgIHJjID0g dGVzdF9iaXQobXNyLCBkLT5hcmNoLm1vbml0b3JfbXNyX2JpdG1hcCArCj4gICAgIDB4MDAwL0JZ VEVTX1BFUl9MT05HKTsKPiAgICAgKyAgICBlbHNlIGlmICggKG1zciA+PSAweGMwMDAwMDAwKSAm JiAobXNyIDw9IDB4YzAwMDFmZmYpICkKPiAgICAgKyAgICB7Cj4gICAgICsgICAgICAgIG1zciAm PSAweDFmZmY7Cj4gICAgICsgICAgICAgIHJjID0gdGVzdF9iaXQobXNyLCBkLT5hcmNoLm1vbml0 b3JfbXNyX2JpdG1hcCArCj4gICAgIDB4NDAwL0JZVEVTX1BFUl9MT05HKTsKPiAgICAgKyAgICB9 Cj4gICAgICsKPiAgICAgKyAgICByZXR1cm4gcmM7Cj4gICAgICt9Cj4gICAgICsKPiAgICAgIHZv aWQgdm1fZXZlbnRfdG9nZ2xlX3NpbmdsZXN0ZXAoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IHZj cHUgKnYpCj4gICAgICB7Cj4gICAgICAgICAgaWYgKCAhaXNfaHZtX2RvbWFpbihkKSB8fCAhYXRv bWljX3JlYWQoJnYtPnZtX2V2ZW50X3BhdXNlX2NvdW50KSApCgpGYWlyIGVub3VnaC4gV2lsbCBt b3ZlIHRoZW0uCgoKVGhhbmtzLApSYXp2YW4KCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0 cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=