From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH v11 1/09] xen/x86: set the vPMU interface based on the presence of a lapic Date: Fri, 11 Dec 2015 11:17:15 +0100 Message-ID: <1449829035-967-1-git-send-email-roger.pau@citrix.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1a7Kn0-0006pp-Nd for xen-devel@lists.xenproject.org; Fri, 11 Dec 2015 10:19:03 +0000 In-Reply-To: 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.xenproject.org Cc: Kevin Tian , Jan Beulich , Jun Nakajima , Andrew Cooper , Aravind Gopalakrishnan , Suravee Suthikulpanit , Boris Ostrovsky , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org SW5zdGVhZCBvZiBjaG9vc2luZyB0aGUgaW50ZXJmYWNlIHRvIGV4cG9zZSB0byBndWVzdHMgYmFz ZWQgb24gdGhlIGd1ZXN0CnR5cGUsIGRvIGl0IGJhc2VkIG9uIHdoZXRoZXIgdGhlIGd1ZXN0IGhh cyBhbiBlbXVsYXRlZCBsb2NhbCBhcGljIG9yIG5vdC4KClNpZ25lZC1vZmYtYnk6IFJvZ2VyIFBh dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBCb3JpcyBPc3Ry b3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpBY2tlZC1ieTogSmFuIEJldWxpY2gg PGpiZXVsaWNoQHN1c2UuY29tPgotLS0KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4KQ2M6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBCb3Jp cyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDYzogU3VyYXZlZSBTdXRo aWt1bHBhbml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KQ2M6IEFyYXZpbmQgR29w YWxha3Jpc2huYW4gPEFyYXZpbmQuR29wYWxha3Jpc2huYW5AYW1kLmNvbT4KQ2M6IEp1biBOYWth amltYSA8anVuLm5ha2FqaW1hQGludGVsLmNvbT4KQ2M6IEtldmluIFRpYW4gPGtldmluLnRpYW5A aW50ZWwuY29tPgotLS0KQ2hhbmdlcyBzaW5jZSB2MTA6CiAtIFJlbW92ZSB0aGUgaXNfaHZtX2Nw dSBmcm9tIHRoZSBWTVgvU1ZNIHZQTVUgaW5pdGlhbGl6YXRpb24gY29kZSwganVzdAogICBjaGVj a2luZyBmb3IgaGFzX3ZsYXBpYyBpcyBlbm91Z2guCgpDaGFuZ2VzIHNpbmNlIHY4OgogLSBEb24n dCBhZGQgdGhlIHhlbnBtdSBoeXBlcmNhbGxzIHRvIHRoZSBIVk0gaHlwZXJjYWxsIHRhYmxlICh5 ZXQpLgogLSBBZGQgSmFuIEJldWxpY2ggQWNrZWQtYnkuCgpDaGFuZ2VzIHNpbmNlIHY3OgogLSBN ZXJnZSB2cG11IHdvcmsgZnJvbSBCb3Jpcy4KCkNoYW5nZXMgc2luY2UgdjY6CiAtIE1ham9yIHJl d29yayBvZiB0aGUgYXBwcm9hY2guCiAtIERyb3AgQW5kcmV3IENvb3BlciBBY2tlZC1ieS4KCkNo YW5nZXMgc2luY2UgdjQ6CiAtIEFkZCBBbmRyZXcgQ29vcGVyIEFja2VkLWJ5LgotLS0KIHhlbi9h cmNoL3g4Ni9jcHUvdnBtdS5jICAgICAgIHwgMTEgKysrKysrLS0tLS0KIHhlbi9hcmNoL3g4Ni9j cHUvdnBtdV9hbWQuYyAgIHwgIDYgKysrLS0tCiB4ZW4vYXJjaC94ODYvY3B1L3ZwbXVfaW50ZWwu YyB8ICA2ICsrKy0tLQogeGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMgICAgfCAgMiArLQogeGVu L2FyY2gveDg2L2h2bS92bXgvdm14LmMgICAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAxNCBp bnNlcnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYv Y3B1L3ZwbXUuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCmluZGV4IGQ4NzBkY2MuLjQ4NTZl OTggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9jcHUvdnBtdS5jCkBAIC05NCw3ICs5NCw3IEBAIHZvaWQgdnBtdV9sdnRwY191cGRhdGUodWlu dDMyX3QgdmFsKQogICAgIHZwbXUtPmh3X2xhcGljX2x2dHBjID0gUE1VX0FQSUNfVkVDVE9SIHwg KHZhbCAmIEFQSUNfTFZUX01BU0tFRCk7CiAKICAgICAvKiBQb3N0cG9uZSBBUElDIHVwZGF0ZXMg Zm9yIFBWKEgpIGd1ZXN0cyBpZiBQTVUgaW50ZXJydXB0IGlzIHBlbmRpbmcgKi8KLSAgICBpZiAo IGlzX2h2bV92Y3B1KGN1cnIpIHx8ICF2cG11LT54ZW5wbXVfZGF0YSB8fAorICAgIGlmICggaGFz X3ZsYXBpYyhjdXJyLT5kb21haW4pIHx8ICF2cG11LT54ZW5wbXVfZGF0YSB8fAogICAgICAgICAg IXZwbXVfaXNfc2V0KHZwbXUsIFZQTVVfQ0FDSEVEKSApCiAgICAgICAgIGFwaWNfd3JpdGUoQVBJ Q19MVlRQQywgdnBtdS0+aHdfbGFwaWNfbHZ0cGMpOwogfQpAQCAtMTI5LDcgKzEyOSw3IEBAIGlu dCB2cG11X2RvX21zcih1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdCAqbXNyX2NvbnRlbnQsCiAg ICAgICogYW5kIHNpbmNlIGRvX3dyL3JkbXNyIG1heSBsb2FkIFZQTVUgY29udGV4dCB3ZSBzaG91 bGQgc2F2ZQogICAgICAqIChhbmQgdW5sb2FkKSBpdCBhZ2Fpbi4KICAgICAgKi8KLSAgICBpZiAo ICFpc19odm1fdmNwdShjdXJyKSAmJiB2cG11LT54ZW5wbXVfZGF0YSAmJgorICAgIGlmICggIWhh c192bGFwaWMoY3Vyci0+ZG9tYWluKSAmJiB2cG11LT54ZW5wbXVfZGF0YSAmJgogICAgICAgICB2 cG11X2lzX3NldCh2cG11LCBWUE1VX0NBQ0hFRCkgKQogICAgIHsKICAgICAgICAgdnBtdV9zZXQo dnBtdSwgVlBNVV9DT05URVhUX1NBVkUpOwpAQCAtMTg0LDcgKzE4NCw3IEBAIHZvaWQgdnBtdV9k b19pbnRlcnJ1cHQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpCiAgICAgICAgIHJldHVybjsK IAogICAgIC8qIFBWKEgpIGd1ZXN0ICovCi0gICAgaWYgKCAhaXNfaHZtX3ZjcHUoc2FtcGxpbmcp IHx8ICh2cG11X21vZGUgJiBYRU5QTVVfTU9ERV9BTEwpICkKKyAgICBpZiAoICFoYXNfdmxhcGlj KHNhbXBsaW5nLT5kb21haW4pIHx8ICh2cG11X21vZGUgJiBYRU5QTVVfTU9ERV9BTEwpICkKICAg ICB7CiAgICAgICAgIGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9yZWdzICpjdXJfcmVnczsKICAgICAg ICAgdWludDY0X3QgKmZsYWdzID0gJnZwbXUtPnhlbnBtdV9kYXRhLT5wbXUucG11X2ZsYWdzOwpA QCAtNDExLDcgKzQxMSw4IEBAIGludCB2cG11X2xvYWQoc3RydWN0IHZjcHUgKnYsIGJvb2xfdCBm cm9tX2d1ZXN0KQogCiAgICAgLyogT25seSB3aGVuIFBNVSBpcyBjb3VudGluZywgd2UgbG9hZCBQ TVUgY29udGV4dCBpbW1lZGlhdGVseS4gKi8KICAgICBpZiAoICF2cG11X2lzX3NldCh2cG11LCBW UE1VX1JVTk5JTkcpIHx8Ci0gICAgICAgICAoIWlzX2h2bV92Y3B1KHZwbXVfdmNwdSh2cG11KSkg JiYgdnBtdV9pc19zZXQodnBtdSwgVlBNVV9DQUNIRUQpKSApCisgICAgICAgICAoIWhhc192bGFw aWModnBtdV92Y3B1KHZwbXUpLT5kb21haW4pICYmCisgICAgICAgICB2cG11X2lzX3NldCh2cG11 LCBWUE1VX0NBQ0hFRCkpICkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpZiAoIHZwbXUtPmFy Y2hfdnBtdV9vcHMgJiYgdnBtdS0+YXJjaF92cG11X29wcy0+YXJjaF92cG11X2xvYWQgKQpAQCAt NjM3LDcgKzYzOCw3IEBAIGxvbmcgZG9feGVucG11X29wKHVuc2lnbmVkIGludCBvcCwgWEVOX0dV RVNUX0hBTkRMRV9QQVJBTSh4ZW5fcG11X3BhcmFtc190KSBhcmcpCiAgICAgc3RydWN0IHhlbl9w bXVfZGF0YSAqeGVucG11X2RhdGE7CiAgICAgc3RydWN0IHZwbXVfc3RydWN0ICp2cG11OwogCi0g ICAgaWYgKCAhb3B0X3ZwbXVfZW5hYmxlZCApCisgICAgaWYgKCAhb3B0X3ZwbXVfZW5hYmxlZCB8 fCBoYXNfdmxhcGljKGN1cnJlbnQtPmRvbWFpbikgKQogICAgICAgICByZXR1cm4gLUVPUE5PVFNV UFA7CiAKICAgICByZXQgPSB4c21fcG11X29wKFhTTV9PVEhFUiwgY3VycmVudC0+ZG9tYWluLCBv cCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L3ZwbXVfYW1kLmMgYi94ZW4vYXJjaC94 ODYvY3B1L3ZwbXVfYW1kLmMKaW5kZXggMDRkYTgxYS4uOTkwZTZmMyAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L2NwdS92cG11X2FtZC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9hbWQu YwpAQCAtMjM4LDcgKzIzOCw3IEBAIHN0YXRpYyBpbnQgYW1kX3ZwbXVfbG9hZChzdHJ1Y3QgdmNw dSAqdiwgYm9vbF90IGZyb21fZ3Vlc3QpCiAgICAgICAgIGJvb2xfdCBpc19ydW5uaW5nID0gMDsK ICAgICAgICAgc3RydWN0IHhlbl9wbXVfYW1kX2N0eHQgKmd1ZXN0X2N0eHQgPSAmdnBtdS0+eGVu cG11X2RhdGEtPnBtdS5jLmFtZDsKIAotICAgICAgICBBU1NFUlQoIWlzX2h2bV92Y3B1KHYpKTsK KyAgICAgICAgQVNTRVJUKCFoYXNfdmxhcGljKHYtPmRvbWFpbikpOwogCiAgICAgICAgIGN0eHQg PSB2cG11LT5jb250ZXh0OwogICAgICAgICBjdHJsX3JlZ3MgPSB2cG11X3JlZ19wb2ludGVyKGN0 eHQsIGN0cmxzKTsKQEAgLTMxNCw3ICszMTQsNyBAQCBzdGF0aWMgaW50IGFtZF92cG11X3NhdmUo c3RydWN0IHZjcHUgKnYsICBib29sX3QgdG9fZ3Vlc3QpCiAgICAgewogICAgICAgICBzdHJ1Y3Qg eGVuX3BtdV9hbWRfY3R4dCAqZ3Vlc3RfY3R4dCwgKmN0eHQ7CiAKLSAgICAgICAgQVNTRVJUKCFp c19odm1fdmNwdSh2KSk7CisgICAgICAgIEFTU0VSVCghaGFzX3ZsYXBpYyh2LT5kb21haW4pKTsK ICAgICAgICAgY3R4dCA9IHZwbXUtPmNvbnRleHQ7CiAgICAgICAgIGd1ZXN0X2N0eHQgPSAmdnBt dS0+eGVucG11X2RhdGEtPnBtdS5jLmFtZDsKICAgICAgICAgbWVtY3B5KCZndWVzdF9jdHh0LT5y ZWdzWzBdLCAmY3R4dC0+cmVnc1swXSwgcmVnc19zeik7CkBAIC01MjUsNyArNTI1LDcgQEAgaW50 IHN2bV92cG11X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCiAgICAgdnBtdS0+Y29udGV4dCA9 IGN0eHQ7CiAgICAgdnBtdS0+cHJpdl9jb250ZXh0ID0gTlVMTDsKIAotICAgIGlmICggIWlzX2h2 bV92Y3B1KHYpICkKKyAgICBpZiAoICFoYXNfdmxhcGljKHYtPmRvbWFpbikgKQogICAgIHsKICAg ICAgICAgLyogQ29weSByZWdpc3RlciBvZmZzZXRzIHRvIHNoYXJlZCBhcmVhICovCiAgICAgICAg IEFTU0VSVCh2cG11LT54ZW5wbXVfZGF0YSk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1 L3ZwbXVfaW50ZWwuYyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9pbnRlbC5jCmluZGV4IGQ1ZWE3 ZmUuLmQ1ZmRlODAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9pbnRlbC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9pbnRlbC5jCkBAIC0zMzYsNyArMzM2LDcgQEAgc3Rh dGljIGludCBjb3JlMl92cG11X3NhdmUoc3RydWN0IHZjcHUgKnYsIGJvb2xfdCB0b19ndWVzdCkK IAogICAgIGlmICggdG9fZ3Vlc3QgKQogICAgIHsKLSAgICAgICAgQVNTRVJUKCFpc19odm1fdmNw dSh2KSk7CisgICAgICAgIEFTU0VSVCghaGFzX3ZsYXBpYyh2LT5kb21haW4pKTsKICAgICAgICAg bWVtY3B5KCh2b2lkICopKCZ2cG11LT54ZW5wbXVfZGF0YS0+cG11LmMuaW50ZWwpICsgcmVnc19v ZmYsCiAgICAgICAgICAgICAgICB2cG11LT5jb250ZXh0ICsgcmVnc19vZmYsIHJlZ3Nfc3opOwog ICAgIH0KQEAgLTQ0MSw3ICs0NDEsNyBAQCBzdGF0aWMgaW50IGNvcmUyX3ZwbXVfbG9hZChzdHJ1 Y3QgdmNwdSAqdiwgYm9vbF90IGZyb21fZ3Vlc3QpCiAgICAgewogICAgICAgICBpbnQgcmV0Owog Ci0gICAgICAgIEFTU0VSVCghaXNfaHZtX3ZjcHUodikpOworICAgICAgICBBU1NFUlQoIWhhc192 bGFwaWModi0+ZG9tYWluKSk7CiAKICAgICAgICAgbWVtY3B5KHZwbXUtPmNvbnRleHQgKyByZWdz X29mZiwKICAgICAgICAgICAgICAgICh2b2lkICopJnYtPmFyY2gudnBtdS54ZW5wbXVfZGF0YS0+ cG11LmMuaW50ZWwgKyByZWdzX29mZiwKQEAgLTUwMSw3ICs1MDEsNyBAQCBzdGF0aWMgaW50IGNv cmUyX3ZwbXVfYWxsb2NfcmVzb3VyY2Uoc3RydWN0IHZjcHUgKnYpCiAgICAgdnBtdS0+Y29udGV4 dCA9IGNvcmUyX3ZwbXVfY3h0OwogICAgIHZwbXUtPnByaXZfY29udGV4dCA9IHA7CiAKLSAgICBp ZiAoICFpc19odm1fdmNwdSh2KSApCisgICAgaWYgKCAhaGFzX3ZsYXBpYyh2LT5kb21haW4pICkK ICAgICB7CiAgICAgICAgIC8qIENvcHkgZml4ZWQvYXJjaCByZWdpc3RlciBvZmZzZXRzIHRvIHNo YXJlZCBhcmVhICovCiAgICAgICAgIEFTU0VSVCh2cG11LT54ZW5wbXVfZGF0YSk7CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2 bS5jCmluZGV4IDk0MTVmYjEuLjA2N2JjNGQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0v c3ZtL3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0xMTY3LDcgKzEx NjcsNyBAQCBzdGF0aWMgaW50IHN2bV92Y3B1X2luaXRpYWxpc2Uoc3RydWN0IHZjcHUgKnYpCiAg ICAgfQogCiAgICAgLyogUFZIJ3MgVlBNVSBpcyBpbml0aWFsaXplZCB2aWEgaHlwZXJjYWxsICov Ci0gICAgaWYgKCBpc19odm1fdmNwdSh2KSApCisgICAgaWYgKCBoYXNfdmxhcGljKHYtPmRvbWFp bikgKQogICAgICAgICB2cG11X2luaXRpYWxpc2Uodik7CiAKICAgICBzdm1fZ3Vlc3Rfb3N2d19p bml0KHYpOwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMgYi94ZW4vYXJj aC94ODYvaHZtL3ZteC92bXguYwppbmRleCAyNTgxZTk3Li4yYWYwNzgwIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3ZteC92bXgu YwpAQCAtMTQ4LDcgKzE0OCw3IEBAIHN0YXRpYyBpbnQgdm14X3ZjcHVfaW5pdGlhbGlzZShzdHJ1 Y3QgdmNwdSAqdikKICAgICB9CiAKICAgICAvKiBQVkgncyBWUE1VIGlzIGluaXRpYWxpemVkIHZp YSBoeXBlcmNhbGwgKi8KLSAgICBpZiAoIGlzX2h2bV92Y3B1KHYpICkKKyAgICBpZiAoIGhhc192 bGFwaWModi0+ZG9tYWluKSApCiAgICAgICAgIHZwbXVfaW5pdGlhbGlzZSh2KTsKIAogICAgIHZt eF9pbnN0YWxsX3ZsYXBpY19tYXBwaW5nKHYpOwotLSAKMS45LjUgKEFwcGxlIEdpdC01MC4zKQoK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==