From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 20/24] x86: L2 CAT: implement set value flow. Date: Wed, 15 Feb 2017 16:49:35 +0800 Message-ID: <1487148579-7243-21-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 1cdvLQ-00082T-KK for xen-devel@lists.xenproject.org; Wed, 15 Feb 2017 08:53:48 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIEwyIENBVCBzZXQgdmFsdWUgcmVsYXRlZCBjYWxsYmFjayBm dW5jdGlvbnMKYW5kIGRvbWN0bCBpbnRlcmZhY2UuCgpTaWduZWQtb2ZmLWJ5OiBZaSBTdW4gPHlp Lnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCnY4OgogICAgLSBtb2RpZnkgJ2wyX2NhdF93cml0 ZV9tc3InIHRvICd2b2lkJy4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgIHwg IDYgKysrCiB4ZW4vYXJjaC94ODYvcHNyLmMgICAgICAgICAgICAgIHwgOTUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvbXNyLWlu ZGV4LmggfCAgMSArCiB4ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmggICAgIHwgIDEgKwogNCBm aWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9kb21jdGwuYyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwppbmRleCA2OGMyZDYwLi4zOGRjMDg3 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2Rv bWN0bC5jCkBAIC0xNDM5LDYgKzE0MzksMTIgQEAgbG9uZyBhcmNoX2RvX2RvbWN0bCgKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9DQk1fVFlQRV9MM19EQVRBKTsKICAgICAgICAg ICAgIGJyZWFrOwogCisgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX1NFVF9MMl9D Qk06CisgICAgICAgICAgICByZXQgPSBwc3Jfc2V0X3ZhbChkLCBkb21jdGwtPnUucHNyX2NhdF9v cC50YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb21jdGwtPnUucHNyX2Nh dF9vcC5kYXRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFNSX0NCTV9UWVBFX0wy KTsKKyAgICAgICAgICAgIGJyZWFrOworCiAgICAgICAgIGNhc2UgWEVOX0RPTUNUTF9QU1JfQ0FU X09QX0dFVF9MM19DQk06CiAgICAgICAgICAgICByZXQgPSBwc3JfZ2V0X3ZhbChkLCBkb21jdGwt PnUucHNyX2NhdF9vcC50YXJnZXQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZG9t Y3RsLT51LnBzcl9jYXRfb3AuZGF0YSwKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBi L3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCAyYWRmNjJjLi41NjA0ZTAzIDEwMDY0NAotLS0gYS94 ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC03NTUsMTAgKzc1 NSwxMDUgQEAgc3RhdGljIGJvb2wgbDJfY2F0X2dldF92YWwoY29uc3Qgc3RydWN0IGZlYXRfbm9k ZSAqZmVhdCwgdW5zaWduZWQgaW50IGNvcywKICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorc3RhdGlj IHVuc2lnbmVkIGludCBsMl9jYXRfZ2V0X2Nvc19udW0oY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAq ZmVhdCkKK3sKKyAgICAvKiBMMiBDQVQgdXNlcyBvbmUgQ09TLiAqLworICAgIHJldHVybiAxOwor fQorCitzdGF0aWMgaW50IGwyX2NhdF9nZXRfb2xkX3ZhbCh1aW50NjRfdCB2YWxbXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgb2xkX2NvcykKK3sKKyAg ICBpZiAoIG9sZF9jb3MgPiBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXggKQorICAgICAg ICAvKiBVc2UgZGVmYXVsdCB2YWx1ZS4gKi8KKyAgICAgICAgb2xkX2NvcyA9IDA7CisKKyAgICB2 YWxbMF0gPSBmZWF0LT5jb3NfcmVnX3ZhbFtvbGRfY29zXTsKKworICAgIHJldHVybiAwOworfQor CitzdGF0aWMgaW50IGwyX2NhdF9zZXRfbmV3X3ZhbCh1aW50NjRfdCB2YWxbXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBtKQoreworICAgIGlmICggIXBzcl9jaGVja19j Ym0oZmVhdC0+aW5mby5sMl9jYXRfaW5mby5jYm1fbGVuLCBtKSApCisgICAgICAgIHJldHVybiAt RUlOVkFMOworCisgICAgdmFsWzBdID0gbTsKKworICAgIHJldHVybiAwOworfQorCitzdGF0aWMg aW50IGwyX2NhdF9jb21wYXJlX3ZhbChjb25zdCB1aW50NjRfdCB2YWxbXSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgY29zLCBib29sICpmb3VuZCkKK3sK KyAgICB1aW50NjRfdCBsMl9kZWZfY2JtOworCisgICAgbDJfZGVmX2NibSA9ICgxdWxsIDw8IGZl YXQtPmluZm8ubDJfY2F0X2luZm8uY2JtX2xlbikgLSAxOworCisgICAgaWYgKCBjb3MgPiBmZWF0 LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19tYXggKQorICAgIHsKKyAgICAgICAgaWYgKCB2YWxbMF0g IT0gbDJfZGVmX2NibSApCisgICAgICAgIHsKKyAgICAgICAgICAgICpmb3VuZCA9IGZhbHNlOwor ICAgICAgICAgICAgcmV0dXJuIC1FTk9FTlQ7CisgICAgICAgIH0KKyAgICAgICAgKmZvdW5kID0g dHJ1ZTsKKyAgICB9CisgICAgZWxzZQorICAgICAgICAqZm91bmQgPSAodmFsWzBdID09IGZlYXQt PmNvc19yZWdfdmFsW2Nvc10pOworCisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBib29sIGwy X2NhdF9maXRzX2Nvc19tYXgoY29uc3QgdWludDY0X3QgdmFsW10sCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb3MpCit7CisgICAgdWludDY0X3Qg bDJfZGVmX2NibTsKKworICAgIGwyX2RlZl9jYm0gPSAoMXVsbCA8PCBmZWF0LT5pbmZvLmwyX2Nh dF9pbmZvLmNibV9sZW4pIC0gMTsKKworICAgIGlmICggY29zID4gZmVhdC0+aW5mby5sMl9jYXRf aW5mby5jb3NfbWF4ICYmCisgICAgICAgICB2YWxbMF0gIT0gbDJfZGVmX2NibSApCisgICAgICAg ICAgICAvKgorICAgICAgICAgICAgICogRXhjZWVkIGNvc19tYXggYW5kIHZhbHVlIHRvIHNldCBp cyBub3QgZGVmYXVsdCwKKyAgICAgICAgICAgICAqIHJldHVybiBlcnJvci4KKyAgICAgICAgICAg ICAqLworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisK K3N0YXRpYyB2b2lkIGwyX2NhdF93cml0ZV9tc3IodW5zaWduZWQgaW50IGNvcywgY29uc3QgdWlu dDY0X3QgdmFsW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25v ZGUgKmZlYXQpCit7CisgICAgaWYgKCBjb3MgPiBmZWF0LT5pbmZvLmwyX2NhdF9pbmZvLmNvc19t YXggKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10g IT0gdmFsWzBdICkKKyAgICB7CisgICAgICAgIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gPSB2YWxb MF07CisgICAgICAgIHdybXNybChNU1JfSUEzMl9QU1JfTDJfTUFTSyhjb3MpLCB2YWxbMF0pOwor ICAgIH0KKworICAgIHJldHVybjsKK30KKwogc3RydWN0IGZlYXRfb3BzIGwyX2NhdF9vcHMgPSB7 CiAgICAgLmdldF9jb3NfbWF4ID0gbDJfY2F0X2dldF9jb3NfbWF4LAogICAgIC5nZXRfZmVhdF9p bmZvID0gbDJfY2F0X2dldF9mZWF0X2luZm8sCiAgICAgLmdldF92YWwgPSBsMl9jYXRfZ2V0X3Zh bCwKKyAgICAuZ2V0X2Nvc19udW0gPSBsMl9jYXRfZ2V0X2Nvc19udW0sCisgICAgLmdldF9vbGRf dmFsID0gbDJfY2F0X2dldF9vbGRfdmFsLAorICAgIC5zZXRfbmV3X3ZhbCA9IGwyX2NhdF9zZXRf bmV3X3ZhbCwKKyAgICAuY29tcGFyZV92YWwgPSBsMl9jYXRfY29tcGFyZV92YWwsCisgICAgLmZp dHNfY29zX21heCA9IGwyX2NhdF9maXRzX2Nvc19tYXgsCisgICAgLndyaXRlX21zciA9IGwyX2Nh dF93cml0ZV9tc3IsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hh ciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L21zci1pbmRleC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaApp bmRleCA5OGRiZmYxLi5hNDFlNjNhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L21z ci1pbmRleC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNyLWluZGV4LmgKQEAgLTM0Myw2 ICszNDMsNyBAQAogI2RlZmluZSBNU1JfSUEzMl9QU1JfTDNfTUFTSyhuKQkoMHgwMDAwMGM5MCAr IChuKSkKICNkZWZpbmUgTVNSX0lBMzJfUFNSX0wzX01BU0tfQ09ERShuKQkoMHgwMDAwMGM5MCAr IChuKSAqIDIgKyAxKQogI2RlZmluZSBNU1JfSUEzMl9QU1JfTDNfTUFTS19EQVRBKG4pCSgweDAw MDAwYzkwICsgKG4pICogMikKKyNkZWZpbmUgTVNSX0lBMzJfUFNSX0wyX01BU0sobikJCSgweDAw MDAwZDEwICsgKG4pKQogCiAvKiBJbnRlbCBNb2RlbCA2ICovCiAjZGVmaW5lIE1TUl9QNl9QRVJG Q1RSKG4pCQkoMHgwMDAwMDBjMSArIChuKSkKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3B1Ymxp Yy9kb21jdGwuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9kb21jdGwuaAppbmRleCA4YzE4M2JhLi41 MjNhMmNkIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvZG9tY3RsLmgKKysrIGIveGVu L2luY2x1ZGUvcHVibGljL2RvbWN0bC5oCkBAIC0xMTM4LDYgKzExMzgsNyBAQCBzdHJ1Y3QgeGVu X2RvbWN0bF9wc3JfY2F0X29wIHsKICNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX1NFVF9M M19EQVRBICAgIDMKICNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19DT0RFICAg IDQKICNkZWZpbmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX0dFVF9MM19EQVRBICAgIDUKKyNkZWZp bmUgWEVOX0RPTUNUTF9QU1JfQ0FUX09QX1NFVF9MMl9DQk0gICAgIDYKICNkZWZpbmUgWEVOX0RP TUNUTF9QU1JfQ0FUX09QX0dFVF9MMl9DQk0gICAgIDcKICAgICB1aW50MzJfdCBjbWQ7ICAgICAg IC8qIElOOiBYRU5fRE9NQ1RMX1BTUl9DQVRfT1BfKiAqLwogICAgIHVpbnQzMl90IHRhcmdldDsg ICAgLyogSU4gKi8KLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==