From mboxrd@z Thu Jan 1 00:00:00 1970 From: Pu Wen Subject: [PATCH v3 03/14] x86/cpu/vpmu: Add Hygon Dhyana and AMD Zen support for vPMU Date: Mon, 25 Mar 2019 21:30:15 +0800 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h8Ppa-0004Ka-0Q for xen-devel@lists.xenproject.org; Mon, 25 Mar 2019 13:40:02 +0000 In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Wei Liu , Suravee Suthikulpanit , Pu Wen , Jan Beulich , Andrew Cooper , Boris Ostrovsky , Brian Woods , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org QXMgSHlnb24gRGh5YW5hIENQVSBzaGFyZSBzaW1pbGFyIFBNVSBhcmNoaXRlY3R1cmUgd2l0aCBB TUQgZmFtaWx5CjE3aCBvbmUsIHNvIGFkZCBIeWdvbiBEaHlhbmEgc3VwcG9ydCBpbiB2cG11X2Fy Y2hfaW5pdGlhbGlzZSgpIGFuZAp2cG11X2luaXQoKSBieSBzaGFyaW5nIEFNRCBjb2RlIHBhdGgu CgpTcGxpdCB0aGUgY29tbW9uIHBhcnQgaW4gYW1kX3ZwbXVfaW5pdCgpIHRvIGEgc3RhdGljIGZ1 bmN0aW9uCl92cG11X2luaXQoKSwgbWFraW5nIEFNRCBhbmQgSHlnb24gdG8gY2FsbCB0aGUgc2hh cmVkIGZ1bmN0aW9uIHRvCmluaXRpYWxpemUgdlBNVS4KCkFzIGN1cnJlbnQgdlBNVSBzdGlsbCBu b3Qgc3VwcG9ydCBaZW4oZmFtaWx5IDE3aCksIGFkZCAweDE3IHN1cHBvcnQKdG8gYW1kX3ZwbXVf aW5pdCgpLgoKQWxzbyBjcmVhdGUgYSBmdW5jdGlvbiBoeWdvbl92cG11X2luaXQoKSBmb3IgSHln b24gdlBNVSBpbml0aWFsaXphdGlvbi4KCkJvdGggb2YgQU1EIDE3aCBhbmQgSHlnb24gMThoIGhh dmUgdGhlIHNhbWUgcGVyZm9ybWFuY2UgZXZlbnQgc2VsZWN0CmFuZCBjb3VudGVyIE1TUnMgYXMg QU1EIDE1aCBoYXMsIHNvIHJldXNlIHRoZSAxNWggZGVmaW5pdGlvbnMgZm9yIHRoZW0uCgpTaWdu ZWQtb2ZmLWJ5OiBQdSBXZW4gPHB1d2VuQGh5Z29uLmNuPgotLS0KIHhlbi9hcmNoL3g4Ni9jcHUv dnBtdS5jICAgICB8ICA1ICsrKysKIHhlbi9hcmNoL3g4Ni9jcHUvdnBtdV9hbWQuYyB8IDU3ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUv YXNtLXg4Ni92cG11LmggIHwgIDEgKwogMyBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRpb25zKCsp LCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvY3B1L3ZwbXUuYyBi L3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCmluZGV4IDhmNmRhZjEuLjkzYTI3ZDggMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdS5j CkBAIC00NTYsNiArNDU2LDcgQEAgc3RhdGljIGludCB2cG11X2FyY2hfaW5pdGlhbGlzZShzdHJ1 Y3QgdmNwdSAqdikKICAgICBzd2l0Y2ggKCB2ZW5kb3IgKQogICAgIHsKICAgICBjYXNlIFg4Nl9W RU5ET1JfQU1EOgorICAgIGNhc2UgWDg2X1ZFTkRPUl9IWUdPTjoKICAgICAgICAgcmV0ID0gc3Zt X3ZwbXVfaW5pdGlhbGlzZSh2KTsKICAgICAgICAgYnJlYWs7CiAKQEAgLTg3Niw2ICs4NzcsMTAg QEAgc3RhdGljIGludCBfX2luaXQgdnBtdV9pbml0KHZvaWQpCiAgICAgICAgIGlmICggYW1kX3Zw bXVfaW5pdCgpICkKICAgICAgICAgICAgdnBtdV9tb2RlID0gWEVOUE1VX01PREVfT0ZGOwogICAg ICAgICBicmVhazsKKyAgICBjYXNlIFg4Nl9WRU5ET1JfSFlHT046CisgICAgICAgIGlmICggaHln b25fdnBtdV9pbml0KCkgKQorICAgICAgICAgICB2cG11X21vZGUgPSBYRU5QTVVfTU9ERV9PRkY7 CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKICAgICAgICAgaWYg KCBjb3JlMl92cG11X2luaXQoKSApCiAgICAgICAgICAgIHZwbXVfbW9kZSA9IFhFTlBNVV9NT0RF X09GRjsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUvdnBtdV9hbWQuYyBiL3hlbi9hcmNo L3g4Ni9jcHUvdnBtdV9hbWQuYwppbmRleCA1ZWZjMzliLi4zZmM5NTVmIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvY3B1L3ZwbXVfYW1kLmMKKysrIGIveGVuL2FyY2gveDg2L2NwdS92cG11X2Ft ZC5jCkBAIC01MzgsMTMgKzUzOCwzNyBAQCBpbnQgc3ZtX3ZwbXVfaW5pdGlhbGlzZShzdHJ1Y3Qg dmNwdSAqdikKICAgICByZXR1cm4gMDsKIH0KIAotaW50IF9faW5pdCBhbWRfdnBtdV9pbml0KHZv aWQpCitzdGF0aWMgaW50IF92cG11X2luaXQodm9pZCkKIHsKICAgICB1bnNpZ25lZCBpbnQgaTsK IAorICAgIGlmICggc2l6ZW9mKHN0cnVjdCB4ZW5fcG11X2RhdGEpICsKKyAgICAgICAgIDIgKiBz aXplb2YodWludDY0X3QpICogbnVtX2NvdW50ZXJzID4gUEFHRV9TSVpFICkKKyAgICB7CisgICAg ICAgIHByaW50ayhYRU5MT0dfV0FSTklORworICAgICAgICAgICAgICAgIlZQTVU6IFJlZ2lzdGVy IGJhbmsgZG9lcyBub3QgZml0IGludG8gVlBNVSBzaGFyZWQgcGFnZVxuIik7CisgICAgICAgIGNv dW50ZXJzID0gY3RybHMgPSBOVUxMOworICAgICAgICBudW1fY291bnRlcnMgPSAwOworICAgICAg ICByZXR1cm4gLUVOT1NQQzsKKyAgICB9CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IG51bV9jb3Vu dGVyczsgaSsrICkKKyAgICB7CisgICAgICAgIHJkbXNybChjdHJsc1tpXSwgY3RybF9yc3ZkW2ld KTsKKyAgICAgICAgY3RybF9yc3ZkW2ldICY9IENUUkxfUlNWRF9NQVNLOworICAgIH0KKworICAg IHJlZ3Nfc3ogPSAyICogc2l6ZW9mKHVpbnQ2NF90KSAqIG51bV9jb3VudGVyczsKKworICAgIHJl dHVybiAwOworfQorCitpbnQgX19pbml0IGFtZF92cG11X2luaXQodm9pZCkKK3sKICAgICBzd2l0 Y2ggKCBjdXJyZW50X2NwdV9kYXRhLng4NiApCiAgICAgewogICAgIGNhc2UgMHgxNToKKyAgICBj YXNlIDB4MTc6CiAgICAgICAgIG51bV9jb3VudGVycyA9IEYxNUhfTlVNX0NPVU5URVJTOwogICAg ICAgICBjb3VudGVycyA9IEFNRF9GMTVIX0NPVU5URVJTOwogICAgICAgICBjdHJscyA9IEFNRF9G MTVIX0NUUkxTOwpAQCAtNTY1LDI0ICs1ODksMjUgQEAgaW50IF9faW5pdCBhbWRfdnBtdV9pbml0 KHZvaWQpCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogICAgIH0KIAotICAgIGlmICggc2l6ZW9m KHN0cnVjdCB4ZW5fcG11X2RhdGEpICsKLSAgICAgICAgIDIgKiBzaXplb2YodWludDY0X3QpICog bnVtX2NvdW50ZXJzID4gUEFHRV9TSVpFICkKLSAgICB7Ci0gICAgICAgIHByaW50ayhYRU5MT0df V0FSTklORwotICAgICAgICAgICAgICAgIlZQTVU6IFJlZ2lzdGVyIGJhbmsgZG9lcyBub3QgZml0 IGludG8gVlBNVSBzaGFyZWQgcGFnZVxuIik7Ci0gICAgICAgIGNvdW50ZXJzID0gY3RybHMgPSBO VUxMOwotICAgICAgICBudW1fY291bnRlcnMgPSAwOwotICAgICAgICByZXR1cm4gLUVOT1NQQzsK LSAgICB9CisgICAgcmV0dXJuIF92cG11X2luaXQoKTsKK30KIAotICAgIGZvciAoIGkgPSAwOyBp IDwgbnVtX2NvdW50ZXJzOyBpKysgKQoraW50IF9faW5pdCBoeWdvbl92cG11X2luaXQodm9pZCkK K3sKKyAgICBzd2l0Y2ggKCBjdXJyZW50X2NwdV9kYXRhLng4NiApCiAgICAgewotICAgICAgICBy ZG1zcmwoY3RybHNbaV0sIGN0cmxfcnN2ZFtpXSk7Ci0gICAgICAgIGN0cmxfcnN2ZFtpXSAmPSBD VFJMX1JTVkRfTUFTSzsKKyAgICBjYXNlIDB4MTg6CisgICAgICAgIG51bV9jb3VudGVycyA9IEYx NUhfTlVNX0NPVU5URVJTOworICAgICAgICBjb3VudGVycyA9IEFNRF9GMTVIX0NPVU5URVJTOwor ICAgICAgICBjdHJscyA9IEFNRF9GMTVIX0NUUkxTOworICAgICAgICBrN19jb3VudGVyc19taXJy b3JlZCA9IDE7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHByaW50ayhY RU5MT0dfV0FSTklORyAiVlBNVTogVW5zdXBwb3J0ZWQgQ1BVIGZhbWlseSAlI3hcbiIsCisgICAg ICAgICAgICAgICBjdXJyZW50X2NwdV9kYXRhLng4Nik7CisgICAgICAgIHJldHVybiAtRUlOVkFM OwogICAgIH0KIAotICAgIHJlZ3Nfc3ogPSAyICogc2l6ZW9mKHVpbnQ2NF90KSAqIG51bV9jb3Vu dGVyczsKLQotICAgIHJldHVybiAwOworICAgIHJldHVybiBfdnBtdV9pbml0KCk7CiB9CiAKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvdnBtdS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni92cG11LmgKaW5kZXggMTI4N2I5Zi4uNTVmODViYSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni92cG11LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni92cG11LmgKQEAgLTUyLDYg KzUyLDcgQEAgc3RydWN0IGFyY2hfdnBtdV9vcHMgewogaW50IGNvcmUyX3ZwbXVfaW5pdCh2b2lk KTsKIGludCB2bXhfdnBtdV9pbml0aWFsaXNlKHN0cnVjdCB2Y3B1ICopOwogaW50IGFtZF92cG11 X2luaXQodm9pZCk7CitpbnQgaHlnb25fdnBtdV9pbml0KHZvaWQpOwogaW50IHN2bV92cG11X2lu aXRpYWxpc2Uoc3RydWN0IHZjcHUgKik7CiAKIHN0cnVjdCB2cG11X3N0cnVjdCB7Ci0tIAoyLjcu NAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=