From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v7 13/24] x86: refactor psr: implement CPU init and free flow for CDP. Date: Mon, 13 Feb 2017 14:32:25 +0800 Message-ID: <1486967556-3702-14-git-send-email-yi.y.sun@linux.intel.com> References: <1486967556-3702-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 1cdAFJ-0006Ic-74 for xen-devel@lists.xenproject.org; Mon, 13 Feb 2017 06:36:21 +0000 In-Reply-To: <1486967556-3702-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 ZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0Kdjc6CiAgICAt IGluaXRpYWxpemUgJ2wzX2NkcCcuCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgMTA0ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tCiAxIGZpbGUg Y2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggMTcyODIzYS4uMmUw NjFiNSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNoL3g4Ni9w c3IuYwpAQCAtOTcsNiArOTcsNyBAQCBzdHJ1Y3QgcHNyX2NhdF9od19pbmZvIHsKIHN0cnVjdCBm ZWF0X2h3X2luZm8gewogICAgIHVuaW9uIHsKICAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5m byBsM19jYXRfaW5mbzsKKyAgICAgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsM19jZHBfaW5m bzsKICAgICB9OwogfTsKIApAQCAtMTk1LDYgKzE5NiwyMiBAQCBzdHJ1Y3QgZmVhdF9ub2RlIHsK ICAgICBzdHJ1Y3QgbGlzdF9oZWFkIGxpc3Q7CiB9OwogCisvKgorICogZ2V0X2RhdGEgLSBnZXQg REFUQSBDT1MgcmVnaXN0ZXIgdmFsdWUgZnJvbSBpbnB1dCBDT1MgSUQuCisgKiBAZmVhdDogICAg ICAgIHRoZSBmZWF0dXJlIGxpc3QgZW50cnkuCisgKiBAY29zOiAgICAgICAgIHRoZSBDT1MgSUQu CisgKi8KKyNkZWZpbmUgZ2V0X2NkcF9kYXRhKGZlYXQsIGNvcykgICAgICAgICAgICAgICAgICBc CisgICAgICAgICAgICAoIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIDJdICkKKworLyoKKyAqIGdl dF9jZHBfY29kZSAtIGdldCBDT0RFIENPUyByZWdpc3RlciB2YWx1ZSBmcm9tIGlucHV0IENPUyBJ RC4KKyAqIEBmZWF0OiAgICAgICAgdGhlIGZlYXR1cmUgbGlzdCBlbnRyeS4KKyAqIEBjb3M6ICAg ICAgICAgdGhlIENPUyBJRC4KKyAqLworI2RlZmluZSBnZXRfY2RwX2NvZGUoZmVhdCwgY29zKSAg ICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICggZmVhdC0+Y29zX3JlZ192YWxbY29zICog MiArIDFdICkKKwogc3RydWN0IHBzcl9hc3NvYyB7CiAgICAgdWludDY0X3QgdmFsOwogICAgIHVp bnQ2NF90IGNvc19tYXNrOwpAQCAtMjE3LDYgKzIzNCw3IEBAIHN0YXRpYyBERUZJTkVfUEVSX0NQ VShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3JfYXNzb2MpOwogICogY3B1X2FkZF9yZW1vdmVfbG9jayBz cGlubG9jay4KICAqLwogc3RhdGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDNfY2F0Oworc3Rh dGljIHN0cnVjdCBmZWF0X25vZGUgKmZlYXRfbDNfY2RwOwogCiAvKiBDb21tb24gZnVuY3Rpb25z LiAqLwogc3RhdGljIHZvaWQgZnJlZV9mZWF0dXJlKHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmlu Zm8pCkBAIC00NTQsNiArNDcyLDYzIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmVhdF9vcHMgbDNf Y2F0X29wcyA9IHsKICAgICAud3JpdGVfbXNyID0gbDNfY2F0X3dyaXRlX21zciwKIH07CiAKKy8q IEwzIENEUCBmdW5jdGlvbnMgaW1wbGVtZW50YXRpb24uICovCitzdGF0aWMgdm9pZCBsM19jZHBf aW5pdF9mZWF0dXJlKHN0cnVjdCBjcHVpZF9sZWFmIHJlZ3MsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAgc3RydWN0 IHBzcl9jYXRfaHdfaW5mbyBsM19jZHAgPSB7IH07CisgICAgdW5zaWduZWQgaW50IHNvY2tldDsK KyAgICB1aW50NjRfdCB2YWw7CisKKyAgICAvKiBObyB2YWxpZCB2YWx1ZSBzbyBkbyBub3QgZW5h YmxlIGZlYXR1cmUuICovCisgICAgaWYgKCAhcmVncy5hIHx8ICFyZWdzLmQgKQorICAgICAgICBy ZXR1cm47CisKKyAgICBsM19jZHAuY2JtX2xlbiA9IChyZWdzLmEgJiBDQVRfQ0JNX0xFTl9NQVNL KSArIDE7CisgICAgLyogQ3V0IGhhbGYgb2YgY29zX21heCB3aGVuIENEUCBpcyBlbmFibGVkLiAq LworICAgIGwzX2NkcC5jb3NfbWF4ID0gbWluKG9wdF9jb3NfbWF4LCByZWdzLmQgJiBDQVRfQ09T X01BWF9NQVNLKSA+PiAxOworCisgICAgLyogY29zPTAgaXMgcmVzZXJ2ZWQgYXMgZGVmYXVsdCBj Ym0oYWxsIG9uZXMpLiAqLworICAgIGdldF9jZHBfY29kZShmZWF0LCAwKSA9CisgICAgICAgICAg ICAgICAgICgxdWxsIDw8IGwzX2NkcC5jYm1fbGVuKSAtIDE7CisgICAgZ2V0X2NkcF9kYXRhKGZl YXQsIDApID0KKyAgICAgICAgICAgICAgICAgKDF1bGwgPDwgbDNfY2RwLmNibV9sZW4pIC0gMTsK KworICAgIC8qIFdlIG9ubHkgd3JpdGUgbWFzazEgc2luY2UgbWFzazAgaXMgYWx3YXlzIGFsbCBv bmVzIGJ5IGRlZmF1bHQuICovCisgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19NQVNLKDEpLCAo MXVsbCA8PCBsM19jZHAuY2JtX2xlbikgLSAxKTsKKyAgICByZG1zcmwoTVNSX0lBMzJfUFNSX0wz X1FPU19DRkcsIHZhbCk7CisgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19RT1NfQ0ZHLCB2YWwg fCAoMSA8PCBQU1JfTDNfUU9TX0NEUF9FTkFCTEVfQklUKSk7CisKKyAgICBmZWF0LT5mZWF0dXJl ID0gUFNSX1NPQ0tFVF9MM19DRFA7CisgICAgQVNTRVJUKCF0ZXN0X2JpdChQU1JfU09DS0VUX0wz X0NEUCwgJmluZm8tPmZlYXRfbWFzaykpOworICAgIF9fc2V0X2JpdChQU1JfU09DS0VUX0wzX0NE UCwgJmluZm8tPmZlYXRfbWFzayk7CisKKyAgICBmZWF0LT5pbmZvLmwzX2NkcF9pbmZvID0gbDNf Y2RwOworCisgICAgaW5mby0+bnJfZmVhdCsrOworCisgICAgLyogQWRkIHRoaXMgZmVhdHVyZSBp bnRvIGxpc3QuICovCisgICAgbGlzdF9hZGRfdGFpbCgmZmVhdC0+bGlzdCwgJmluZm8tPmZlYXRf bGlzdCk7CisKKyAgICBzb2NrZXQgPSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSk7 CisgICAgaWYgKCAhb3B0X2NwdV9pbmZvICkKKyAgICAgICAgcmV0dXJuOworCisgICAgcHJpbnRr KFhFTkxPR19JTkZPICJMMyBDRFA6IGVuYWJsZWQgb24gc29ja2V0ICV1LCBjb3NfbWF4OiV1LCBj Ym1fbGVuOiV1XG4iLAorICAgICAgICAgICBzb2NrZXQsIGZlYXQtPmluZm8ubDNfY2RwX2luZm8u Y29zX21heCwKKyAgICAgICAgICAgZmVhdC0+aW5mby5sM19jZHBfaW5mby5jYm1fbGVuKTsKK30K Kworc3RhdGljIHVuc2lnbmVkIGludCBsM19jZHBfZ2V0X2Nvc19tYXgoY29uc3Qgc3RydWN0IGZl YXRfbm9kZSAqZmVhdCkKK3sKKyAgICByZXR1cm4gZmVhdC0+aW5mby5sM19jZHBfaW5mby5jb3Nf bWF4OworfQorCitzdHJ1Y3QgZmVhdF9vcHMgbDNfY2RwX29wcyA9IHsKKyAgICAuZ2V0X2Nvc19t YXggPSBsM19jZHBfZ2V0X2Nvc19tYXgsCit9OworCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2Vf cHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IG1hc2spCiB7CkBAIC0xMjExLDEy ICsxMjg2LDIxIEBAIHN0YXRpYyB2b2lkIGNwdV9pbml0X3dvcmsodm9pZCkKICAgICB7CiAgICAg ICAgIGNwdWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMSwgJnJlZ3MpOwogCi0g ICAgICAgIGZlYXQgPSBmZWF0X2wzX2NhdDsKLSAgICAgICAgLyogcHNyX2NwdV9wcmVwYXJlIHdp bGwgYWxsb2NhdGUgaXQgb24gc3Vic2VxdWVudCBDUFUgb25saW5pbmcuICovCi0gICAgICAgIGZl YXRfbDNfY2F0ID0gTlVMTDsKLSAgICAgICAgZmVhdC0+b3BzID0gbDNfY2F0X29wczsKLQotICAg ICAgICBsM19jYXRfaW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8pOworICAgICAgICBpZiAo IChyZWdzLmMgJiBQU1JfQ0FUX0NEUF9DQVBBQklMSVRZKSAmJiAob3B0X3BzciAmIFBTUl9DRFAp ICYmCisgICAgICAgICAgICAgIXRlc3RfYml0KFBTUl9TT0NLRVRfTDNfQ0RQLCAmaW5mby0+ZmVh dF9tYXNrKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGZlYXQgPSBmZWF0X2wzX2NkcDsKKyAg ICAgICAgICAgIC8qIHBzcl9jcHVfcHJlcGFyZSB3aWxsIGFsbG9jYXRlIGl0IG9uIHN1YnNlcXVl bnQgQ1BVIG9ubGluaW5nLiAqLworICAgICAgICAgICAgZmVhdF9sM19jZHAgPSBOVUxMOworICAg ICAgICAgICAgZmVhdC0+b3BzID0gbDNfY2RwX29wczsKKyAgICAgICAgICAgIGwzX2NkcF9pbml0 X2ZlYXR1cmUocmVncywgZmVhdCwgaW5mbyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg ICBmZWF0ID0gZmVhdF9sM19jYXQ7CisgICAgICAgICAgICAvKiBwc3JfY3B1X3ByZXBhcmUgd2ls bCBhbGxvY2F0ZSBpdCBvbiBzdWJzZXF1ZW50IENQVSBvbmxpbmluZy4gKi8KKyAgICAgICAgICAg IGZlYXRfbDNfY2F0ID0gTlVMTDsKKyAgICAgICAgICAgIGZlYXQtPm9wcyA9IGwzX2NhdF9vcHM7 CisgICAgICAgICAgICBsM19jYXRfaW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8pOworICAg ICAgICB9CiAgICAgfQogfQogCkBAIC0xMjYxLDYgKzEzNDUsMTQgQEAgc3RhdGljIGludCBwc3Jf Y3B1X3ByZXBhcmUodW5zaWduZWQgaW50IGNwdSkKICAgICAgICAgIChmZWF0X2wzX2NhdCA9IHh6 YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5VTEwgKQogICAgICAgICByZXR1cm4gLUVOT01F TTsKIAorICAgIGlmICggZmVhdF9sM19jZHAgPT0gTlVMTCAmJgorICAgICAgICAgKGZlYXRfbDNf Y2RwID0geHphbGxvYyhzdHJ1Y3QgZmVhdF9ub2RlKSkgPT0gTlVMTCApCisgICAgeworICAgICAg ICB4ZnJlZShmZWF0X2wzX2NhdCk7CisgICAgICAgIGZlYXRfbDNfY2F0ID0gTlVMTDsKKyAgICAg ICAgcmV0dXJuIC1FTk9NRU07CisgICAgfQorCiAgICAgcmV0dXJuIDA7CiB9CiAKLS0gCjEuOS4x CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRl dmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhl bi5vcmcveGVuLWRldmVsCg==