From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 05/24] x86: refactor psr: implement Domain init/free and schedule flows. Date: Thu, 19 Jan 2017 14:01:07 +0800 Message-ID: <1484805686-7249-6-git-send-email-yi.y.sun@linux.intel.com> References: <1484805686-7249-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 1cU5oH-0006pY-9x for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:02:57 +0000 In-Reply-To: <1484805686-7249-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 LS0KdjU6CiAgICAtIGRlZmluZSBtYWNybyAnUFNSX0FTU09DX1JFR19QT1MnIHRvIHJlcGxhY2Ug aW50ZWdlciAzMi4KICAgIC0gcmVuYW1lICdsM19jYXRfZ2V0X21heF9jb3NfbWF4JyB0byAnbDNf Y2F0X2dldF9jb3NfbWF4Jy4KICAgIC0gbW9kaWZ5IHZhcmlhYmxlcyBuYW1lcyB0byBtYWtlIHRo ZW0gYmV0dGVyLCBlLmcuICdmZWF0X3RtcCcgdG8gJ2ZlYXQnLgotLS0KIHhlbi9hcmNoL3g4Ni9w c3IuYyB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQogMSBmaWxlIGNoYW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5k ZXggZTlkYzA3YS4uN2YwNjIzNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBi L3hlbi9hcmNoL3g4Ni9wc3IuYwpAQCAtNTAsNiArNTAsOCBAQAogICovCiAjZGVmaW5lIE1BWF9D T1NfUkVHX0NOVCAgMTI4CiAKKyNkZWZpbmUgUFNSX0FTU09DX1JFR19QT1MgMzIKKwogLyoKICAq IFBTUiBmZWF0dXJlcyBhcmUgbWFuYWdlZCBwZXIgc29ja2V0LiBCZWxvdyBzdHJ1Y3R1cmUgZGVm aW5lcyB0aGUgbWVtYmVycwogICogdXNlZCB0byBtYW5hZ2UgdGhlc2UgZmVhdHVyZXMuCkBAIC0y MTEsNyArMjEzLDEzIEBAIHN0YXRpYyB2b2lkIGwzX2NhdF9pbml0X2ZlYXR1cmUoc3RydWN0IGNw dWlkX2xlYWZfcmVncyByZWdzLAogICAgICAgICAgICBmZWF0LT5pbmZvLmwzX2NhdF9pbmZvLmNi bV9sZW4pOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGwzX2NhdF9nZXRfY29zX21heChjb25z dCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KQoreworICAgIHJldHVybiBmZWF0LT5pbmZvLmwzX2Nh dF9pbmZvLmNvc19tYXg7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0 X29wcyA9IHsKKyAgICAuZ2V0X2Nvc19tYXggPSBsM19jYXRfZ2V0X2Nvc19tYXgsCiB9OwogCiBz dGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNo YXIgKmZlYXR1cmUsCkBAIC0zNTUsMTEgKzM2MywzMyBAQCB2b2lkIHBzcl9mcmVlX3JtaWQoc3Ry dWN0IGRvbWFpbiAqZCkKICAgICBkLT5hcmNoLnBzcl9ybWlkID0gMDsKIH0KIAorc3RhdGljIGlu bGluZSB1bnNpZ25lZCBpbnQgZ2V0X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0 X2luZm8gKmluZm8pCit7CisgICAgY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdDsKKyAgICB1 bnNpZ25lZCBpbnQgY29zX21heCA9IDA7CisKKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGZlYXQs ICZpbmZvLT5mZWF0X2xpc3QsIGxpc3QpCisgICAgICAgIGNvc19tYXggPSBtYXgoZmVhdC0+b3Bz LmdldF9jb3NfbWF4KGZlYXQpLCBjb3NfbWF4KTsKKworICAgIHJldHVybiBjb3NfbWF4OworfQor CiBzdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX2luaXQodm9pZCkKIHsKICAgICBzdHJ1Y3Qg cHNyX2Fzc29jICpwc3JhID0gJnRoaXNfY3B1KHBzcl9hc3NvYyk7CiAKLSAgICBpZiAoIHBzcl9j bXRfZW5hYmxlZCgpICkKKyAgICBpZiAoIHNvY2tldF9pbmZvICkKKyAgICB7CisgICAgICAgIHVu c2lnbmVkIGludCBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSk7Cisg ICAgICAgIGNvbnN0IHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBzb2NrZXRfaW5mbyAr IHNvY2tldDsKKyAgICAgICAgdW5zaWduZWQgaW50IGNvc19tYXggPSBnZXRfbWF4X2Nvc19tYXgo aW5mbyk7CisKKyAgICAgICAgaWYgKCBpbmZvLT5mZWF0X21hc2sgKQorICAgICAgICAgICAgcHNy YS0+Y29zX21hc2sgPSAoKDF1bGwgPDwgZ2V0X2NvdW50X29yZGVyKGNvc19tYXgpKSAtIDEpIDw8 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQU1JfQVNTT0NfUkVHX1BPUzsKKyAgICB9 CisKKyAgICBpZiAoIHBzcl9jbXRfZW5hYmxlZCgpIHx8IHBzcmEtPmNvc19tYXNrICkKICAgICAg ICAgcmRtc3JsKE1TUl9JQTMyX1BTUl9BU1NPQywgcHNyYS0+dmFsKTsKIH0KIApAQCAtMzY4LDYg KzM5OCwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgcHNyX2Fzc29jX3JtaWQodWludDY0X3QgKnJl ZywgdW5zaWduZWQgaW50IHJtaWQpCiAgICAgKnJlZyA9ICgqcmVnICYgfnJtaWRfbWFzaykgfCAo cm1pZCAmIHJtaWRfbWFzayk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBwc3JfYXNzb2NfY29z KHVpbnQ2NF90ICpyZWcsIHVuc2lnbmVkIGludCBjb3MsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1aW50NjRfdCBjb3NfbWFzaykKK3sKKyAgICAqcmVnID0gKCpyZWcgJiB+Y29z X21hc2spIHwKKyAgICAgICAgICAgICgoKHVpbnQ2NF90KWNvcyA8PCBQU1JfQVNTT0NfUkVHX1BP UykgJiBjb3NfbWFzayk7Cit9CisKIHZvaWQgcHNyX2N0eHRfc3dpdGNoX3RvKHN0cnVjdCBkb21h aW4gKmQpCiB7CiAgICAgc3RydWN0IHBzcl9hc3NvYyAqcHNyYSA9ICZ0aGlzX2NwdShwc3JfYXNz b2MpOwpAQCAtMzc2LDYgKzQxMywxMSBAQCB2b2lkIHBzcl9jdHh0X3N3aXRjaF90byhzdHJ1Y3Qg ZG9tYWluICpkKQogICAgIGlmICggcHNyX2NtdF9lbmFibGVkKCkgKQogICAgICAgICBwc3JfYXNz b2Nfcm1pZCgmcmVnLCBkLT5hcmNoLnBzcl9ybWlkKTsKIAorICAgIGlmICggcHNyYS0+Y29zX21h c2sgKQorICAgICAgICBwc3JfYXNzb2NfY29zKCZyZWcsIGQtPmFyY2gucHNyX2Nvc19pZHMgPwor ICAgICAgICAgICAgICAgICAgICAgIGQtPmFyY2gucHNyX2Nvc19pZHNbY3B1X3RvX3NvY2tldChz bXBfcHJvY2Vzc29yX2lkKCkpXSA6CisgICAgICAgICAgICAgICAgICAgICAgMCwgcHNyYS0+Y29z X21hc2spOworCiAgICAgaWYgKCByZWcgIT0gcHNyYS0+dmFsICkKICAgICB7CiAgICAgICAgIHdy bXNybChNU1JfSUEzMl9QU1JfQVNTT0MsIHJlZyk7CkBAIC00MDEsMTQgKzQ0MywzMiBAQCBpbnQg cHNyX3NldF9sM19jYm0oc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHNvY2tldCwKICAg ICByZXR1cm4gMDsKIH0KIAorLyogQ2FsbGVkIHdpdGggZG9tYWluIGxvY2sgaGVsZCwgbm8gZXh0 cmEgbG9jayBuZWVkZWQgZm9yICdwc3JfY29zX2lkcycgKi8KK3N0YXRpYyB2b2lkIHBzcl9mcmVl X2NvcyhzdHJ1Y3QgZG9tYWluICpkKQoreworICAgIGlmKCAhZC0+YXJjaC5wc3JfY29zX2lkcyAp CisgICAgICAgIHJldHVybjsKKworICAgIHhmcmVlKGQtPmFyY2gucHNyX2Nvc19pZHMpOworICAg IGQtPmFyY2gucHNyX2Nvc19pZHMgPSBOVUxMOworfQorCiBpbnQgcHNyX2RvbWFpbl9pbml0KHN0 cnVjdCBkb21haW4gKmQpCiB7CisgICAgaWYgKCBzb2NrZXRfaW5mbyApCisgICAgeworICAgICAg ICBkLT5hcmNoLnBzcl9jb3NfaWRzID0geHphbGxvY19hcnJheSh1bnNpZ25lZCBpbnQsIG5yX3Nv Y2tldHMpOworICAgICAgICBpZiAoICFkLT5hcmNoLnBzcl9jb3NfaWRzICkKKyAgICAgICAgICAg IHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJldHVybiAwOwogfQogCiB2b2lkIHBzcl9k b21haW5fZnJlZShzdHJ1Y3QgZG9tYWluICpkKQogewogICAgIHBzcl9mcmVlX3JtaWQoZCk7Cisg ICAgcHNyX2ZyZWVfY29zKGQpOwogfQogCiBzdGF0aWMgdm9pZCBjcHVfaW5pdF93b3JrKHZvaWQp Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=