From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v6 13/24] x86: refactor psr: implement CPU init and free flow for CDP. Date: Wed, 8 Feb 2017 16:16:05 +0800 Message-ID: <1486541776-8406-14-git-send-email-yi.y.sun@linux.intel.com> References: <1486541776-8406-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cbNTX-00064D-9D for xen-devel@lists.xenproject.org; Wed, 08 Feb 2017 08:19:39 +0000 In-Reply-To: <1486541776-8406-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 ZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KdjY6CiAgICAt IHVzZSAnc3RydWN0IGNwdWlkX2xlYWYnIGluIHg4Nl9lbXVsYXRlLmguCiAgICAtIHVzZSBjcHVp ZF9jb3VudF9sZWFmKCkgdG8gZ2V0IGNwdWlkIGluZm8uCi0tLQogeGVuL2FyY2gveDg2L3Bzci5j IHwgMTA0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tCiAxIGZpbGUgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXgg MjNiZjhkOC4uMDczOWMxYyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hl bi9hcmNoL3g4Ni9wc3IuYwpAQCAtOTcsNiArOTcsNyBAQCBzdHJ1Y3QgcHNyX2NhdF9od19pbmZv IHsKIHN0cnVjdCBmZWF0X2h3X2luZm8gewogICAgIHVuaW9uIHsKICAgICAgICAgc3RydWN0IHBz cl9jYXRfaHdfaW5mbyBsM19jYXRfaW5mbzsKKyAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5m byBsM19jZHBfaW5mbzsKICAgICB9OwogfTsKIApAQCAtMTk1LDYgKzE5NiwyMiBAQCBzdHJ1Y3Qg ZmVhdF9ub2RlIHsKICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CiB9OwogCisvKgorICogZ2V0 X2RhdGEgLSBnZXQgREFUQSBDT1MgcmVnaXN0ZXIgdmFsdWUgZnJvbSBpbnB1dCBDT1MgSUQuCisg KiBAZmVhdDogICAgICAgIHRoZSBmZWF0dXJlIGxpc3QgZW50cnkuCisgKiBAY29zOiAgICAgICAg IHRoZSBDT1MgSUQuCisgKi8KKyNkZWZpbmUgZ2V0X2NkcF9kYXRhKGZlYXQsIGNvcykgICAgICAg ICAgICAgICAgICBcCisgICAgICAgICAgICAoIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIDJdICkK KworLyoKKyAqIGdldF9jZHBfY29kZSAtIGdldCBDT0RFIENPUyByZWdpc3RlciB2YWx1ZSBmcm9t IGlucHV0IENPUyBJRC4KKyAqIEBmZWF0OiAgICAgICAgdGhlIGZlYXR1cmUgbGlzdCBlbnRyeS4K KyAqIEBjb3M6ICAgICAgICAgdGhlIENPUyBJRC4KKyAqLworI2RlZmluZSBnZXRfY2RwX2NvZGUo ZmVhdCwgY29zKSAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICggZmVhdC0+Y29zX3Jl Z192YWxbY29zICogMiArIDFdICkKKwogc3RydWN0IHBzcl9hc3NvYyB7CiAgICAgdWludDY0X3Qg dmFsOwogICAgIHVpbnQ2NF90IGNvc19tYXNrOwpAQCAtMjE3LDYgKzIzNCw3IEBAIHN0YXRpYyBE RUZJTkVfUEVSX0NQVShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3JfYXNzb2MpOwogICogY3B1X2FkZF9y ZW1vdmVfbG9jayBzcGlubG9jay4KICAqLwogc3RhdGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRf bDNfY2F0Oworc3RhdGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDNfY2RwOwogCiAvKiBDb21t b24gZnVuY3Rpb25zLiAqLwogc3RhdGljIHZvaWQgZnJlZV9mZWF0dXJlKHN0cnVjdCBwc3Jfc29j a2V0X2luZm8gKmluZm8pCkBAIC00NTQsNiArNDcyLDYzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKICAgICAud3JpdGVfbXNyID0gbDNfY2F0X3dyaXRlX21z ciwKIH07CiAKKy8qIEwzIENEUCBmdW5jdGlvbnMgaW1wbGVtZW50YXRpb24uICovCitzdGF0aWMg dm9pZCBsM19jZHBfaW5pdF9mZWF0dXJlKHN0cnVjdCBjcHVpZF9sZWFmIHJlZ3MsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7 CisgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsM19jZHA7CisgICAgdW5zaWduZWQgaW50IHNv Y2tldDsKKyAgICB1aW50NjRfdCB2YWw7CisKKyAgICAvKiBObyB2YWxpZCB2YWx1ZSBzbyBkbyBu b3QgZW5hYmxlIGZlYXR1cmUuICovCisgICAgaWYgKCAhcmVncy5hIHx8ICFyZWdzLmQgKQorICAg ICAgICByZXR1cm47CisKKyAgICBsM19jZHAuY2JtX2xlbiA9IChyZWdzLmEgJiBDQVRfQ0JNX0xF Tl9NQVNLKSArIDE7CisgICAgLyogQ3V0IGhhbGYgb2YgY29zX21heCB3aGVuIENEUCBpcyBlbmFi bGVkLiAqLworICAgIGwzX2NkcC5jb3NfbWF4ID0gbWluKG9wdF9jb3NfbWF4LCByZWdzLmQgJiBD QVRfQ09TX01BWF9NQVNLKSA+PiAxOworCisgICAgLyogY29zPTAgaXMgcmVzZXJ2ZWQgYXMgZGVm YXVsdCBjYm0oYWxsIG9uZXMpLiAqLworICAgIGdldF9jZHBfY29kZShmZWF0LCAwKSA9CisgICAg ICAgICAgICAgICAgICgxdWxsIDw8IGwzX2NkcC5jYm1fbGVuKSAtIDE7CisgICAgZ2V0X2NkcF9k YXRhKGZlYXQsIDApID0KKyAgICAgICAgICAgICAgICAgKDF1bGwgPDwgbDNfY2RwLmNibV9sZW4p IC0gMTsKKworICAgIC8qIFdlIG9ubHkgd3JpdGUgbWFzazEgc2luY2UgbWFzazAgaXMgYWx3YXlz IGFsbCBvbmVzIGJ5IGRlZmF1bHQuICovCisgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19NQVNL KDEpLCAoMXVsbCA8PCBsM19jZHAuY2JtX2xlbikgLSAxKTsKKyAgICByZG1zcmwoTVNSX0lBMzJf UFNSX0wzX1FPU19DRkcsIHZhbCk7CisgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19RT1NfQ0ZH LCB2YWwgfCAoMSA8PCBQU1JfTDNfUU9TX0NEUF9FTkFCTEVfQklUKSk7CisKKyAgICBmZWF0LT5m ZWF0dXJlID0gUFNSX1NPQ0tFVF9MM19DRFA7CisgICAgQVNTRVJUKCF0ZXN0X2JpdChQU1JfU09D S0VUX0wzX0NEUCwgJmluZm8tPmZlYXRfbWFzaykpOworICAgIF9fc2V0X2JpdChQU1JfU09DS0VU X0wzX0NEUCwgJmluZm8tPmZlYXRfbWFzayk7CisKKyAgICBmZWF0LT5pbmZvLmwzX2NkcF9pbmZv ID0gbDNfY2RwOworCisgICAgaW5mby0+bnJfZmVhdCsrOworCisgICAgLyogQWRkIHRoaXMgZmVh dHVyZSBpbnRvIGxpc3QuICovCisgICAgbGlzdF9hZGRfdGFpbCgmZmVhdC0+bGlzdCwgJmluZm8t PmZlYXRfbGlzdCk7CisKKyAgICBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3Jf aWQoKSk7CisgICAgaWYgKCAhb3B0X2NwdV9pbmZvICkKKyAgICAgICAgcmV0dXJuOworCisgICAg cHJpbnRrKFhFTkxPR19JTkZPICJMMyBDRFA6IGVuYWJsZWQgb24gc29ja2V0ICV1LCBjb3NfbWF4 OiV1LCBjYm1fbGVuOiV1XG4iLAorICAgICAgICAgICBzb2NrZXQsIGZlYXQtPmluZm8ubDNfY2Rw X2luZm8uY29zX21heCwKKyAgICAgICAgICAgZmVhdC0+aW5mby5sM19jZHBfaW5mby5jYm1fbGVu KTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBsM19jZHBfZ2V0X2Nvc19tYXgoY29uc3Qgc3Ry dWN0IGZlYXRfbm9kZSAqZmVhdCkKK3sKKyAgICByZXR1cm4gZmVhdC0+aW5mby5sM19jZHBfaW5m by5jb3NfbWF4OworfQorCitzdHJ1Y3QgZmVhdF9vcHMgbDNfY2RwX29wcyA9IHsKKyAgICAuZ2V0 X2Nvc19tYXggPSBsM19jZHBfZ2V0X2Nvc19tYXgsCit9OworCiBzdGF0aWMgdm9pZCBfX2luaXQg cGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1hc2spCiB7CkBAIC0x MjExLDEyICsxMjg2LDIxIEBAIHN0YXRpYyB2b2lkIGNwdV9pbml0X3dvcmsodm9pZCkKICAgICB7 CiAgICAgICAgIGNwdWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMSwgJnJlZ3Mp OwogCi0gICAgICAgIGZlYXQgPSBmZWF0X2wzX2NhdDsKLSAgICAgICAgLyogcHNyX2NwdV9wcmVw YXJlIHdpbGwgYWxsb2NhdGUgaXQgb24gc3Vic2VxdWVudCBDUFUgb25saW5pbmcuICovCi0gICAg ICAgIGZlYXRfbDNfY2F0ID0gTlVMTDsKLSAgICAgICAgZmVhdC0+b3BzID0gbDNfY2F0X29wczsK LQotICAgICAgICBsM19jYXRfaW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8pOworICAgICAg ICBpZiAoIChyZWdzLmMgJiBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZKSAmJiAob3B0X3BzciAmIFBT Ul9DRFApICYmCisgICAgICAgICAgICAgIXRlc3RfYml0KFBTUl9TT0NLRVRfTDNfQ0RQLCAmaW5m by0+ZmVhdF9tYXNrKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGZlYXQgPSBmZWF0X2wzX2Nk cDsKKyAgICAgICAgICAgIC8qIHBzcl9jcHVfcHJlcGFyZSB3aWxsIGFsbG9jYXRlIGl0IG9uIHN1 YnNlcXVlbnQgQ1BVIG9ubGluaW5nLiAqLworICAgICAgICAgICAgZmVhdF9sM19jZHAgPSBOVUxM OworICAgICAgICAgICAgZmVhdC0+b3BzID0gbDNfY2RwX29wczsKKyAgICAgICAgICAgIGwzX2Nk cF9pbml0X2ZlYXR1cmUocmVncywgZmVhdCwgaW5mbyk7CisgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICBmZWF0ID0gZmVhdF9sM19jYXQ7CisgICAgICAgICAgICAvKiBwc3JfY3B1X3ByZXBh cmUgd2lsbCBhbGxvY2F0ZSBpdCBvbiBzdWJzZXF1ZW50IENQVSBvbmxpbmluZy4gKi8KKyAgICAg ICAgICAgIGZlYXRfbDNfY2F0ID0gTlVMTDsKKyAgICAgICAgICAgIGZlYXQtPm9wcyA9IGwzX2Nh dF9vcHM7CisgICAgICAgICAgICBsM19jYXRfaW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8p OworICAgICAgICB9CiAgICAgfQogfQogCkBAIC0xMjY4LDYgKzEzNTIsMTQgQEAgc3RhdGljIGlu dCBwc3JfY3B1X3ByZXBhcmUodW5zaWduZWQgaW50IGNwdSkKICAgICAgICAgIChmZWF0X2wzX2Nh dCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5VTEwgKQogICAgICAgICByZXR1cm4g LUVOT01FTTsKIAorICAgIGlmICggZmVhdF9sM19jZHAgPT0gTlVMTCAmJgorICAgICAgICAgKGZl YXRfbDNfY2RwID0geHphbGxvYyhzdHJ1Y3QgZmVhdF9ub2RlKSkgPT0gTlVMTCApCisgICAgewor ICAgICAgICB4ZnJlZShmZWF0X2wzX2NhdCk7CisgICAgICAgIGZlYXRfbDNfY2F0ID0gTlVMTDsK KyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKLS0g CjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==