From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4 05/24] x86: refactor psr: implement Domain init/free and schedule flows. Date: Wed, 14 Dec 2016 12:07:45 +0800 Message-ID: <1481688484-5093-6-git-send-email-yi.y.sun@linux.intel.com> References: <1481688484-5093-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 1cH7RU-0004r7-Ih for xen-devel@lists.xenproject.org; Wed, 14 Dec 2016 11:09:48 +0000 In-Reply-To: <1481688484-5093-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, 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 LS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDYwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDU5IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4v YXJjaC94ODYvcHNyLmMKaW5kZXggZmE5YmMzMi4uNzQ2YzkwZSAxMDA2NDQKLS0tIGEveGVuL2Fy Y2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtMTEzLDYgKzExMyw4IEBA IHN0cnVjdCBmZWF0X29wcyB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50 IGVjeCwgdW5zaWduZWQgaW50IGVkeCwKICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qg ZmVhdF9ub2RlICpmZWF0LAogICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwc3Jfc29j a2V0X2luZm8gKmluZm8pOworICAgIC8qIGdldF9tYXhfY29zX21heCBpcyB1c2VkIHRvIGdldCBm ZWF0dXJlJ3MgY29zX21heC4gKi8KKyAgICB1bnNpZ25lZCBpbnQgKCpnZXRfbWF4X2Nvc19tYXgp KGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpOwogfTsKIAogCkBAIC0yMTMsOCArMjE1LDE0 IEBAIHN0YXRpYyB2b2lkIGwzX2NhdF9pbml0X2ZlYXR1cmUodW5zaWduZWQgaW50IGVheCwgdW5z aWduZWQgaW50IGVieCwKICAgICAgICAgICAgZmVhdC0+aW5mby5sM19jYXRfaW5mby5jYm1fbGVu KTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBsM19jYXRfZ2V0X21heF9jb3NfbWF4KGNvbnN0 IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0dXJuIGZlYXQtPmluZm8ubDNfY2F0 X2luZm8uY29zX21heDsKK30KKwogc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAg LmluaXRfZmVhdHVyZSA9IGwzX2NhdF9pbml0X2ZlYXR1cmUsCisgICAgLmdldF9tYXhfY29zX21h eCA9IGwzX2NhdF9nZXRfbWF4X2Nvc19tYXgsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFy c2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBAIC0zNTgs MTEgKzM2NiwzMiBAQCB2b2lkIHBzcl9mcmVlX3JtaWQoc3RydWN0IGRvbWFpbiAqZCkKICAgICBk LT5hcmNoLnBzcl9ybWlkID0gMDsKIH0KIAorc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZ2V0 X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAg Y29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF90bXA7CisgICAgdW5zaWduZWQgaW50IGNvc19t YXggPSAwOworCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0X3RtcCwgJmluZm8tPmZlYXRf bGlzdCwgbGlzdCkKKyAgICAgICAgY29zX21heCA9IG1heChmZWF0X3RtcC0+b3BzLmdldF9tYXhf Y29zX21heChmZWF0X3RtcCksIGNvc19tYXgpOworCisgICAgcmV0dXJuIGNvc19tYXg7Cit9CisK IHN0YXRpYyBpbmxpbmUgdm9pZCBwc3JfYXNzb2NfaW5pdCh2b2lkKQogewogICAgIHN0cnVjdCBw c3JfYXNzb2MgKnBzcmEgPSAmdGhpc19jcHUocHNyX2Fzc29jKTsKIAotICAgIGlmICggcHNyX2Nt dF9lbmFibGVkKCkgKQorICAgIGlmICggc29ja2V0X2luZm8gKQorICAgIHsKKyAgICAgICAgdW5z aWduZWQgaW50IHNvY2tldCA9IGNwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKTsKKyAg ICAgICAgY29uc3Qgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqaW5mbyA9IHNvY2tldF9pbmZvICsg c29ja2V0OworICAgICAgICB1bnNpZ25lZCBpbnQgY29zX21heCA9IGdldF9tYXhfY29zX21heChp bmZvKTsKKworICAgICAgICBpZiAoIGluZm8tPmZlYXRfbWFzayApCisgICAgICAgICAgICBwc3Jh LT5jb3NfbWFzayA9ICgoMXVsbCA8PCBnZXRfY291bnRfb3JkZXIoY29zX21heCkpIC0gMSkgPDwg MzI7CisgICAgfQorCisgICAgaWYgKCBwc3JfY210X2VuYWJsZWQoKSB8fCBwc3JhLT5jb3NfbWFz ayApCiAgICAgICAgIHJkbXNybChNU1JfSUEzMl9QU1JfQVNTT0MsIHBzcmEtPnZhbCk7CiB9CiAK QEAgLTM3MSw2ICs0MDAsMTIgQEAgc3RhdGljIGlubGluZSB2b2lkIHBzcl9hc3NvY19ybWlkKHVp bnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBybWlkKQogICAgICpyZWcgPSAoKnJlZyAmIH5ybWlk X21hc2spIHwgKHJtaWQgJiBybWlkX21hc2spOwogfQogCitzdGF0aWMgaW5saW5lIHZvaWQgcHNy X2Fzc29jX2Nvcyh1aW50NjRfdCAqcmVnLCB1bnNpZ25lZCBpbnQgY29zLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDY0X3QgY29zX21hc2spCit7CisgICAgKnJlZyA9ICgq cmVnICYgfmNvc19tYXNrKSB8ICgoKHVpbnQ2NF90KWNvcyA8PCAzMikgJiBjb3NfbWFzayk7Cit9 CisKIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21haW4gKmQpCiB7CiAgICAgc3Ry dWN0IHBzcl9hc3NvYyAqcHNyYSA9ICZ0aGlzX2NwdShwc3JfYXNzb2MpOwpAQCAtMzc5LDYgKzQx NCwxMSBAQCB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgZG9tYWluICpkKQogICAgIGlm ICggcHNyX2NtdF9lbmFibGVkKCkgKQogICAgICAgICBwc3JfYXNzb2Nfcm1pZCgmcmVnLCBkLT5h cmNoLnBzcl9ybWlkKTsKIAorICAgIGlmICggcHNyYS0+Y29zX21hc2sgKQorICAgICAgICBwc3Jf YXNzb2NfY29zKCZyZWcsIGQtPmFyY2gucHNyX2Nvc19pZHMgPworICAgICAgICAgICAgICAgICAg ICAgIGQtPmFyY2gucHNyX2Nvc19pZHNbY3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkp XSA6CisgICAgICAgICAgICAgICAgICAgICAgMCwgcHNyYS0+Y29zX21hc2spOworCiAgICAgaWYg KCByZWcgIT0gcHNyYS0+dmFsICkKICAgICB7CiAgICAgICAgIHdybXNybChNU1JfSUEzMl9QU1Jf QVNTT0MsIHJlZyk7CkBAIC00MDQsMTQgKzQ0NCwzMiBAQCBpbnQgcHNyX3NldF9sM19jYm0oc3Ry dWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAgICByZXR1cm4gMDsKIH0KIAor LyogQ2FsbGVkIHdpdGggZG9tYWluIGxvY2sgaGVsZCwgbm8gZXh0cmEgbG9jayBuZWVkZWQgZm9y ICdwc3JfY29zX2lkcycgKi8KK3N0YXRpYyB2b2lkIHBzcl9mcmVlX2NvcyhzdHJ1Y3QgZG9tYWlu ICpkKQoreworICAgIGlmKCAhZC0+YXJjaC5wc3JfY29zX2lkcyApCisgICAgICAgIHJldHVybjsK KworICAgIHhmcmVlKGQtPmFyY2gucHNyX2Nvc19pZHMpOworICAgIGQtPmFyY2gucHNyX2Nvc19p ZHMgPSBOVUxMOworfQorCiBpbnQgcHNyX2RvbWFpbl9pbml0KHN0cnVjdCBkb21haW4gKmQpCiB7 CisgICAgaWYgKCBzb2NrZXRfaW5mbyApCisgICAgeworICAgICAgICBkLT5hcmNoLnBzcl9jb3Nf aWRzID0geHphbGxvY19hcnJheSh1bnNpZ25lZCBpbnQsIG5yX3NvY2tldHMpOworICAgICAgICBp ZiAoICFkLT5hcmNoLnBzcl9jb3NfaWRzICkKKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwor ICAgIH0KKwogICAgIHJldHVybiAwOwogfQogCiB2b2lkIHBzcl9kb21haW5fZnJlZShzdHJ1Y3Qg ZG9tYWluICpkKQogewogICAgIHBzcl9mcmVlX3JtaWQoZCk7CisgICAgcHNyX2ZyZWVfY29zKGQp OwogfQogCiBzdGF0aWMgaW50IGNwdV9wcmVwYXJlX3dvcmsodW5zaWduZWQgaW50IGNwdSkKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==