From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4 13/24] x86: refactor psr: implement CPU init and free flow for CDP. Date: Wed, 14 Dec 2016 12:07:53 +0800 Message-ID: <1481688484-5093-14-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-0005fK-Rz for xen-devel@lists.xenproject.org; Wed, 14 Dec 2016 11:10:14 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBDUFUgaW5pdCBhbmQgZnJlZSBmbG93IGZvciBDRFAg aW5jbHVkaW5nIEwzIENEUAppbml0aWFsaXphdGlvbiBjYWxsYmFjayBmdW5jdGlvbi4KClNpZ25l ZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KIHhlbi9hcmNo L3g4Ni9wc3IuYyB8IDEwMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bz ci5jCmluZGV4IGVjNzU3YTIuLjA5ZGExMmMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3Iu YworKysgYi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTkxLDYgKzkxLDcgQEAgc3RydWN0IHBzcl9j YXRfaHdfaW5mbyB7CiBzdHJ1Y3QgZmVhdF9od19pbmZvIHsKICAgICB1bmlvbiB7CiAgICAgICAg IHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDNfY2F0X2luZm87CisgICAgICAgIHN0cnVjdCBwc3Jf Y2F0X2h3X2luZm8gbDNfY2RwX2luZm87CiAgICAgfTsKIH07CiAKQEAgLTIxMyw2ICsyMTQsMjIg QEAgc3RydWN0IGZlYXRfbm9kZSB7CiAgICAgc3RydWN0IGxpc3RfaGVhZCBsaXN0OwogfTsKIAor LyoKKyAqIGdldF9kYXRhIC0gZ2V0IERBVEEgQ09TIHJlZ2lzdGVyIHZhbHVlIGZyb20gaW5wdXQg Q09TIElELgorICogQGZlYXQ6ICAgICAgICB0aGUgZmVhdHVyZSBsaXN0IGVudHJ5LgorICogQGNv czogICAgICAgICB0aGUgQ09TIElELgorICovCisjZGVmaW5lIGdldF9jZHBfZGF0YShmZWF0LCBj b3MpICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgKCBmZWF0LT5jb3NfcmVnX3ZhbFtj b3MgKiAyXSApCisKKy8qCisgKiBnZXRfY2RwX2NvZGUgLSBnZXQgQ09ERSBDT1MgcmVnaXN0ZXIg dmFsdWUgZnJvbSBpbnB1dCBDT1MgSUQuCisgKiBAZmVhdDogICAgICAgIHRoZSBmZWF0dXJlIGxp c3QgZW50cnkuCisgKiBAY29zOiAgICAgICAgIHRoZSBDT1MgSUQuCisgKi8KKyNkZWZpbmUgZ2V0 X2NkcF9jb2RlKGZlYXQsIGNvcykgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAoIGZl YXQtPmNvc19yZWdfdmFsW2NvcyAqIDIgKyAxXSApCisKIHN0cnVjdCBwc3JfYXNzb2MgewogICAg IHVpbnQ2NF90IHZhbDsKICAgICB1aW50NjRfdCBjb3NfbWFzazsKQEAgLTIzMCw2ICsyNDcsNyBA QCBzdGF0aWMgREVGSU5FX1BFUl9DUFUoc3RydWN0IHBzcl9hc3NvYywgcHNyX2Fzc29jKTsKIAog LyogRGVjbGFyZSBmZWF0dXJlIGxpc3QgZW50cnkuICovCiBzdGF0aWMgc3RydWN0IGZlYXRfbm9k ZSAqZmVhdF9sM19jYXQ7CitzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sM19jZHA7CiAK IC8qIENvbW1vbiBmdW5jdGlvbnMuICovCiBzdGF0aWMgdm9pZCBmcmVlX2ZlYXR1cmUoc3RydWN0 IHBzcl9zb2NrZXRfaW5mbyAqaW5mbykKQEAgLTI1Miw2ICsyNzAsMTIgQEAgc3RhdGljIHZvaWQg ZnJlZV9mZWF0dXJlKHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCiAgICAgICAgIHhmcmVl KGZlYXRfbDNfY2F0KTsKICAgICAgICAgZmVhdF9sM19jYXQgPSBOVUxMOwogICAgIH0KKworICAg IGlmICggZmVhdF9sM19jZHAgKQorICAgIHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jZHApOwor ICAgICAgICBmZWF0X2wzX2NkcCA9IE5VTEw7CisgICAgfQogfQogCiBzdGF0aWMgYm9vbF90IHBz cl9jaGVja19jYm0odW5zaWduZWQgaW50IGNibV9sZW4sIHVpbnQ2NF90IGNibSkKQEAgLTQ3NCw2 ICs0OTgsNjEgQEAgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLndyaXRlX21z ciA9IGwzX2NhdF93cml0ZV9tc3IsCiB9OwogCisvKiBMMyBDRFAgY2FsbGJhY2sgZnVuY3Rpb25z IGltcGxlbWVudGF0aW9uLiAqLworc3RhdGljIHZvaWQgbDNfY2RwX2luaXRfZmVhdHVyZSh1bnNp Z25lZCBpbnQgZWF4LCB1bnNpZ25lZCBpbnQgZWJ4LAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1bnNpZ25lZCBpbnQgZWN4LCB1bnNpZ25lZCBpbnQgZWR4LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQoreworICAg IHN0cnVjdCBwc3JfY2F0X2h3X2luZm8gbDNfY2RwOworICAgIHVuc2lnbmVkIGludCBzb2NrZXQ7 CisgICAgdWludDY0X3QgdmFsOworCisgICAgLyogTm8gdmFsaWQgdmFsdWUgc28gZG8gbm90IGVu YWJsZSBmZWF0dXJlLiAqLworICAgIGlmICggIWVheCB8fCAhZWR4ICkKKyAgICAgICAgcmV0dXJu OworCisgICAgbDNfY2RwLmNibV9sZW4gPSAoZWF4ICYgQ0FUX0NCTV9MRU5fTUFTSykgKyAxOwor ICAgIC8qIEN1dCBoYWxmIG9mIGNvc19tYXggd2hlbiBDRFAgaXMgZW5hYmxlZC4gKi8KKyAgICBs M19jZHAuY29zX21heCA9IG1pbihvcHRfY29zX21heCwgZWR4ICYgQ0FUX0NPU19NQVhfTUFTSykg Pj4gMTsKKworICAgIC8qIGNvcz0wIGlzIHJlc2VydmVkIGFzIGRlZmF1bHQgY2JtKGFsbCBvbmVz KS4gKi8KKyAgICBnZXRfY2RwX2NvZGUoZmVhdCwgMCkgPQorICAgICAgICAgICAgICAgICAoMXVs bCA8PCBsM19jZHAuY2JtX2xlbikgLSAxOworICAgIGdldF9jZHBfZGF0YShmZWF0LCAwKSA9Cisg ICAgICAgICAgICAgICAgICgxdWxsIDw8IGwzX2NkcC5jYm1fbGVuKSAtIDE7CisKKyAgICAvKiBX ZSBvbmx5IHdyaXRlIG1hc2sxIHNpbmNlIG1hc2swIGlzIGFsd2F5cyBhbGwgb25lcyBieSBkZWZh dWx0LiAqLworICAgIHdybXNybChNU1JfSUEzMl9QU1JfTDNfTUFTSygxKSwgKDF1bGwgPDwgbDNf Y2RwLmNibV9sZW4pIC0gMSk7CisgICAgcmRtc3JsKE1TUl9JQTMyX1BTUl9MM19RT1NfQ0ZHLCB2 YWwpOworICAgIHdybXNybChNU1JfSUEzMl9QU1JfTDNfUU9TX0NGRywgdmFsIHwgKDEgPDwgUFNS X0wzX1FPU19DRFBfRU5BQkxFX0JJVCkpOworCisgICAgZmVhdC0+ZmVhdHVyZSA9IFBTUl9TT0NL RVRfTDNfQ0RQOworICAgIF9fc2V0X2JpdChQU1JfU09DS0VUX0wzX0NEUCwgJmluZm8tPmZlYXRf bWFzayk7CisKKyAgICBmZWF0LT5pbmZvLmwzX2NkcF9pbmZvID0gbDNfY2RwOworCisgICAgaW5m by0+bnJfZmVhdCsrOworCisgICAgLyogQWRkIHRoaXMgZmVhdHVyZSBpbnRvIGxpc3QuICovCisg ICAgbGlzdF9hZGRfdGFpbCgmZmVhdC0+bGlzdCwgJmluZm8tPmZlYXRfbGlzdCk7CisKKyAgICBz b2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSk7CisgICAgcHJpbnRrKFhF TkxPR19JTkZPICJMMyBDRFA6IGVuYWJsZWQgb24gc29ja2V0ICV1LCBjb3NfbWF4OiV1LCBjYm1f bGVuOiV1XG4iLAorICAgICAgICAgICBzb2NrZXQsIGZlYXQtPmluZm8ubDNfY2RwX2luZm8uY29z X21heCwKKyAgICAgICAgICAgZmVhdC0+aW5mby5sM19jZHBfaW5mby5jYm1fbGVuKTsKK30KKwor c3RhdGljIHVuc2lnbmVkIGludCBsM19jZHBfZ2V0X21heF9jb3NfbWF4KGNvbnN0IHN0cnVjdCBm ZWF0X25vZGUgKmZlYXQpCit7CisgICAgcmV0dXJuIGZlYXQtPmluZm8ubDNfY2RwX2luZm8uY29z X21heDsKK30KKworc3RydWN0IGZlYXRfb3BzIGwzX2NkcF9vcHMgPSB7CisgICAgLmluaXRfZmVh dHVyZSA9IGwzX2NkcF9pbml0X2ZlYXR1cmUsCisgICAgLmdldF9tYXhfY29zX21heCA9IGwzX2Nk cF9nZXRfbWF4X2Nvc19tYXgsCit9OworCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jv b2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1hc2spCiB7CkBAIC0xMTU5LDYgKzEyMzgs MTQgQEAgc3RhdGljIGludCBjcHVfcHJlcGFyZV93b3JrKHVuc2lnbmVkIGludCBjcHUpCiAgICAg ICAgICAoZmVhdF9sM19jYXQgPSB4emFsbG9jKHN0cnVjdCBmZWF0X25vZGUpKSA9PSBOVUxMICkK ICAgICAgICAgcmV0dXJuIC1FTk9NRU07CiAKKyAgICBpZiAoIGZlYXRfbDNfY2RwID09IE5VTEwg JiYKKyAgICAgICAgIChmZWF0X2wzX2NkcCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09 IE5VTEwgKQorICAgIHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jYXQpOworICAgICAgICBmZWF0 X2wzX2NhdCA9IE5VTEw7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJl dHVybiAwOwogfQogCkBAIC0xMTg2LDkgKzEyNzMsMTcgQEAgc3RhdGljIHZvaWQgY3B1X2luaXRf d29yayh2b2lkKQogICAgIHsKICAgICAgICAgY3B1aWRfY291bnQoUFNSX0NQVUlEX0xFVkVMX0NB VCwgMSwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CiAKLSAgICAgICAgZmVhdF90bXAgPSBmZWF0 X2wzX2NhdDsKLSAgICAgICAgZmVhdF9sM19jYXQgPSBOVUxMOwotICAgICAgICBmZWF0X3RtcC0+ b3BzID0gbDNfY2F0X29wczsKKyAgICAgICAgaWYgKCAoZWN4ICYgUFNSX0NBVF9DRFBfQ0FQQUJJ TElUWSkgJiYgKG9wdF9wc3IgJiBQU1JfQ0RQKSAmJgorICAgICAgICAgICAgICF0ZXN0X2JpdChQ U1JfU09DS0VUX0wzX0NEUCwgJmluZm8tPmZlYXRfbWFzaykgKQorICAgICAgICB7CisgICAgICAg ICAgICBmZWF0X3RtcCA9IGZlYXRfbDNfY2RwOworICAgICAgICAgICAgZmVhdF9sM19jZHAgPSBO VUxMOworICAgICAgICAgICAgZmVhdF90bXAtPm9wcyA9IGwzX2NkcF9vcHM7CisgICAgICAgIH0g ZWxzZSB7CisgICAgICAgICAgICBmZWF0X3RtcCA9IGZlYXRfbDNfY2F0OworICAgICAgICAgICAg ZmVhdF9sM19jYXQgPSBOVUxMOworICAgICAgICAgICAgZmVhdF90bXAtPm9wcyA9IGwzX2NhdF9v cHM7CisgICAgICAgIH0KIAogICAgICAgICBmZWF0X3RtcC0+b3BzLmluaXRfZmVhdHVyZShlYXgs IGVieCwgZWN4LCBlZHgsIGZlYXRfdG1wLCBpbmZvKTsKICAgICB9Ci0tIAoxLjkuMQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=