From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v11 13/23] x86: refactor psr: CDP: implement CPU init flow. Date: Wed, 3 May 2017 16:44:13 +0800 Message-ID: <1493801063-38513-14-git-send-email-yi.y.sun@linux.intel.com> References: <1493801063-38513-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 1d5q36-0000ny-2c for xen-devel@lists.xenproject.org; Wed, 03 May 2017 08:54:16 +0000 In-Reply-To: <1493801063-38513-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, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBDUFUgaW5pdCBmbG93IGZvciBDRFAuIFRoZSBmbG93 IGlzIGFsbW9zdApzYW1lIGFzIEwzIENBVC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5z dW5AbGludXguaW50ZWwuY29tPgotLS0KdjExOgogICAgLSBjaGFuZ2VzIGFib3V0ICdmZWF0X3By b3BzJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlIE1TUiBy ZXN0b3JlIGFjdGlvbiB3aGljaCBpcyB1bm5lY2Vzc2FyeS4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5IGNvbW1pdCBtZXNzYWdlLgp2MTA6CiAgICAtIGZpeCBj b21tZW50LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSB1c2Ugc3dpdGgg aW4gJ2NhdF9pbml0X2ZlYXR1cmUnIHRvIGhhbmRsZSBkaWZmZXJlbnQgZmVhdHVyZSB0eXBlcy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCAncHJv cHMnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZXN0b3JlIE1TUnMg dG8gZGVmYXVsdCB2YWx1ZSB3aGVuIGNwdSBvbmxpbmUuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIHJlbW92ZSBmZWF0X21hc2suCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCnY5OgogICAgLSBtb2RpZnkgY29tbWl0IG1lc3NhZ2UgdG8gZGVzY3JpYmUgZmxv dyBjbGVhcmVyLgogICAgLSBoYW5kbGUgY3B1IG9mZmxpbmUgYW5kIG9ubGluZSBhZ2FpbiBjYXNl IHRvIHJlYWQgTVNScyByZWdpc3RlcnMgdmFsdWVzCiAgICAgIGJhY2sgYW5kIHNhdmUgdGhlbSBp bnRvIGNvcyBhcnJheSB0byBtYWtlIHVzZXIgY2FuIGdldCByZWFsIGRhdGEuCiAgICAtIG1vZGlm eSBlcnJvciBoYW5kbGluZyBwcm9jZXNzIGluICdwc3JfY3B1X3ByZXBhcmUnIHRvIHJlZHVjZSBy ZWR1bmRhbnQKICAgICAgY29kZXMuCiAgICAtIG1vZGlmeSAnZ2V0X2NkcF9kYXRhJyBhbmQgJ2dl dF9jZHBfY29kZScgdG8gbWFrZSB0aGVtIHN0YW5kYXJkLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJv Z2VyIFBhdSBhbmQgSmFuIEJldWxpY2gpCiAgICAtIGVuY2Fwc3VsYXRlIENEUCBvcGVyYXRpb25z IGludG8gJ2NhdF9pbml0X2ZlYXR1cmUnIHRvIHJlZHVjZSByZWR1bmRhbnQKICAgICAgY29kZXMu CiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1KQogICAgLSByZXVzZSAnY2F0X2dldF9jb3Nf bWF4JyBmb3IgQ0RQLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSkKICAgIC0gaGFuZGxl ICdQU1JfQ0RQJyBpbiBwc3JfcHJlc21wX2luaXQgdG8gbWFrZSBpbml0IHdvcmsgY2FuIGJlIGRv bmUgd2hlbgogICAgICB0aGVyZSBpcyBvbmx5ICdwc3I9Y2RwJyBpbiBjbWRsaW5lLgogICAgLSBy ZW1vdmUgdW5uZWNlc3NhcnkgY29tbWVudC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGlj aCkKICAgIC0gbW92ZSBDRFAgcmVsYXRlZCBjb2RlcyBpbiAnY3B1X2luaXRfd29yaycgaW50byAn cHNyX2NwdV9pbml0Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gYWRk IGNvZGVzIHRvIGhhbmRsZSBDRFAncyAnY29zX251bScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFu IEJldWxpY2gpCiAgICAtIGZpeCBjb2Rpbmcgc3R5bGUgaXNzdWUuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIGRvIG5vdCBmcmVlIHJlc291cmNlcyB3aGVuIGFsbG9jYXRp b24gZmFpbHMgaW4gJ3Bzcl9jcHVfcHJlcGFyZScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3VpbnQ2NF90JyB0byAndWludDMyX3QnLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2NzoKICAgIC0gaW5pdGlhbGl6ZSAnbDNfY2Rw Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBLb25yYWQgUnplc3p1dGVrIFdpbGspCnY2OgogICAgLSB1 c2UgJ2NwdWlkX2xlYWYnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEtvbnJhZCBSemVzenV0ZWsgV2ls ayBhbmQgSmFuIEJldWxpY2gpCnY1OgogICAgLSByZW1vdmUgY29kZXMgdG8gZnJlZSAnZmVhdF9s M19jZHAnIGluICdmcmVlX2ZlYXR1cmUnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSBlbmNhcHN1bGF0ZSBjcHVpZCByZWdpc3RlcnMgaW50byAnc3RydWN0IGNwdWlkX2xl YWZfcmVncycuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHByaW50IHNv Y2tldCBpbmZvIHdoZW4gJ29wdF9jcHVfaW5mbycgaXMgdHJ1ZS4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKICAgIC0gcmVuYW1lICdsM19jZHBfZ2V0X21heF9jb3NfbWF4JyB0byAn bDNfY2RwX2dldF9jb3NfbWF4Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAg IC0gcmVuYW1lICdkYXRbXScgdG8gJ2RhdGFbXScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCiAgICAtIG1vdmUgJ2NwdV9wcmVwYXJlX3dvcmsnIGNvbnRlbnRzIGludG8gJ3Bzcl9j cHVfcHJlcGFyZScuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCnY0OgogICAgLSBj cmVhdGUgdGhpcyBwYXRjaCB0byBtYWtlIGNvZGVzIGVhc2llciB0byB1bmRlcnN0YW5kLgogICAg ICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDc3 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQog MSBmaWxlIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IDliODQy OGQuLjcwMDBkOTUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJj aC94ODYvcHNyLmMKQEAgLTYyLDYgKzYyLDcgQEAKIAogZW51bSBwc3JfZmVhdF90eXBlIHsKICAg ICBQU1JfU09DS0VUX0wzX0NBVCwKKyAgICBQU1JfU09DS0VUX0wzX0NEUCwKICAgICBQU1JfU09D S0VUX0ZFQVRfTlVNLAogICAgIFBTUl9TT0NLRVRfRkVBVF9VTktOT1dOLAogfTsKQEAgLTE1MCwx MSArMTUxLDI4IEBAIHN0YXRpYyBERUZJTkVfUEVSX0NQVShzdHJ1Y3QgcHNyX2Fzc29jLCBwc3Jf YXNzb2MpOwogICogYXJyYXkgY3JlYXRpb24uIEl0IGlzIHVzZWQgdG8gdHJhbnNpZW50bHkgc3Rv cmUgYSBzcGFyZSBub2RlLgogICovCiBzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sM19j YXQ7CitzdGF0aWMgc3RydWN0IGZlYXRfbm9kZSAqZmVhdF9sM19jZHA7CiAKIC8qIENvbW1vbiBm dW5jdGlvbnMgKi8KICNkZWZpbmUgY2F0X2RlZmF1bHRfdmFsKGxlbikgKDB4ZmZmZmZmZmYgPj4g KDMyIC0gKGxlbikpKQogCiAvKgorICogZ2V0X2NkcF9kYXRhIC0gZ2V0IERBVEEgQ09TIHJlZ2lz dGVyIHZhbHVlIGZyb20gaW5wdXQgQ09TIElELgorICogQGZlYXQ6ICAgICAgICB0aGUgZmVhdHVy ZSBub2RlLgorICogQGNvczogICAgICAgICB0aGUgQ09TIElELgorICovCisjZGVmaW5lIGdldF9j ZHBfZGF0YShmZWF0LCBjb3MpICAgICAgICAgICAgICBcCisgICAgICAgICAgICAoIChmZWF0KS0+ Y29zX3JlZ192YWxbKGNvcykgKiAyXSApCisKKy8qCisgKiBnZXRfY2RwX2NvZGUgLSBnZXQgQ09E RSBDT1MgcmVnaXN0ZXIgdmFsdWUgZnJvbSBpbnB1dCBDT1MgSUQuCisgKiBAZmVhdDogICAgICAg IHRoZSBmZWF0dXJlIG5vZGUuCisgKiBAY29zOiAgICAgICAgIHRoZSBDT1MgSUQuCisgKi8KKyNk ZWZpbmUgZ2V0X2NkcF9jb2RlKGZlYXQsIGNvcykgICAgICAgICAgICAgIFwKKyAgICAgICAgICAg ICggKGZlYXQpLT5jb3NfcmVnX3ZhbFsoY29zKSAqIDIgKyAxXSApCisKKy8qCiAgKiBVc2UgdGhp cyBmdW5jdGlvbiB0byBjaGVjayBpZiBhbnkgYWxsb2NhdGlvbiBmZWF0dXJlIGhhcyBiZWVuIGVu YWJsZWQKICAqIGluIGNtZGxpbmUuCiAgKi8KQEAgLTI0OSw2ICsyNjcsMjUgQEAgc3RhdGljIHZv aWQgY2F0X2luaXRfZmVhdHVyZShjb25zdCBzdHJ1Y3QgY3B1aWRfbGVhZiAqcmVncywKIAogICAg ICAgICBicmVhazsKIAorICAgIGNhc2UgUFNSX1NPQ0tFVF9MM19DRFA6CisgICAgeworICAgICAg ICB1bnNpZ25lZCBsb25nIHZhbDsKKworICAgICAgICAvKiBDdXQgaGFsZiBvZiBjb3NfbWF4IHdo ZW4gQ0RQIGlzIGVuYWJsZWQuICovCisgICAgICAgIGZlYXQtPmNvc19tYXggPj49IDE7CisKKyAg ICAgICAgLyogV2Ugb25seSB3cml0ZSBtYXNrMSBzaW5jZSBtYXNrMCBpcyBhbHdheXMgYWxsIG9u ZXMgYnkgZGVmYXVsdC4gKi8KKyAgICAgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19NQVNLKDEp LCBjYXRfZGVmYXVsdF92YWwoZmVhdC0+Y2JtX2xlbikpOworICAgICAgICByZG1zcmwoTVNSX0lB MzJfUFNSX0wzX1FPU19DRkcsIHZhbCk7CisgICAgICAgIHdybXNybChNU1JfSUEzMl9QU1JfTDNf UU9TX0NGRywgdmFsIHwgKDEgPDwgUFNSX0wzX1FPU19DRFBfRU5BQkxFX0JJVCkpOworCisgICAg ICAgIC8qIGNvcz0wIGlzIHJlc2VydmVkIGFzIGRlZmF1bHQgY2JtKGFsbCBiaXRzIHdpdGhpbiBj Ym1fbGVuIGFyZSAxKS4gKi8KKyAgICAgICAgZ2V0X2NkcF9jb2RlKGZlYXQsIDApID0gY2F0X2Rl ZmF1bHRfdmFsKGZlYXQtPmNibV9sZW4pOworICAgICAgICBnZXRfY2RwX2RhdGEoZmVhdCwgMCkg PSBjYXRfZGVmYXVsdF92YWwoZmVhdC0+Y2JtX2xlbik7CisKKyAgICAgICAgYnJlYWs7CisgICAg fQorCiAgICAgZGVmYXVsdDoKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTI1OSw4ICsyOTYs OSBAQCBzdGF0aWMgdm9pZCBjYXRfaW5pdF9mZWF0dXJlKGNvbnN0IHN0cnVjdCBjcHVpZF9sZWFm ICpyZWdzLAogICAgIGlmICggIW9wdF9jcHVfaW5mbyApCiAgICAgICAgIHJldHVybjsKIAotICAg IHByaW50ayhYRU5MT0dfSU5GTyAiJXMgQ0FUOiBlbmFibGVkIG9uIHNvY2tldCAldSwgY29zX21h eDoldSwgY2JtX2xlbjoldVxuIiwKLSAgICAgICAgICAgKCh0eXBlID09IFBTUl9TT0NLRVRfTDNf Q0FUKSA/ICJMMyIgOiAiTDIiKSwKKyAgICBwcmludGsoWEVOTE9HX0lORk8gIiVzOiBlbmFibGVk IG9uIHNvY2tldCAldSwgY29zX21heDoldSwgY2JtX2xlbjoldVxuIiwKKyAgICAgICAgICAgKCh0 eXBlID09IFBTUl9TT0NLRVRfTDNfQ0RQKSA/ICJDRFAiIDoKKyAgICAgICAgICAgICgodHlwZSA9 PSBQU1JfU09DS0VUX0wzX0NBVCkgPyAiTDMgQ0FUIjogIkwyIENBVCIpKSwKICAgICAgICAgICAg Y3B1X3RvX3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpLCBmZWF0LT5jb3NfbWF4LCBmZWF0LT5j Ym1fbGVuKTsKIH0KIApAQCAtMjg5LDYgKzMyNywxMSBAQCBzdGF0aWMgc3RydWN0IGZlYXRfcHJv cHMgbDNfY2F0X3Byb3BzID0gewogICAgIC53cml0ZV9tc3IgPSBsM19jYXRfd3JpdGVfbXNyLAog fTsKIAorLyogTDMgQ0RQIHByb3BzICovCitzdGF0aWMgc3RydWN0IGZlYXRfcHJvcHMgbDNfY2Rw X3Byb3BzID0geworICAgIC5jb3NfbnVtID0gMiwKK307CisKIHN0YXRpYyB2b2lkIF9faW5pdCBw YXJzZV9wc3JfYm9vbChjaGFyICpzLCBjaGFyICp2YWx1ZSwgY2hhciAqZmVhdHVyZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbWFzaykKIHsKQEAgLTEy MDYsNiArMTI0OSwxMCBAQCBzdGF0aWMgaW50IHBzcl9jcHVfcHJlcGFyZSh2b2lkKQogICAgICAg ICAgKGZlYXRfbDNfY2F0ID0geHphbGxvYyhzdHJ1Y3QgZmVhdF9ub2RlKSkgPT0gTlVMTCApCiAg ICAgICAgIHJldHVybiAtRU5PTUVNOwogCisgICAgaWYgKCBmZWF0X2wzX2NkcCA9PSBOVUxMICYm CisgICAgICAgICAoZmVhdF9sM19jZHAgPSB4emFsbG9jKHN0cnVjdCBmZWF0X25vZGUpKSA9PSBO VUxMICkKKyAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAt MTIzOCwxMiArMTI4NSwyNCBAQCBzdGF0aWMgdm9pZCBwc3JfY3B1X2luaXQodm9pZCkKICAgICB7 CiAgICAgICAgIGNwdWlkX2NvdW50X2xlYWYoUFNSX0NQVUlEX0xFVkVMX0NBVCwgMSwgJnJlZ3Mp OwogCi0gICAgICAgIGZlYXQgPSBmZWF0X2wzX2NhdDsKLSAgICAgICAgZmVhdF9sM19jYXQgPSBO VUxMOwotICAgICAgICBsM19jYXRfcHJvcHMudHlwZVswXSA9IFBTUl9DQk1fVFlQRV9MMzsKLSAg ICAgICAgZmVhdF9wcm9wc1tQU1JfU09DS0VUX0wzX0NBVF0gPSAmbDNfY2F0X3Byb3BzOwotCi0g ICAgICAgIGNhdF9pbml0X2ZlYXR1cmUoJnJlZ3MsIGZlYXQsIGluZm8sIFBTUl9TT0NLRVRfTDNf Q0FUKTsKKyAgICAgICAgaWYgKCAocmVncy5jICYgUFNSX0NBVF9DRFBfQ0FQQUJJTElUWSkgJiYg KG9wdF9wc3IgJiBQU1JfQ0RQKSAmJgorICAgICAgICAgICAgICFpbmZvLT5mZWF0dXJlc1tQU1Jf U09DS0VUX0wzX0NEUF0gKQorICAgICAgICB7CisgICAgICAgICAgICBmZWF0ID0gZmVhdF9sM19j ZHA7CisgICAgICAgICAgICBmZWF0X2wzX2NkcCA9IE5VTEw7CisgICAgICAgICAgICBsM19jZHBf cHJvcHMudHlwZVswXSA9IFBTUl9DQk1fVFlQRV9MM19EQVRBOworICAgICAgICAgICAgbDNfY2Rw X3Byb3BzLnR5cGVbMV0gPSBQU1JfQ0JNX1RZUEVfTDNfQ09ERTsKKyAgICAgICAgICAgIGZlYXRf cHJvcHNbUFNSX1NPQ0tFVF9MM19DRFBdID0gJmwzX2NkcF9wcm9wczsKKyAgICAgICAgICAgIGNh dF9pbml0X2ZlYXR1cmUoJnJlZ3MsIGZlYXQsIGluZm8sIFBTUl9TT0NLRVRfTDNfQ0RQKTsKKyAg ICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGZlYXQgPSBmZWF0 X2wzX2NhdDsKKyAgICAgICAgICAgIGZlYXRfbDNfY2F0ID0gTlVMTDsKKyAgICAgICAgICAgIGwz X2NhdF9wcm9wcy50eXBlWzBdID0gUFNSX0NCTV9UWVBFX0wzOworICAgICAgICAgICAgZmVhdF9w cm9wc1tQU1JfU09DS0VUX0wzX0NBVF0gPSAmbDNfY2F0X3Byb3BzOworICAgICAgICAgICAgY2F0 X2luaXRfZmVhdHVyZSgmcmVncywgZmVhdCwgaW5mbywgUFNSX1NPQ0tFVF9MM19DQVQpOworICAg ICAgICB9CiAKICAgICAgICAgaW5mby0+ZmVhdF9pbml0ID0gdHJ1ZTsKICAgICB9CkBAIC0xMzA1 LDcgKzEzNjQsNyBAQCBzdGF0aWMgaW50IF9faW5pdCBwc3JfcHJlc21wX2luaXQodm9pZCkKICAg ICBpZiAoIChvcHRfcHNyICYgUFNSX0NNVCkgJiYgb3B0X3JtaWRfbWF4ICkKICAgICAgICAgaW5p dF9wc3JfY210KG9wdF9ybWlkX21heCk7CiAKLSAgICBpZiAoIG9wdF9wc3IgJiBQU1JfQ0FUICkK KyAgICBpZiAoIG9wdF9wc3IgJiAoUFNSX0NBVCB8IFBTUl9DRFApICkKICAgICAgICAgaW5pdF9w c3IoKTsKIAogICAgIGlmICggcHNyX2NwdV9wcmVwYXJlKCkgKQotLSAKMS45LjEKCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGlu ZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4t ZGV2ZWwK