From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v11 05/23] x86: refactor psr: L3 CAT: implement Domain init/free and schedule flows. Date: Wed, 3 May 2017 16:44:05 +0800 Message-ID: <1493801063-38513-6-git-send-email-yi.y.sun@linux.intel.com> References: <1493801063-38513-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 1d5q2n-0000XP-FD for xen-devel@lists.xenproject.org; Wed, 03 May 2017 08:53:57 +0000 In-Reply-To: <1493801063-38513-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 dW5AbGludXguaW50ZWwuY29tPgotLS0KdjExOgogICAgLSByZXBsYWNlICdmZWF0X2luaXRfZG9u ZSgpJyB0byAnZmVhdF9pbml0JyBmbGFnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSBhZGp1c3QgcGFyYW1ldGVycyBwb3NpdGlvbnMgd2hlbiBjYWxsaW5nICdwc3JfYXNz b2NfY29zJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRkIGNvbW1l bnQgdG8gZXhwbGFpbiB3aHkgdG8gY2hlY2sgJ3Bzcl9jb3NfaWRzJy4KdjEwOgogICAgLSByZW1v dmUgJ2NhdF9nZXRfY29zX21heCcgYXMgJ2Nvc19tYXgnIGlzIGEgZmVhdHVyZSBwcm9wZXJ0eSBu b3cgd2hpY2gKICAgICAgY2FuIGJlIGRpcmVjdGx5IHVzZWQuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIHJlcGxhY2UgJ2luZm8tPmZlYXRfbWFzaycgY2hlY2sgdG8gJ2Zl YXRfaW5pdF9kb25lJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjk6CiAgICAt IHJlbmFtZSAnbDNfY2F0X2dldF9jb3NfbWF4JyB0byAnY2F0X2dldF9jb3NfbWF4JyB0byBjb3Zl ciBhbGwgQ0FUL0NEUAogICAgICBmZWF0dXJlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQ YXUpCiAgICAtIHJlcGxhY2UgZmVhdHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkg aGFuZGxpbmcuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBpbXBsZW1lbnQg J3Bzcl9hbGxvY19jb3MnIHRvIG1hdGNoICdwc3JfZnJlZV9jb3MnLgogICAgICAoc3VnZ2VzdGVk IGJ5IFdlaSBMaXUpCiAgICAtIHVzZSAncHNyX2FsbG9jX2ZlYXRfZW5hYmxlZCcuCiAgICAgIChz dWdnZXN0ZWQgYnkgV2VpIExpdSkKICAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAg KHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSByZW1vdmUgJ2lubGluZScuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0 ZSAnTDMgQ0FUJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3Zl ICdwc3JfY29zX2lkcycgY2hlY2sgaW4gJ3Bzcl9mcmVlX2NvcycuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCnY2OgogICAgLSBjaGFuZ2UgJ1BTUl9BU1NPQ19SRUdfUE9TJyB0byAn UFNSX0FTU09DX1JFR19TSElGVCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRl ayBXaWxrKQp2NToKICAgIC0gcmVuYW1lICdmZWF0X3RtcCcgdG8gJ2ZlYXQnLgogICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBkZWZpbmUgJ1BTUl9BU1NPQ19SRUdfUE9TJy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBh dGNoIHRvIG1ha2UgY29kZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgNzMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdl ZCwgNzAgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggYjczODU2ZS4uYmRhMzI1ZCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpA QCAtNTAsNiArNTAsOCBAQAogICovCiAjZGVmaW5lIE1BWF9DT1NfUkVHX0NOVCAgMTI4CiAKKyNk ZWZpbmUgUFNSX0FTU09DX1JFR19TSElGVCAzMgorCiAvKgogICogRXZlcnkgUFNSIGZlYXR1cmUg dXNlcyBzb21lIENPUyByZWdpc3RlcnMgZm9yIGVhY2ggQ09TIElELCBlLmcuIENEUCB1c2VzIDIK ICAqIENPUyByZWdpc3RlcnMgKERBVEEgYW5kIENPREUpIGZvciBvbmUgQ09TIElELCBidXQgQ0FU IHVzZXMgMSBDT1MgcmVnaXN0ZXIuCkBAIC0zNTUsMTEgKzM1NywzOCBAQCB2b2lkIHBzcl9mcmVl X3JtaWQoc3RydWN0IGRvbWFpbiAqZCkKICAgICBkLT5hcmNoLnBzcl9ybWlkID0gMDsKIH0KIAot c3RhdGljIGlubGluZSB2b2lkIHBzcl9hc3NvY19pbml0KHZvaWQpCitzdGF0aWMgdW5zaWduZWQg aW50IGdldF9tYXhfY29zX21heChjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQor eworICAgIHVuc2lnbmVkIGludCBjb3NfbWF4ID0gMCwgaTsKKworICAgIGZvciAoIGkgPSAwOyBp IDwgUFNSX1NPQ0tFVF9GRUFUX05VTTsgaSsrICkKKyAgICB7CisgICAgICAgIGNvbnN0IHN0cnVj dCBmZWF0X25vZGUgKmZlYXQgPSBpbmZvLT5mZWF0dXJlc1tpXTsKKyAgICAgICAgaWYgKCAhZmVh dCApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBjb3NfbWF4ID0gbWF4KGZlYXQt PmNvc19tYXgsIGNvc19tYXgpOworICAgIH0KKworICAgIHJldHVybiBjb3NfbWF4OworfQorCitz dGF0aWMgdm9pZCBwc3JfYXNzb2NfaW5pdCh2b2lkKQogewogICAgIHN0cnVjdCBwc3JfYXNzb2Mg KnBzcmEgPSAmdGhpc19jcHUocHNyX2Fzc29jKTsKIAotICAgIGlmICggcHNyX2NtdF9lbmFibGVk KCkgKQorICAgIGlmICggcHNyX2FsbG9jX2ZlYXRfZW5hYmxlZCgpICkKKyAgICB7CisgICAgICAg IHVuc2lnbmVkIGludCBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSk7 CisgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBzb2NrZXRfaW5m byArIHNvY2tldDsKKyAgICAgICAgdW5zaWduZWQgaW50IGNvc19tYXggPSBnZXRfbWF4X2Nvc19t YXgoaW5mbyk7CisKKyAgICAgICAgaWYgKCBpbmZvLT5mZWF0X2luaXQgKQorICAgICAgICAgICAg cHNyYS0+Y29zX21hc2sgPSAoKDF1bGwgPDwgZ2V0X2NvdW50X29yZGVyKGNvc19tYXgpKSAtIDEp IDw8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBTUl9BU1NPQ19SRUdfU0hJRlQ7Cisg ICAgfQorCisgICAgaWYgKCBwc3JfY210X2VuYWJsZWQoKSB8fCBwc3JhLT5jb3NfbWFzayApCiAg ICAgICAgIHJkbXNybChNU1JfSUEzMl9QU1JfQVNTT0MsIHBzcmEtPnZhbCk7CiB9CiAKQEAgLTM2 OCw2ICszOTcsMTMgQEAgc3RhdGljIGlubGluZSB2b2lkIHBzcl9hc3NvY19ybWlkKHVpbnQ2NF90 ICpyZWcsIHVuc2lnbmVkIGludCBybWlkKQogICAgICpyZWcgPSAoKnJlZyAmIH5ybWlkX21hc2sp IHwgKHJtaWQgJiBybWlkX21hc2spOwogfQogCitzdGF0aWMgdm9pZCBwc3JfYXNzb2NfY29zKHVp bnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQ2NF90IGNvc19tYXNrKQoreworICAgICpyZWcgPSAoKnJlZyAmIH5jb3NfbWFzaykgfAor ICAgICAgICAgICAgKCgodWludDY0X3QpY29zIDw8IFBTUl9BU1NPQ19SRUdfU0hJRlQpICYgY29z X21hc2spOworfQorCiB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQog ewogICAgIHN0cnVjdCBwc3JfYXNzb2MgKnBzcmEgPSAmdGhpc19jcHUocHNyX2Fzc29jKTsKQEAg LTM3Niw2ICs0MTIsMTQgQEAgdm9pZCBwc3JfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAq ZCkKICAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpICkKICAgICAgICAgcHNyX2Fzc29jX3JtaWQo JnJlZywgZC0+YXJjaC5wc3Jfcm1pZCk7CiAKKyAgICAvKiBJRExFIGRvbWFpbidzICdwc3JfY29z X2lkcycgaXMgTlVMTCBzbyB3ZSBzZXQgZGVmYXVsdCB2YWx1ZSBmb3IgaXQuICovCisgICAgaWYg KCBwc3JhLT5jb3NfbWFzayApCisgICAgICAgIHBzcl9hc3NvY19jb3MoJnJlZywKKyAgICAgICAg ICAgICAgICAgICAgICBkLT5hcmNoLnBzcl9jb3NfaWRzID8KKyAgICAgICAgICAgICAgICAgICAg ICBkLT5hcmNoLnBzcl9jb3NfaWRzW2NwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKV0g OgorICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgcHNyYS0+ Y29zX21hc2spOworCiAgICAgaWYgKCByZWcgIT0gcHNyYS0+dmFsICkKICAgICB7CiAgICAgICAg IHdybXNybChNU1JfSUEzMl9QU1JfQVNTT0MsIHJlZyk7CkBAIC00MDEsMTQgKzQ0NSwzNyBAQCBp bnQgcHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwK ICAgICByZXR1cm4gMDsKIH0KIAotaW50IHBzcl9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpk KQorLyogQ2FsbGVkIHdpdGggZG9tYWluIGxvY2sgaGVsZCwgbm8gZXh0cmEgbG9jayBuZWVkZWQg Zm9yICdwc3JfY29zX2lkcycgKi8KK3N0YXRpYyB2b2lkIHBzcl9mcmVlX2NvcyhzdHJ1Y3QgZG9t YWluICpkKQoreworICAgIHhmcmVlKGQtPmFyY2gucHNyX2Nvc19pZHMpOworICAgIGQtPmFyY2gu cHNyX2Nvc19pZHMgPSBOVUxMOworfQorCitzdGF0aWMgaW50IHBzcl9hbGxvY19jb3Moc3RydWN0 IGRvbWFpbiAqZCkKIHsKKyAgICBkLT5hcmNoLnBzcl9jb3NfaWRzID0geHphbGxvY19hcnJheSh1 bnNpZ25lZCBpbnQsIG5yX3NvY2tldHMpOworICAgIGlmICggIWQtPmFyY2gucHNyX2Nvc19pZHMg KQorICAgICAgICByZXR1cm4gLUVOT01FTTsKKwogICAgIHJldHVybiAwOwogfQogCitpbnQgcHNy X2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCit7CisgICAgLyogSW5pdCB0byBzdWNjZXNz IHZhbHVlICovCisgICAgaW50IHJldCA9IDA7CisKKyAgICBpZiAoIHBzcl9hbGxvY19mZWF0X2Vu YWJsZWQoKSApCisgICAgICAgIHJldCA9IHBzcl9hbGxvY19jb3MoZCk7CisKKyAgICByZXR1cm4g cmV0OworfQorCiB2b2lkIHBzcl9kb21haW5fZnJlZShzdHJ1Y3QgZG9tYWluICpkKQogewogICAg IHBzcl9mcmVlX3JtaWQoZCk7CisgICAgcHNyX2ZyZWVfY29zKGQpOwogfQogCiBzdGF0aWMgdm9p ZCBfX2luaXQgaW5pdF9wc3Iodm9pZCkKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==