From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v5 17/24] x86: L2 CAT: implement CPU init and free flow. Date: Wed, 18 Jan 2017 10:02:40 +0800 Message-ID: <1484704967-5609-18-git-send-email-yi.y.sun@linux.intel.com> References: <1484704967-5609-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cTfcA-000635-0u for xen-devel@lists.xenproject.org; Wed, 18 Jan 2017 02:04:42 +0000 In-Reply-To: <1484704967-5609-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 Z25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KIHhlbi9h cmNoL3g4Ni9wc3IuYyAgICAgICAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICAxICsKIDIgZmls ZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9w c3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCA1OTZlNWIxLi41MzIwYWU2IDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC05NCw2 ICs5NCw3IEBAIHN0cnVjdCBmZWF0X2h3X2luZm8gewogICAgIHVuaW9uIHsKICAgICAgICAgc3Ry dWN0IHBzcl9jYXRfaHdfaW5mbyBsM19jYXRfaW5mbzsKICAgICAgICAgc3RydWN0IHBzcl9jYXRf aHdfaW5mbyBsM19jZHBfaW5mbzsKKyAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsMl9j YXRfaW5mbzsKICAgICB9OwogfTsKIApAQCAtMjM2LDYgKzIzNyw3IEBAIHN0YXRpYyBERUZJTkVf UEVSX0NQVShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3JfYXNzb2MpOwogICovCiBzdGF0aWMgc3RydWN0 IGZlYXRfbm9kZSAqZmVhdF9sM19jYXQ7CiBzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9s M19jZHA7CitzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sMl9jYXQ7CiAKIC8qIENvbW1v biBmdW5jdGlvbnMuICovCiBzdGF0aWMgdm9pZCBmcmVlX2ZlYXR1cmUoc3RydWN0IHBzcl9zb2Nr ZXRfaW5mbyAqaW5mbykKQEAgLTY3Miw2ICs2NzQsNTEgQEAgc3RydWN0IGZlYXRfb3BzIGwzX2Nk cF9vcHMgPSB7CiAgICAgLndyaXRlX21zciA9IGwzX2NkcF93cml0ZV9tc3IsCiB9OwogCisvKiBM MiBDQVQgY2FsbGJhY2sgZnVuY3Rpb25zIGltcGxlbWVudGF0aW9uLiAqLworc3RhdGljIHZvaWQg bDJfY2F0X2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRfbGVhZl9yZWdzIHJlZ3MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7 CisgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsMl9jYXQ7CisgICAgdW5zaWduZWQgaW50IHNv Y2tldDsKKworICAgIC8qIE5vIHZhbGlkIHZhbHVlcyBzbyBkbyBub3QgZW5hYmxlIHRoZSBmZWF0 dXJlLiAqLworICAgIGlmICggIXJlZ3MuZWF4IHx8ICFyZWdzLmVkeCApCisgICAgICAgIHJldHVy bjsKKworICAgIGwyX2NhdC5jYm1fbGVuID0gKHJlZ3MuZWF4ICYgQ0FUX0NCTV9MRU5fTUFTSykg KyAxOworICAgIGwyX2NhdC5jb3NfbWF4ID0gbWluKG9wdF9jb3NfbWF4LCByZWdzLmVkeCAmIENB VF9DT1NfTUFYX01BU0spOworCisgICAgLyogY29zPTAgaXMgcmVzZXJ2ZWQgYXMgZGVmYXVsdCBj Ym0oYWxsIG9uZXMpLiAqLworICAgIGZlYXQtPmNvc19yZWdfdmFsWzBdID0gKDF1bGwgPDwgbDJf Y2F0LmNibV9sZW4pIC0gMTsKKworICAgIGZlYXQtPmZlYXR1cmUgPSBQU1JfU09DS0VUX0wyX0NB VDsKKyAgICBfX3NldF9iaXQoUFNSX1NPQ0tFVF9MMl9DQVQsICZpbmZvLT5mZWF0X21hc2spOwor CisgICAgZmVhdC0+aW5mby5sMl9jYXRfaW5mbyA9IGwyX2NhdDsKKworICAgIGluZm8tPm5yX2Zl YXQrKzsKKworICAgIC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBsaXN0LiAqLworICAgIGxpc3Rf YWRkX3RhaWwoJmZlYXQtPmxpc3QsICZpbmZvLT5mZWF0X2xpc3QpOworCisgICAgc29ja2V0ID0g Y3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIGlmICggb3B0X2NwdV9pbmZv ICkKKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPCisgICAgICAgICAgICJMMiBDQVQ6IGVuYWJs ZWQgb24gc29ja2V0ICV1LCBjb3NfbWF4OiV1LCBjYm1fbGVuOiV1LlxuIiwKKyAgICAgICAgICAg c29ja2V0LCBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXgsCisgICAgICAgICAgIGZlYXQt PmluZm8ubDJfY2F0X2luZm8uY2JtX2xlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbDJf Y2F0X2dldF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0 dXJuIGZlYXQtPmluZm8ubDJfY2F0X2luZm8uY29zX21heDsKK30KKworc3RydWN0IGZlYXRfb3Bz IGwyX2NhdF9vcHMgPSB7CisgICAgLmdldF9jb3NfbWF4ID0gbDJfY2F0X2dldF9jb3NfbWF4LAor fTsKKwogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZh bHVlLCBjaGFyICpmZWF0dXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVu c2lnbmVkIGludCBtYXNrKQogewpAQCAtMTQ0NSw2ICsxNDkyLDIwIEBAIHN0YXRpYyB2b2lkIGNw dV9pbml0X3dvcmsodm9pZCkKICAgICAgICAgICAgIGwzX2NhdF9pbml0X2ZlYXR1cmUocmVncywg ZmVhdCwgaW5mbyk7CiAgICAgICAgIH0KICAgICB9CisKKyAgICBjcHVpZF9jb3VudChQU1JfQ1BV SURfTEVWRUxfQ0FULCAwLAorICAgICAgICAgICAgICAgICZyZWdzLmVheCwgJnJlZ3MuZWJ4LCAm cmVncy5lY3gsICZyZWdzLmVkeCk7CisgICAgaWYgKCByZWdzLmVieCAmIFBTUl9SRVNPVVJDRV9U WVBFX0wyICkKKyAgICB7CisgICAgICAgIC8qIEluaXRpYWxpemUgTDIgQ0FUIGFjY29yZGluZyB0 byBDUFVJRC4gKi8KKyAgICAgICAgY3B1aWRfY291bnQoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMiwK KyAgICAgICAgICAgICAgICAgICAgJnJlZ3MuZWF4LCAmcmVncy5lYngsICZyZWdzLmVjeCwgJnJl Z3MuZWR4KTsKKworICAgICAgICBmZWF0ID0gZmVhdF9sMl9jYXQ7CisgICAgICAgIGZlYXRfbDJf Y2F0ID0gTlVMTDsKKyAgICAgICAgZmVhdC0+b3BzID0gbDJfY2F0X29wczsKKyAgICAgICAgbDJf Y2F0X2luaXRfZmVhdHVyZShyZWdzLCBmZWF0LCBpbmZvKTsKKyAgICB9CiB9CiAKIHN0YXRpYyB2 b2lkIGNwdV9maW5pX3dvcmsodW5zaWduZWQgaW50IGNwdSkKQEAgLTE1MDMsNiArMTU2NCwxNyBA QCBzdGF0aWMgaW50IHBzcl9jcHVfcHJlcGFyZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICBy ZXR1cm4gLUVOT01FTTsKICAgICB9CiAKKyAgICBpZiAoIGZlYXRfbDJfY2F0ID09IE5VTEwgJiYK KyAgICAgICAgIChmZWF0X2wyX2NhdCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5V TEwgKQorICAgIHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jYXQpOworICAgICAgICBmZWF0X2wz X2NhdCA9IE5VTEw7CisKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jZHApOworICAgICAgICBmZWF0 X2wzX2NkcCA9IE5VTEw7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJl dHVybiAwOwogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCA5NzIxNGZlLi5kMmM3YTEzIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNy LmgKQEAgLTIzLDYgKzIzLDcgQEAKIAogLyogUmVzb3VyY2UgVHlwZSBFbnVtZXJhdGlvbiAqLwog I2RlZmluZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMyAgICAgICAgICAgIDB4MgorI2RlZmluZSBQU1Jf UkVTT1VSQ0VfVFlQRV9MMiAgICAgICAgICAgIDB4NAogCiAvKiBMMyBNb25pdG9yaW5nIEZlYXR1 cmVzICovCiAjZGVmaW5lIFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAgICAgICAweDEKLS0gCjEu OS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==