From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 05/24] x86: refactor psr: implement Domain init/free and schedule flows. Date: Wed, 8 Feb 2017 16:15:57 +0800 Message-ID: <1486541776-8406-6-git-send-email-yi.y.sun@linux.intel.com> References: <1486541776-8406-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 1cbNTD-0005ln-Nu for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 08:19:19 +0000 In-Reply-To: <1486541776-8406-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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBEb21haW4gaW5pdC9mcmVlIGFuZCBzY2hlZHVsZSBm bG93cy4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgot LS0KdjY6CiAgICAtIGNoYW5nZSAnUFNSX0FTU09DX1JFR19QT1MnIHRvICdQU1JfQVNTT0NfUkVH X1NISUZUJy4KLS0tCiB4ZW4vYXJjaC94ODYvcHNyLmMgfCA2MiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIDEgZmlsZSBjaGFuZ2VkLCA2MSBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bz ci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IDk0OTZjOTcuLjg5ZmJhYWEgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTUxLDYg KzUxLDggQEAKICAqLwogI2RlZmluZSBNQVhfQ09TX1JFR19DTlQgIDEyOAogCisjZGVmaW5lIFBT Ul9BU1NPQ19SRUdfU0hJRlQgMzIKKwogLyoKICAqIFBTUiBmZWF0dXJlcyBhcmUgbWFuYWdlZCBw ZXIgc29ja2V0LiBCZWxvdyBzdHJ1Y3R1cmUgZGVmaW5lcyB0aGUgbWVtYmVycwogICogdXNlZCB0 byBtYW5hZ2UgdGhlc2UgZmVhdHVyZXMuCkBAIC0yMTUsNyArMjE3LDEzIEBAIHN0YXRpYyB2b2lk IGwzX2NhdF9pbml0X2ZlYXR1cmUoc3RydWN0IGNwdWlkX2xlYWYgcmVncywKICAgICAgICAgICAg ZmVhdC0+aW5mby5sM19jYXRfaW5mby5jYm1fbGVuKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGlu dCBsM19jYXRfZ2V0X2Nvc19tYXgoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCkKK3sKKyAg ICByZXR1cm4gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4OworfQorCiBzdGF0aWMgY29u c3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CisgICAgLmdldF9jb3NfbWF4ID0gbDNf Y2F0X2dldF9jb3NfbWF4LAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29s KGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLApAQCAtMzU5LDExICszNjcsMzMg QEAgdm9pZCBwc3JfZnJlZV9ybWlkKHN0cnVjdCBkb21haW4gKmQpCiAgICAgZC0+YXJjaC5wc3Jf cm1pZCA9IDA7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGdldF9tYXhfY29zX21h eChjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQoreworICAgIGNvbnN0IHN0cnVj dCBmZWF0X25vZGUgKmZlYXQ7CisgICAgdW5zaWduZWQgaW50IGNvc19tYXggPSAwOworCisgICAg bGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0LCAmaW5mby0+ZmVhdF9saXN0LCBsaXN0KQorICAgICAg ICBjb3NfbWF4ID0gbWF4KGZlYXQtPm9wcy5nZXRfY29zX21heChmZWF0KSwgY29zX21heCk7CisK KyAgICByZXR1cm4gY29zX21heDsKK30KKwogc3RhdGljIGlubGluZSB2b2lkIHBzcl9hc3NvY19p bml0KHZvaWQpCiB7CiAgICAgc3RydWN0IHBzcl9hc3NvYyAqcHNyYSA9ICZ0aGlzX2NwdShwc3Jf YXNzb2MpOwogCi0gICAgaWYgKCBwc3JfY210X2VuYWJsZWQoKSApCisgICAgaWYgKCBzb2NrZXRf aW5mbyApCisgICAgeworICAgICAgICB1bnNpZ25lZCBpbnQgc29ja2V0ID0gY3B1X3RvX3NvY2tl dChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgICAgICBjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9p bmZvICppbmZvID0gc29ja2V0X2luZm8gKyBzb2NrZXQ7CisgICAgICAgIHVuc2lnbmVkIGludCBj b3NfbWF4ID0gZ2V0X21heF9jb3NfbWF4KGluZm8pOworCisgICAgICAgIGlmICggaW5mby0+ZmVh dF9tYXNrICkKKyAgICAgICAgICAgIHBzcmEtPmNvc19tYXNrID0gKCgxdWxsIDw8IGdldF9jb3Vu dF9vcmRlcihjb3NfbWF4KSkgLSAxKSA8PAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UFNSX0FTU09DX1JFR19TSElGVDsKKyAgICB9CisKKyAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgp IHx8IHBzcmEtPmNvc19tYXNrICkKICAgICAgICAgcmRtc3JsKE1TUl9JQTMyX1BTUl9BU1NPQywg cHNyYS0+dmFsKTsKIH0KIApAQCAtMzcyLDYgKzQwMiwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQg cHNyX2Fzc29jX3JtaWQodWludDY0X3QgKnJlZywgdW5zaWduZWQgaW50IHJtaWQpCiAgICAgKnJl ZyA9ICgqcmVnICYgfnJtaWRfbWFzaykgfCAocm1pZCAmIHJtaWRfbWFzayk7CiB9CiAKK3N0YXRp YyBpbmxpbmUgdm9pZCBwc3JfYXNzb2NfY29zKHVpbnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBj b3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBjb3NfbWFzaykK K3sKKyAgICAqcmVnID0gKCpyZWcgJiB+Y29zX21hc2spIHwKKyAgICAgICAgICAgICgoKHVpbnQ2 NF90KWNvcyA8PCBQU1JfQVNTT0NfUkVHX1NISUZUKSAmIGNvc19tYXNrKTsKK30KKwogdm9pZCBw c3JfY3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCkKIHsKICAgICBzdHJ1Y3QgcHNyX2Fz c29jICpwc3JhID0gJnRoaXNfY3B1KHBzcl9hc3NvYyk7CkBAIC0zODAsNiArNDE3LDExIEBAIHZv aWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiAgICAgaWYgKCBwc3JfY210 X2VuYWJsZWQoKSApCiAgICAgICAgIHBzcl9hc3NvY19ybWlkKCZyZWcsIGQtPmFyY2gucHNyX3Jt aWQpOwogCisgICAgaWYgKCBwc3JhLT5jb3NfbWFzayApCisgICAgICAgIHBzcl9hc3NvY19jb3Mo JnJlZywgZC0+YXJjaC5wc3JfY29zX2lkcyA/CisgICAgICAgICAgICAgICAgICAgICAgZC0+YXJj aC5wc3JfY29zX2lkc1tjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSldIDoKKyAgICAg ICAgICAgICAgICAgICAgICAwLCBwc3JhLT5jb3NfbWFzayk7CisKICAgICBpZiAoIHJlZyAhPSBw c3JhLT52YWwgKQogICAgIHsKICAgICAgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9BU1NPQywgcmVn KTsKQEAgLTQwNSwxNCArNDQ3LDMyIEBAIGludCBwc3Jfc2V0X2wzX2NibShzdHJ1Y3QgZG9tYWlu ICpkLCB1bnNpZ25lZCBpbnQgc29ja2V0LAogICAgIHJldHVybiAwOwogfQogCisvKiBDYWxsZWQg d2l0aCBkb21haW4gbG9jayBoZWxkLCBubyBleHRyYSBsb2NrIG5lZWRlZCBmb3IgJ3Bzcl9jb3Nf aWRzJyAqLworc3RhdGljIHZvaWQgcHNyX2ZyZWVfY29zKHN0cnVjdCBkb21haW4gKmQpCit7Cisg ICAgaWYoICFkLT5hcmNoLnBzcl9jb3NfaWRzICkKKyAgICAgICAgcmV0dXJuOworCisgICAgeGZy ZWUoZC0+YXJjaC5wc3JfY29zX2lkcyk7CisgICAgZC0+YXJjaC5wc3JfY29zX2lkcyA9IE5VTEw7 Cit9CisKIGludCBwc3JfZG9tYWluX2luaXQoc3RydWN0IGRvbWFpbiAqZCkKIHsKKyAgICBpZiAo IHNvY2tldF9pbmZvICkKKyAgICB7CisgICAgICAgIGQtPmFyY2gucHNyX2Nvc19pZHMgPSB4emFs bG9jX2FycmF5KHVuc2lnbmVkIGludCwgbnJfc29ja2V0cyk7CisgICAgICAgIGlmICggIWQtPmFy Y2gucHNyX2Nvc19pZHMgKQorICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgICAgfQorCiAg ICAgcmV0dXJuIDA7CiB9CiAKIHZvaWQgcHNyX2RvbWFpbl9mcmVlKHN0cnVjdCBkb21haW4gKmQp CiB7CiAgICAgcHNyX2ZyZWVfcm1pZChkKTsKKyAgICBwc3JfZnJlZV9jb3MoZCk7CiB9CiAKIHN0 YXRpYyB2b2lkIGNwdV9pbml0X3dvcmsodm9pZCkKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==