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 13:23:56 +0100 Message-ID: <2189557.TCUq0WKC1f@amur> References: <1426604051-2980-1-git-send-email-boris.ostrovsky@oracle.com> <1426604051-2980-13-git-send-email-boris.ostrovsky@oracle.com> <2613093.GJGiy2F2se@amur> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <2613093.GJGiy2F2se@amur> 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, Boris Ostrovsky , andrew.cooper3@citrix.com, tim@xen.org, Aravind.Gopalakrishnan@amd.com, jun.nakajima@intel.com, dgdegra@tycho.nsa.gov, suravee.suthikulpanit@amd.com List-Id: xen-devel@lists.xenproject.org QW0gTWl0dHdvY2ggMjUgTcOkcnogMjAxNSwgMDk6Mjk6MTQgc2NocmllYiBEaWV0bWFyIEhhaG46 Cj4gQW0gRGllbnN0YWcgMTcgTcOkcnogMjAxNSwgMTA6NTQ6MDkgc2NocmllYiBCb3JpcyBPc3Ry b3Zza3k6Cj4gPiBUaGUgdHdvIHJvdXRpbmVzIHNoYXJlIG1vc3Qgb2YgdGhlaXIgbG9naWMuCj4g PiAKPiA+IFNpZ25lZC1vZmYtYnk6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9y YWNsZS5jb20+Cj4gPiAtLS0KPiA+IENoYW5nZXMgaW4gdjE5Ogo+ID4gKiBjb25zdC1pZmllZCBh cmNoX3ZwbXVfb3BzIGluIHZwbXVfZG9fd3Jtc3IKPiA+ICogbm9uLWNoYW5nZXM6Cj4gPiAgICAt IGtlcHQgJ2N1cnJlbnQnIGFzIGEgbm9uLWluaXRpYWxpemVyIHRvIGF2b2lkIHVubmVjZXNzYXJ5 IGluaXRpYWxpemF0aW9uCj4gPiAgICAgIGluIHRoZSAoY29tbW9uKSBub24tVlBNVSBjYXNlCj4g PiAgICAtIGtlcHQgJ25vcCcgbGFiZWwgc2luY2UgdGhlcmUgYXJlIG11bHRpcGxlIGRpc3NpbWls YXIgY2FzZXMgdGhhdCBjYW4gY2F1c2UKPiA+ICAgICAgYSBub24tZW11bGF0aW9uIG9mIFZQTVUg YWNjZXNzCj4gPiAKPiA+ICB4ZW4vYXJjaC94ODYvaHZtL3ZwbXUuYyAgICAgICAgfCA3NiArKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICB4ZW4vaW5jbHVkZS9h c20teDg2L2h2bS92cG11LmggfCAxNCArKysrKystLQo+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNDIg aW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvaHZtL3ZwbXUuYyBiL3hlbi9hcmNoL3g4Ni9odm0vdnBtdS5jCj4gPiBpbmRleCBj Mjg3ZDhiLi5iZWVkOTU2IDEwMDY0NAo+ID4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS92cG11LmMK PiA+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vdnBtdS5jCj4gPiBAQCAtMTAzLDYzICsxMDMsNDcg QEAgdm9pZCB2cG11X2x2dHBjX3VwZGF0ZSh1aW50MzJfdCB2YWwpCj4gPiAgICAgICAgICBhcGlj X3dyaXRlKEFQSUNfTFZUUEMsIHZwbXUtPmh3X2xhcGljX2x2dHBjKTsKPiA+ICB9Cj4gPiAgCj4g PiAtaW50IHZwbXVfZG9fd3Jtc3IodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgbXNyX2NvbnRl bnQsIHVpbnQ2NF90IHN1cHBvcnRlZCkKPiA+ICtpbnQgdnBtdV9kb19tc3IodW5zaWduZWQgaW50 IG1zciwgdWludDY0X3QgKm1zcl9jb250ZW50LAo+ID4gKyAgICAgICAgICAgICAgICB1aW50NjRf dCBzdXBwb3J0ZWQsIGJvb2xfdCBpc193cml0ZSkKPiA+ICB7Cj4gPiAtICAgIHN0cnVjdCB2Y3B1 ICpjdXJyID0gY3VycmVudDsKPiA+ICsgICAgc3RydWN0IHZjcHUgKmN1cnI7Cj4gPiAgICAgIHN0 cnVjdCB2cG11X3N0cnVjdCAqdnBtdTsKPiA+ICsgICAgY29uc3Qgc3RydWN0IGFyY2hfdnBtdV9v cHMgKm9wczsKPiAKPiBXaGF0IGlzIHRoaXMgY29uc3QgdXNlZnVsIGZvciBpbiB0aGlzIHNtYWxs IGZ1bmN0aW9uPwoKU29ycnkgZm9yIHRoZSBxdWVzdGlvbiBhbmQgZm9yIHRoZSBub2lzZSBJIGFs cmVhZHkgZ290IGl0IQoKPiAKPiBSZXZpZXdlZC1ieTogRGlldG1hciBIYWhuIDxkaWV0bWFyLmhh aG5AdHMuZnVqaXRzdS5jb20+Cj4gCj4gRGlldG1hci4KPiAKPiA+ICsgICAgaW50IHJldCA9IDA7 Cj4gPiAgCj4gPiAgICAgIGlmICggdnBtdV9tb2RlID09IFhFTlBNVV9NT0RFX09GRiApCj4gPiAt ICAgICAgICByZXR1cm4gMDsKPiA+ICsgICAgICAgIGdvdG8gbm9wOwo+ID4gIAo+ID4gKyAgICBj dXJyID0gY3VycmVudDsKPiA+ICAgICAgdnBtdSA9IHZjcHVfdnBtdShjdXJyKTsKPiA+IC0gICAg aWYgKCB2cG11LT5hcmNoX3ZwbXVfb3BzICYmIHZwbXUtPmFyY2hfdnBtdV9vcHMtPmRvX3dybXNy ICkKPiA+IC0gICAgewo+ID4gLSAgICAgICAgaW50IHJldCA9IHZwbXUtPmFyY2hfdnBtdV9vcHMt PmRvX3dybXNyKG1zciwgbXNyX2NvbnRlbnQsIHN1cHBvcnRlZCk7Cj4gPiAtCj4gPiAtICAgICAg ICAvKgo+ID4gLSAgICAgICAgICogV2UgbWF5IGhhdmUgcmVjZWl2ZWQgYSBQTVUgaW50ZXJydXB0 IGR1cmluZyBXUk1TUiBoYW5kbGluZwo+ID4gLSAgICAgICAgICogYW5kIHNpbmNlIGRvX3dybXNy IG1heSBsb2FkIFZQTVUgY29udGV4dCB3ZSBzaG91bGQgc2F2ZQo+ID4gLSAgICAgICAgICogKGFu ZCB1bmxvYWQpIGl0IGFnYWluLgo+ID4gLSAgICAgICAgICovCj4gPiAtICAgICAgICBpZiAoICFp c19odm1fdmNwdShjdXJyKSAmJiB2cG11LT54ZW5wbXVfZGF0YSAmJgo+ID4gLSAgICAgICAgICAg ICAodnBtdS0+eGVucG11X2RhdGEtPnBtdS5wbXVfZmxhZ3MgJiBQTVVfQ0FDSEVEKSApCj4gPiAt ICAgICAgICB7Cj4gPiAtICAgICAgICAgICAgdnBtdV9zZXQodnBtdSwgVlBNVV9DT05URVhUX1NB VkUpOwo+ID4gLSAgICAgICAgICAgIHZwbXUtPmFyY2hfdnBtdV9vcHMtPmFyY2hfdnBtdV9zYXZl KGN1cnIpOwo+ID4gLSAgICAgICAgICAgIHZwbXVfcmVzZXQodnBtdSwgVlBNVV9DT05URVhUX1NB VkUgfCBWUE1VX0NPTlRFWFRfTE9BREVEKTsKPiA+IC0gICAgICAgIH0KPiA+IC0gICAgICAgIHJl dHVybiByZXQ7Cj4gPiAtICAgIH0KPiA+IC0KPiA+IC0gICAgcmV0dXJuIDA7Cj4gPiAtfQo+ID4g LQo+ID4gLWludCB2cG11X2RvX3JkbXNyKHVuc2lnbmVkIGludCBtc3IsIHVpbnQ2NF90ICptc3Jf Y29udGVudCkKPiA+IC17Cj4gPiAtICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKPiA+ IC0gICAgc3RydWN0IHZwbXVfc3RydWN0ICp2cG11Owo+ID4gKyAgICBvcHMgPSB2cG11LT5hcmNo X3ZwbXVfb3BzOwo+ID4gKyAgICBpZiAoICFvcHMgKQo+ID4gKyAgICAgICAgZ290byBub3A7Cj4g PiArCj4gPiArICAgIGlmICggaXNfd3JpdGUgJiYgb3BzLT5kb193cm1zciApCj4gPiArICAgICAg ICByZXQgPSBvcHMtPmRvX3dybXNyKG1zciwgKm1zcl9jb250ZW50LCBzdXBwb3J0ZWQpOwo+ID4g KyAgICBlbHNlIGlmICggIWlzX3dyaXRlICYmIG9wcy0+ZG9fcmRtc3IgKQo+ID4gKyAgICAgICAg cmV0ID0gb3BzLT5kb19yZG1zcihtc3IsIG1zcl9jb250ZW50KTsKPiA+ICsgICAgZWxzZQo+ID4g KyAgICAgICAgZ290byBub3A7Cj4gPiAgCj4gPiAtICAgIGlmICggdnBtdV9tb2RlID09IFhFTlBN VV9NT0RFX09GRiApCj4gPiArICAgIC8qCj4gPiArICAgICAqIFdlIG1heSBoYXZlIHJlY2VpdmVk IGEgUE1VIGludGVycnVwdCB3aGlsZSBoYW5kbGluZyBNU1IgYWNjZXNzCj4gPiArICAgICAqIGFu ZCBzaW5jZSBkb193ci9yZG1zciBtYXkgbG9hZCBWUE1VIGNvbnRleHQgd2Ugc2hvdWxkIHNhdmUK PiA+ICsgICAgICogKGFuZCB1bmxvYWQpIGl0IGFnYWluLgo+ID4gKyAgICAgKi8KPiA+ICsgICAg aWYgKCAhaXNfaHZtX3ZjcHUoY3VycikgJiYKPiA+ICsgICAgICAgICB2cG11LT54ZW5wbXVfZGF0 YSAmJiAodnBtdS0+eGVucG11X2RhdGEtPnBtdS5wbXVfZmxhZ3MgJiBQTVVfQ0FDSEVEKSApCj4g PiAgICAgIHsKPiA+IC0gICAgICAgICptc3JfY29udGVudCA9IDA7Cj4gPiAtICAgICAgICByZXR1 cm4gMDsKPiA+ICsgICAgICAgIHZwbXVfc2V0KHZwbXUsIFZQTVVfQ09OVEVYVF9TQVZFKTsKPiA+ ICsgICAgICAgIG9wcy0+YXJjaF92cG11X3NhdmUoY3Vycik7Cj4gPiArICAgICAgICB2cG11X3Jl c2V0KHZwbXUsIFZQTVVfQ09OVEVYVF9TQVZFIHwgVlBNVV9DT05URVhUX0xPQURFRCk7Cj4gPiAg ICAgIH0KPiA+ICAKPiA+IC0gICAgdnBtdSA9IHZjcHVfdnBtdShjdXJyKTsKPiA+IC0gICAgaWYg KCB2cG11LT5hcmNoX3ZwbXVfb3BzICYmIHZwbXUtPmFyY2hfdnBtdV9vcHMtPmRvX3JkbXNyICkK PiA+IC0gICAgewo+ID4gLSAgICAgICAgaW50IHJldCA9IHZwbXUtPmFyY2hfdnBtdV9vcHMtPmRv X3JkbXNyKG1zciwgbXNyX2NvbnRlbnQpOwo+ID4gKyAgICByZXR1cm4gcmV0Owo+ID4gIAo+ID4g LSAgICAgICAgaWYgKCAhaXNfaHZtX3ZjcHUoY3VycikgJiYgdnBtdS0+eGVucG11X2RhdGEgJiYK PiA+IC0gICAgICAgICAgICAgKHZwbXUtPnhlbnBtdV9kYXRhLT5wbXUucG11X2ZsYWdzICYgUE1V X0NBQ0hFRCkgKQo+ID4gLSAgICAgICAgewo+ID4gLSAgICAgICAgICAgIHZwbXVfc2V0KHZwbXUs IFZQTVVfQ09OVEVYVF9TQVZFKTsKPiA+IC0gICAgICAgICAgICB2cG11LT5hcmNoX3ZwbXVfb3Bz LT5hcmNoX3ZwbXVfc2F2ZShjdXJyKTsKPiA+IC0gICAgICAgICAgICB2cG11X3Jlc2V0KHZwbXUs IFZQTVVfQ09OVEVYVF9TQVZFIHwgVlBNVV9DT05URVhUX0xPQURFRCk7Cj4gPiAtICAgICAgICB9 Cj4gPiAtICAgICAgICByZXR1cm4gcmV0Owo+ID4gLSAgICB9Cj4gPiAtICAgIGVsc2UKPiA+ICsg bm9wOgo+ID4gKyAgICBpZiAoICFpc193cml0ZSApCj4gPiAgICAgICAgICAqbXNyX2NvbnRlbnQg PSAwOwo+ID4gIAo+ID4gICAgICByZXR1cm4gMDsKPiA+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS92cG11LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92cG11LmgKPiA+ IGluZGV4IDY0MmE0YjcuLjYzODUxYTcgMTAwNjQ0Cj4gPiAtLS0gYS94ZW4vaW5jbHVkZS9hc20t eDg2L2h2bS92cG11LmgKPiA+ICsrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZwbXUuaAo+ ID4gQEAgLTk5LDggKzk5LDggQEAgc3RhdGljIGlubGluZSBib29sX3QgdnBtdV9hcmVfYWxsX3Nl dChjb25zdCBzdHJ1Y3QgdnBtdV9zdHJ1Y3QgKnZwbXUsCj4gPiAgfQo+ID4gIAo+ID4gIHZvaWQg dnBtdV9sdnRwY191cGRhdGUodWludDMyX3QgdmFsKTsKPiA+IC1pbnQgdnBtdV9kb193cm1zcih1 bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdCBtc3JfY29udGVudCwgdWludDY0X3Qgc3VwcG9ydGVk KTsKPiA+IC1pbnQgdnBtdV9kb19yZG1zcih1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdCAqbXNy X2NvbnRlbnQpOwo+ID4gK2ludCB2cG11X2RvX21zcih1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRf dCAqbXNyX2NvbnRlbnQsCj4gPiArICAgICAgICAgICAgICAgIHVpbnQ2NF90IHN1cHBvcnRlZCwg Ym9vbF90IGlzX3dyaXRlKTsKPiA+ICB2b2lkIHZwbXVfZG9faW50ZXJydXB0KHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzKTsKPiA+ICB2b2lkIHZwbXVfZG9fY3B1aWQodW5zaWduZWQgaW50IGlu cHV0LCB1bnNpZ25lZCBpbnQgKmVheCwgdW5zaWduZWQgaW50ICplYngsCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICplY3gsIHVuc2lnbmVk IGludCAqZWR4KTsKPiA+IEBAIC0xMTAsNiArMTEwLDE2IEBAIHZvaWQgdnBtdV9zYXZlKHN0cnVj dCB2Y3B1ICp2KTsKPiA+ICB2b2lkIHZwbXVfbG9hZChzdHJ1Y3QgdmNwdSAqdik7Cj4gPiAgdm9p ZCB2cG11X2R1bXAoc3RydWN0IHZjcHUgKnYpOwo+ID4gIAo+ID4gK3N0YXRpYyBpbmxpbmUgaW50 IHZwbXVfZG9fd3Jtc3IodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QgbXNyX2NvbnRlbnQsCj4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzdXBwb3J0ZWQpCj4g PiArewo+ID4gKyAgICByZXR1cm4gdnBtdV9kb19tc3IobXNyLCAmbXNyX2NvbnRlbnQsIHN1cHBv cnRlZCwgMSk7Cj4gPiArfQo+ID4gK3N0YXRpYyBpbmxpbmUgaW50IHZwbXVfZG9fcmRtc3IodW5z aWduZWQgaW50IG1zciwgdWludDY0X3QgKm1zcl9jb250ZW50KQo+ID4gK3sKPiA+ICsgICAgcmV0 dXJuIHZwbXVfZG9fbXNyKG1zciwgbXNyX2NvbnRlbnQsIDAsIDApOwo+ID4gK30KPiA+ICsKPiA+ ICBleHRlcm4gaW50IGFjcXVpcmVfcG11X293bmVyc2hpcChpbnQgcG11X293bmVyc2hpcCk7Cj4g PiAgZXh0ZXJuIHZvaWQgcmVsZWFzZV9wbXVfb3duZXJzaGlwKGludCBwbXVfb3duZXJzaGlwKTsK PiA+ICAKPiA+IAo+IAo+IAoKLS0gCkNvbXBhbnkgZGV0YWlsczogaHR0cDovL3RzLmZ1aml0c3Uu Y29tL2ltcHJpbnQuaHRtbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpo dHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK