From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v7 17/24] x86: L2 CAT: implement CPU init and free flow. Date: Mon, 13 Feb 2017 14:32:29 +0800 Message-ID: <1486967556-3702-18-git-send-email-yi.y.sun@linux.intel.com> References: <1486967556-3702-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 1cdAFR-0006Tp-7a for xen-devel@lists.xenproject.org; Mon, 13 Feb 2017 06:36:29 +0000 In-Reply-To: <1486967556-3702-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: kevin.tian@intel.com, wei.liu2@citrix.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 Z25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0Kdjc6CiAg ICAtIGluaXRpYWxpemUgJ2wyX2NhdCcuCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jICAgICAgICB8 IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4v aW5jbHVkZS9hc20teDg2L3Bzci5oIHwgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA3MyBpbnNlcnRp b25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bz ci5jCmluZGV4IDhjNmFmNjkuLjYwYTRiOTMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3Iu YworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTk4LDYgKzk4LDcgQEAgc3RydWN0IGZlYXRf aHdfaW5mbyB7CiAgICAgdW5pb24gewogICAgICAgICBzdHJ1Y3QgcHNyX2NhdF9od19pbmZvIGwz X2NhdF9pbmZvOwogICAgICAgICBzdHJ1Y3QgcHNyX2NhdF9od19pbmZvIGwzX2NkcF9pbmZvOwor ICAgICAgICBzdHJ1Y3QgcHNyX2NhdF9od19pbmZvIGwyX2NhdF9pbmZvOwogICAgIH07CiB9Owog CkBAIC0yMzUsNiArMjM2LDcgQEAgc3RhdGljIERFRklORV9QRVJfQ1BVKHN0cnVjdCBwc3JfYXNz b2MsIHBzcl9hc3NvYyk7CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X2wzX2Nh dDsKIHN0YXRpYyBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X2wzX2NkcDsKK3N0YXRpYyBzdHJ1Y3Qg ZmVhdF9ub2RlICpmZWF0X2wyX2NhdDsKIAogLyogQ29tbW9uIGZ1bmN0aW9ucy4gKi8KIHN0YXRp YyB2b2lkIGZyZWVfZmVhdHVyZShzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQpAQCAtNjgx LDYgKzY4Myw1MyBAQCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2RwX29wcyA9IHsKICAgICAud3JpdGVf bXNyID0gbDNfY2RwX3dyaXRlX21zciwKIH07CiAKKy8qIEwyIENBVCBjYWxsYmFjayBmdW5jdGlv bnMgaW1wbGVtZW50YXRpb24uICovCitzdGF0aWMgdm9pZCBsMl9jYXRfaW5pdF9mZWF0dXJlKHN0 cnVjdCBjcHVpZF9sZWFmIHJlZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5m byBsMl9jYXQgPSB7IH07CisgICAgdW5zaWduZWQgaW50IHNvY2tldDsKKworICAgIC8qIE5vIHZh bGlkIHZhbHVlcyBzbyBkbyBub3QgZW5hYmxlIHRoZSBmZWF0dXJlLiAqLworICAgIGlmICggIXJl Z3MuYSB8fCAhcmVncy5kICkKKyAgICAgICAgcmV0dXJuOworCisgICAgbDJfY2F0LmNibV9sZW4g PSAocmVncy5hICYgQ0FUX0NCTV9MRU5fTUFTSykgKyAxOworICAgIGwyX2NhdC5jb3NfbWF4ID0g bWluKG9wdF9jb3NfbWF4LCByZWdzLmQgJiBDQVRfQ09TX01BWF9NQVNLKTsKKworICAgIC8qIGNv cz0wIGlzIHJlc2VydmVkIGFzIGRlZmF1bHQgY2JtKGFsbCBvbmVzKS4gKi8KKyAgICBmZWF0LT5j b3NfcmVnX3ZhbFswXSA9ICgxdWxsIDw8IGwyX2NhdC5jYm1fbGVuKSAtIDE7CisKKyAgICBmZWF0 LT5mZWF0dXJlID0gUFNSX1NPQ0tFVF9MMl9DQVQ7CisgICAgQVNTRVJUKCF0ZXN0X2JpdChQU1Jf U09DS0VUX0wyX0NBVCwgJmluZm8tPmZlYXRfbWFzaykpOworICAgIF9fc2V0X2JpdChQU1JfU09D S0VUX0wyX0NBVCwgJmluZm8tPmZlYXRfbWFzayk7CisKKyAgICBmZWF0LT5pbmZvLmwyX2NhdF9p bmZvID0gbDJfY2F0OworCisgICAgaW5mby0+bnJfZmVhdCsrOworCisgICAgLyogQWRkIHRoaXMg ZmVhdHVyZSBpbnRvIGxpc3QuICovCisgICAgbGlzdF9hZGRfdGFpbCgmZmVhdC0+bGlzdCwgJmlu Zm8tPmZlYXRfbGlzdCk7CisKKyAgICBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNz b3JfaWQoKSk7CisgICAgaWYgKCAhb3B0X2NwdV9pbmZvICkKKyAgICAgICAgcmV0dXJuOworCisg ICAgcHJpbnRrKFhFTkxPR19JTkZPICJMMiBDQVQ6IGVuYWJsZWQgb24gc29ja2V0ICV1LCBjb3Nf bWF4OiV1LCBjYm1fbGVuOiV1LlxuIiwKKyAgICAgICAgICAgc29ja2V0LCBmZWF0LT5pbmZvLmwy X2NhdF9pbmZvLmNvc19tYXgsCisgICAgICAgICAgIGZlYXQtPmluZm8ubDJfY2F0X2luZm8uY2Jt X2xlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbDJfY2F0X2dldF9jb3NfbWF4KGNvbnN0 IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0dXJuIGZlYXQtPmluZm8ubDJfY2F0 X2luZm8uY29zX21heDsKK30KKworc3RydWN0IGZlYXRfb3BzIGwyX2NhdF9vcHMgPSB7CisgICAg LmdldF9jb3NfbWF4ID0gbDJfY2F0X2dldF9jb3NfbWF4LAorfTsKKwogc3RhdGljIHZvaWQgX19p bml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXNrKQogewpA QCAtMTQ1NCw2ICsxNTAzLDE4IEBAIHN0YXRpYyB2b2lkIGNwdV9pbml0X3dvcmsodm9pZCkKICAg ICAgICAgICAgIGwzX2NhdF9pbml0X2ZlYXR1cmUocmVncywgZmVhdCwgaW5mbyk7CiAgICAgICAg IH0KICAgICB9CisKKyAgICBjcHVpZF9jb3VudF9sZWFmKFBTUl9DUFVJRF9MRVZFTF9DQVQsIDAs ICZyZWdzKTsKKyAgICBpZiAoIHJlZ3MuYiAmIFBTUl9SRVNPVVJDRV9UWVBFX0wyICkKKyAgICB7 CisgICAgICAgIGNwdWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMiwgJnJlZ3Mp OworCisgICAgICAgIGZlYXQgPSBmZWF0X2wyX2NhdDsKKyAgICAgICAgLyogcHNyX2NwdV9wcmVw YXJlIHdpbGwgYWxsb2NhdGUgaXQgb24gc3Vic2VxdWVudCBDUFUgb25saW5pbmcuICovCisgICAg ICAgIGZlYXRfbDJfY2F0ID0gTlVMTDsKKyAgICAgICAgZmVhdC0+b3BzID0gbDJfY2F0X29wczsK KyAgICAgICAgbDJfY2F0X2luaXRfZmVhdHVyZShyZWdzLCBmZWF0LCBpbmZvKTsKKyAgICB9CiB9 CiAKIHN0YXRpYyB2b2lkIGNwdV9maW5pX3dvcmsodW5zaWduZWQgaW50IGNwdSkKQEAgLTE1MDUs NiArMTU2NiwxNyBAQCBzdGF0aWMgaW50IHBzcl9jcHVfcHJlcGFyZSh1bnNpZ25lZCBpbnQgY3B1 KQogICAgICAgICByZXR1cm4gLUVOT01FTTsKICAgICB9CiAKKyAgICBpZiAoIGZlYXRfbDJfY2F0 ID09IE5VTEwgJiYKKyAgICAgICAgIChmZWF0X2wyX2NhdCA9IHh6YWxsb2Moc3RydWN0IGZlYXRf bm9kZSkpID09IE5VTEwgKQorICAgIHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jYXQpOworICAg ICAgICBmZWF0X2wzX2NhdCA9IE5VTEw7CisKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jZHApOwor ICAgICAgICBmZWF0X2wzX2NkcCA9IE5VTEw7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAg IH0KKwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2 L3Bzci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAppbmRleCBmZGU3ODgyLi5kN2VkMDEy IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvcHNyLmgKQEAgLTIzLDYgKzIzLDcgQEAKIAogLyogUmVzb3VyY2UgVHlwZSBFbnVt ZXJhdGlvbiAqLwogI2RlZmluZSBQU1JfUkVTT1VSQ0VfVFlQRV9MMyAgICAgICAweDIKKyNkZWZp bmUgUFNSX1JFU09VUkNFX1RZUEVfTDIgICAgICAgMHg0CiAKIC8qIEwzIE1vbml0b3JpbmcgRmVh dHVyZXMgKi8KICNkZWZpbmUgUFNSX0NNVF9MM19PQ0NVUEFOQ1kgICAgICAgMHgxCi0tIAoxLjku MQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=