From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH RESEND v5 13/24] x86: refactor psr: implement CPU init and free flow for CDP. Date: Thu, 19 Jan 2017 14:01:15 +0800 Message-ID: <1484805686-7249-14-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 1cU5oj-0007BL-74 for xen-devel@lists.xenproject.org; Thu, 19 Jan 2017 06:03:25 +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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBDUFUgaW5pdCBhbmQgZnJlZSBmbG93IGZvciBDRFAg aW5jbHVkaW5nIEwzIENEUAppbml0aWFsaXphdGlvbiBjYWxsYmFjayBmdW5jdGlvbi4KClNpZ25l ZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KdjU6CiAgICAt IHJlbW92ZSAnZmVhdF9sM19jZHAnIGZyZWUgaW4gJ2ZyZWVfZmVhdHVyZScuCiAgICAtIEVuY2Fw c3VsYXRlIGNwdWlkIHJlZ2lzdGVycyBpbnRvICdzdHJ1Y3QgY3B1aWRfbGVhZl9yZWdzJy4KICAg IC0gUHJpbnQgc29ja2V0IGluZm8gd2hlbiAnb3B0X2NwdV9pbmZvJyBpcyB0cnVlLgogICAgLSBy ZW5hbWUgJ2wzX2NkcF9nZXRfbWF4X2Nvc19tYXgnIHRvICdsM19jZHBfZ2V0X2Nvc19tYXgnLgog ICAgLSByZW5hbWUgJ2RhdFtdJyB0byAnZGF0YVtdJwogICAgLSBtb3ZlICdjcHVfcHJlcGFyZV93 b3JrJyBjb250ZW50cyBpbnRvICdwc3JfY3B1X3ByZXBhcmUnLgotLS0KIHhlbi9hcmNoL3g4Ni9w c3IuYyB8IDk4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDkzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmlu ZGV4IGI4ZDNjODIuLmE5NzkxMjggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysg Yi94ZW4vYXJjaC94ODYvcHNyLmMKQEAgLTkzLDYgKzkzLDcgQEAgc3RydWN0IHBzcl9jYXRfaHdf aW5mbyB7CiBzdHJ1Y3QgZmVhdF9od19pbmZvIHsKICAgICB1bmlvbiB7CiAgICAgICAgIHN0cnVj dCBwc3JfY2F0X2h3X2luZm8gbDNfY2F0X2luZm87CisgICAgICAgIHN0cnVjdCBwc3JfY2F0X2h3 X2luZm8gbDNfY2RwX2luZm87CiAgICAgfTsKIH07CiAKQEAgLTE5Nyw2ICsxOTgsMjEgQEAgc3Ry dWN0IGNwdWlkX2xlYWZfcmVncyB7CiAgICAgdW5zaWduZWQgaW50IGVjeDsKICAgICB1bnNpZ25l ZCBpbnQgZWR4OwogfTsKKy8qCisgKiBnZXRfZGF0YSAtIGdldCBEQVRBIENPUyByZWdpc3RlciB2 YWx1ZSBmcm9tIGlucHV0IENPUyBJRC4KKyAqIEBmZWF0OiAgICAgICAgdGhlIGZlYXR1cmUgbGlz dCBlbnRyeS4KKyAqIEBjb3M6ICAgICAgICAgdGhlIENPUyBJRC4KKyAqLworI2RlZmluZSBnZXRf Y2RwX2RhdGEoZmVhdCwgY29zKSAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICggZmVh dC0+Y29zX3JlZ192YWxbY29zICogMl0gKQorCisvKgorICogZ2V0X2NkcF9jb2RlIC0gZ2V0IENP REUgQ09TIHJlZ2lzdGVyIHZhbHVlIGZyb20gaW5wdXQgQ09TIElELgorICogQGZlYXQ6ICAgICAg ICB0aGUgZmVhdHVyZSBsaXN0IGVudHJ5LgorICogQGNvczogICAgICAgICB0aGUgQ09TIElELgor ICovCisjZGVmaW5lIGdldF9jZHBfY29kZShmZWF0LCBjb3MpICAgICAgICAgICAgICAgICAgXAor ICAgICAgICAgICAgKCBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiAyICsgMV0gKQogCiBzdHJ1Y3Qg cHNyX2Fzc29jIHsKICAgICB1aW50NjRfdCB2YWw7CkBAIC0yMTksNiArMjM1LDcgQEAgc3RhdGlj IERFRklORV9QRVJfQ1BVKHN0cnVjdCBwc3JfYXNzb2MsIHBzcl9hc3NvYyk7CiAgKiBpbnNlcnRl ZCBpbnRvIGZlYXR1cmUgbGlzdCBpbiBjcHVfaW5pdF93b3JrKCkuCiAgKi8KIHN0YXRpYyBzdHJ1 Y3QgZmVhdF9ub2RlICpmZWF0X2wzX2NhdDsKK3N0YXRpYyBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0 X2wzX2NkcDsKIAogLyogQ29tbW9uIGZ1bmN0aW9ucy4gKi8KIHN0YXRpYyB2b2lkIGZyZWVfZmVh dHVyZShzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvKQpAQCAtNDQ4LDYgKzQ2NSw2MSBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGZlYXRfb3BzIGwzX2NhdF9vcHMgPSB7CiAgICAgLndyaXRlX21z ciA9IGwzX2NhdF93cml0ZV9tc3IsCiB9OwogCisvKiBMMyBDRFAgZnVuY3Rpb25zIGltcGxlbWVu dGF0aW9uLiAqLworc3RhdGljIHZvaWQgbDNfY2RwX2luaXRfZmVhdHVyZShzdHJ1Y3QgY3B1aWRf bGVhZl9yZWdzIHJlZ3MsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBm ZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBw c3Jfc29ja2V0X2luZm8gKmluZm8pCit7CisgICAgc3RydWN0IHBzcl9jYXRfaHdfaW5mbyBsM19j ZHA7CisgICAgdW5zaWduZWQgaW50IHNvY2tldDsKKyAgICB1aW50NjRfdCB2YWw7CisKKyAgICAv KiBObyB2YWxpZCB2YWx1ZSBzbyBkbyBub3QgZW5hYmxlIGZlYXR1cmUuICovCisgICAgaWYgKCAh cmVncy5lYXggfHwgIXJlZ3MuZWR4ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgbDNfY2RwLmNi bV9sZW4gPSAocmVncy5lYXggJiBDQVRfQ0JNX0xFTl9NQVNLKSArIDE7CisgICAgLyogQ3V0IGhh bGYgb2YgY29zX21heCB3aGVuIENEUCBpcyBlbmFibGVkLiAqLworICAgIGwzX2NkcC5jb3NfbWF4 ID0gbWluKG9wdF9jb3NfbWF4LCByZWdzLmVkeCAmIENBVF9DT1NfTUFYX01BU0spID4+IDE7CisK KyAgICAvKiBjb3M9MCBpcyByZXNlcnZlZCBhcyBkZWZhdWx0IGNibShhbGwgb25lcykuICovCisg ICAgZ2V0X2NkcF9jb2RlKGZlYXQsIDApID0KKyAgICAgICAgICAgICAgICAgKDF1bGwgPDwgbDNf Y2RwLmNibV9sZW4pIC0gMTsKKyAgICBnZXRfY2RwX2RhdGEoZmVhdCwgMCkgPQorICAgICAgICAg ICAgICAgICAoMXVsbCA8PCBsM19jZHAuY2JtX2xlbikgLSAxOworCisgICAgLyogV2Ugb25seSB3 cml0ZSBtYXNrMSBzaW5jZSBtYXNrMCBpcyBhbHdheXMgYWxsIG9uZXMgYnkgZGVmYXVsdC4gKi8K KyAgICB3cm1zcmwoTVNSX0lBMzJfUFNSX0wzX01BU0soMSksICgxdWxsIDw8IGwzX2NkcC5jYm1f bGVuKSAtIDEpOworICAgIHJkbXNybChNU1JfSUEzMl9QU1JfTDNfUU9TX0NGRywgdmFsKTsKKyAg ICB3cm1zcmwoTVNSX0lBMzJfUFNSX0wzX1FPU19DRkcsIHZhbCB8ICgxIDw8IFBTUl9MM19RT1Nf Q0RQX0VOQUJMRV9CSVQpKTsKKworICAgIGZlYXQtPmZlYXR1cmUgPSBQU1JfU09DS0VUX0wzX0NE UDsKKyAgICBfX3NldF9iaXQoUFNSX1NPQ0tFVF9MM19DRFAsICZpbmZvLT5mZWF0X21hc2spOwor CisgICAgZmVhdC0+aW5mby5sM19jZHBfaW5mbyA9IGwzX2NkcDsKKworICAgIGluZm8tPm5yX2Zl YXQrKzsKKworICAgIC8qIEFkZCB0aGlzIGZlYXR1cmUgaW50byBsaXN0LiAqLworICAgIGxpc3Rf YWRkX3RhaWwoJmZlYXQtPmxpc3QsICZpbmZvLT5mZWF0X2xpc3QpOworCisgICAgc29ja2V0ID0g Y3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpOworICAgIGlmICggb3B0X2NwdV9pbmZv ICkKKyAgICAgICAgcHJpbnRrKFhFTkxPR19JTkZPCisgICAgICAgICAgICJMMyBDRFA6IGVuYWJs ZWQgb24gc29ja2V0ICV1LCBjb3NfbWF4OiV1LCBjYm1fbGVuOiV1XG4iLAorICAgICAgICAgICBz b2NrZXQsIGZlYXQtPmluZm8ubDNfY2RwX2luZm8uY29zX21heCwKKyAgICAgICAgICAgZmVhdC0+ aW5mby5sM19jZHBfaW5mby5jYm1fbGVuKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBsM19j ZHBfZ2V0X2Nvc19tYXgoY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCkKK3sKKyAgICByZXR1 cm4gZmVhdC0+aW5mby5sM19jZHBfaW5mby5jb3NfbWF4OworfQorCitzdHJ1Y3QgZmVhdF9vcHMg bDNfY2RwX29wcyA9IHsKKyAgICAuZ2V0X2Nvc19tYXggPSBsM19jZHBfZ2V0X2Nvc19tYXgsCit9 OworCiBzdGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFs dWUsIGNoYXIgKmZlYXR1cmUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5z aWduZWQgaW50IG1hc2spCiB7CkBAIC0xMjA3LDExICsxMjc5LDE5IEBAIHN0YXRpYyB2b2lkIGNw dV9pbml0X3dvcmsodm9pZCkKICAgICAgICAgY3B1aWRfY291bnQoUFNSX0NQVUlEX0xFVkVMX0NB VCwgMSwKICAgICAgICAgICAgICAgICAgICAgJnJlZ3MuZWF4LCAmcmVncy5lYngsICZyZWdzLmVj eCwgJnJlZ3MuZWR4KTsKIAotICAgICAgICBmZWF0ID0gZmVhdF9sM19jYXQ7Ci0gICAgICAgIGZl YXRfbDNfY2F0ID0gTlVMTDsKLSAgICAgICAgZmVhdC0+b3BzID0gbDNfY2F0X29wczsKLQotICAg ICAgICBsM19jYXRfaW5pdF9mZWF0dXJlKHJlZ3MsIGZlYXQsIGluZm8pOworICAgICAgICBpZiAo IChyZWdzLmVjeCAmIFBTUl9DQVRfQ0RQX0NBUEFCSUxJVFkpICYmIChvcHRfcHNyICYgUFNSX0NE UCkgJiYKKyAgICAgICAgICAgICAhdGVzdF9iaXQoUFNSX1NPQ0tFVF9MM19DRFAsICZpbmZvLT5m ZWF0X21hc2spICkKKyAgICAgICAgeworICAgICAgICAgICAgZmVhdCA9IGZlYXRfbDNfY2RwOwor ICAgICAgICAgICAgZmVhdF9sM19jZHAgPSBOVUxMOworICAgICAgICAgICAgZmVhdC0+b3BzID0g bDNfY2RwX29wczsKKyAgICAgICAgICAgIGwzX2NkcF9pbml0X2ZlYXR1cmUocmVncywgZmVhdCwg aW5mbyk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICBmZWF0ID0gZmVhdF9sM19jYXQ7 CisgICAgICAgICAgICBmZWF0X2wzX2NhdCA9IE5VTEw7CisgICAgICAgICAgICBmZWF0LT5vcHMg PSBsM19jYXRfb3BzOworICAgICAgICAgICAgbDNfY2F0X2luaXRfZmVhdHVyZShyZWdzLCBmZWF0 LCBpbmZvKTsKKyAgICAgICAgfQogICAgIH0KIH0KIApAQCAtMTI2Myw2ICsxMzQzLDE0IEBAIHN0 YXRpYyBpbnQgcHNyX2NwdV9wcmVwYXJlKHVuc2lnbmVkIGludCBjcHUpCiAgICAgICAgICAoZmVh dF9sM19jYXQgPSB4emFsbG9jKHN0cnVjdCBmZWF0X25vZGUpKSA9PSBOVUxMICkKICAgICAgICAg cmV0dXJuIC1FTk9NRU07CiAKKyAgICBpZiAoIGZlYXRfbDNfY2RwID09IE5VTEwgJiYKKyAgICAg ICAgIChmZWF0X2wzX2NkcCA9IHh6YWxsb2Moc3RydWN0IGZlYXRfbm9kZSkpID09IE5VTEwgKQor ICAgIHsKKyAgICAgICAgeGZyZWUoZmVhdF9sM19jYXQpOworICAgICAgICBmZWF0X2wzX2NhdCA9 IE5VTEw7CisgICAgICAgIHJldHVybiAtRU5PTUVNOworICAgIH0KKwogICAgIHJldHVybiAwOwog fQogCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0 cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=