From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dietmar Hahn Subject: Re: [PATCH v19 12/14] x86/VPMU: Merge vpmu_rdmsr and vpmu_wrmsr Date: Wed, 25 Mar 2015 09:29:14 +0100 Message-ID: <2613093.GJGiy2F2se@amur> References: <1426604051-2980-1-git-send-email-boris.ostrovsky@oracle.com> <1426604051-2980-13-git-send-email-boris.ostrovsky@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1426604051-2980-13-git-send-email-boris.ostrovsky@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: kevin.tian@intel.com, JBeulich@suse.com, jun.nakajima@intel.com, andrew.cooper3@citrix.com, tim@xen.org, Aravind.Gopalakrishnan@amd.com, suravee.suthikulpanit@amd.com, dgdegra@tycho.nsa.gov, Boris Ostrovsky List-Id: xen-devel@lists.xenproject.org QW0gRGllbnN0YWcgMTcgTcOkcnogMjAxNSwgMTA6NTQ6MDkgc2NocmllYiBCb3JpcyBPc3Ryb3Zz a3k6Cj4gVGhlIHR3byByb3V0aW5lcyBzaGFyZSBtb3N0IG9mIHRoZWlyIGxvZ2ljLgo+IAo+IFNp Z25lZC1vZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+ Cj4gLS0tCj4gQ2hhbmdlcyBpbiB2MTk6Cj4gKiBjb25zdC1pZmllZCBhcmNoX3ZwbXVfb3BzIGlu IHZwbXVfZG9fd3Jtc3IKPiAqIG5vbi1jaGFuZ2VzOgo+ICAgIC0ga2VwdCAnY3VycmVudCcgYXMg YSBub24taW5pdGlhbGl6ZXIgdG8gYXZvaWQgdW5uZWNlc3NhcnkgaW5pdGlhbGl6YXRpb24KPiAg ICAgIGluIHRoZSAoY29tbW9uKSBub24tVlBNVSBjYXNlCj4gICAgLSBrZXB0ICdub3AnIGxhYmVs IHNpbmNlIHRoZXJlIGFyZSBtdWx0aXBsZSBkaXNzaW1pbGFyIGNhc2VzIHRoYXQgY2FuIGNhdXNl Cj4gICAgICBhIG5vbi1lbXVsYXRpb24gb2YgVlBNVSBhY2Nlc3MKPiAKPiAgeGVuL2FyY2gveDg2 L2h2bS92cG11LmMgICAgICAgIHwgNzYgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCj4gIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZwbXUuaCB8IDE0ICsrKysrKy0t Cj4gIDIgZmlsZXMgY2hhbmdlZCwgNDIgaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vdnBtdS5jIGIveGVuL2FyY2gveDg2L2h2 bS92cG11LmMKPiBpbmRleCBjMjg3ZDhiLi5iZWVkOTU2IDEwMDY0NAo+IC0tLSBhL3hlbi9hcmNo L3g4Ni9odm0vdnBtdS5jCj4gKysrIGIveGVuL2FyY2gveDg2L2h2bS92cG11LmMKPiBAQCAtMTAz LDYzICsxMDMsNDcgQEAgdm9pZCB2cG11X2x2dHBjX3VwZGF0ZSh1aW50MzJfdCB2YWwpCj4gICAg ICAgICAgYXBpY193cml0ZShBUElDX0xWVFBDLCB2cG11LT5od19sYXBpY19sdnRwYyk7Cj4gIH0K PiAgCj4gLWludCB2cG11X2RvX3dybXNyKHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90IG1zcl9j b250ZW50LCB1aW50NjRfdCBzdXBwb3J0ZWQpCj4gK2ludCB2cG11X2RvX21zcih1bnNpZ25lZCBp bnQgbXNyLCB1aW50NjRfdCAqbXNyX2NvbnRlbnQsCj4gKyAgICAgICAgICAgICAgICB1aW50NjRf dCBzdXBwb3J0ZWQsIGJvb2xfdCBpc193cml0ZSkKPiAgewo+IC0gICAgc3RydWN0IHZjcHUgKmN1 cnIgPSBjdXJyZW50Owo+ICsgICAgc3RydWN0IHZjcHUgKmN1cnI7Cj4gICAgICBzdHJ1Y3QgdnBt dV9zdHJ1Y3QgKnZwbXU7Cj4gKyAgICBjb25zdCBzdHJ1Y3QgYXJjaF92cG11X29wcyAqb3BzOwoK V2hhdCBpcyB0aGlzIGNvbnN0IHVzZWZ1bCBmb3IgaW4gdGhpcyBzbWFsbCBmdW5jdGlvbj8KClJl dmlld2VkLWJ5OiBEaWV0bWFyIEhhaG4gPGRpZXRtYXIuaGFobkB0cy5mdWppdHN1LmNvbT4KCkRp ZXRtYXIuCgo+ICsgICAgaW50IHJldCA9IDA7Cj4gIAo+ICAgICAgaWYgKCB2cG11X21vZGUgPT0g WEVOUE1VX01PREVfT0ZGICkKPiAtICAgICAgICByZXR1cm4gMDsKPiArICAgICAgICBnb3RvIG5v cDsKPiAgCj4gKyAgICBjdXJyID0gY3VycmVudDsKPiAgICAgIHZwbXUgPSB2Y3B1X3ZwbXUoY3Vy cik7Cj4gLSAgICBpZiAoIHZwbXUtPmFyY2hfdnBtdV9vcHMgJiYgdnBtdS0+YXJjaF92cG11X29w cy0+ZG9fd3Jtc3IgKQo+IC0gICAgewo+IC0gICAgICAgIGludCByZXQgPSB2cG11LT5hcmNoX3Zw bXVfb3BzLT5kb193cm1zcihtc3IsIG1zcl9jb250ZW50LCBzdXBwb3J0ZWQpOwo+IC0KPiAtICAg ICAgICAvKgo+IC0gICAgICAgICAqIFdlIG1heSBoYXZlIHJlY2VpdmVkIGEgUE1VIGludGVycnVw dCBkdXJpbmcgV1JNU1IgaGFuZGxpbmcKPiAtICAgICAgICAgKiBhbmQgc2luY2UgZG9fd3Jtc3Ig bWF5IGxvYWQgVlBNVSBjb250ZXh0IHdlIHNob3VsZCBzYXZlCj4gLSAgICAgICAgICogKGFuZCB1 bmxvYWQpIGl0IGFnYWluLgo+IC0gICAgICAgICAqLwo+IC0gICAgICAgIGlmICggIWlzX2h2bV92 Y3B1KGN1cnIpICYmIHZwbXUtPnhlbnBtdV9kYXRhICYmCj4gLSAgICAgICAgICAgICAodnBtdS0+ eGVucG11X2RhdGEtPnBtdS5wbXVfZmxhZ3MgJiBQTVVfQ0FDSEVEKSApCj4gLSAgICAgICAgewo+ IC0gICAgICAgICAgICB2cG11X3NldCh2cG11LCBWUE1VX0NPTlRFWFRfU0FWRSk7Cj4gLSAgICAg ICAgICAgIHZwbXUtPmFyY2hfdnBtdV9vcHMtPmFyY2hfdnBtdV9zYXZlKGN1cnIpOwo+IC0gICAg ICAgICAgICB2cG11X3Jlc2V0KHZwbXUsIFZQTVVfQ09OVEVYVF9TQVZFIHwgVlBNVV9DT05URVhU X0xPQURFRCk7Cj4gLSAgICAgICAgfQo+IC0gICAgICAgIHJldHVybiByZXQ7Cj4gLSAgICB9Cj4g LQo+IC0gICAgcmV0dXJuIDA7Cj4gLX0KPiAtCj4gLWludCB2cG11X2RvX3JkbXNyKHVuc2lnbmVk IGludCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVudCkKPiAtewo+IC0gICAgc3RydWN0IHZjcHUg KmN1cnIgPSBjdXJyZW50Owo+IC0gICAgc3RydWN0IHZwbXVfc3RydWN0ICp2cG11Owo+ICsgICAg b3BzID0gdnBtdS0+YXJjaF92cG11X29wczsKPiArICAgIGlmICggIW9wcyApCj4gKyAgICAgICAg Z290byBub3A7Cj4gKwo+ICsgICAgaWYgKCBpc193cml0ZSAmJiBvcHMtPmRvX3dybXNyICkKPiAr ICAgICAgICByZXQgPSBvcHMtPmRvX3dybXNyKG1zciwgKm1zcl9jb250ZW50LCBzdXBwb3J0ZWQp Owo+ICsgICAgZWxzZSBpZiAoICFpc193cml0ZSAmJiBvcHMtPmRvX3JkbXNyICkKPiArICAgICAg ICByZXQgPSBvcHMtPmRvX3JkbXNyKG1zciwgbXNyX2NvbnRlbnQpOwo+ICsgICAgZWxzZQo+ICsg ICAgICAgIGdvdG8gbm9wOwo+ICAKPiAtICAgIGlmICggdnBtdV9tb2RlID09IFhFTlBNVV9NT0RF X09GRiApCj4gKyAgICAvKgo+ICsgICAgICogV2UgbWF5IGhhdmUgcmVjZWl2ZWQgYSBQTVUgaW50 ZXJydXB0IHdoaWxlIGhhbmRsaW5nIE1TUiBhY2Nlc3MKPiArICAgICAqIGFuZCBzaW5jZSBkb193 ci9yZG1zciBtYXkgbG9hZCBWUE1VIGNvbnRleHQgd2Ugc2hvdWxkIHNhdmUKPiArICAgICAqIChh bmQgdW5sb2FkKSBpdCBhZ2Fpbi4KPiArICAgICAqLwo+ICsgICAgaWYgKCAhaXNfaHZtX3ZjcHUo Y3VycikgJiYKPiArICAgICAgICAgdnBtdS0+eGVucG11X2RhdGEgJiYgKHZwbXUtPnhlbnBtdV9k YXRhLT5wbXUucG11X2ZsYWdzICYgUE1VX0NBQ0hFRCkgKQo+ICAgICAgewo+IC0gICAgICAgICpt c3JfY29udGVudCA9IDA7Cj4gLSAgICAgICAgcmV0dXJuIDA7Cj4gKyAgICAgICAgdnBtdV9zZXQo dnBtdSwgVlBNVV9DT05URVhUX1NBVkUpOwo+ICsgICAgICAgIG9wcy0+YXJjaF92cG11X3NhdmUo Y3Vycik7Cj4gKyAgICAgICAgdnBtdV9yZXNldCh2cG11LCBWUE1VX0NPTlRFWFRfU0FWRSB8IFZQ TVVfQ09OVEVYVF9MT0FERUQpOwo+ICAgICAgfQo+ICAKPiAtICAgIHZwbXUgPSB2Y3B1X3ZwbXUo Y3Vycik7Cj4gLSAgICBpZiAoIHZwbXUtPmFyY2hfdnBtdV9vcHMgJiYgdnBtdS0+YXJjaF92cG11 X29wcy0+ZG9fcmRtc3IgKQo+IC0gICAgewo+IC0gICAgICAgIGludCByZXQgPSB2cG11LT5hcmNo X3ZwbXVfb3BzLT5kb19yZG1zcihtc3IsIG1zcl9jb250ZW50KTsKPiArICAgIHJldHVybiByZXQ7 Cj4gIAo+IC0gICAgICAgIGlmICggIWlzX2h2bV92Y3B1KGN1cnIpICYmIHZwbXUtPnhlbnBtdV9k YXRhICYmCj4gLSAgICAgICAgICAgICAodnBtdS0+eGVucG11X2RhdGEtPnBtdS5wbXVfZmxhZ3Mg JiBQTVVfQ0FDSEVEKSApCj4gLSAgICAgICAgewo+IC0gICAgICAgICAgICB2cG11X3NldCh2cG11 LCBWUE1VX0NPTlRFWFRfU0FWRSk7Cj4gLSAgICAgICAgICAgIHZwbXUtPmFyY2hfdnBtdV9vcHMt PmFyY2hfdnBtdV9zYXZlKGN1cnIpOwo+IC0gICAgICAgICAgICB2cG11X3Jlc2V0KHZwbXUsIFZQ TVVfQ09OVEVYVF9TQVZFIHwgVlBNVV9DT05URVhUX0xPQURFRCk7Cj4gLSAgICAgICAgfQo+IC0g ICAgICAgIHJldHVybiByZXQ7Cj4gLSAgICB9Cj4gLSAgICBlbHNlCj4gKyBub3A6Cj4gKyAgICBp ZiAoICFpc193cml0ZSApCj4gICAgICAgICAgKm1zcl9jb250ZW50ID0gMDsKPiAgCj4gICAgICBy ZXR1cm4gMDsKPiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdnBtdS5oIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vdnBtdS5oCj4gaW5kZXggNjQyYTRiNy4uNjM4NTFhNyAx MDA2NDQKPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92cG11LmgKPiArKysgYi94ZW4v aW5jbHVkZS9hc20teDg2L2h2bS92cG11LmgKPiBAQCAtOTksOCArOTksOCBAQCBzdGF0aWMgaW5s aW5lIGJvb2xfdCB2cG11X2FyZV9hbGxfc2V0KGNvbnN0IHN0cnVjdCB2cG11X3N0cnVjdCAqdnBt dSwKPiAgfQo+ICAKPiAgdm9pZCB2cG11X2x2dHBjX3VwZGF0ZSh1aW50MzJfdCB2YWwpOwo+IC1p bnQgdnBtdV9kb193cm1zcih1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdCBtc3JfY29udGVudCwg dWludDY0X3Qgc3VwcG9ydGVkKTsKPiAtaW50IHZwbXVfZG9fcmRtc3IodW5zaWduZWQgaW50IG1z ciwgdWludDY0X3QgKm1zcl9jb250ZW50KTsKPiAraW50IHZwbXVfZG9fbXNyKHVuc2lnbmVkIGlu dCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVudCwKPiArICAgICAgICAgICAgICAgIHVpbnQ2NF90 IHN1cHBvcnRlZCwgYm9vbF90IGlzX3dyaXRlKTsKPiAgdm9pZCB2cG11X2RvX2ludGVycnVwdChz dHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncyk7Cj4gIHZvaWQgdnBtdV9kb19jcHVpZCh1bnNpZ25l ZCBpbnQgaW5wdXQsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICplY3gsIHVu c2lnbmVkIGludCAqZWR4KTsKPiBAQCAtMTEwLDYgKzExMCwxNiBAQCB2b2lkIHZwbXVfc2F2ZShz dHJ1Y3QgdmNwdSAqdik7Cj4gIHZvaWQgdnBtdV9sb2FkKHN0cnVjdCB2Y3B1ICp2KTsKPiAgdm9p ZCB2cG11X2R1bXAoc3RydWN0IHZjcHUgKnYpOwo+ICAKPiArc3RhdGljIGlubGluZSBpbnQgdnBt dV9kb193cm1zcih1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdCBtc3JfY29udGVudCwKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzdXBwb3J0ZWQpCj4gK3sKPiAr ICAgIHJldHVybiB2cG11X2RvX21zcihtc3IsICZtc3JfY29udGVudCwgc3VwcG9ydGVkLCAxKTsK PiArfQo+ICtzdGF0aWMgaW5saW5lIGludCB2cG11X2RvX3JkbXNyKHVuc2lnbmVkIGludCBtc3Is IHVpbnQ2NF90ICptc3JfY29udGVudCkKPiArewo+ICsgICAgcmV0dXJuIHZwbXVfZG9fbXNyKG1z ciwgbXNyX2NvbnRlbnQsIDAsIDApOwo+ICt9Cj4gKwo+ICBleHRlcm4gaW50IGFjcXVpcmVfcG11 X293bmVyc2hpcChpbnQgcG11X293bmVyc2hpcCk7Cj4gIGV4dGVybiB2b2lkIHJlbGVhc2VfcG11 X293bmVyc2hpcChpbnQgcG11X293bmVyc2hpcCk7Cj4gIAo+IAoKLS0gCkNvbXBhbnkgZGV0YWls czogaHR0cDovL3RzLmZ1aml0c3UuY29tL2ltcHJpbnQuaHRtbAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK