From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 17/24] x86: L2 CAT: implement CPU init and free flow. Date: Thu, 19 Jan 2017 14:01:19 +0800 Message-ID: <1484805686-7249-18-git-send-email-yi.y.sun@linux.intel.com> References: <1484805686-7249-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cU5ol-0007Eg-Uc for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:03:28 +0000 In-Reply-To: <1484805686-7249-1-git-send-email-yi.y.sun@linux.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: wei.liu2@citrix.com, konrad.wilk@oracle.com, andrew.cooper3@citrix.com, dario.faggioli@citrix.com, he.chen@linux.intel.com, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBDUFUgaW5pdCBhbmQgZnJlZSBmbG93IGZvciBMMiBD QVQgaW5jbHVkaW5nCkwyIENBVCBpbml0aWFsaXphdGlvbiBjYWxsYmFjayBmdW5jdGlvbi4KClNp Z25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KdjU6CiAg ICAtIHJlbW92ZSAnZmVhdF9sMl9jYXQnIGZyZWUgaW4gJ2ZyZWVfZmVhdHVyZScuCiAgICAtIEVu Y2Fwc3VsYXRlIGNwdWlkIHJlZ2lzdGVycyBpbnRvICdzdHJ1Y3QgY3B1aWRfbGVhZl9yZWdzJy4K ICAgIC0gUHJpbnQgc29ja2V0IGluZm8gd2hlbiAnb3B0X2NwdV9pbmZvJyBpcyB0cnVlLgogICAg LSByZW5hbWUgJ2wyX2NhdF9nZXRfbWF4X2Nvc19tYXgnIHRvICdsMl9jYXRfZ2V0X2Nvc19tYXgn LgogICAgLSByZW5hbWUgJ2RhdFtdJyB0byAnZGF0YVtdJwogICAgLSBtb3ZlICdjcHVfcHJlcGFy ZV93b3JrJyBjb250ZW50cyBpbnRvICdwc3JfY3B1X3ByZXBhcmUnLgotLS0KIHhlbi9hcmNoL3g4 Ni9wc3IuYyAgICAgICAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICAxICsKIDIgZmlsZXMgY2hh bmdlZCwgNzMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBi L3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCA1OTZlNWIxLi41MzIwYWU2IDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC05NCw2ICs5NCw3 IEBAIHN0cnVjdCBmZWF0X2h3X2luZm8gewogICAgIHVuaW9uIHsKICAgICAgICAgc3RydWN0IHBz cl9jYXRfaHdfaW5mbyBsM19jYXRfaW5mbzsKICAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5m byBsM19jZHBfaW5mbzsKKyAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsMl9jYXRfaW5m bzsKICAgICB9OwogfTsKIApAQCAtMjM2LDYgKzIzNyw3IEBAIHN0YXRpYyBERUZJTkVfUEVSX0NQ VShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3JfYXNzb2MpOwogICovCiBzdGF0aWMgc3RydWN0IGZlYXRf bm9kZSAqZmVhdF9sM19jYXQ7CiBzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sM19jZHA7 CitzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sMl9jYXQ7CiAKIC8qIENvbW1vbiBmdW5j dGlvbnMuICovCiBzdGF0aWMgdm9pZCBmcmVlX2ZlYXR1cmUoc3RydWN0IHBzcl9zb2NrZXRfaW5m byAqaW5mbykKQEAgLTY3Miw2ICs2NzQsNTEgQEAgc3RydWN0IGZlYXRfb3BzIGwzX2NkcF9vcHMg PSB7CiAgICAgLndyaXRlX21zciA9IGwzX2NkcF93cml0ZV9tc3IsCiB9OwogCisvKiBMMiBDQVQg Y2FsbGJhY2sgZnVuY3Rpb25zIGltcGxlbWVudGF0aW9uLiAqLworc3RhdGljIHZvaWQgbDJfY2F0 X2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRfbGVhZl9yZWdzIHJlZ3MsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAg c3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsMl9jYXQ7CisgICAgdW5zaWduZWQgaW50IHNvY2tldDsK KworICAgIC8qIE5vIHZhbGlkIHZhbHVlcyBzbyBkbyBub3QgZW5hYmxlIHRoZSBmZWF0dXJlLiAq LworICAgIGlmICggIXJlZ3MuZWF4IHx8ICFyZWdzLmVkeCApCisgICAgICAgIHJldHVybjsKKwor ICAgIGwyX2NhdC5jYm1fbGVuID0gKHJlZ3MuZWF4ICYgQ0FUX0NCTV9MRU5fTUFTSykgKyAxOwor ICAgIGwyX2NhdC5jb3NfbWF4ID0gbWluKG9wdF9jb3NfbWF4LCByZWdzLmVkeCAmIENBVF9DT1Nf TUFYX01BU0spOworCisgICAgLyogY29zPTAgaXMgcmVzZXJ2ZWQgYXMgZGVmYXVsdCBjYm0oYWxs IG9uZXMpLiAqLworICAgIGZlYXQtPmNvc19yZWdfdmFsWzBdID0gKDF1bGwgPDwgbDJfY2F0LmNi bV9sZW4pIC0gMTsKKworICAgIGZlYXQtPmZlYXR1cmUgPSBQU1JfU09DS0VUX0wyX0NBVDsKKyAg ICBfX3NldF9iaXQoUFNSX1NPQ0tFVF9MMl9DQVQsICZpbmZvLT5mZWF0X21hc2spOworCisgICAg ZmVhdC0+aW5mby5sMl9jYXRfaW5mbyA9IGwyX2NhdDsKKworICAgIGluZm8tPm5yX2ZlYXQrKzsK KworICAgIC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBsaXN0LiAqLworICAgIGxpc3RfYWRkX3Rh aWwoJmZlYXQtPmxpc3QsICZpbmZvLT5mZWF0X2xpc3QpOworCisgICAgc29ja2V0ID0gY3B1X3Rv X3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIGlmICggb3B0X2NwdV9pbmZvICkKKyAg ICAgICAgcHJpbnRrKFhFTkxPR19JTkZPCisgICAgICAgICAgICJMMiBDQVQ6IGVuYWJsZWQgb24g c29ja2V0ICV1LCBjb3NfbWF4OiV1LCBjYm1fbGVuOiV1LlxuIiwKKyAgICAgICAgICAgc29ja2V0 LCBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXgsCisgICAgICAgICAgIGZlYXQtPmluZm8u bDJfY2F0X2luZm8uY2JtX2xlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbDJfY2F0X2dl dF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0dXJuIGZl YXQtPmluZm8ubDJfY2F0X2luZm8uY29zX21heDsKK30KKworc3RydWN0IGZlYXRfb3BzIGwyX2Nh dF9vcHMgPSB7CisgICAgLmdldF9jb3NfbWF4ID0gbDJfY2F0X2dldF9jb3NfbWF4LAorfTsKKwog c3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBj aGFyICpmZWF0dXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVk IGludCBtYXNrKQogewpAQCAtMTQ0NSw2ICsxNDkyLDIwIEBAIHN0YXRpYyB2b2lkIGNwdV9pbml0 X3dvcmsodm9pZCkKICAgICAgICAgICAgIGwzX2NhdF9pbml0X2ZlYXR1cmUocmVncywgZmVhdCwg aW5mbyk7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBjcHVpZF9jb3VudChQU1JfQ1BVSURfTEVW RUxfQ0FULCAwLAorICAgICAgICAgICAgICAgICZyZWdzLmVheCwgJnJlZ3MuZWJ4LCAmcmVncy5l Y3gsICZyZWdzLmVkeCk7CisgICAgaWYgKCByZWdzLmVieCAmIFBTUl9SRVNPVVJDRV9UWVBFX0wy ICkKKyAgICB7CisgICAgICAgIC8qIEluaXRpYWxpemUgTDIgQ0FUIGFjY29yZGluZyB0byBDUFVJ RC4gKi8KKyAgICAgICAgY3B1aWRfY291bnQoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMiwKKyAgICAg ICAgICAgICAgICAgICAgJnJlZ3MuZWF4LCAmcmVncy5lYngsICZyZWdzLmVjeCwgJnJlZ3MuZWR4 KTsKKworICAgICAgICBmZWF0ID0gZmVhdF9sMl9jYXQ7CisgICAgICAgIGZlYXRfbDJfY2F0ID0g TlVMTDsKKyAgICAgICAgZmVhdC0+b3BzID0gbDJfY2F0X29wczsKKyAgICAgICAgbDJfY2F0X2lu aXRfZmVhdHVyZShyZWdzLCBmZWF0LCBpbmZvKTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2b2lkIGNw dV9maW5pX3dvcmsodW5zaWduZWQgaW50IGNwdSkKQEAgLTE1MDMsNiArMTU2NCwxNyBAQCBzdGF0 aWMgaW50IHBzcl9jcHVfcHJlcGFyZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICByZXR1cm4g LUVOT01FTTsKICAgICB9CiAKKyAgICBpZiAoIGZlYXRfbDJfY2F0ID09IE5VTEwgJiYKKyAgICAg ICAgIChmZWF0X2wyX2NhdCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5VTEwgKQor ICAgIHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jYXQpOworICAgICAgICBmZWF0X2wzX2NhdCA9 IE5VTEw7CisKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jZHApOworICAgICAgICBmZWF0X2wzX2Nk cCA9IE5VTEw7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJldHVybiAw OwogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCA5NzIxNGZlLi5kMmM3YTEzIDEwMDY0NAotLS0gYS94ZW4v aW5jbHVkZS9hc20teDg2L3Bzci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKQEAg LTIzLDYgKzIzLDcgQEAKIAogLyogUmVzb3VyY2UgVHlwZSBFbnVtZXJhdGlvbiAqLwogI2RlZmlu ZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMyAgICAgICAgICAgIDB4MgorI2RlZmluZSBQU1JfUkVTT1VS Q0VfVFlQRV9MMiAgICAgICAgICAgIDB4NAogCiAvKiBMMyBNb25pdG9yaW5nIEZlYXR1cmVzICov CiAjZGVmaW5lIFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAgICAgICAweDEKLS0gCjEuOS4xCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==