From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 20/24] x86: L2 CAT: implement set value flow. Date: Thu, 19 Jan 2017 14:01:22 +0800 Message-ID: <1484805686-7249-21-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cU5op-0007Kq-2t for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:03:31 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIEwyIENBVCBzZXQgdmFsdWUgcmVsYXRlZCBjYWxsYmFjayBm dW5jdGlvbnMKYW5kIGRvbWN0bCBpbnRlcmZhY2UuCgpTaWduZWQtb2ZmLWJ5OiBZaSBTdW4gPHlp Lnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCnY1OgogICAgLSByZW1vdmUgdHlwZSBjaGVjayBp biBjYWxsYmFjayBmdW5jdGlvbi4KICAgIC0gbW9kaWZ5IHJldHVybiB2YWx1ZSBvZiBjYWxsYmFj ayBmdW5jdGlvbnMgYmVjYXVzZSB3ZSBkbyBub3QgbmVlZCB0aGVtCiAgICAgIHRvIHJldHVybiBu dW1iZXIgb2YgZW50cmllcyB0aGUgZmVhdHVyZSB1c2VzLiBJbiBjYWxsZXIsIHdlIGNhbGwKICAg ICAgJ2dldF9jb3NfbnVtJyB0byBnZXQgdGhlIG51bWJlciBvZiBlbnRyaWVzIHRoZSBmZWF0dXJl IHVzZXMuCiAgICAtIHJlbW92ZSAnbDJfY2F0X2dldF9jb3NfbWF4X2Zyb21fdHlwZScuCiAgICAt IHJlbmFtZSAnbDJfY2F0X2V4Y2VlZHNfY29zX21heCcgdG8gJ2wyX2NhdF9maXRzX2Nvc19tYXgn LgotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAgICAgfCAgNiArKysKIHhlbi9hcmNo L3g4Ni9wc3IuYyAgICAgICAgICAgICAgfCA5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaCB8ICAxICsKIHhl bi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCAgICAgfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDEw MCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWN0bC5jIGIveGVu L2FyY2gveDg2L2RvbWN0bC5jCmluZGV4IGFmNjE1M2QuLjI3NjdjNmEgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9kb21jdGwuYworKysgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKQEAgLTEzODIs NiArMTM4MiwxMiBAQCBsb25nIGFyY2hfZG9fZG9tY3RsKAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUFNSX0NCTV9UWVBFX0wzX0RBVEEpOwogICAgICAgICAgICAgYnJlYWs7CiAKKyAg ICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfU0VUX0wyX0NCTToKKyAgICAgICAgICAg IHJldCA9IHBzcl9zZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRhcmdldCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRvbWN0bC0+dS5wc3JfY2F0X29wLmRhdGEsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQ0JNX1RZUEVfTDIpOworICAgICAgICAgICAg YnJlYWs7CisKICAgICAgICAgY2FzZSBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfR0VUX0wzX0NCTToK ICAgICAgICAgICAgIHJldCA9IHBzcl9nZXRfdmFsKGQsIGRvbWN0bC0+dS5wc3JfY2F0X29wLnRh cmdldCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZkb21jdGwtPnUucHNyX2NhdF9v cC5kYXRhLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bz ci5jCmluZGV4IDFmYWQ1NDAuLjEzZDg1ZTAgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3Iu YworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTc0MSwxMCArNzQxLDEwMiBAQCBzdGF0aWMg Ym9vbCBsMl9jYXRfZ2V0X3ZhbChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LCB1bnNpZ25l ZCBpbnQgY29zLAogICAgIHJldHVybiB0cnVlOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGwy X2NhdF9nZXRfY29zX251bShjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQoreworICAgIC8q IEwyIENBVCB1c2VzIG9uZSBDT1MuICovCisgICAgcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQg bDJfY2F0X2dldF9vbGRfdmFsKHVpbnQ2NF90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBvbGRfY29zKQoreworICAgIGlmICggb2xkX2NvcyA+ IGZlYXQtPmluZm8ubDJfY2F0X2luZm8uY29zX21heCApCisgICAgICAgIC8qIFVzZSBkZWZhdWx0 IHZhbHVlLiAqLworICAgICAgICBvbGRfY29zID0gMDsKKworICAgIHZhbFswXSA9IGZlYXQtPmNv c19yZWdfdmFsW29sZF9jb3NdOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbDJf Y2F0X3NldF9uZXdfdmFsKHVpbnQ2NF90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gY2JtX3R5cGUgdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVpbnQ2NF90IG0pCit7CisgICAgaWYgKCAhcHNyX2NoZWNrX2NibShmZWF0LT5pbmZvLmwy X2NhdF9pbmZvLmNibV9sZW4sIG0pICkKKyAgICAgICAgcmV0dXJuIC1FSU5WQUw7CisKKyAgICB2 YWxbMF0gPSBtOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbDJfY2F0X2NvbXBh cmVfdmFsKGNvbnN0IHVpbnQ2NF90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHVuc2lnbmVkIGludCBjb3MsIGJvb2wgKmZvdW5kKQoreworICAgIHVpbnQ2NF90IGwy X2RlZl9jYm07CisKKyAgICBsMl9kZWZfY2JtID0gKDF1bGwgPDwgZmVhdC0+aW5mby5sMl9jYXRf aW5mby5jYm1fbGVuKSAtIDE7CisKKyAgICBpZiAoIGNvcyA+IGZlYXQtPmluZm8ubDJfY2F0X2lu Zm8uY29zX21heCApCisgICAgeworICAgICAgICBpZiAoIHZhbFswXSAhPSBsMl9kZWZfY2JtICkK KyAgICAgICAgeworICAgICAgICAgICAgKmZvdW5kID0gZmFsc2U7CisgICAgICAgICAgICByZXR1 cm4gLUVOT0VOVDsKKyAgICAgICAgfQorICAgICAgICAqZm91bmQgPSB0cnVlOworICAgIH0KKyAg ICBlbHNlCisgICAgICAgICpmb3VuZCA9ICh2YWxbMF0gPT0gZmVhdC0+Y29zX3JlZ192YWxbY29z XSk7CisKKyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGJvb2wgbDJfY2F0X2ZpdHNfY29zX21h eChjb25zdCB1aW50NjRfdCB2YWxbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgaW50IGNvcykKK3sKKyAgICB1aW50NjRfdCBsMl9kZWZfY2JtOworCisg ICAgbDJfZGVmX2NibSA9ICgxdWxsIDw8IGZlYXQtPmluZm8ubDJfY2F0X2luZm8uY2JtX2xlbikg LSAxOworCisgICAgaWYgKCBjb3MgPiBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXggJiYK KyAgICAgICAgIHZhbFswXSAhPSBsMl9kZWZfY2JtICkKKyAgICAgICAgICAgIC8qCisgICAgICAg ICAgICAgKiBFeGNlZWQgY29zX21heCBhbmQgdmFsdWUgdG8gc2V0IGlzIG5vdCBkZWZhdWx0LAor ICAgICAgICAgICAgICogcmV0dXJuIGVycm9yLgorICAgICAgICAgICAgICovCisgICAgICAgICAg ICByZXR1cm4gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3RhdGljIGludCBsMl9j YXRfd3JpdGVfbXNyKHVuc2lnbmVkIGludCBjb3MsIGNvbnN0IHVpbnQ2NF90IHZhbFtdLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAg aWYgKCBjb3MgPiBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXggKQorICAgICAgICByZXR1 cm4gLUVJTlZBTDsKKworICAgIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gPSB2YWxbMF07CisgICAg d3Jtc3JsKE1TUl9JQTMyX1BTUl9MMl9NQVNLKGNvcyksIHZhbFswXSk7CisKKyAgICByZXR1cm4g MDsKK30KKwogc3RydWN0IGZlYXRfb3BzIGwyX2NhdF9vcHMgPSB7CiAgICAgLmdldF9jb3NfbWF4 ID0gbDJfY2F0X2dldF9jb3NfbWF4LAogICAgIC5nZXRfZmVhdF9pbmZvID0gbDJfY2F0X2dldF9m ZWF0X2luZm8sCiAgICAgLmdldF92YWwgPSBsMl9jYXRfZ2V0X3ZhbCwKKyAgICAuZ2V0X2Nvc19u dW0gPSBsMl9jYXRfZ2V0X2Nvc19udW0sCisgICAgLmdldF9vbGRfdmFsID0gbDJfY2F0X2dldF9v bGRfdmFsLAorICAgIC5zZXRfbmV3X3ZhbCA9IGwyX2NhdF9zZXRfbmV3X3ZhbCwKKyAgICAuY29t cGFyZV92YWwgPSBsMl9jYXRfY29tcGFyZV92YWwsCisgICAgLmZpdHNfY29zX21heCA9IGwyX2Nh dF9maXRzX2Nvc19tYXgsCisgICAgLndyaXRlX21zciA9IGwyX2NhdF93cml0ZV9tc3IsCiB9Owog CiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUs IGNoYXIgKmZlYXR1cmUsCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRl eC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaAppbmRleCA5OGRiZmYxLi5hNDFl NjNhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAgLTM0Myw2ICszNDMsNyBAQAogI2RlZmlu ZSBNU1JfSUEzMl9QU1JfTDNfTUFTSyhuKQkoMHgwMDAwMGM5MCArIChuKSkKICNkZWZpbmUgTVNS X0lBMzJfUFNSX0wzX01BU0tfQ09ERShuKQkoMHgwMDAwMGM5MCArIChuKSAqIDIgKyAxKQogI2Rl ZmluZSBNU1JfSUEzMl9QU1JfTDNfTUFTS19EQVRBKG4pCSgweDAwMDAwYzkwICsgKG4pICogMikK KyNkZWZpbmUgTVNSX0lBMzJfUFNSX0wyX01BU0sobikJCSgweDAwMDAwZDEwICsgKG4pKQogCiAv KiBJbnRlbCBNb2RlbCA2ICovCiAjZGVmaW5lIE1TUl9QNl9QRVJGQ1RSKG4pCQkoMHgwMDAwMDBj MSArIChuKSkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaCBiL3hlbi9p bmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCA4YzE4M2JhLi41MjNhMmNkIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGljL2Rv bWN0bC5oCkBAIC0xMTM4LDYgKzExMzgsNyBAQCBzdHJ1Y3QgeGVuX2RvbWN0bF9wc3JfY2F0X29w IHsKICNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX1NFVF9MM19EQVRBICAgIDMKICNkZWZp bmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19DT0RFICAgIDQKICNkZWZpbmUgWEVOX0RP TUNUTF9QU1JfQ0FUX09QX0dFVF9MM19EQVRBICAgIDUKKyNkZWZpbmUgWEVOX0RPTUNUTF9QU1Jf Q0FUX09QX1NFVF9MMl9DQk0gICAgIDYKICNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dF VF9MMl9DQk0gICAgIDcKICAgICB1aW50MzJfdCBjbWQ7ICAgICAgIC8qIElOOiBYRU5fRE9NQ1RM X1BTUl9DQVRfT1BfKiAqLwogICAgIHVpbnQzMl90IHRhcmdldDsgICAgLyogSU4gKi8KLS0gCjEu OS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==