From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v5 05/24] x86: refactor psr: implement Domain init/free and schedule flows. Date: Wed, 18 Jan 2017 10:02:28 +0800 Message-ID: <1484704967-5609-6-git-send-email-yi.y.sun@linux.intel.com> References: <1484704967-5609-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 1cTfbe-0005WK-Kw for xen-devel@lists.xenproject.org; Wed, 18 Jan 2017 02:04:10 +0000 In-Reply-To: <1484704967-5609-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: wei.liu2@citrix.com, konrad.wilk@oracle.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 LS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYxIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4v YXJjaC94ODYvcHNyLmMKaW5kZXggZTlkYzA3YS4uN2YwNjIzNSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNTAsNiArNTAsOCBAQAog ICovCiAjZGVmaW5lIE1BWF9DT1NfUkVHX0NOVCAgMTI4CiAKKyNkZWZpbmUgUFNSX0FTU09DX1JF R19QT1MgMzIKKwogLyoKICAqIFBTUiBmZWF0dXJlcyBhcmUgbWFuYWdlZCBwZXIgc29ja2V0LiBC ZWxvdyBzdHJ1Y3R1cmUgZGVmaW5lcyB0aGUgbWVtYmVycwogICogdXNlZCB0byBtYW5hZ2UgdGhl c2UgZmVhdHVyZXMuCkBAIC0yMTEsNyArMjEzLDEzIEBAIHN0YXRpYyB2b2lkIGwzX2NhdF9pbml0 X2ZlYXR1cmUoc3RydWN0IGNwdWlkX2xlYWZfcmVncyByZWdzLAogICAgICAgICAgICBmZWF0LT5p bmZvLmwzX2NhdF9pbmZvLmNibV9sZW4pOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGwzX2Nh dF9nZXRfY29zX21heChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQoreworICAgIHJldHVy biBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNvc19tYXg7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKKyAgICAuZ2V0X2Nvc19tYXggPSBsM19jYXRfZ2V0 X2Nvc19tYXgsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAq cywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC0zNTUsMTEgKzM2MywzMyBAQCB2b2lk IHBzcl9mcmVlX3JtaWQoc3RydWN0IGRvbWFpbiAqZCkKICAgICBkLT5hcmNoLnBzcl9ybWlkID0g MDsKIH0KIAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X21heF9jb3NfbWF4KGNvbnN0 IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAgY29uc3Qgc3RydWN0IGZlYXRf bm9kZSAqZmVhdDsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisKKyAgICBsaXN0X2Zv cl9lYWNoX2VudHJ5KGZlYXQsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgICAgIGNvc19t YXggPSBtYXgoZmVhdC0+b3BzLmdldF9jb3NfbWF4KGZlYXQpLCBjb3NfbWF4KTsKKworICAgIHJl dHVybiBjb3NfbWF4OworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX2luaXQodm9p ZCkKIHsKICAgICBzdHJ1Y3QgcHNyX2Fzc29jICpwc3JhID0gJnRoaXNfY3B1KHBzcl9hc3NvYyk7 CiAKLSAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpICkKKyAgICBpZiAoIHNvY2tldF9pbmZvICkK KyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9w cm9jZXNzb3JfaWQoKSk7CisgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmlu Zm8gPSBzb2NrZXRfaW5mbyArIHNvY2tldDsKKyAgICAgICAgdW5zaWduZWQgaW50IGNvc19tYXgg PSBnZXRfbWF4X2Nvc19tYXgoaW5mbyk7CisKKyAgICAgICAgaWYgKCBpbmZvLT5mZWF0X21hc2sg KQorICAgICAgICAgICAgcHNyYS0+Y29zX21hc2sgPSAoKDF1bGwgPDwgZ2V0X2NvdW50X29yZGVy KGNvc19tYXgpKSAtIDEpIDw8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQVNT T0NfUkVHX1BPUzsKKyAgICB9CisKKyAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpIHx8IHBzcmEt PmNvc19tYXNrICkKICAgICAgICAgcmRtc3JsKE1TUl9JQTMyX1BTUl9BU1NPQywgcHNyYS0+dmFs KTsKIH0KIApAQCAtMzY4LDYgKzM5OCwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29j X3JtaWQodWludDY0X3QgKnJlZywgdW5zaWduZWQgaW50IHJtaWQpCiAgICAgKnJlZyA9ICgqcmVn ICYgfnJtaWRfbWFzaykgfCAocm1pZCAmIHJtaWRfbWFzayk7CiB9CiAKK3N0YXRpYyBpbmxpbmUg dm9pZCBwc3JfYXNzb2NfY29zKHVpbnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBjb3MsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBjb3NfbWFzaykKK3sKKyAgICAq cmVnID0gKCpyZWcgJiB+Y29zX21hc2spIHwKKyAgICAgICAgICAgICgoKHVpbnQ2NF90KWNvcyA8 PCBQU1JfQVNTT0NfUkVHX1BPUykgJiBjb3NfbWFzayk7Cit9CisKIHZvaWQgcHNyX2N0eHRfc3dp dGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3RydWN0IHBzcl9hc3NvYyAqcHNyYSA9 ICZ0aGlzX2NwdShwc3JfYXNzb2MpOwpAQCAtMzc2LDYgKzQxMywxMSBAQCB2b2lkIHBzcl9jdHh0 X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogICAgIGlmICggcHNyX2NtdF9lbmFibGVkKCkg KQogICAgICAgICBwc3JfYXNzb2Nfcm1pZCgmcmVnLCBkLT5hcmNoLnBzcl9ybWlkKTsKIAorICAg IGlmICggcHNyYS0+Y29zX21hc2sgKQorICAgICAgICBwc3JfYXNzb2NfY29zKCZyZWcsIGQtPmFy Y2gucHNyX2Nvc19pZHMgPworICAgICAgICAgICAgICAgICAgICAgIGQtPmFyY2gucHNyX2Nvc19p ZHNbY3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpXSA6CisgICAgICAgICAgICAgICAg ICAgICAgMCwgcHNyYS0+Y29zX21hc2spOworCiAgICAgaWYgKCByZWcgIT0gcHNyYS0+dmFsICkK ICAgICB7CiAgICAgICAgIHdybXNybChNU1JfSUEzMl9QU1JfQVNTT0MsIHJlZyk7CkBAIC00MDEs MTQgKzQ0MywzMiBAQCBpbnQgcHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWdu ZWQgaW50IHNvY2tldCwKICAgICByZXR1cm4gMDsKIH0KIAorLyogQ2FsbGVkIHdpdGggZG9tYWlu IGxvY2sgaGVsZCwgbm8gZXh0cmEgbG9jayBuZWVkZWQgZm9yICdwc3JfY29zX2lkcycgKi8KK3N0 YXRpYyB2b2lkIHBzcl9mcmVlX2NvcyhzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIGlmKCAhZC0+ YXJjaC5wc3JfY29zX2lkcyApCisgICAgICAgIHJldHVybjsKKworICAgIHhmcmVlKGQtPmFyY2gu cHNyX2Nvc19pZHMpOworICAgIGQtPmFyY2gucHNyX2Nvc19pZHMgPSBOVUxMOworfQorCiBpbnQg cHNyX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCiB7CisgICAgaWYgKCBzb2NrZXRfaW5m byApCisgICAgeworICAgICAgICBkLT5hcmNoLnBzcl9jb3NfaWRzID0geHphbGxvY19hcnJheSh1 bnNpZ25lZCBpbnQsIG5yX3NvY2tldHMpOworICAgICAgICBpZiAoICFkLT5hcmNoLnBzcl9jb3Nf aWRzICkKKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJldHVybiAw OwogfQogCiB2b2lkIHBzcl9kb21haW5fZnJlZShzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHBz cl9mcmVlX3JtaWQoZCk7CisgICAgcHNyX2ZyZWVfY29zKGQpOwogfQogCiBzdGF0aWMgdm9pZCBj cHVfaW5pdF93b3JrKHZvaWQpCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxp c3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=