From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 05/24] x86: refactor psr: implement Domain init/free and schedule flows. Date: Wed, 15 Feb 2017 16:49:20 +0800 Message-ID: <1487148579-7243-6-git-send-email-yi.y.sun@linux.intel.com> References: <1487148579-7243-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cdvKm-0007Eu-Ow for xen-devel@lists.xenproject.org; Wed, 15 Feb 2017 08:53:08 +0000 In-Reply-To: <1487148579-7243-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 bG93cy4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgpS ZXZpZXdlZC1ieTogS29ucmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29t PgotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYxIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94 ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggMTBkMjY4YS4uNzk4YzYxNCAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNTEsNiArNTEsOCBA QAogICovCiAjZGVmaW5lIE1BWF9DT1NfUkVHX0NOVCAgMTI4CiAKKyNkZWZpbmUgUFNSX0FTU09D X1JFR19TSElGVCAzMgorCiAvKgogICogUFNSIGZlYXR1cmVzIGFyZSBtYW5hZ2VkIHBlciBzb2Nr ZXQuIEJlbG93IHN0cnVjdHVyZSBkZWZpbmVzIHRoZSBtZW1iZXJzCiAgKiB1c2VkIHRvIG1hbmFn ZSB0aGVzZSBmZWF0dXJlcy4KQEAgLTIxOCw3ICsyMjAsMTMgQEAgc3RhdGljIHZvaWQgbDNfY2F0 X2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRfbGVhZiByZWdzLAogICAgICAgICAgICBmZWF0LT5p bmZvLmwzX2NhdF9pbmZvLmNibV9sZW4pOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGwzX2Nh dF9nZXRfY29zX21heChjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQoreworICAgIHJldHVy biBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNvc19tYXg7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKKyAgICAuZ2V0X2Nvc19tYXggPSBsM19jYXRfZ2V0 X2Nvc19tYXgsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAq cywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC0zNjIsMTEgKzM3MCwzMyBAQCB2b2lk IHBzcl9mcmVlX3JtaWQoc3RydWN0IGRvbWFpbiAqZCkKICAgICBkLT5hcmNoLnBzcl9ybWlkID0g MDsKIH0KIAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0X21heF9jb3NfbWF4KGNvbnN0 IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAgY29uc3Qgc3RydWN0IGZlYXRf bm9kZSAqZmVhdDsKKyAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisKKyAgICBsaXN0X2Zv cl9lYWNoX2VudHJ5KGZlYXQsICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgICAgIGNvc19t YXggPSBtYXgoZmVhdC0+b3BzLmdldF9jb3NfbWF4KGZlYXQpLCBjb3NfbWF4KTsKKworICAgIHJl dHVybiBjb3NfbWF4OworfQorCiBzdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX2luaXQodm9p ZCkKIHsKICAgICBzdHJ1Y3QgcHNyX2Fzc29jICpwc3JhID0gJnRoaXNfY3B1KHBzcl9hc3NvYyk7 CiAKLSAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpICkKKyAgICBpZiAoIHNvY2tldF9pbmZvICkK KyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9w cm9jZXNzb3JfaWQoKSk7CisgICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmlu Zm8gPSBzb2NrZXRfaW5mbyArIHNvY2tldDsKKyAgICAgICAgdW5zaWduZWQgaW50IGNvc19tYXgg PSBnZXRfbWF4X2Nvc19tYXgoaW5mbyk7CisKKyAgICAgICAgaWYgKCBpbmZvLT5mZWF0X21hc2sg KQorICAgICAgICAgICAgcHNyYS0+Y29zX21hc2sgPSAoKDF1bGwgPDwgZ2V0X2NvdW50X29yZGVy KGNvc19tYXgpKSAtIDEpIDw8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQVNT T0NfUkVHX1NISUZUOworICAgIH0KKworICAgIGlmICggcHNyX2NtdF9lbmFibGVkKCkgfHwgcHNy YS0+Y29zX21hc2sgKQogICAgICAgICByZG1zcmwoTVNSX0lBMzJfUFNSX0FTU09DLCBwc3JhLT52 YWwpOwogfQogCkBAIC0zNzUsNiArNDA1LDEzIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBwc3JfYXNz b2Nfcm1pZCh1aW50NjRfdCAqcmVnLCB1bnNpZ25lZCBpbnQgcm1pZCkKICAgICAqcmVnID0gKCpy ZWcgJiB+cm1pZF9tYXNrKSB8IChybWlkICYgcm1pZF9tYXNrKTsKIH0KIAorc3RhdGljIGlubGlu ZSB2b2lkIHBzcl9hc3NvY19jb3ModWludDY0X3QgKnJlZywgdW5zaWduZWQgaW50IGNvcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IGNvc19tYXNrKQoreworICAg ICpyZWcgPSAoKnJlZyAmIH5jb3NfbWFzaykgfAorICAgICAgICAgICAgKCgodWludDY0X3QpY29z IDw8IFBTUl9BU1NPQ19SRUdfU0hJRlQpICYgY29zX21hc2spOworfQorCiB2b2lkIHBzcl9jdHh0 X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHN0cnVjdCBwc3JfYXNzb2MgKnBz cmEgPSAmdGhpc19jcHUocHNyX2Fzc29jKTsKQEAgLTM4Myw2ICs0MjAsMTEgQEAgdm9pZCBwc3Jf Y3R4dF9zd2l0Y2hfdG8oc3RydWN0IGRvbWFpbiAqZCkKICAgICBpZiAoIHBzcl9jbXRfZW5hYmxl ZCgpICkKICAgICAgICAgcHNyX2Fzc29jX3JtaWQoJnJlZywgZC0+YXJjaC5wc3Jfcm1pZCk7CiAK KyAgICBpZiAoIHBzcmEtPmNvc19tYXNrICkKKyAgICAgICAgcHNyX2Fzc29jX2NvcygmcmVnLCBk LT5hcmNoLnBzcl9jb3NfaWRzID8KKyAgICAgICAgICAgICAgICAgICAgICBkLT5hcmNoLnBzcl9j b3NfaWRzW2NwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKV0gOgorICAgICAgICAgICAg ICAgICAgICAgIDAsIHBzcmEtPmNvc19tYXNrKTsKKwogICAgIGlmICggcmVnICE9IHBzcmEtPnZh bCApCiAgICAgewogICAgICAgICB3cm1zcmwoTVNSX0lBMzJfUFNSX0FTU09DLCByZWcpOwpAQCAt NDA4LDE0ICs0NTAsMzIgQEAgaW50IHBzcl9zZXRfbDNfY2JtKHN0cnVjdCBkb21haW4gKmQsIHVu c2lnbmVkIGludCBzb2NrZXQsCiAgICAgcmV0dXJuIDA7CiB9CiAKKy8qIENhbGxlZCB3aXRoIGRv bWFpbiBsb2NrIGhlbGQsIG5vIGV4dHJhIGxvY2sgbmVlZGVkIGZvciAncHNyX2Nvc19pZHMnICov CitzdGF0aWMgdm9pZCBwc3JfZnJlZV9jb3Moc3RydWN0IGRvbWFpbiAqZCkKK3sKKyAgICBpZigg IWQtPmFyY2gucHNyX2Nvc19pZHMgKQorICAgICAgICByZXR1cm47CisKKyAgICB4ZnJlZShkLT5h cmNoLnBzcl9jb3NfaWRzKTsKKyAgICBkLT5hcmNoLnBzcl9jb3NfaWRzID0gTlVMTDsKK30KKwog aW50IHBzcl9kb21haW5faW5pdChzdHJ1Y3QgZG9tYWluICpkKQogeworICAgIGlmICggc29ja2V0 X2luZm8gKQorICAgIHsKKyAgICAgICAgZC0+YXJjaC5wc3JfY29zX2lkcyA9IHh6YWxsb2NfYXJy YXkodW5zaWduZWQgaW50LCBucl9zb2NrZXRzKTsKKyAgICAgICAgaWYgKCAhZC0+YXJjaC5wc3Jf Y29zX2lkcyApCisgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKyAgICB9CisKICAgICByZXR1 cm4gMDsKIH0KIAogdm9pZCBwc3JfZG9tYWluX2ZyZWUoc3RydWN0IGRvbWFpbiAqZCkKIHsKICAg ICBwc3JfZnJlZV9ybWlkKGQpOworICAgIHBzcl9mcmVlX2NvcyhkKTsKIH0KIAogc3RhdGljIHZv aWQgY3B1X2luaXRfd29yayh2b2lkKQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK