From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 06/25] x86: refactor psr: L3 CAT: implement Domain init/free and schedule flows. Date: Thu, 16 Mar 2017 19:07:56 +0800 Message-ID: <1489662495-5375-7-git-send-email-yi.y.sun@linux.intel.com> References: <1489662495-5375-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 1coTLr-0004BY-NV for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:13:51 +0000 In-Reply-To: <1489662495-5375-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 dW5AbGludXguaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxr b25yYWQud2lsa0BvcmFjbGUuY29tPgotLS0Kdjk6CiAgICAtIHJlbmFtZSAnbDNfY2F0X2dldF9j b3NfbWF4JyB0byAnY2F0X2dldF9jb3NfbWF4JyB0byBjb3ZlciBhbGwgQ0FUL0NEUAogICAgICBm ZWF0dXJlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQYXUpCiAgICAtIHJlcGxhY2UgZmVh dHVyZSBsaXN0IGhhbmRsaW5nIHRvIGZlYXR1cmUgYXJyYXkgaGFuZGxpbmcuCiAgICAgIChzdWdn ZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSBpbXBsZW1lbnQgJ3Bzcl9hbGxvY19jb3MnIHRvIG1h dGNoICdwc3JfZnJlZV9jb3MnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAgICAtIHVz ZSAncHNyX2FsbG9jX2ZlYXRfZW5hYmxlZCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkK ICAgIC0gZml4IGNvZGluZyBzdHlsZSBpc3N1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1 KQogICAgLSByZW1vdmUgJ2lubGluZScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp CiAgICAtIG1vZGlmeSBwYXRjaCB0aXRsZSB0byBpbmRpY2F0ZSAnTDMgQ0FUJy4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdwc3JfY29zX2lkcycgY2hlY2sg aW4gJ3Bzcl9mcmVlX2NvcycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY2Ogog ICAgLSBjaGFuZ2UgJ1BTUl9BU1NPQ19SRUdfUE9TJyB0byAnUFNSX0FTU09DX1JFR19TSElGVCcu CiAgICAgIChzdWdnZXN0ZWQgYnkgS29ucmFkIFJ6ZXN6dXRlayBXaWxrKQp2NToKICAgIC0gcmVu YW1lICdmZWF0X3RtcCcgdG8gJ2ZlYXQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSBkZWZpbmUgJ1BTUl9BU1NPQ19SRUdfUE9TJy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29kZXMgZWFz aWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCi0tLQog eGVuL2FyY2gveDg2L3Bzci5jIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwg MyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJj aC94ODYvcHNyLmMKaW5kZXggNjZhOWNlOC4uYTZhODA4MSAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNTAsNiArNTAsOCBAQAogICov CiAjZGVmaW5lIE1BWF9DT1NfUkVHX0NOVCAgMTI4CiAKKyNkZWZpbmUgUFNSX0FTU09DX1JFR19T SElGVCAzMgorCiAvKiBDQVQgZmVhdHVyZXMgdXNlIDEgQ09TIHJlZ2lzdGVyIGluIG9uZSBhY2Nl c3MuICovCiAjZGVmaW5lIENBVF9DT1NfTlVNICAgICAgMQogCkBAIC0yMzMsOCArMjM1LDE0IEBA IHN0YXRpYyB2b2lkIGNhdF9pbml0X2ZlYXR1cmUoc3RydWN0IGNwdWlkX2xlYWYgcmVncywKICAg ICByZXR1cm47CiB9CiAKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY2F0X2dldF9jb3NfbWF4KGNvbnN0 IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0dXJuIGZlYXQtPmluZm8uY2F0X2lu Zm8uY29zX21heDsKK30KKwogLyogTDMgQ0FUIG9wcyAqLwogc3RhdGljIGNvbnN0IHN0cnVjdCBm ZWF0X29wcyBsM19jYXRfb3BzID0geworICAgIC5nZXRfY29zX21heCA9IGNhdF9nZXRfY29zX21h eCwKIH07CiAKIHN0YXRpYyB2b2lkIF9faW5pdCBwYXJzZV9wc3JfYm9vbChjaGFyICpzLCBjaGFy ICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKQEAgLTM3OCwxMSArMzg2LDM5IEBAIHZvaWQgcHNyX2Zy ZWVfcm1pZChzdHJ1Y3QgZG9tYWluICpkKQogICAgIGQtPmFyY2gucHNyX3JtaWQgPSAwOwogfQog Ci1zdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX2luaXQodm9pZCkKK3N0YXRpYyB1bnNpZ25l ZCBpbnQgZ2V0X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8p Cit7CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdDsKKyAgICB1bnNpZ25lZCBpbnQg Y29zX21heCA9IDAsIGk7CisKKyAgICBmb3IgKCBpID0gMDsgaSA8IFBTUl9TT0NLRVRfTUFYX0ZF QVQ7IGkrKyApCisgICAgeworICAgICAgICBmZWF0ID0gaW5mby0+ZmVhdHVyZXNbaV07CisgICAg ICAgIGlmICggIWZlYXQgKQorICAgICAgICAgICAgY29udGludWU7CisKKyAgICAgICAgY29zX21h eCA9IG1heChmZWF0LT5vcHMuZ2V0X2Nvc19tYXgoZmVhdCksIGNvc19tYXgpOworICAgIH0KKwor ICAgIHJldHVybiBjb3NfbWF4OworfQorCitzdGF0aWMgdm9pZCBwc3JfYXNzb2NfaW5pdCh2b2lk KQogewogICAgIHN0cnVjdCBwc3JfYXNzb2MgKnBzcmEgPSAmdGhpc19jcHUocHNyX2Fzc29jKTsK IAotICAgIGlmICggcHNyX2NtdF9lbmFibGVkKCkgKQorICAgIGlmICggcHNyX2FsbG9jX2ZlYXRf ZW5hYmxlZCgpICkKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBzb2NrZXQgPSBjcHVfdG9f c29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSk7CisgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29j a2V0X2luZm8gKmluZm8gPSBzb2NrZXRfaW5mbyArIHNvY2tldDsKKyAgICAgICAgdW5zaWduZWQg aW50IGNvc19tYXggPSBnZXRfbWF4X2Nvc19tYXgoaW5mbyk7CisKKyAgICAgICAgaWYgKCBpbmZv LT5mZWF0X21hc2sgKQorICAgICAgICAgICAgcHNyYS0+Y29zX21hc2sgPSAoKDF1bGwgPDwgZ2V0 X2NvdW50X29yZGVyKGNvc19tYXgpKSAtIDEpIDw8CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBTUl9BU1NPQ19SRUdfU0hJRlQ7CisgICAgfQorCisgICAgaWYgKCBwc3JfY210X2VuYWJs ZWQoKSB8fCBwc3JhLT5jb3NfbWFzayApCiAgICAgICAgIHJkbXNybChNU1JfSUEzMl9QU1JfQVNT T0MsIHBzcmEtPnZhbCk7CiB9CiAKQEAgLTM5MSw2ICs0MjcsMTMgQEAgc3RhdGljIGlubGluZSB2 b2lkIHBzcl9hc3NvY19ybWlkKHVpbnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBybWlkKQogICAg ICpyZWcgPSAoKnJlZyAmIH5ybWlkX21hc2spIHwgKHJtaWQgJiBybWlkX21hc2spOwogfQogCitz dGF0aWMgdm9pZCBwc3JfYXNzb2NfY29zKHVpbnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBjb3Ms CisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvc19tYXNrKQoreworICAgICpy ZWcgPSAoKnJlZyAmIH5jb3NfbWFzaykgfAorICAgICAgICAgICAgKCgodWludDY0X3QpY29zIDw8 IFBTUl9BU1NPQ19SRUdfU0hJRlQpICYgY29zX21hc2spOworfQorCiB2b2lkIHBzcl9jdHh0X3N3 aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBwc3JfYXNzb2MgKnBzcmEg PSAmdGhpc19jcHUocHNyX2Fzc29jKTsKQEAgLTM5OSw2ICs0NDIsMTEgQEAgdm9pZCBwc3JfY3R4 dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCkKICAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgp ICkKICAgICAgICAgcHNyX2Fzc29jX3JtaWQoJnJlZywgZC0+YXJjaC5wc3Jfcm1pZCk7CiAKKyAg ICBpZiAoIHBzcmEtPmNvc19tYXNrICkKKyAgICAgICAgcHNyX2Fzc29jX2NvcygmcmVnLCBkLT5h cmNoLnBzcl9jb3NfaWRzID8KKyAgICAgICAgICAgICAgICAgICAgICBkLT5hcmNoLnBzcl9jb3Nf aWRzW2NwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKV0gOgorICAgICAgICAgICAgICAg ICAgICAgIDAsIHBzcmEtPmNvc19tYXNrKTsKKwogICAgIGlmICggcmVnICE9IHBzcmEtPnZhbCAp CiAgICAgewogICAgICAgICB3cm1zcmwoTVNSX0lBMzJfUFNSX0FTU09DLCByZWcpOwpAQCAtNDI0 LDE0ICs0NzIsMzcgQEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGludCBzb2NrZXQsCiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBwc3JfZG9tYWluX2luaXQo c3RydWN0IGRvbWFpbiAqZCkKKy8qIENhbGxlZCB3aXRoIGRvbWFpbiBsb2NrIGhlbGQsIG5vIGV4 dHJhIGxvY2sgbmVlZGVkIGZvciAncHNyX2Nvc19pZHMnICovCitzdGF0aWMgdm9pZCBwc3JfZnJl ZV9jb3Moc3RydWN0IGRvbWFpbiAqZCkKK3sKKyAgICB4ZnJlZShkLT5hcmNoLnBzcl9jb3NfaWRz KTsKKyAgICBkLT5hcmNoLnBzcl9jb3NfaWRzID0gTlVMTDsKK30KKworc3RhdGljIGludCBwc3Jf YWxsb2NfY29zKHN0cnVjdCBkb21haW4gKmQpCiB7CisgICAgZC0+YXJjaC5wc3JfY29zX2lkcyA9 IHh6YWxsb2NfYXJyYXkodW5zaWduZWQgaW50LCBucl9zb2NrZXRzKTsKKyAgICBpZiAoICFkLT5h cmNoLnBzcl9jb3NfaWRzICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKICAgICByZXR1cm4g MDsKIH0KIAoraW50IHBzcl9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIC8q IEluaXQgdG8gc3VjY2VzcyB2YWx1ZSAqLworICAgIGludCByZXQgPSAwOworCisgICAgaWYgKCBw c3JfYWxsb2NfZmVhdF9lbmFibGVkKCkgKQorICAgICAgICByZXQgPSBwc3JfYWxsb2NfY29zKGQp OworCisgICAgcmV0dXJuIHJldDsKK30KKwogdm9pZCBwc3JfZG9tYWluX2ZyZWUoc3RydWN0IGRv bWFpbiAqZCkKIHsKICAgICBwc3JfZnJlZV9ybWlkKGQpOworICAgIHBzcl9mcmVlX2NvcyhkKTsK IH0KIAogc3RhdGljIHZvaWQgX19pbml0IGluaXRfcHNyKHZvaWQpCi0tIAoxLjkuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=