From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v8 13/24] x86: refactor psr: implement CPU init and free flow for CDP. Date: Wed, 15 Feb 2017 16:49:28 +0800 Message-ID: <1487148579-7243-14-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 1cdvL7-0007Mv-70 for xen-devel@lists.xenproject.org; Wed, 15 Feb 2017 08:53:29 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBDUFUgaW5pdCBhbmQgZnJlZSBmbG93IGZvciBDRFAg aW5jbHVkaW5nIEwzIENEUAppbml0aWFsaXphdGlvbiBjYWxsYmFjayBmdW5jdGlvbi4KClNpZ25l ZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KIHhlbi9hcmNo L3g4Ni9wc3IuYyB8IDEwNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDYgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bz ci5jCmluZGV4IDgyYmI4ZmUuLjRjMDg3NzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3Iu YworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTk3LDYgKzk3LDcgQEAgc3RydWN0IHBzcl9j YXRfaHdfaW5mbyB7CiBzdHJ1Y3QgZmVhdF9od19pbmZvIHsKICAgICB1bmlvbiB7CiAgICAgICAg IHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDNfY2F0X2luZm87CisgICAgICAgIHN0cnVjdCBwc3Jf Y2F0X2h3X2luZm8gbDNfY2RwX2luZm87CiAgICAgfTsKIH07CiAKQEAgLTE5NSw2ICsxOTYsMjIg QEAgc3RydWN0IGZlYXRfbm9kZSB7CiAgICAgc3RydWN0IGxpc3RfaGVhZCBsaXN0OwogfTsKIAor LyoKKyAqIGdldF9kYXRhIC0gZ2V0IERBVEEgQ09TIHJlZ2lzdGVyIHZhbHVlIGZyb20gaW5wdXQg Q09TIElELgorICogQGZlYXQ6ICAgICAgICB0aGUgZmVhdHVyZSBsaXN0IGVudHJ5LgorICogQGNv czogICAgICAgICB0aGUgQ09TIElELgorICovCisjZGVmaW5lIGdldF9jZHBfZGF0YShmZWF0LCBj b3MpICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgKCBmZWF0LT5jb3NfcmVnX3ZhbFtj b3MgKiAyXSApCisKKy8qCisgKiBnZXRfY2RwX2NvZGUgLSBnZXQgQ09ERSBDT1MgcmVnaXN0ZXIg dmFsdWUgZnJvbSBpbnB1dCBDT1MgSUQuCisgKiBAZmVhdDogICAgICAgIHRoZSBmZWF0dXJlIGxp c3QgZW50cnkuCisgKiBAY29zOiAgICAgICAgIHRoZSBDT1MgSUQuCisgKi8KKyNkZWZpbmUgZ2V0 X2NkcF9jb2RlKGZlYXQsIGNvcykgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAoIGZl YXQtPmNvc19yZWdfdmFsW2NvcyAqIDIgKyAxXSApCisKIHN0cnVjdCBwc3JfYXNzb2MgewogICAg IHVpbnQ2NF90IHZhbDsKICAgICB1aW50NjRfdCBjb3NfbWFzazsKQEAgLTIxNyw2ICsyMzQsNyBA QCBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHBzcl9hc3NvYywgcHNyX2Fzc29jKTsKICAq IGNwdV9hZGRfcmVtb3ZlX2xvY2sgc3BpbmxvY2suCiAgKi8KIHN0YXRpYyBzdHJ1Y3QgZmVhdF9u b2RlICpmZWF0X2wzX2NhdDsKK3N0YXRpYyBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0X2wzX2NkcDsK IAogLyogQ29tbW9uIGZ1bmN0aW9ucy4gKi8KIHN0YXRpYyB2b2lkIGZyZWVfZmVhdHVyZShzdHJ1 Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQpAQCAtNDU3LDYgKzQ3NSw2MyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLndyaXRlX21zciA9IGwzX2Nh dF93cml0ZV9tc3IsCiB9OwogCisvKiBMMyBDRFAgZnVuY3Rpb25zIGltcGxlbWVudGF0aW9uLiAq Lworc3RhdGljIHZvaWQgbDNfY2RwX2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRfbGVhZiByZWdz LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0 LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZv ICppbmZvKQoreworICAgIHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDNfY2RwID0geyB9OworICAg IHVuc2lnbmVkIGludCBzb2NrZXQ7CisgICAgdWludDY0X3QgdmFsOworCisgICAgLyogTm8gdmFs aWQgdmFsdWUgc28gZG8gbm90IGVuYWJsZSBmZWF0dXJlLiAqLworICAgIGlmICggIXJlZ3MuYSB8 fCAhcmVncy5kICkKKyAgICAgICAgcmV0dXJuOworCisgICAgbDNfY2RwLmNibV9sZW4gPSAocmVn cy5hICYgQ0FUX0NCTV9MRU5fTUFTSykgKyAxOworICAgIC8qIEN1dCBoYWxmIG9mIGNvc19tYXgg d2hlbiBDRFAgaXMgZW5hYmxlZC4gKi8KKyAgICBsM19jZHAuY29zX21heCA9IG1pbihvcHRfY29z X21heCwgcmVncy5kICYgQ0FUX0NPU19NQVhfTUFTSykgPj4gMTsKKworICAgIC8qIGNvcz0wIGlz IHJlc2VydmVkIGFzIGRlZmF1bHQgY2JtKGFsbCBvbmVzKS4gKi8KKyAgICBnZXRfY2RwX2NvZGUo ZmVhdCwgMCkgPQorICAgICAgICAgICAgICAgICAoMXVsbCA8PCBsM19jZHAuY2JtX2xlbikgLSAx OworICAgIGdldF9jZHBfZGF0YShmZWF0LCAwKSA9CisgICAgICAgICAgICAgICAgICgxdWxsIDw8 IGwzX2NkcC5jYm1fbGVuKSAtIDE7CisKKyAgICAvKiBXZSBvbmx5IHdyaXRlIG1hc2sxIHNpbmNl IG1hc2swIGlzIGFsd2F5cyBhbGwgb25lcyBieSBkZWZhdWx0LiAqLworICAgIHdybXNybChNU1Jf SUEzMl9QU1JfTDNfTUFTSygxKSwgKDF1bGwgPDwgbDNfY2RwLmNibV9sZW4pIC0gMSk7CisgICAg cmRtc3JsKE1TUl9JQTMyX1BTUl9MM19RT1NfQ0ZHLCB2YWwpOworICAgIHdybXNybChNU1JfSUEz Ml9QU1JfTDNfUU9TX0NGRywgdmFsIHwgKDEgPDwgUFNSX0wzX1FPU19DRFBfRU5BQkxFX0JJVCkp OworCisgICAgZmVhdC0+ZmVhdHVyZSA9IFBTUl9TT0NLRVRfTDNfQ0RQOworICAgIEFTU0VSVCgh dGVzdF9iaXQoUFNSX1NPQ0tFVF9MM19DRFAsICZpbmZvLT5mZWF0X21hc2spKTsKKyAgICBfX3Nl dF9iaXQoUFNSX1NPQ0tFVF9MM19DRFAsICZpbmZvLT5mZWF0X21hc2spOworCisgICAgZmVhdC0+ aW5mby5sM19jZHBfaW5mbyA9IGwzX2NkcDsKKworICAgIGluZm8tPm5yX2ZlYXQrKzsKKworICAg IC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBsaXN0LiAqLworICAgIGxpc3RfYWRkX3RhaWwoJmZl YXQtPmxpc3QsICZpbmZvLT5mZWF0X2xpc3QpOworCisgICAgc29ja2V0ID0gY3B1X3RvX3NvY2tl dChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIGlmICggIW9wdF9jcHVfaW5mbyApCisgICAgICAg IHJldHVybjsKKworICAgIHByaW50ayhYRU5MT0dfSU5GTyAiTDMgQ0RQOiBlbmFibGVkIG9uIHNv Y2tldCAldSwgY29zX21heDoldSwgY2JtX2xlbjoldVxuIiwKKyAgICAgICAgICAgc29ja2V0LCBm ZWF0LT5pbmZvLmwzX2NkcF9pbmZvLmNvc19tYXgsCisgICAgICAgICAgIGZlYXQtPmluZm8ubDNf Y2RwX2luZm8uY2JtX2xlbik7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgbDNfY2RwX2dldF9j b3NfbWF4KGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0dXJuIGZlYXQt PmluZm8ubDNfY2RwX2luZm8uY29zX21heDsKK30KKworc3RydWN0IGZlYXRfb3BzIGwzX2NkcF9v cHMgPSB7CisgICAgLmdldF9jb3NfbWF4ID0gbDNfY2RwX2dldF9jb3NfbWF4LAorfTsKKwogc3Rh dGljIHZvaWQgX19pbml0IHBhcnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFy ICpmZWF0dXJlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBtYXNrKQogewpAQCAtMTIxMywxMiArMTI4OCwyMSBAQCBzdGF0aWMgdm9pZCBjcHVfaW5pdF93 b3JrKHZvaWQpCiAgICAgewogICAgICAgICBjcHVpZF9jb3VudF9sZWFmKFBTUl9DUFVJRF9MRVZF TF9DQVQsIDEsICZyZWdzKTsKIAotICAgICAgICBmZWF0ID0gZmVhdF9sM19jYXQ7Ci0gICAgICAg IC8qIHBzcl9jcHVfcHJlcGFyZSB3aWxsIGFsbG9jYXRlIGl0IG9uIHN1YnNlcXVlbnQgQ1BVIG9u bGluaW5nLiAqLwotICAgICAgICBmZWF0X2wzX2NhdCA9IE5VTEw7Ci0gICAgICAgIGZlYXQtPm9w cyA9IGwzX2NhdF9vcHM7Ci0KLSAgICAgICAgbDNfY2F0X2luaXRfZmVhdHVyZShyZWdzLCBmZWF0 LCBpbmZvKTsKKyAgICAgICAgaWYgKCAocmVncy5jICYgUFNSX0NBVF9DRFBfQ0FQQUJJTElUWSkg JiYgKG9wdF9wc3IgJiBQU1JfQ0RQKSAmJgorICAgICAgICAgICAgICF0ZXN0X2JpdChQU1JfU09D S0VUX0wzX0NEUCwgJmluZm8tPmZlYXRfbWFzaykgKQorICAgICAgICB7CisgICAgICAgICAgICBm ZWF0ID0gZmVhdF9sM19jZHA7CisgICAgICAgICAgICAvKiBwc3JfY3B1X3ByZXBhcmUgd2lsbCBh bGxvY2F0ZSBpdCBvbiBzdWJzZXF1ZW50IENQVSBvbmxpbmluZy4gKi8KKyAgICAgICAgICAgIGZl YXRfbDNfY2RwID0gTlVMTDsKKyAgICAgICAgICAgIGZlYXQtPm9wcyA9IGwzX2NkcF9vcHM7Cisg ICAgICAgICAgICBsM19jZHBfaW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8pOworICAgICAg ICB9IGVsc2UgeworICAgICAgICAgICAgZmVhdCA9IGZlYXRfbDNfY2F0OworICAgICAgICAgICAg LyogcHNyX2NwdV9wcmVwYXJlIHdpbGwgYWxsb2NhdGUgaXQgb24gc3Vic2VxdWVudCBDUFUgb25s aW5pbmcuICovCisgICAgICAgICAgICBmZWF0X2wzX2NhdCA9IE5VTEw7CisgICAgICAgICAgICBm ZWF0LT5vcHMgPSBsM19jYXRfb3BzOworICAgICAgICAgICAgbDNfY2F0X2luaXRfZmVhdHVyZShy ZWdzLCBmZWF0LCBpbmZvKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApAQCAtMTI2Nyw2ICsxMzUx LDE0IEBAIHN0YXRpYyBpbnQgcHNyX2NwdV9wcmVwYXJlKHZvaWQpCiAgICAgICAgICAoZmVhdF9s M19jYXQgPSB4emFsbG9jKHN0cnVjdCBmZWF0X25vZGUpKSA9PSBOVUxMICkKICAgICAgICAgcmV0 dXJuIC1FTk9NRU07CiAKKyAgICBpZiAoIGZlYXRfbDNfY2RwID09IE5VTEwgJiYKKyAgICAgICAg IChmZWF0X2wzX2NkcCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5VTEwgKQorICAg IHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jYXQpOworICAgICAgICBmZWF0X2wzX2NhdCA9IE5V TEw7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJldHVybiAwOwogfQog Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=