From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: [PATCH V2] vm_event: Allow subscribing to write events for specific MSR-s Date: Wed, 13 Apr 2016 11:07:31 +0100 Message-ID: <570E1A63.8070805@citrix.com> References: <1460524280-6902-1-git-send-email-rcojocaru@bitdefender.com> <20160413094726.GA2133@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160413094726.GA2133@localhost.localdomain> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Konrad Rzeszutek Wilk , Razvan Cojocaru Cc: kevin.tian@intel.com, tamas@tklengyel.com, wei.liu2@citrix.com, jbeulich@suse.com, ian.jackson@eu.citrix.com, xen-devel@lists.xen.org, jun.nakajima@intel.com, keir@xen.org List-Id: xen-devel@lists.xenproject.org T24gMTMvMDQvMTYgMTA6NDcsIEtvbnJhZCBSemVzenV0ZWsgV2lsayB3cm90ZToKPj4gZGlmZiAt LWdpdCBhL3hlbi9hcmNoL3g4Ni9tb25pdG9yLmMgYi94ZW4vYXJjaC94ODYvbW9uaXRvci5jCj4+ IGluZGV4IDFmZWM0MTIuLjRjOTY5NjggMTAwNjQ0Cj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9tb25p dG9yLmMKPj4gKysrIGIveGVuL2FyY2gveDg2L21vbml0b3IuYwo+PiBAQCAtMjIsNiArMjIsNTgg QEAKPj4gICNpbmNsdWRlIDxhc20vbW9uaXRvci5oPgo+PiAgI2luY2x1ZGUgPHB1YmxpYy92bV9l dmVudC5oPgo+PiAgCj4+ICtzdGF0aWMgaW50IGFyY2hfbW9uaXRvcl9lbmFibGVfbXNyKHN0cnVj dCBkb21haW4gKmQsIHUzMiBtc3IpCj4+ICt7Cj4+ICsgICAgaWYgKCAhZC0+YXJjaC5tb25pdG9y X21zcl9iaXRtYXAgKQo+PiArICAgICAgICByZXR1cm4gLUVJTlZBTDsKPiBJIHRoaXMgd2FzIG5v dCBzZXQgd291bGRuJ3Qgd2UgZmFpbCBpbiB2bV9ldmVudF9lbmFibGUgd2l0aCAtRU5PTUVNPwo+ Cj4gSSBwcmVzdW1lIHRoZSB1c2VyIGNhbiBzdGlsbCBtYWtlIHRoaXMgaHlwZXJjYWxsLi4gIEFo IHllcy4KPgo+IFBlcmhhcHMgLUVOWElPPwo+PiArCj4+ICsgICAgaWYgKCBtc3IgPD0gMHgxZmZm ICkKPj4gKyAgICAgICAgc2V0X2JpdChtc3IsIGQtPmFyY2gubW9uaXRvcl9tc3JfYml0bWFwICsg MHgwMDAvQllURVNfUEVSX0xPTkcpOwoKKEl0IG1pZ2h0IGhlbHAgdG8gcmVhZCB0aGUgZm9sbG93 aW5nIHJldmlldyBiZWZvcmUgY29taW5nIGJhY2sgaGVyZS4uLikKCkl0IG1pZ2h0IGJlIGNsZWFy ZXIgdG8gZXhwcmVzcyBtb25pdG9yX21zcl9iaXRtYXAgYXMgYSBwb2ludGVyIHRvCgpzdHJ1Y3Qg bW9uaXRvcl9tc3JfYml0bWFwIHsKICAgIHVpbnQ4X3QgbG93WzEwMjRdOwogICAgdWludDhfdCBo eXBlcnZpc29yWzEwMjRdOwogICAgdWludDhfdCBoaWdoWzEwMjRdOwp9OwoKd2hpY2ggYXZvaWRz IHRoZSBvZGQgcG9pbnRlciBhcml0aG1ldGljLgoKPiBUaGUgMHgwMDAvQllURVJfUEVSX0xPTkcg bG9va3Mgb2RkLiBJcyBpdCBldmVuIG5lZWRlZD8KPgo+PiArICAgIGVsc2UgaWYgKCAobXNyID49 IDB4YzAwMDAwMDApICYmIChtc3IgPD0gMHhjMDAwMWZmZikgKQo+PiArICAgIHsKPj4gKyAgICAg ICAgbXNyICY9IDB4MWZmZjsKPj4gKyAgICAgICAgc2V0X2JpdChtc3IsIGQtPmFyY2gubW9uaXRv cl9tc3JfYml0bWFwICsgMHg0MDAvQllURVNfUEVSX0xPTkcpOwoKX19zZXRfYml0KCkuICBJIGRv bid0IHRoaW5rIHlvdSBuZWVkIGEgTE9DSyBoZXJlLgoKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICBo dm1fZW5hYmxlX21zcl9pbnRlcmNlcHRpb24oZCwgbXNyKTsKPiBBbmQgZm9yIE1TUnMgYWJvdmUg MHhjMDAwMWZmZiBpdCBpcyBPSyB0byBlbmFibGUgdGhlIGludGVyY2VwdGlvbj8KPiBPciBiZXR3 ZWVuIDB4MWZmZiBhbmQgMHhjMDAwMDAwMD8KCk5vIHJlYWwgTVNScyBleGlzdCBvdXRzaWRlIHRo ZSBbMC4uMWZmZl0gYW5kIFsweGMwMDAwMDAwLi4weGMwMDAxZmZmXQpyYW5nZXMsIHNvIHdpbGwg c3VmZmVyIGEgI0dQLiAgVGhpcyBpcyBldmVuIHJlZmxlY3RlZCBpbiBob3cgYm90aCBWVC14CmFu ZCBTVk0gZG8gdGhlaXIgTVNSIGludGVyY2VwdGlvbiBiaXRtYXAsIHdoaWNoIGlzIHdoeSBJIHNw ZWNpZmljYWxseQpzdWdnZXN0ZWQgdXNpbmcgdGhlIHNhbWUgaGVyZS4KCkhvd2V2ZXIsIHRoaXMg Y2FzZSB3YW50cyBhIHJhbmdlIGJldHdlZW4gWzB4NDAwMDAwMDAuLjB4NDAwMDFmZmZdCgo+Cj4g Tm8gbmVlZCB0byBmaWx0ZXIgdGhlbSBvdXQ/IE9yIGVycm9yIG9uIHRoZW0/Cj4+ICsKPj4gKyAg ICByZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArc3RhdGljIGludCBhcmNoX21vbml0b3JfZGlzYWJs ZV9tc3Ioc3RydWN0IGRvbWFpbiAqZCwgdTMyIG1zcikKPj4gK3sKPj4gKyAgICBpZiAoICFkLT5h cmNoLm1vbml0b3JfbXNyX2JpdG1hcCApCj4+ICsgICAgICAgIHJldHVybiAtRUlOVkFMOwo+PiAr Cj4+ICsgICAgaWYgKCBtc3IgPD0gMHgxZmZmICkKPj4gKyAgICAgICAgY2xlYXJfYml0KG1zciwg ZC0+YXJjaC5tb25pdG9yX21zcl9iaXRtYXAgKyAweDAwMC9CWVRFU19QRVJfTE9ORyk7Cj4+ICsg ICAgZWxzZSBpZiAoIChtc3IgPj0gMHhjMDAwMDAwMCkgJiYgKG1zciA8PSAweGMwMDAxZmZmKSAp Cj4+ICsgICAgewo+PiArICAgICAgICBtc3IgJj0gMHgxZmZmOwo+PiArICAgICAgICBjbGVhcl9i aXQobXNyLCBkLT5hcmNoLm1vbml0b3JfbXNyX2JpdG1hcCArIDB4NDAwL0JZVEVTX1BFUl9MT05H KTsKPj4gKyAgICB9Cj4+ICsKPj4gKyAgICByZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArYm9vbF90 IGFyY2hfbW9uaXRvcl9pc19tc3JfZW5hYmxlZChjb25zdCBzdHJ1Y3QgZG9tYWluICpkLCB1MzIg bXNyKQo+PiArewo+PiArICAgIGJvb2xfdCByYyA9IDA7Cj4+ICsKPj4gKyAgICBpZiAoICFkLT5h cmNoLm1vbml0b3JfbXNyX2JpdG1hcCApCj4+ICsgICAgICAgIHJldHVybiAwOwo+PiArCj4+ICsg ICAgaWYgKCBtc3IgPD0gMHgxZmZmICkKPj4gKyAgICAgICAgcmMgPSB0ZXN0X2JpdChtc3IsIGQt PmFyY2gubW9uaXRvcl9tc3JfYml0bWFwICsgMHgwMDAvQllURVNfUEVSX0xPTkcpOwo+PiArICAg IGVsc2UgaWYgKCAobXNyID49IDB4YzAwMDAwMDApICYmIChtc3IgPD0gMHhjMDAwMWZmZikgKQo+ PiArICAgIHsKPj4gKyAgICAgICAgbXNyICY9IDB4MWZmZjsKPj4gKyAgICAgICAgcmMgPSB0ZXN0 X2JpdChtc3IsIGQtPmFyY2gubW9uaXRvcl9tc3JfYml0bWFwICsgMHg0MDAvQllURVNfUEVSX0xP TkcpOwo+PiArICAgIH0KPiBBbmQgd2hhdCBpZiBtc3IgcmVxdWVzdGVkIGlzIGFib3ZlIDB4YzAw MDFmZmYgPyBXaGF0IHRoZW4/Cj4KPj4gKwo+PiArICAgIHJldHVybiByYzsKPj4gK30KPj4gKwo+ PiAgaW50IGFyY2hfbW9uaXRvcl9kb21jdGxfZXZlbnQoc3RydWN0IGRvbWFpbiAqZCwKPj4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB4ZW5fZG9tY3RsX21vbml0b3Jfb3Ag Km1vcCkKPj4gIHsKPj4gQEAgLTc3LDI1ICsxMjksMjggQEAgaW50IGFyY2hfbW9uaXRvcl9kb21j dGxfZXZlbnQoc3RydWN0IGRvbWFpbiAqZCwKPj4gIAo+PiAgICAgIGNhc2UgWEVOX0RPTUNUTF9N T05JVE9SX0VWRU5UX01PVl9UT19NU1I6Cj4gU2hvdWxkIHRoaXMgYmUgcmVuYW1lZD8KPj4gICAg ICB7Cj4+IC0gICAgICAgIGJvb2xfdCBvbGRfc3RhdHVzID0gYWQtPm1vbml0b3IubW92X3RvX21z cl9lbmFibGVkOwo+PiArICAgICAgICBib29sX3Qgb2xkX3N0YXR1czsKPj4gKyAgICAgICAgaW50 IHJjOwo+PiArICAgICAgICB1MzIgbXNyID0gbW9wLT51Lm1vdl90b19tc3IubXNyOwo+PiAgCj4+ IC0gICAgICAgIGlmICggdW5saWtlbHkob2xkX3N0YXR1cyA9PSByZXF1ZXN0ZWRfc3RhdHVzKSAp Cj4+IC0gICAgICAgICAgICByZXR1cm4gLUVFWElTVDsKPj4gKyAgICAgICAgZG9tYWluX3BhdXNl KGQpOwo+PiAgCj4+IC0gICAgICAgIGlmICggcmVxdWVzdGVkX3N0YXR1cyAmJiBtb3AtPnUubW92 X3RvX21zci5leHRlbmRlZF9jYXB0dXJlICYmCj4+IC0gICAgICAgICAgICAgIWh2bV9lbmFibGVf bXNyX2V4aXRfaW50ZXJjZXB0aW9uKGQpICkKPj4gLSAgICAgICAgICAgIHJldHVybiAtRU9QTk9U U1VQUDsKPj4gKyAgICAgICAgb2xkX3N0YXR1cyA9IGFyY2hfbW9uaXRvcl9pc19tc3JfZW5hYmxl ZChkLCBtc3IpOwo+PiAgCj4+IC0gICAgICAgIGRvbWFpbl9wYXVzZShkKTsKPj4gKyAgICAgICAg aWYgKCB1bmxpa2VseShvbGRfc3RhdHVzID09IHJlcXVlc3RlZF9zdGF0dXMpICkKPj4gKyAgICAg ICAgewo+PiArICAgICAgICAgICAgZG9tYWluX3VucGF1c2UoZCk7Cj4+ICsgICAgICAgICAgICBy ZXR1cm4gLUVFWElTVDsKPj4gKyAgICAgICAgfQo+PiAgCj4+IC0gICAgICAgIGlmICggcmVxdWVz dGVkX3N0YXR1cyAmJiBtb3AtPnUubW92X3RvX21zci5leHRlbmRlZF9jYXB0dXJlICkKPj4gLSAg ICAgICAgICAgIGFkLT5tb25pdG9yLm1vdl90b19tc3JfZXh0ZW5kZWQgPSAxOwo+PiArICAgICAg ICBpZiAoIHJlcXVlc3RlZF9zdGF0dXMgKQo+PiArICAgICAgICAgICAgcmMgPSBhcmNoX21vbml0 b3JfZW5hYmxlX21zcihkLCBtc3IpOwo+PiAgICAgICAgICBlbHNlCj4+IC0gICAgICAgICAgICBh ZC0+bW9uaXRvci5tb3ZfdG9fbXNyX2V4dGVuZGVkID0gMDsKPj4gKyAgICAgICAgICAgIHJjID0g YXJjaF9tb25pdG9yX2Rpc2FibGVfbXNyKGQsIG1zcik7Cj4+ICAKPj4gLSAgICAgICAgYWQtPm1v bml0b3IubW92X3RvX21zcl9lbmFibGVkID0gcmVxdWVzdGVkX3N0YXR1czsKPj4gICAgICAgICAg ZG9tYWluX3VucGF1c2UoZCk7Cj4+IC0gICAgICAgIGJyZWFrOwo+PiArCj4+ICsgICAgICAgIHJl dHVybiByYzsKPj4gICAgICB9Cj4+ICAKPj4gICAgICBjYXNlIFhFTl9ET01DVExfTU9OSVRPUl9F VkVOVF9TSU5HTEVTVEVQOgo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3ZtX2V2ZW50LmMg Yi94ZW4vYXJjaC94ODYvdm1fZXZlbnQuYwo+PiBpbmRleCA1NjM1NjAzLi45YjQyNjdlIDEwMDY0 NAo+PiAtLS0gYS94ZW4vYXJjaC94ODYvdm1fZXZlbnQuYwo+PiArKysgYi94ZW4vYXJjaC94ODYv dm1fZXZlbnQuYwo+PiBAQCAtMjcsNiArMjcsMTMgQEAgaW50IHZtX2V2ZW50X2luaXRfZG9tYWlu KHN0cnVjdCBkb21haW4gKmQpCj4+ICB7Cj4+ICAgICAgc3RydWN0IHZjcHUgKnY7Cj4+ICAKPj4g KyAgICBkLT5hcmNoLm1vbml0b3JfbXNyX2JpdG1hcCA9IGFsbG9jX3hlbmhlYXBfcGFnZSgpOwo+ IEhvdyBhYm91dCB1c2luZyB2emFsbG9jPwoKdm1hcCBzcGFjZSBpcyBmYXIgbW9yZSBsaW1pdGVk IHRoYW4gZ2VuZXJhbCB4ZW5oZWFwIHNwYWNlLiAgdm1hcCgpCnNob3VsZCBvbmx5IGJlIHVzZWQg d2hlbiB5b3UgbmVlZCA+NEsgYWxsb2NhdGlvbnMgY29udGlndW91c2x5IGluCnZpcnR1YWwgYWRk cmVzcyBzcGFjZS4KCj4+ICsKPj4gKyAgICBpZiAoICFkLT5hcmNoLm1vbml0b3JfbXNyX2JpdG1h cCApCj4+ICsgICAgICAgIHJldHVybiAtRU5PTUVNOwo+PiArCj4+ICsgICAgbWVtc2V0KGQtPmFy Y2gubW9uaXRvcl9tc3JfYml0bWFwLCAwLCBQQUdFX1NJWkUpOwo+IFRoZW4geW91IGRvbid0IGhh dmUgdG8gZG8gdGhhdC4KCmNsZWFyX3BhZ2UoKQoKPgo+PiArCj4+ICAgICAgZm9yX2VhY2hfdmNw dSAoIGQsIHYgKQo+PiAgICAgIHsKPj4gICAgICAgICAgaWYgKCB2LT5hcmNoLnZtX2V2ZW50ICkK Pj4gQEAgLTU1LDYgKzYyLDkgQEAgdm9pZCB2bV9ldmVudF9jbGVhbnVwX2RvbWFpbihzdHJ1Y3Qg ZG9tYWluICpkKQo+PiAgICAgICAgICB2LT5hcmNoLnZtX2V2ZW50ID0gTlVMTDsKPj4gICAgICB9 Cj4+ICAKPj4gKyAgICBmcmVlX3hlbmhlYXBfcGFnZShkLT5hcmNoLm1vbml0b3JfbXNyX2JpdG1h cCk7Cj4gQW5kIHRoaXMgd291bGQgYmUgdmZyZWUuCj4KPj4gKyAgICBkLT5hcmNoLm1vbml0b3Jf bXNyX2JpdG1hcCA9IE5VTEw7Cj4+ICsKPj4gICAgICBkLT5hcmNoLm1lbV9hY2Nlc3NfZW11bGF0 ZV9lYWNoX3JlcCA9IDA7Cj4+ICAgICAgbWVtc2V0KCZkLT5hcmNoLm1vbml0b3IsIDAsIHNpemVv ZihkLT5hcmNoLm1vbml0b3IpKTsKPj4gICAgICBtZW1zZXQoJmQtPm1vbml0b3IsIDAsIHNpemVv ZihkLT5tb25pdG9yKSk7Cj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3Rs LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKPj4gaW5kZXggMjQ1NzY5OC4uODc1YzA5 YSAxMDA2NDQKPj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCj4+ICsrKyBiL3hl bi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAo+PiBAQCAtMTEwNyw4ICsxMTA3LDcgQEAgc3RydWN0 IHhlbl9kb21jdGxfbW9uaXRvcl9vcCB7Cj4+ICAgICAgICAgIH0gbW92X3RvX2NyOwo+PiAgCj4+ ICAgICAgICAgIHN0cnVjdCB7Cj4+IC0gICAgICAgICAgICAvKiBFbmFibGUgdGhlIGNhcHR1cmUg b2YgYW4gZXh0ZW5kZWQgc2V0IG9mIE1TUnMgKi8KPj4gLSAgICAgICAgICAgIHVpbnQ4X3QgZXh0 ZW5kZWRfY2FwdHVyZTsKPj4gKyAgICAgICAgICAgIHVpbnQzMl90IG1zcjsKPiBXaG9hIHRoZXJl LiBJc24ndCBpdCBleHBhbmRpbmcgdGhlIHN0cnVjdHVyZT8gV2lsbCB0aGlzIGJlIGJhY2t3YXJk cwo+IGNvbXBhdGlibGU/IFdoYXQgaWYgc29tZWJvZHkgaXMgdXNpbmcgYW4gb2xkZXIgdmVyc2lv biBvZiB4ZW4tYWNjZXNzCj4gYWdhaW5zdCB0aGlzIGh5cGVydmlzb3I/IFdpbGwgdGhleSB3b3Jr PwoKSXRzIGEgZG9tY3RsLiAgVGhpcyBpcyBwZXJmZWN0bHkgZmluZSAod2l0aGluIHRoZSBydWxl cykgdG8gZG8uCgp+QW5kcmV3CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=