From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 17/24] x86: L2 CAT: implement CPU init and free flow. Date: Wed, 8 Feb 2017 16:16:09 +0800 Message-ID: <1486541776-8406-18-git-send-email-yi.y.sun@linux.intel.com> References: <1486541776-8406-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbNTg-0006CJ-FH for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 08:19:48 +0000 In-Reply-To: <1486541776-8406-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 Z25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KdjY6CiAg ICAtIHVzZSAnc3RydWN0IGNwdWlkX2xlYWYnIGluIHg4Nl9lbXVsYXRlLmguCiAgICAtIHVzZSBj cHVpZF9jb3VudF9sZWFmKCkgdG8gZ2V0IGNwdWlkIGluZm8uCiAgICAtIGFkanVzdCBtYWNybyB2 YWx1ZSBwb3NpdGlvbi4KLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgICAgICAgIHwgNzIgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2Fz bS14ODYvcHNyLmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXgg M2NmYTc3ZC4uMGVmMzk4ZSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hl bi9hcmNoL3g4Ni9wc3IuYwpAQCAtOTgsNiArOTgsNyBAQCBzdHJ1Y3QgZmVhdF9od19pbmZvIHsK ICAgICB1bmlvbiB7CiAgICAgICAgIHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDNfY2F0X2luZm87 CiAgICAgICAgIHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDNfY2RwX2luZm87CisgICAgICAgIHN0 cnVjdCBwc3JfY2F0X2h3X2luZm8gbDJfY2F0X2luZm87CiAgICAgfTsKIH07CiAKQEAgLTIzNSw2 ICsyMzYsNyBAQCBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHBzcl9hc3NvYywgcHNyX2Fz c29jKTsKICAqLwogc3RhdGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDNfY2F0Owogc3RhdGlj IHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDNfY2RwOworc3RhdGljIHN0cnVjdCBmZWF0X25vZGUg KmZlYXRfbDJfY2F0OwogCiAvKiBDb21tb24gZnVuY3Rpb25zLiAqLwogc3RhdGljIHZvaWQgZnJl ZV9mZWF0dXJlKHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCkBAIC02ODEsNiArNjgzLDUz IEBAIHN0cnVjdCBmZWF0X29wcyBsM19jZHBfb3BzID0gewogICAgIC53cml0ZV9tc3IgPSBsM19j ZHBfd3JpdGVfbXNyLAogfTsKIAorLyogTDIgQ0FUIGNhbGxiYWNrIGZ1bmN0aW9ucyBpbXBsZW1l bnRhdGlvbi4gKi8KK3N0YXRpYyB2b2lkIGwyX2NhdF9pbml0X2ZlYXR1cmUoc3RydWN0IGNwdWlk X2xlYWYgcmVncywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGZlYXRf bm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBzcl9z b2NrZXRfaW5mbyAqaW5mbykKK3sKKyAgICBzdHJ1Y3QgcHNyX2NhdF9od19pbmZvIGwyX2NhdDsK KyAgICB1bnNpZ25lZCBpbnQgc29ja2V0OworCisgICAgLyogTm8gdmFsaWQgdmFsdWVzIHNvIGRv IG5vdCBlbmFibGUgdGhlIGZlYXR1cmUuICovCisgICAgaWYgKCAhcmVncy5hIHx8ICFyZWdzLmQg KQorICAgICAgICByZXR1cm47CisKKyAgICBsMl9jYXQuY2JtX2xlbiA9IChyZWdzLmEgJiBDQVRf Q0JNX0xFTl9NQVNLKSArIDE7CisgICAgbDJfY2F0LmNvc19tYXggPSBtaW4ob3B0X2Nvc19tYXgs IHJlZ3MuZCAmIENBVF9DT1NfTUFYX01BU0spOworCisgICAgLyogY29zPTAgaXMgcmVzZXJ2ZWQg YXMgZGVmYXVsdCBjYm0oYWxsIG9uZXMpLiAqLworICAgIGZlYXQtPmNvc19yZWdfdmFsWzBdID0g KDF1bGwgPDwgbDJfY2F0LmNibV9sZW4pIC0gMTsKKworICAgIGZlYXQtPmZlYXR1cmUgPSBQU1Jf U09DS0VUX0wyX0NBVDsKKyAgICBBU1NFUlQoIXRlc3RfYml0KFBTUl9TT0NLRVRfTDJfQ0FULCAm aW5mby0+ZmVhdF9tYXNrKSk7CisgICAgX19zZXRfYml0KFBTUl9TT0NLRVRfTDJfQ0FULCAmaW5m by0+ZmVhdF9tYXNrKTsKKworICAgIGZlYXQtPmluZm8ubDJfY2F0X2luZm8gPSBsMl9jYXQ7CisK KyAgICBpbmZvLT5ucl9mZWF0Kys7CisKKyAgICAvKiBBZGQgdGhpcyBmZWF0dXJlIGludG8gbGlz dC4gKi8KKyAgICBsaXN0X2FkZF90YWlsKCZmZWF0LT5saXN0LCAmaW5mby0+ZmVhdF9saXN0KTsK KworICAgIHNvY2tldCA9IGNwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKyAgICBp ZiAoICFvcHRfY3B1X2luZm8gKQorICAgICAgICByZXR1cm47CisKKyAgICBwcmludGsoWEVOTE9H X0lORk8gIkwyIENBVDogZW5hYmxlZCBvbiBzb2NrZXQgJXUsIGNvc19tYXg6JXUsIGNibV9sZW46 JXUuXG4iLAorICAgICAgICAgICBzb2NrZXQsIGZlYXQtPmluZm8ubDJfY2F0X2luZm8uY29zX21h eCwKKyAgICAgICAgICAgZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jYm1fbGVuKTsKK30KKworc3Rh dGljIHVuc2lnbmVkIGludCBsMl9jYXRfZ2V0X2Nvc19tYXgoY29uc3Qgc3RydWN0IGZlYXRfbm9k ZSAqZmVhdCkKK3sKKyAgICByZXR1cm4gZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jb3NfbWF4Owor fQorCitzdHJ1Y3QgZmVhdF9vcHMgbDJfY2F0X29wcyA9IHsKKyAgICAuZ2V0X2Nvc19tYXggPSBs Ml9jYXRfZ2V0X2Nvc19tYXgsCit9OworCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jv b2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1hc2spCiB7CkBAIC0xNDU0LDYgKzE1MDMs MTggQEAgc3RhdGljIHZvaWQgY3B1X2luaXRfd29yayh2b2lkKQogICAgICAgICAgICAgbDNfY2F0 X2luaXRfZmVhdHVyZShyZWdzLCBmZWF0LCBpbmZvKTsKICAgICAgICAgfQogICAgIH0KKworICAg IGNwdWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMCwgJnJlZ3MpOworICAgIGlm ICggcmVncy5iICYgUFNSX1JFU09VUkNFX1RZUEVfTDIgKQorICAgIHsKKyAgICAgICAgY3B1aWRf Y291bnRfbGVhZihQU1JfQ1BVSURfTEVWRUxfQ0FULCAyLCAmcmVncyk7CisKKyAgICAgICAgZmVh dCA9IGZlYXRfbDJfY2F0OworICAgICAgICAvKiBwc3JfY3B1X3ByZXBhcmUgd2lsbCBhbGxvY2F0 ZSBpdCBvbiBzdWJzZXF1ZW50IENQVSBvbmxpbmluZy4gKi8KKyAgICAgICAgZmVhdF9sMl9jYXQg PSBOVUxMOworICAgICAgICBmZWF0LT5vcHMgPSBsMl9jYXRfb3BzOworICAgICAgICBsMl9jYXRf aW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8pOworICAgIH0KIH0KIAogc3RhdGljIHZvaWQg Y3B1X2Zpbmlfd29yayh1bnNpZ25lZCBpbnQgY3B1KQpAQCAtMTUxMiw2ICsxNTczLDE3IEBAIHN0 YXRpYyBpbnQgcHNyX2NwdV9wcmVwYXJlKHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgIHJldHVy biAtRU5PTUVNOwogICAgIH0KIAorICAgIGlmICggZmVhdF9sMl9jYXQgPT0gTlVMTCAmJgorICAg ICAgICAgKGZlYXRfbDJfY2F0ID0geHphbGxvYyhzdHJ1Y3QgZmVhdF9ub2RlKSkgPT0gTlVMTCAp CisgICAgeworICAgICAgICB4ZnJlZShmZWF0X2wzX2NhdCk7CisgICAgICAgIGZlYXRfbDNfY2F0 ID0gTlVMTDsKKworICAgICAgICB4ZnJlZShmZWF0X2wzX2NkcCk7CisgICAgICAgIGZlYXRfbDNf Y2RwID0gTlVMTDsKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgICAgfQorCiAgICAgcmV0dXJu IDA7CiB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggYi94ZW4vaW5j bHVkZS9hc20teDg2L3Bzci5oCmluZGV4IGZkZTc4ODIuLmQ3ZWQwMTIgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaApA QCAtMjMsNiArMjMsNyBAQAogCiAvKiBSZXNvdXJjZSBUeXBlIEVudW1lcmF0aW9uICovCiAjZGVm aW5lIFBTUl9SRVNPVVJDRV9UWVBFX0wzICAgICAgIDB4MgorI2RlZmluZSBQU1JfUkVTT1VSQ0Vf VFlQRV9MMiAgICAgICAweDQKIAogLyogTDMgTW9uaXRvcmluZyBGZWF0dXJlcyAqLwogI2RlZmlu ZSBQU1JfQ01UX0wzX09DQ1VQQU5DWSAgICAgICAweDEKLS0gCjEuOS4xCgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==