From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v13 05/23] x86: refactor psr: L3 CAT: implement Domain init/free and schedule flows. Date: Thu, 6 Jul 2017 09:52:58 +0800 Message-ID: <1499305996-19029-6-git-send-email-yi.y.sun@linux.intel.com> References: <1499305996-19029-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 1dSwBm-0000VH-FS for xen-devel@lists.xenproject.org; Thu, 06 Jul 2017 02:06:42 +0000 In-Reply-To: <1499305996-19029-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, ian.jackson@eu.citrix.com, Yi Sun , mengxu@cis.upenn.edu, jbeulich@suse.com, chao.p.peng@linux.intel.com, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBEb21haW4gaW5pdC9mcmVlIGFuZCBzY2hlZHVsZSBm bG93cy4KLSBXaGVuIGRvbWFpbiBpbml0LCBpdHMgcHNyIHJlc291cmNlIHNob3VsZCBiZSBhbGxv Y2F0ZWQuCi0gV2hlbiBkb21haW4gZnJlZSwgaXRzIHBzciByZXNvdXJjZSBzaG91bGQgYmUgZnJl ZWQgdG9vLgotIFdoZW4gZG9tYWluIGlzIHNjaGVkdWxlZCwgaXRzIENPUyBJRCBvbiB0aGUgc29j a2V0IHNob3VsZCBiZQogIHNldCBpbnRvIEFTU09DIHJlZ2lzdGVyIHRvIG1ha2UgY29ycmVzcG9u ZGluZyBDT1MgTVNSIHZhbHVlCiAgd29yay4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5z dW5AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1 c2UuY29tPgotLS0KdjEzOgogICAgLSBtb2RpZnkgbWFjcm8gbmFtZSB0byBiZSBjb25zaXN0ZW50 LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBmaXggaW5kZW50aW5nIGlz c3VlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2MTI6CiAgICAtIGZpeCBjb2Rp bmcgc3R5bGUgaXNzdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGlu ICdnZXRfbWF4X2Nvc19tYXgnLCBpbnZlcnQgdGhlIGNvbmRpdGlvbiBhbmQgZHJvcHBpbmcgJ2Nv bnRpbnVlJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5ICdw c3JfYXNzb2NfY29zJyB0byBkaXJlY3RseSByZXR1cm4gJ3JlZycgdmFsdWUuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBjb2RlIHN0eWxlLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBkbyBub3QgYnJlYWsgZG9tYWluIGNyZWF0aW9u IGlmICdwc3JfY29zX2lkcycgYWxsb2NhdGlvbiBmYWlscy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKdjExOgogICAgLSByZXBsYWNlICdmZWF0X2luaXRfZG9uZSgpJyB0byAnZmVh dF9pbml0JyBmbGFnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBhZGp1 c3QgcGFyYW1ldGVycyBwb3NpdGlvbnMgd2hlbiBjYWxsaW5nICdwc3JfYXNzb2NfY29zJy4KICAg ICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRkIGNvbW1lbnQgdG8gZXhwbGFp biB3aHkgdG8gY2hlY2sgJ3Bzcl9jb3NfaWRzJy4KdjEwOgogICAgLSByZW1vdmUgJ2NhdF9nZXRf Y29zX21heCcgYXMgJ2Nvc19tYXgnIGlzIGEgZmVhdHVyZSBwcm9wZXJ0eSBub3cgd2hpY2gKICAg ICAgY2FuIGJlIGRpcmVjdGx5IHVzZWQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIHJlcGxhY2UgJ2luZm8tPmZlYXRfbWFzaycgY2hlY2sgdG8gJ2ZlYXRfaW5pdF9kb25l Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6CiAgICAtIHJlbmFtZSAnbDNf Y2F0X2dldF9jb3NfbWF4JyB0byAnY2F0X2dldF9jb3NfbWF4JyB0byBjb3ZlciBhbGwgQ0FUL0NE UAogICAgICBmZWF0dXJlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJl cGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAg ICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBpbXBsZW1lbnQgJ3Bzcl9hbGxvY19j b3MnIHRvIG1hdGNoICdwc3JfZnJlZV9jb3MnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUp CiAgICAtIHVzZSAncHNyX2FsbG9jX2ZlYXRfZW5hYmxlZCcuCiAgICAgIChzdWdnZXN0ZWQgYnkg V2VpIExpdSkKICAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dlc3RlZCBi eSBXZWkgTGl1KQogICAgLSByZW1vdmUgJ2lubGluZScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdwc3JfY29zX2lk cycgY2hlY2sgaW4gJ3Bzcl9mcmVlX2NvcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCnY2OgogICAgLSBjaGFuZ2UgJ1BTUl9BU1NPQ19SRUdfUE9TJyB0byAnUFNSX0FTU09DX1JF R19TSElGVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRlayBXaWxrKQp2NToK ICAgIC0gcmVuYW1lICdmZWF0X3RtcCcgdG8gJ2ZlYXQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEph biBCZXVsaWNoKQogICAgLSBkZWZpbmUgJ1BTUl9BU1NPQ19SRUdfUE9TJy4KICAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2Ug Y29kZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCi0tLQogeGVuL2FyY2gveDg2L2RvbWFpbi5jICAgICB8ICAzICstLQogeGVuL2FyY2gveDg2 L3Bzci5jICAgICAgICB8IDY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oIHwgIDIgKy0KIDMgZmlsZXMgY2hh bmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4v YXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKaW5kZXggNDkzODhmNC4u NjhiODQ4MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNo L3g4Ni9kb21haW4uYwpAQCAtNDg5LDggKzQ4OSw3IEBAIGludCBhcmNoX2RvbWFpbl9jcmVhdGUo c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IGRvbWNyX2ZsYWdzLAogICAgIH0KICAgICBz cGluX2xvY2tfaW5pdCgmZC0+YXJjaC5lODIwX2xvY2spOwogCi0gICAgaWYgKCAocmMgPSBwc3Jf ZG9tYWluX2luaXQoZCkpICE9IDAgKQotICAgICAgICBnb3RvIGZhaWw7CisgICAgcHNyX2RvbWFp bl9pbml0KGQpOwogCiAgICAgaWYgKCBpc19odm1fZG9tYWluKGQpICkKICAgICB7CmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggNTk4MDI3 NS4uYmViYzY3OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNo L3g4Ni9wc3IuYwpAQCAtNTAsNiArNTAsOCBAQAogICovCiAjZGVmaW5lIE1BWF9DT1NfUkVHX0NO VCAgMTI4CiAKKyNkZWZpbmUgQVNTT0NfUkVHX1NISUZUIDMyCisKIC8qCiAgKiBFdmVyeSBQU1Ig ZmVhdHVyZSB1c2VzIHNvbWUgQ09TIHJlZ2lzdGVycyBmb3IgZWFjaCBDT1MgSUQsIGUuZy4gQ0RQ IHVzZXMgMgogICogQ09TIHJlZ2lzdGVycyAoREFUQSBhbmQgQ09ERSkgZm9yIG9uZSBDT1MgSUQs IGJ1dCBDQVQgdXNlcyAxIENPUyByZWdpc3Rlci4KQEAgLTM3MiwxMSArMzc0LDM3IEBAIHZvaWQg cHNyX2ZyZWVfcm1pZChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGQtPmFyY2gucHNyX3JtaWQgPSAw OwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX2luaXQodm9pZCkKK3N0YXRpYyB1 bnNpZ25lZCBpbnQgZ2V0X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8g KmluZm8pCit7CisgICAgdW5zaWduZWQgaW50IGNvc19tYXggPSAwLCBpOworCisgICAgZm9yICgg aSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm8tPmZlYXR1cmVzKTsgaSsrICkKKyAgICB7CisgICAg ICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQgPSBpbmZvLT5mZWF0dXJlc1tpXTsKKwor ICAgICAgICBpZiAoIGZlYXQgKQorICAgICAgICAgICAgY29zX21heCA9IG1heChmZWF0LT5jb3Nf bWF4LCBjb3NfbWF4KTsKKyAgICB9CisKKyAgICByZXR1cm4gY29zX21heDsKK30KKworc3RhdGlj IHZvaWQgcHNyX2Fzc29jX2luaXQodm9pZCkKIHsKICAgICBzdHJ1Y3QgcHNyX2Fzc29jICpwc3Jh ID0gJnRoaXNfY3B1KHBzcl9hc3NvYyk7CiAKLSAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpICkK KyAgICBpZiAoIHBzcl9hbGxvY19mZWF0X2VuYWJsZWQoKSApCisgICAgeworICAgICAgICB1bnNp Z25lZCBpbnQgc29ja2V0ID0gY3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAg ICAgICBjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvID0gc29ja2V0X2luZm8gKyBz b2NrZXQ7CisgICAgICAgIHVuc2lnbmVkIGludCBjb3NfbWF4ID0gZ2V0X21heF9jb3NfbWF4KGlu Zm8pOworCisgICAgICAgIGlmICggaW5mby0+ZmVhdF9pbml0ICkKKyAgICAgICAgICAgIHBzcmEt PmNvc19tYXNrID0gKCgxdWxsIDw8IGdldF9jb3VudF9vcmRlcihjb3NfbWF4KSkgLSAxKSA8PAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBU1NPQ19SRUdfU0hJRlQ7CisgICAgfQorCisg ICAgaWYgKCBwc3JfY210X2VuYWJsZWQoKSB8fCBwc3JhLT5jb3NfbWFzayApCiAgICAgICAgIHJk bXNybChNU1JfSUEzMl9QU1JfQVNTT0MsIHBzcmEtPnZhbCk7CiB9CiAKQEAgLTM4NSw2ICs0MTMs MTMgQEAgc3RhdGljIGlubGluZSB2b2lkIHBzcl9hc3NvY19ybWlkKHVpbnQ2NF90ICpyZWcsIHVu c2lnbmVkIGludCBybWlkKQogICAgICpyZWcgPSAoKnJlZyAmIH5ybWlkX21hc2spIHwgKHJtaWQg JiBybWlkX21hc2spOwogfQogCitzdGF0aWMgdWludDY0X3QgcHNyX2Fzc29jX2Nvcyh1aW50NjRf dCByZWcsIHVuc2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 aW50NjRfdCBjb3NfbWFzaykKK3sKKyAgICByZXR1cm4gKHJlZyAmIH5jb3NfbWFzaykgfAorICAg ICAgICAgICAgKCgodWludDY0X3QpY29zIDw8IEFTU09DX1JFR19TSElGVCkgJiBjb3NfbWFzayk7 Cit9CisKIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAg c3RydWN0IHBzcl9hc3NvYyAqcHNyYSA9ICZ0aGlzX2NwdShwc3JfYXNzb2MpOwpAQCAtMzkzLDYg KzQyOCwxNCBAQCB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogICAg IGlmICggcHNyX2NtdF9lbmFibGVkKCkgKQogICAgICAgICBwc3JfYXNzb2Nfcm1pZCgmcmVnLCBk LT5hcmNoLnBzcl9ybWlkKTsKIAorICAgIC8qIElmIGRvbWFpbidzICdwc3JfY29zX2lkcycgaXMg TlVMTCwgd2Ugc2V0IGRlZmF1bHQgdmFsdWUgZm9yIGl0LiAqLworICAgIGlmICggcHNyYS0+Y29z X21hc2sgKQorICAgICAgICByZWcgPSBwc3JfYXNzb2NfY29zKHJlZywKKyAgICAgICAgICAgICAg ICAgIChkLT5hcmNoLnBzcl9jb3NfaWRzID8KKyAgICAgICAgICAgICAgICAgICBkLT5hcmNoLnBz cl9jb3NfaWRzW2NwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKV0gOgorICAgICAgICAg ICAgICAgICAgIDApLAorICAgICAgICAgICAgICAgICAgcHNyYS0+Y29zX21hc2spOworCiAgICAg aWYgKCByZWcgIT0gcHNyYS0+dmFsICkKICAgICB7CiAgICAgICAgIHdybXNybChNU1JfSUEzMl9Q U1JfQVNTT0MsIHJlZyk7CkBAIC00MTgsMTQgKzQ2MSwzMCBAQCBpbnQgcHNyX3NldF9sM19jYm0o c3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAgICByZXR1cm4gMDsKIH0K IAotaW50IHBzcl9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQorLyogQ2FsbGVkIHdpdGgg ZG9tYWluIGxvY2sgaGVsZCwgbm8gZXh0cmEgbG9jayBuZWVkZWQgZm9yICdwc3JfY29zX2lkcycg Ki8KK3N0YXRpYyB2b2lkIHBzcl9mcmVlX2NvcyhzdHJ1Y3QgZG9tYWluICpkKQogewotICAgIHJl dHVybiAwOworICAgIHhmcmVlKGQtPmFyY2gucHNyX2Nvc19pZHMpOworICAgIGQtPmFyY2gucHNy X2Nvc19pZHMgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBwc3JfYWxsb2NfY29zKHN0cnVjdCBk b21haW4gKmQpCit7CisgICAgZC0+YXJjaC5wc3JfY29zX2lkcyA9IHh6YWxsb2NfYXJyYXkodW5z aWduZWQgaW50LCBucl9zb2NrZXRzKTsKKyAgICBpZiAoICFkLT5hcmNoLnBzcl9jb3NfaWRzICkK KyAgICAgICAgcHJpbnRrKFhFTkxPR19XQVJOSU5HICJGYWlsZWQgdG8gYWxsb2MgcHNyX2Nvc19p ZHMhXG4iKTsKK30KKwordm9pZCBwc3JfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKK3sK KyAgICBpZiAoIHBzcl9hbGxvY19mZWF0X2VuYWJsZWQoKSApCisgICAgICAgIHBzcl9hbGxvY19j b3MoZCk7CiB9CiAKIHZvaWQgcHNyX2RvbWFpbl9mcmVlKHN0cnVjdCBkb21haW4gKmQpCiB7CiAg ICAgcHNyX2ZyZWVfcm1pZChkKTsKKyAgICBwc3JfZnJlZV9jb3MoZCk7CiB9CiAKIHN0YXRpYyB2 b2lkIF9faW5pdCBpbml0X3Bzcih2b2lkKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9wc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKaW5kZXggODE0MTMzNi4uYTE3ZTMx YSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaAorKysgYi94ZW4vaW5jbHVk ZS9hc20teDg2L3Bzci5oCkBAIC03MSw3ICs3MSw3IEBAIGludCBwc3JfZ2V0X2wzX2NibShzdHJ1 Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogaW50IHBzcl9zZXRfbDNfY2JtKHN0 cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAgICAgICAgICAgICAgICAg dWludDY0X3QgY2JtLCBlbnVtIGNibV90eXBlIHR5cGUpOwogCi1pbnQgcHNyX2RvbWFpbl9pbml0 KHN0cnVjdCBkb21haW4gKmQpOwordm9pZCBwc3JfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAq ZCk7CiB2b2lkIHBzcl9kb21haW5fZnJlZShzdHJ1Y3QgZG9tYWluICpkKTsKIAogI2VuZGlmIC8q IF9fQVNNX1BTUl9IX18gKi8KLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==