From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dietmar Hahn Subject: Re: [PATCH v19 13/14] x86/VPMU: Add privileged PMU mode Date: Wed, 25 Mar 2015 13:25:09 +0100 Message-ID: <1815098.mR3uYJ4ZVe@amur> References: <1426604051-2980-1-git-send-email-boris.ostrovsky@oracle.com> <1426604051-2980-14-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-14-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 QW0gRGllbnN0YWcgMTcgTcOkcnogMjAxNSwgMTA6NTQ6MTAgc2NocmllYiBCb3JpcyBPc3Ryb3Zz a3k6Cj4gQWRkIHN1cHBvcnQgZm9yIHByaXZpbGVnZWQgUE1VIG1vZGUgKFhFTlBNVV9NT0RFX0FM TCkgd2hpY2ggYWxsb3dzIHByaXZpbGVnZWQKPiBkb21haW4gKGRvbTApIHByb2ZpbGUgYm90aCBp dHNlbGYgKGFuZCB0aGUgaHlwZXJ2aXNvcikgYW5kIHRoZSBndWVzdHMuIFdoaWxlCj4gdGhpcyBt b2RlIGlzIG9uIHByb2ZpbGluZyBpbiBndWVzdHMgaXMgZGlzYWJsZWQuCj4gCj4gU2lnbmVkLW9m Zi1ieTogQm9yaXMgT3N0cm92c2t5IDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT4KClJldmll d2VkLWJ5OiBEaWV0bWFyIEhhaG4gPGRpZXRtYXIuaGFobkB0cy5mdWppdHN1LmNvbT4KCkRpZXRt YXIuCgo+IC0tLQo+IENoYW5nZXMgaW4gdjE5Ogo+ICogU2xpZ2h0bHkgZGlmZmVyZW50IG1vZGUg Y2hhbmdpbmcgbG9naWMgaW4geGVucG11X29wKCkgc2luY2Ugd2Ugbm8gbG9uZ2VyCj4gICBhbGxv dyBtb2RlIGNoYW5nZXMgd2hpbGUgVlBNVXMgYXJlIGFjdGl2ZQo+IAo+ICB4ZW4vYXJjaC94ODYv aHZtL3ZwbXUuYyAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCj4gIHhl bi9hcmNoL3g4Ni90cmFwcy5jICAgICB8IDEzICsrKysrKysrKysrKysKPiAgeGVuL2luY2x1ZGUv cHVibGljL3BtdS5oIHwgIDMgKysrCj4gIDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygr KSwgOSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92cG11 LmMgYi94ZW4vYXJjaC94ODYvaHZtL3ZwbXUuYwo+IGluZGV4IGJlZWQ5NTYuLjcxYzUwNjMgMTAw NjQ0Cj4gLS0tIGEveGVuL2FyY2gveDg2L2h2bS92cG11LmMKPiArKysgYi94ZW4vYXJjaC94ODYv aHZtL3ZwbXUuYwo+IEBAIC0xMTEsNyArMTExLDkgQEAgaW50IHZwbXVfZG9fbXNyKHVuc2lnbmVk IGludCBtc3IsIHVpbnQ2NF90ICptc3JfY29udGVudCwKPiAgICAgIGNvbnN0IHN0cnVjdCBhcmNo X3ZwbXVfb3BzICpvcHM7Cj4gICAgICBpbnQgcmV0ID0gMDsKPiAgCj4gLSAgICBpZiAoIHZwbXVf bW9kZSA9PSBYRU5QTVVfTU9ERV9PRkYgKQo+ICsgICAgaWYgKCAodnBtdV9tb2RlID09IFhFTlBN VV9NT0RFX09GRikgfHwKPiArICAgICAgICAgKCh2cG11X21vZGUgJiBYRU5QTVVfTU9ERV9BTEwp ICYmCj4gKyAgICAgICAgICAhaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJlbnQtPmRvbWFpbikpICkK PiAgICAgICAgICBnb3RvIG5vcDsKPiAgCj4gICAgICBjdXJyID0gY3VycmVudDsKPiBAQCAtMTY2 LDggKzE2OCwxMiBAQCB2b2lkIHZwbXVfZG9faW50ZXJydXB0KHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzKQo+ICAgICAgc3RydWN0IHZjcHUgKnNhbXBsZWQgPSBjdXJyZW50LCAqc2FtcGxpbmc7 Cj4gICAgICBzdHJ1Y3QgdnBtdV9zdHJ1Y3QgKnZwbXU7Cj4gIAo+IC0gICAgLyogZG9tMCB3aWxs IGhhbmRsZSBpbnRlcnJ1cHQgZm9yIHNwZWNpYWwgZG9tYWlucyAoZS5nLiBpZGxlIGRvbWFpbikg Ki8KPiAtICAgIGlmICggc2FtcGxlZC0+ZG9tYWluLT5kb21haW5faWQgPj0gRE9NSURfRklSU1Rf UkVTRVJWRUQgKQo+ICsgICAgLyoKPiArICAgICAqIGRvbTAgd2lsbCBoYW5kbGUgaW50ZXJydXB0 IGZvciBzcGVjaWFsIGRvbWFpbnMgKGUuZy4gaWRsZSBkb21haW4pIG9yLAo+ICsgICAgICogaW4g WEVOUE1VX01PREVfQUxMLCBmb3IgZXZlcnlvbmUuCj4gKyAgICAgKi8KPiArICAgIGlmICggKHZw bXVfbW9kZSAmIFhFTlBNVV9NT0RFX0FMTCkgfHwKPiArICAgICAgICAgKHNhbXBsZWQtPmRvbWFp bi0+ZG9tYWluX2lkID49IERPTUlEX0ZJUlNUX1JFU0VSVkVEKSApCj4gICAgICB7Cj4gICAgICAg ICAgc2FtcGxpbmcgPSBjaG9vc2VfaHdkb21fdmNwdSgpOwo+ICAgICAgICAgIGlmICggIXNhbXBs aW5nICkKPiBAQCAtMTc3LDE3ICsxODMsMTggQEAgdm9pZCB2cG11X2RvX2ludGVycnVwdChzdHJ1 Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKPiAgICAgICAgICBzYW1wbGluZyA9IHNhbXBsZWQ7Cj4g IAo+ICAgICAgdnBtdSA9IHZjcHVfdnBtdShzYW1wbGluZyk7Cj4gLSAgICBpZiAoICFpc19odm1f dmNwdShzYW1wbGluZykgKQo+ICsgICAgaWYgKCAhaXNfaHZtX3ZjcHUoc2FtcGxpbmcpIHx8ICh2 cG11X21vZGUgJiBYRU5QTVVfTU9ERV9BTEwpICkKPiAgICAgIHsKPiAgICAgICAgICAvKiBQVihI KSBndWVzdCAqLwo+ICAgICAgICAgIGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpjdXJfcmVn czsKPiAgICAgICAgICB1aW50NjRfdCAqZmxhZ3MgPSAmdnBtdS0+eGVucG11X2RhdGEtPnBtdS5w bXVfZmxhZ3M7Cj4gLSAgICAgICAgdWludDMyX3QgZG9taWQgPSBET01JRF9TRUxGOwo+ICsgICAg ICAgIHVpbnQzMl90IGRvbWlkOwo+ICAKPiAgICAgICAgICBpZiAoICF2cG11LT54ZW5wbXVfZGF0 YSApCj4gICAgICAgICAgICAgIHJldHVybjsKPiAgCj4gICAgICAgICAgaWYgKCBpc19wdmhfdmNw dShzYW1wbGluZykgJiYKPiArICAgICAgICAgICAgICEodnBtdV9tb2RlICYgWEVOUE1VX01PREVf QUxMKSAmJgo+ICAgICAgICAgICAgICAgIXZwbXUtPmFyY2hfdnBtdV9vcHMtPmRvX2ludGVycnVw dChyZWdzKSApCj4gICAgICAgICAgICAgIHJldHVybjsKPiAgCj4gQEAgLTIwNCw2ICsyMTEsMTEg QEAgdm9pZCB2cG11X2RvX2ludGVycnVwdChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKPiAg ICAgICAgICBlbHNlCj4gICAgICAgICAgICAgICpmbGFncyA9IFBNVV9TQU1QTEVfUFY7Cj4gIAo+ ICsgICAgICAgIGlmICggc2FtcGxlZCA9PSBzYW1wbGluZyApCj4gKyAgICAgICAgICAgIGRvbWlk ID0gRE9NSURfU0VMRjsKPiArICAgICAgICBlbHNlCj4gKyAgICAgICAgICAgIGRvbWlkID0gc2Ft cGxlZC0+ZG9tYWluLT5kb21haW5faWQ7Cj4gKwo+ICAgICAgICAgIC8qIFN0b3JlIGFwcHJvcHJp YXRlIHJlZ2lzdGVycyBpbiB4ZW5wbXVfZGF0YSAqLwo+ICAgICAgICAgIC8qIEZJWE1FOiAzMi1i aXQgUFZIIHNob3VsZCBnbyBoZXJlIGFzIHdlbGwgKi8KPiAgICAgICAgICBpZiAoIGlzX3B2XzMy Yml0X3ZjcHUoc2FtcGxpbmcpICkKPiBAQCAtMjMyLDcgKzI0NCw4IEBAIHZvaWQgdnBtdV9kb19p bnRlcnJ1cHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCj4gIAo+ICAgICAgICAgICAgICBp ZiAoICh2cG11X21vZGUgJiBYRU5QTVVfTU9ERV9TRUxGKSApCj4gICAgICAgICAgICAgICAgICBj dXJfcmVncyA9IGd1ZXN0X2NwdV91c2VyX3JlZ3MoKTsKPiAtICAgICAgICAgICAgZWxzZSBpZiAo ICFndWVzdF9tb2RlKHJlZ3MpICYmIGlzX2hhcmR3YXJlX2RvbWFpbihzYW1wbGluZy0+ZG9tYWlu KSApCj4gKyAgICAgICAgICAgIGVsc2UgaWYgKCAhZ3Vlc3RfbW9kZShyZWdzKSAmJgo+ICsgICAg ICAgICAgICAgICAgICAgICAgaXNfaGFyZHdhcmVfZG9tYWluKHNhbXBsaW5nLT5kb21haW4pICkK PiAgICAgICAgICAgICAgewo+ICAgICAgICAgICAgICAgICAgY3VyX3JlZ3MgPSByZWdzOwo+ICAg ICAgICAgICAgICAgICAgZG9taWQgPSBET01JRF9YRU47Cj4gQEAgLTUwOCw3ICs1MjEsOCBAQCBz dGF0aWMgaW50IHB2cG11X2luaXQoc3RydWN0IGRvbWFpbiAqZCwgeGVuX3BtdV9wYXJhbXNfdCAq cGFyYW1zKQo+ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsKPiAgICAgIHVpbnQ2NF90IGdm biA9IHBhcmFtcy0+dmFsOwo+ICAKPiAtICAgIGlmICggdnBtdV9tb2RlID09IFhFTlBNVV9NT0RF X09GRiApCj4gKyAgICBpZiAoICh2cG11X21vZGUgPT0gWEVOUE1VX01PREVfT0ZGKSB8fAo+ICsg ICAgICAgICAoKHZwbXVfbW9kZSAmIFhFTlBNVV9NT0RFX0FMTCkgJiYgIWlzX2hhcmR3YXJlX2Rv bWFpbihkKSkgKQo+ICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+ICAKPiAgICAgIGlmICggKHBh cmFtcy0+dmNwdSA+PSBkLT5tYXhfdmNwdXMpIHx8IChkLT52Y3B1ID09IE5VTEwpIHx8Cj4gQEAg LTYyNywxMiArNjQxLDE0IEBAIGxvbmcgZG9feGVucG11X29wKHVuc2lnbmVkIGludCBvcCwgWEVO X0dVRVNUX0hBTkRMRV9QQVJBTSh4ZW5fcG11X3BhcmFtc190KSBhcmcpCj4gICAgICB7Cj4gICAg ICBjYXNlIFhFTlBNVV9tb2RlX3NldDoKPiAgICAgIHsKPiAtICAgICAgICBpZiAoIChwbXVfcGFy YW1zLnZhbCAmIH4oWEVOUE1VX01PREVfU0VMRiB8IFhFTlBNVV9NT0RFX0hWKSkgfHwKPiArICAg ICAgICBpZiAoIChwbXVfcGFyYW1zLnZhbCAmCj4gKyAgICAgICAgICAgICAgfihYRU5QTVVfTU9E RV9TRUxGIHwgWEVOUE1VX01PREVfSFYgfCBYRU5QTVVfTU9ERV9BTEwpKSB8fAo+ICAgICAgICAg ICAgICAgKGh3ZWlnaHQ2NChwbXVfcGFyYW1zLnZhbCkgPiAxKSApCj4gICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOwo+ICAKPiAgICAgICAgICAvKiAzMi1iaXQgZG9tMCBjYW4gb25seSBzYW1w bGUgaXRzZWxmLiAqLwo+IC0gICAgICAgIGlmICggaXNfcHZfMzJiaXRfdmNwdShjdXJyZW50KSAm JiAocG11X3BhcmFtcy52YWwgJiBYRU5QTVVfTU9ERV9IVikgKQo+ICsgICAgICAgIGlmICggaXNf cHZfMzJiaXRfdmNwdShjdXJyZW50KSAmJgo+ICsgICAgICAgICAgICAgKHBtdV9wYXJhbXMudmFs ICYgKFhFTlBNVV9NT0RFX0hWIHwgWEVOUE1VX01PREVfQUxMKSkgKQo+ICAgICAgICAgICAgICBy ZXR1cm4gLUVJTlZBTDsKPiAgCj4gICAgICAgICAgc3Bpbl9sb2NrKCZ2cG11X2xvY2spOwo+IGRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCj4g aW5kZXggMWViN2JiNC4uOGE0MGRlYiAxMDA2NDQKPiAtLS0gYS94ZW4vYXJjaC94ODYvdHJhcHMu Ywo+ICsrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCj4gQEAgLTI2NTMsNiArMjY1MywxMCBAQCBz dGF0aWMgaW50IGVtdWxhdGVfcHJpdmlsZWdlZF9vcChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVn cykKPiAgICAgICAgICBjYXNlIE1TUl9BTURfRkFNMTVIX0VWTlRTRUwwLi4uTVNSX0FNRF9GQU0x NUhfUEVSRkNUUjU6Cj4gICAgICAgICAgICAgICAgICBpZiAoIHZwbXVfbXNyIHx8IChib290X2Nw dV9kYXRhLng4Nl92ZW5kb3IgPT0gWDg2X1ZFTkRPUl9BTUQpICkKPiAgICAgICAgICAgICAgICAg IHsKPiArICAgICAgICAgICAgICAgICAgICBpZiAoICh2cG11X21vZGUgJiBYRU5QTVVfTU9ERV9B TEwpICYmCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAhaXNfaGFyZHdhcmVfZG9tYWluKHYt PmRvbWFpbikgKQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiArCj4gICAgICAg ICAgICAgICAgICAgICAgaWYgKCB2cG11X2RvX3dybXNyKHJlZ3MtPmVjeCwgbXNyX2NvbnRlbnQs IDApICkKPiAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOwo+ICAgICAgICAgICAg ICAgICAgfQo+IEBAIC0yNzc2LDYgKzI3ODAsMTUgQEAgc3RhdGljIGludCBlbXVsYXRlX3ByaXZp bGVnZWRfb3Aoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCj4gICAgICAgICAgY2FzZSBNU1Jf QU1EX0ZBTTE1SF9FVk5UU0VMMC4uLk1TUl9BTURfRkFNMTVIX1BFUkZDVFI1Ogo+ICAgICAgICAg ICAgICAgICAgaWYgKCB2cG11X21zciB8fCAoYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4 Nl9WRU5ET1JfQU1EKSApCj4gICAgICAgICAgICAgICAgICB7Cj4gKwo+ICsgICAgICAgICAgICAg ICAgICAgIGlmICggKHZwbXVfbW9kZSAmIFhFTlBNVV9NT0RFX0FMTCkgJiYKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICFpc19oYXJkd2FyZV9kb21haW4odi0+ZG9tYWluKSApCj4gKyAgICAg ICAgICAgICAgICAgICAgewo+ICsgICAgICAgICAgICAgICAgICAgICAgICAvKiBEb24ndCBsZWFr IFBNVSBNU1JzIHRvIHVucHJpdmlsZWdlZCBkb21haW5zICovCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIHJlZ3MtPmVheCA9IHJlZ3MtPmVkeCA9IDA7Cj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICAgICAgIH0KPiArCj4gICAgICAgICAgICAgICAg ICAgICAgaWYgKCB2cG11X2RvX3JkbXNyKHJlZ3MtPmVjeCwgJnZhbCkgKQo+ICAgICAgICAgICAg ICAgICAgICAgICAgICBnb3RvIGZhaWw7Cj4gIAo+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9w dWJsaWMvcG11LmggYi94ZW4vaW5jbHVkZS9wdWJsaWMvcG11LmgKPiBpbmRleCBkYjUzMjFhLi5h ODNhZTcxIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9wbXUuaAo+ICsrKyBiL3hl bi9pbmNsdWRlL3B1YmxpYy9wbXUuaAo+IEBAIC01MiwxMCArNTIsMTMgQEAgREVGSU5FX1hFTl9H VUVTVF9IQU5ETEUoeGVuX3BtdV9wYXJhbXNfdCk7Cj4gICAqIC0gWEVOUE1VX01PREVfU0VMRjog IEd1ZXN0cyBjYW4gcHJvZmlsZSB0aGVtc2VsdmVzCj4gICAqIC0gWEVOUE1VX01PREVfSFY6ICAg IEd1ZXN0cyBjYW4gcHJvZmlsZSB0aGVtc2VsdmVzLCBkb20wIHByb2ZpbGVzCj4gICAqICAgICAg ICAgICAgICAgICAgICAgIGl0c2VsZiBhbmQgWGVuCj4gKyAqIC0gWEVOUE1VX01PREVfQUxMOiAg IE9ubHkgZG9tMCBoYXMgYWNjZXNzIHRvIFZQTVUgYW5kIGl0IHByb2ZpbGVzCj4gKyAqICAgICAg ICAgICAgICAgICAgICAgIGV2ZXJ5b25lOiBpdHNlbGYsIHRoZSBoeXBlcnZpc29yIGFuZCB0aGUg Z3Vlc3RzLgo+ICAgKi8KPiAgI2RlZmluZSBYRU5QTVVfTU9ERV9PRkYgICAgICAgICAgIDAKPiAg I2RlZmluZSBYRU5QTVVfTU9ERV9TRUxGICAgICAgICAgICgxPDwwKQo+ICAjZGVmaW5lIFhFTlBN VV9NT0RFX0hWICAgICAgICAgICAgKDE8PDEpCj4gKyNkZWZpbmUgWEVOUE1VX01PREVfQUxMICAg ICAgICAgICAoMTw8MikKPiAgCj4gIC8qCj4gICAqIFBNVSBmZWF0dXJlczoKPiAKCi0tIApDb21w YW55IGRldGFpbHM6IGh0dHA6Ly90cy5mdWppdHN1LmNvbS9pbXByaW50Lmh0bWwKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==