From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 17/24] x86: L2 CAT: implement CPU init and free flow. Date: Wed, 15 Feb 2017 16:49:32 +0800 Message-ID: <1487148579-7243-18-git-send-email-yi.y.sun@linux.intel.com> References: <1487148579-7243-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 1cdvLH-0007dB-Rk for xen-devel@lists.xenproject.org; Wed, 15 Feb 2017 08:53:39 +0000 In-Reply-To: <1487148579-7243-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 Z25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KIHhlbi9h cmNoL3g4Ni9wc3IuYyAgICAgICAgfCA3MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaCB8ICAxICsKIDIgZmls ZXMgY2hhbmdlZCwgNzMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9w c3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCAwYTBiYWI5Li40NDg5NjM3IDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC05OCw2 ICs5OCw3IEBAIHN0cnVjdCBmZWF0X2h3X2luZm8gewogICAgIHVuaW9uIHsKICAgICAgICAgc3Ry dWN0IHBzcl9jYXRfaHdfaW5mbyBsM19jYXRfaW5mbzsKICAgICAgICAgc3RydWN0IHBzcl9jYXRf aHdfaW5mbyBsM19jZHBfaW5mbzsKKyAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsMl9j YXRfaW5mbzsKICAgICB9OwogfTsKIApAQCAtMjM1LDYgKzIzNiw3IEBAIHN0YXRpYyBERUZJTkVf UEVSX0NQVShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3JfYXNzb2MpOwogICovCiBzdGF0aWMgc3RydWN0 IGZlYXRfbm9kZSAqZmVhdF9sM19jYXQ7CiBzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9s M19jZHA7CitzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sMl9jYXQ7CiAKIC8qIENvbW1v biBmdW5jdGlvbnMuICovCiBzdGF0aWMgdm9pZCBmcmVlX2ZlYXR1cmUoc3RydWN0IHBzcl9zb2Nr ZXRfaW5mbyAqaW5mbykKQEAgLTY4NCw2ICs2ODYsNTMgQEAgc3RydWN0IGZlYXRfb3BzIGwzX2Nk cF9vcHMgPSB7CiAgICAgLndyaXRlX21zciA9IGwzX2NkcF93cml0ZV9tc3IsCiB9OwogCisvKiBM MiBDQVQgY2FsbGJhY2sgZnVuY3Rpb25zIGltcGxlbWVudGF0aW9uLiAqLworc3RhdGljIHZvaWQg bDJfY2F0X2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRfbGVhZiByZWdzLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQoreworICAg IHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDJfY2F0ID0geyB9OworICAgIHVuc2lnbmVkIGludCBz b2NrZXQ7CisKKyAgICAvKiBObyB2YWxpZCB2YWx1ZXMgc28gZG8gbm90IGVuYWJsZSB0aGUgZmVh dHVyZS4gKi8KKyAgICBpZiAoICFyZWdzLmEgfHwgIXJlZ3MuZCApCisgICAgICAgIHJldHVybjsK KworICAgIGwyX2NhdC5jYm1fbGVuID0gKHJlZ3MuYSAmIENBVF9DQk1fTEVOX01BU0spICsgMTsK KyAgICBsMl9jYXQuY29zX21heCA9IG1pbihvcHRfY29zX21heCwgcmVncy5kICYgQ0FUX0NPU19N QVhfTUFTSyk7CisKKyAgICAvKiBjb3M9MCBpcyByZXNlcnZlZCBhcyBkZWZhdWx0IGNibShhbGwg b25lcykuICovCisgICAgZmVhdC0+Y29zX3JlZ192YWxbMF0gPSAoMXVsbCA8PCBsMl9jYXQuY2Jt X2xlbikgLSAxOworCisgICAgZmVhdC0+ZmVhdHVyZSA9IFBTUl9TT0NLRVRfTDJfQ0FUOworICAg IEFTU0VSVCghdGVzdF9iaXQoUFNSX1NPQ0tFVF9MMl9DQVQsICZpbmZvLT5mZWF0X21hc2spKTsK KyAgICBfX3NldF9iaXQoUFNSX1NPQ0tFVF9MMl9DQVQsICZpbmZvLT5mZWF0X21hc2spOworCisg ICAgZmVhdC0+aW5mby5sMl9jYXRfaW5mbyA9IGwyX2NhdDsKKworICAgIGluZm8tPm5yX2ZlYXQr KzsKKworICAgIC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBsaXN0LiAqLworICAgIGxpc3RfYWRk X3RhaWwoJmZlYXQtPmxpc3QsICZpbmZvLT5mZWF0X2xpc3QpOworCisgICAgc29ja2V0ID0gY3B1 X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIGlmICggIW9wdF9jcHVfaW5mbyAp CisgICAgICAgIHJldHVybjsKKworICAgIHByaW50ayhYRU5MT0dfSU5GTyAiTDIgQ0FUOiBlbmFi bGVkIG9uIHNvY2tldCAldSwgY29zX21heDoldSwgY2JtX2xlbjoldS5cbiIsCisgICAgICAgICAg IHNvY2tldCwgZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jb3NfbWF4LAorICAgICAgICAgICBmZWF0 LT5pbmZvLmwyX2NhdF9pbmZvLmNibV9sZW4pOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IGwy X2NhdF9nZXRfY29zX21heChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQoreworICAgIHJl dHVybiBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXg7Cit9CisKK3N0cnVjdCBmZWF0X29w cyBsMl9jYXRfb3BzID0geworICAgIC5nZXRfY29zX21heCA9IGwyX2NhdF9nZXRfY29zX21heCwK K307CisKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9vbChjaGFyICpzLCBjaGFyICp2 YWx1ZSwgY2hhciAqZmVhdHVyZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBpbnQgbWFzaykKIHsKQEAgLTE0NTYsNiArMTUwNSwxOCBAQCBzdGF0aWMgdm9pZCBj cHVfaW5pdF93b3JrKHZvaWQpCiAgICAgICAgICAgICBsM19jYXRfaW5pdF9mZWF0dXJlKHJlZ3Ms IGZlYXQsIGluZm8pOwogICAgICAgICB9CiAgICAgfQorCisgICAgY3B1aWRfY291bnRfbGVhZihQ U1JfQ1BVSURfTEVWRUxfQ0FULCAwLCAmcmVncyk7CisgICAgaWYgKCByZWdzLmIgJiBQU1JfUkVT T1VSQ0VfVFlQRV9MMiApCisgICAgeworICAgICAgICBjcHVpZF9jb3VudF9sZWFmKFBTUl9DUFVJ RF9MRVZFTF9DQVQsIDIsICZyZWdzKTsKKworICAgICAgICBmZWF0ID0gZmVhdF9sMl9jYXQ7Cisg ICAgICAgIC8qIHBzcl9jcHVfcHJlcGFyZSB3aWxsIGFsbG9jYXRlIGl0IG9uIHN1YnNlcXVlbnQg Q1BVIG9ubGluaW5nLiAqLworICAgICAgICBmZWF0X2wyX2NhdCA9IE5VTEw7CisgICAgICAgIGZl YXQtPm9wcyA9IGwyX2NhdF9vcHM7CisgICAgICAgIGwyX2NhdF9pbml0X2ZlYXR1cmUocmVncywg ZmVhdCwgaW5mbyk7CisgICAgfQogfQogCiBzdGF0aWMgdm9pZCBjcHVfZmluaV93b3JrKHVuc2ln bmVkIGludCBjcHUpCkBAIC0xNTExLDYgKzE1NzIsMTcgQEAgc3RhdGljIGludCBwc3JfY3B1X3By ZXBhcmUodm9pZCkKICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAgICAgfQogCisgICAgaWYgKCBm ZWF0X2wyX2NhdCA9PSBOVUxMICYmCisgICAgICAgICAoZmVhdF9sMl9jYXQgPSB4emFsbG9jKHN0 cnVjdCBmZWF0X25vZGUpKSA9PSBOVUxMICkKKyAgICB7CisgICAgICAgIHhmcmVlKGZlYXRfbDNf Y2F0KTsKKyAgICAgICAgZmVhdF9sM19jYXQgPSBOVUxMOworCisgICAgICAgIHhmcmVlKGZlYXRf bDNfY2RwKTsKKyAgICAgICAgZmVhdF9sM19jZHAgPSBOVUxMOworICAgICAgICByZXR1cm4gLUVO T01FTTsKKyAgICB9CisKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKaW5kZXggZmRlNzg4 Mi4uZDdlZDAxMiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94 ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCkBAIC0yMyw2ICsyMyw3IEBACiAKIC8qIFJlc291cmNl IFR5cGUgRW51bWVyYXRpb24gKi8KICNkZWZpbmUgUFNSX1JFU09VUkNFX1RZUEVfTDMgICAgICAg MHgyCisjZGVmaW5lIFBTUl9SRVNPVVJDRV9UWVBFX0wyICAgICAgIDB4NAogCiAvKiBMMyBNb25p dG9yaW5nIEZlYXR1cmVzICovCiAjZGVmaW5lIFBTUl9DTVRfTDNfT0NDVVBBTkNZICAgICAgIDB4 MQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK