From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v12 05/23] x86: refactor psr: L3 CAT: implement Domain init/free and schedule flows. Date: Wed, 14 Jun 2017 09:12:38 +0800 Message-ID: <1497402776-22348-6-git-send-email-yi.y.sun@linux.intel.com> References: <1497402776-22348-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 1dKx3o-0007Is-MN for xen-devel@lists.xenproject.org; Wed, 14 Jun 2017 01:25:28 +0000 In-Reply-To: <1497402776-22348-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, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBEb21haW4gaW5pdC9mcmVlIGFuZCBzY2hlZHVsZSBm bG93cy4KLSBXaGVuIGRvbWFpbiBpbml0LCBpdHMgcHNyIHJlc291cmNlIHNob3VsZCBiZSBhbGxv Y2F0ZWQuCi0gV2hlbiBkb21haW4gZnJlZSwgaXRzIHBzciByZXNvdXJjZSBzaG91bGQgYmUgZnJl ZWQgdG9vLgotIFdoZW4gZG9tYWluIGlzIHNjaGVkdWxlZCwgaXRzIENPUyBJRCBvbiB0aGUgc29j a2V0IHNob3VsZCBiZQogIHNldCBpbnRvIEFTU09DIHJlZ2lzdGVyIHRvIG1ha2UgY29ycmVzcG9u ZGluZyBDT1MgTVNSIHZhbHVlCiAgd29yay4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5z dW5AbGludXguaW50ZWwuY29tPgotLS0KdjEyOgogICAgLSBmaXggY29kaW5nIHN0eWxlIGlzc3Vl LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBpbiAnZ2V0X21heF9jb3Nf bWF4JywgaW52ZXJ0IHRoZSBjb25kaXRpb24gYW5kIGRyb3BwaW5nICdjb250aW51ZScuCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSAncHNyX2Fzc29jX2Nvcycg dG8gZGlyZWN0bHkgcmV0dXJuICdyZWcnIHZhbHVlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBC ZXVsaWNoKQogICAgLSBtb2RpZnkgY29kZSBzdHlsZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4g QmV1bGljaCkKICAgIC0gZG8gbm90IGJyZWFrIGRvbWFpbiBjcmVhdGlvbiBpZiAncHNyX2Nvc19p ZHMnIGFsbG9jYXRpb24gZmFpbHMuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnYx MToKICAgIC0gcmVwbGFjZSAnZmVhdF9pbml0X2RvbmUoKScgdG8gJ2ZlYXRfaW5pdCcgZmxhZy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRqdXN0IHBhcmFtZXRlcnMg cG9zaXRpb25zIHdoZW4gY2FsbGluZyAncHNyX2Fzc29jX2NvcycuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIGFkZCBjb21tZW50IHRvIGV4cGxhaW4gd2h5IHRvIGNoZWNr ICdwc3JfY29zX2lkcycuCnYxMDoKICAgIC0gcmVtb3ZlICdjYXRfZ2V0X2Nvc19tYXgnIGFzICdj b3NfbWF4JyBpcyBhIGZlYXR1cmUgcHJvcGVydHkgbm93IHdoaWNoCiAgICAgIGNhbiBiZSBkaXJl Y3RseSB1c2VkLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZXBsYWNl ICdpbmZvLT5mZWF0X21hc2snIGNoZWNrIHRvICdmZWF0X2luaXRfZG9uZScuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY5OgogICAgLSByZW5hbWUgJ2wzX2NhdF9nZXRfY29zX21h eCcgdG8gJ2NhdF9nZXRfY29zX21heCcgdG8gY292ZXIgYWxsIENBVC9DRFAKICAgICAgZmVhdHVy ZXMuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZXBsYWNlIGZlYXR1cmUg bGlzdCBoYW5kbGluZyB0byBmZWF0dXJlIGFycmF5IGhhbmRsaW5nLgogICAgICAoc3VnZ2VzdGVk IGJ5IFJvZ2VyIFBhdSkKICAgIC0gaW1wbGVtZW50ICdwc3JfYWxsb2NfY29zJyB0byBtYXRjaCAn cHNyX2ZyZWVfY29zJy4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSB1c2UgJ3Bz cl9hbGxvY19mZWF0X2VuYWJsZWQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAt IGZpeCBjb2Rpbmcgc3R5bGUgaXNzdWUuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAg IC0gcmVtb3ZlICdpbmxpbmUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAg LSBtb2RpZnkgcGF0Y2ggdGl0bGUgdG8gaW5kaWNhdGUgJ0wzIENBVCcuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSAncHNyX2Nvc19pZHMnIGNoZWNrIGluICdw c3JfZnJlZV9jb3MnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NjoKICAgIC0g Y2hhbmdlICdQU1JfQVNTT0NfUkVHX1BPUycgdG8gJ1BTUl9BU1NPQ19SRUdfU0hJRlQnLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2lsaykKdjU6CiAgICAtIHJlbmFtZSAn ZmVhdF90bXAnIHRvICdmZWF0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gZGVmaW5lICdQU1JfQVNTT0NfUkVHX1BPUycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCnY0OgogICAgLSBjcmVhdGUgdGhpcyBwYXRjaCB0byBtYWtlIGNvZGVzIGVhc2llciB0 byB1bmRlcnN0YW5kLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQotLS0KLS0tCiB4 ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgIHwgIDMgKy0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgICAg ICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K IHhlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmggfCAgMiArLQogMyBmaWxlcyBjaGFuZ2VkLCA2NSBp bnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9k b21haW4uYyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwppbmRleCA5MGUyYjFmLi5hMmFiZWQxIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWFp bi5jCkBAIC02NDYsOCArNjQ2LDcgQEAgaW50IGFyY2hfZG9tYWluX2NyZWF0ZShzdHJ1Y3QgZG9t YWluICpkLCB1bnNpZ25lZCBpbnQgZG9tY3JfZmxhZ3MsCiAgICAgfQogICAgIHNwaW5fbG9ja19p bml0KCZkLT5hcmNoLmU4MjBfbG9jayk7CiAKLSAgICBpZiAoIChyYyA9IHBzcl9kb21haW5faW5p dChkKSkgIT0gMCApCi0gICAgICAgIGdvdG8gZmFpbDsKKyAgICBwc3JfZG9tYWluX2luaXQoZCk7 CiAKICAgICBpZiAoIGlzX2h2bV9kb21haW4oZCkgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCAyNTE3NDZhLi45ZmIwZGE4 IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5j CkBAIC01MCw2ICs1MCw4IEBACiAgKi8KICNkZWZpbmUgTUFYX0NPU19SRUdfQ05UICAxMjgKIAor I2RlZmluZSBQU1JfQVNTT0NfUkVHX1NISUZUIDMyCisKIC8qCiAgKiBFdmVyeSBQU1IgZmVhdHVy ZSB1c2VzIHNvbWUgQ09TIHJlZ2lzdGVycyBmb3IgZWFjaCBDT1MgSUQsIGUuZy4gQ0RQIHVzZXMg MgogICogQ09TIHJlZ2lzdGVycyAoREFUQSBhbmQgQ09ERSkgZm9yIG9uZSBDT1MgSUQsIGJ1dCBD QVQgdXNlcyAxIENPUyByZWdpc3Rlci4KQEAgLTM1OCwxMSArMzYwLDM3IEBAIHZvaWQgcHNyX2Zy ZWVfcm1pZChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGQtPmFyY2gucHNyX3JtaWQgPSAwOwogfQog Ci1zdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX2luaXQodm9pZCkKK3N0YXRpYyB1bnNpZ25l ZCBpbnQgZ2V0X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8p Cit7CisgICAgdW5zaWduZWQgaW50IGNvc19tYXggPSAwLCBpOworCisgICAgZm9yICggaSA9IDA7 IGkgPCBBUlJBWV9TSVpFKGluZm8tPmZlYXR1cmVzKTsgaSsrICkKKyAgICB7CisgICAgICAgIGNv bnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQgPSBpbmZvLT5mZWF0dXJlc1tpXTsKKworICAgICAg ICBpZiAoIGZlYXQgKQorICAgICAgICAgICAgY29zX21heCA9IG1heChmZWF0LT5jb3NfbWF4LCBj b3NfbWF4KTsKKyAgICB9CisKKyAgICByZXR1cm4gY29zX21heDsKK30KKworc3RhdGljIHZvaWQg cHNyX2Fzc29jX2luaXQodm9pZCkKIHsKICAgICBzdHJ1Y3QgcHNyX2Fzc29jICpwc3JhID0gJnRo aXNfY3B1KHBzcl9hc3NvYyk7CiAKLSAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpICkKKyAgICBp ZiAoIHBzcl9hbGxvY19mZWF0X2VuYWJsZWQoKSApCisgICAgeworICAgICAgICB1bnNpZ25lZCBp bnQgc29ja2V0ID0gY3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgICAgICBj b25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvID0gc29ja2V0X2luZm8gKyBzb2NrZXQ7 CisgICAgICAgIHVuc2lnbmVkIGludCBjb3NfbWF4ID0gZ2V0X21heF9jb3NfbWF4KGluZm8pOwor CisgICAgICAgIGlmICggaW5mby0+ZmVhdF9pbml0ICkKKyAgICAgICAgICAgIHBzcmEtPmNvc19t YXNrID0gKCgxdWxsIDw8IGdldF9jb3VudF9vcmRlcihjb3NfbWF4KSkgLSAxKSA8PAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQU1JfQVNTT0NfUkVHX1NISUZUOworICAgIH0KKworICAg IGlmICggcHNyX2NtdF9lbmFibGVkKCkgfHwgcHNyYS0+Y29zX21hc2sgKQogICAgICAgICByZG1z cmwoTVNSX0lBMzJfUFNSX0FTU09DLCBwc3JhLT52YWwpOwogfQogCkBAIC0zNzEsNiArMzk5LDEz IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwc3JfYXNzb2Nfcm1pZCh1aW50NjRfdCAqcmVnLCB1bnNp Z25lZCBpbnQgcm1pZCkKICAgICAqcmVnID0gKCpyZWcgJiB+cm1pZF9tYXNrKSB8IChybWlkICYg cm1pZF9tYXNrKTsKIH0KIAorc3RhdGljIHVpbnQ2NF90IHBzcl9hc3NvY19jb3ModWludDY0X3Qg cmVnLCB1bnNpZ25lZCBpbnQgY29zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWlu dDY0X3QgY29zX21hc2spCit7CisgICAgcmV0dXJuIChyZWcgJiB+Y29zX21hc2spIHwKKyAgICAg ICAgICAgICgoKHVpbnQ2NF90KWNvcyA8PCBQU1JfQVNTT0NfUkVHX1NISUZUKSAmIGNvc19tYXNr KTsKK30KKwogdm9pZCBwc3JfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg ICBzdHJ1Y3QgcHNyX2Fzc29jICpwc3JhID0gJnRoaXNfY3B1KHBzcl9hc3NvYyk7CkBAIC0zNzks NiArNDE0LDE0IEBAIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiAg ICAgaWYgKCBwc3JfY210X2VuYWJsZWQoKSApCiAgICAgICAgIHBzcl9hc3NvY19ybWlkKCZyZWcs IGQtPmFyY2gucHNyX3JtaWQpOwogCisgICAgLyogSWYgZG9tYWluJ3MgJ3Bzcl9jb3NfaWRzJyBp cyBOVUxMLCB3ZSBzZXQgZGVmYXVsdCB2YWx1ZSBmb3IgaXQuICovCisgICAgaWYgKCBwc3JhLT5j b3NfbWFzayApCisgICAgICAgIHJlZyA9IHBzcl9hc3NvY19jb3MocmVnLAorICAgICAgICAgICAg ICAgICAgICAoZC0+YXJjaC5wc3JfY29zX2lkcyA/CisgICAgICAgICAgICAgICAgICAgICBkLT5h cmNoLnBzcl9jb3NfaWRzW2NwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKV0gOgorICAg ICAgICAgICAgICAgICAgICAgMCksCisgICAgICAgICAgICAgICAgICAgIHBzcmEtPmNvc19tYXNr KTsKKwogICAgIGlmICggcmVnICE9IHBzcmEtPnZhbCApCiAgICAgewogICAgICAgICB3cm1zcmwo TVNSX0lBMzJfUFNSX0FTU09DLCByZWcpOwpAQCAtNDA0LDE0ICs0NDcsMzAgQEAgaW50IHBzcl9z ZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBzb2NrZXQsCiAgICAgcmV0 dXJuIDA7CiB9CiAKLWludCBwc3JfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKKy8qIENh bGxlZCB3aXRoIGRvbWFpbiBsb2NrIGhlbGQsIG5vIGV4dHJhIGxvY2sgbmVlZGVkIGZvciAncHNy X2Nvc19pZHMnICovCitzdGF0aWMgdm9pZCBwc3JfZnJlZV9jb3Moc3RydWN0IGRvbWFpbiAqZCkK IHsKLSAgICByZXR1cm4gMDsKKyAgICB4ZnJlZShkLT5hcmNoLnBzcl9jb3NfaWRzKTsKKyAgICBk LT5hcmNoLnBzcl9jb3NfaWRzID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgcHNyX2FsbG9jX2Nv cyhzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIGQtPmFyY2gucHNyX2Nvc19pZHMgPSB4emFsbG9j X2FycmF5KHVuc2lnbmVkIGludCwgbnJfc29ja2V0cyk7CisgICAgaWYgKCAhZC0+YXJjaC5wc3Jf Y29zX2lkcyApCisgICAgICAgIHByaW50ayhYRU5MT0dfV0FSTklORyAiRmFpbGVkIHRvIGFsbG9j IHBzcl9jb3NfaWRzIVxuIik7Cit9CisKK3ZvaWQgcHNyX2RvbWFpbl9pbml0KHN0cnVjdCBkb21h aW4gKmQpCit7CisgICAgaWYgKCBwc3JfYWxsb2NfZmVhdF9lbmFibGVkKCkgKQorICAgICAgICBw c3JfYWxsb2NfY29zKGQpOwogfQogCiB2b2lkIHBzcl9kb21haW5fZnJlZShzdHJ1Y3QgZG9tYWlu ICpkKQogewogICAgIHBzcl9mcmVlX3JtaWQoZCk7CisgICAgcHNyX2ZyZWVfY29zKGQpOwogfQog CiBzdGF0aWMgdm9pZCBfX2luaXQgaW5pdF9wc3Iodm9pZCkKZGlmZiAtLWdpdCBhL3hlbi9pbmNs dWRlL2FzbS14ODYvcHNyLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3Bzci5oCmluZGV4IDU3ZjQ3 ZTkuLmQxNDY3MDYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHNyLmgKKysrIGIv eGVuL2luY2x1ZGUvYXNtLXg4Ni9wc3IuaApAQCAtNzAsNyArNzAsNyBAQCBpbnQgcHNyX2dldF9s M19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKIGludCBwc3Jfc2V0 X2wzX2NibShzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgICAgICAg ICAgICAgICAgIHVpbnQ2NF90IGNibSwgZW51bSBjYm1fdHlwZSB0eXBlKTsKIAotaW50IHBzcl9k b21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKTsKK3ZvaWQgcHNyX2RvbWFpbl9pbml0KHN0cnVj dCBkb21haW4gKmQpOwogdm9pZCBwc3JfZG9tYWluX2ZyZWUoc3RydWN0IGRvbWFpbiAqZCk7CiAK ICNlbmRpZiAvKiBfX0FTTV9QU1JfSF9fICovCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVu LWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=