From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v3] x86: psr: support co-exist features' values setting Date: Tue, 10 Oct 2017 17:19:10 +0800 Message-ID: <1507627150-4278-1-git-send-email-yi.y.sun@linux.intel.com> References: <1507281180-5101-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 1e1r1M-0004S2-8I for xen-devel@lists.xenproject.org; Tue, 10 Oct 2017 09:40:16 +0000 In-Reply-To: <1507281180-5101-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: Yi Sun , Andrew Cooper , Julien Grall , Jan Beulich , Wei Liu , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org SXQgY2hhbmdlcyB0aGUgbWVtZWJlcnMgaW4gJ2Nvc193cml0ZV9pbmZvJyB0byB0cmFuc2ZlciB0 aGUgZmVhdHVyZSBhcnJheSwKZmVhdHVyZSBwcm9wZXJ0aWVzIGFycmF5IGFuZCB2YWx1ZSBhcnJh eS4gVGhlbiwgd2UgY2FuIHdyaXRlIGFsbCBmZWF0dXJlcwp2YWx1ZXMgb24gdGhlIGNvcyBpZCBp bnRvIE1TUnMuCgpCZWNhdXNlIG11bHRpcGxlIGZlYXR1cmVzIG1heSBjby1leGlzdCwgd2UgbmVl ZCBoYW5kbGUgYWxsIGZlYXR1cmVzIHRvIHdyaXRlCnZhbHVlcyBvZiB0aGVtIGludG8gYSBDT1Mg cmVnaXN0ZXIgd2l0aCBuZXcgQ09TIElELiBFLmc6CjEuIEwzIENBVCBhbmQgTDIgQ0FUIGNvLWV4 aXN0LgoyLiBEb20xIGFuZCBEb20yIHNoYXJlIHRoZSBzYW1lIENPUyBJRCAoMikuIFRoZSBMMyBD QVQgQ0JNIG9mIERvbTEgaXMgMHgxZmYsCiAgIHRoZSBMMiBDQVQgQ0JNIG9mIERvbTEgaXMgMHgx Zi4KMy4gVXNlciB3YW50cyB0byBjaGFuZ2UgTDIgQ0JNIG9mIERvbTEgdG8gYmUgMHhmLiBCZWNh dXNlIENPUyBJRCAyIGlzCiAgIHVzZWQgYnkgRG9tMiB0b28sIHdlIGhhdmUgdG8gcGljayBhIG5l dyBDT1MgSUQgMy4gVGhlIHZhbHVlcyBvZiBEb20xIG9uCiAgIENPUyBJRCAzIGFyZSBhbGwgZGVm YXVsdCB2YWx1ZXMgYXMgYmVsb3c6CiAgICAgICAgICAgLS0tLS0tLS0tCiAgICAgICAgICAgfCBD T1MgMyB8CiAgICAgICAgICAgLS0tLS0tLS0tCiAgIEwzIENBVCAgfCAweDdmZiB8CiAgICAgICAg ICAgLS0tLS0tLS0tCiAgIEwyIENBVCAgfCAweGZmICB8CiAgICAgICAgICAgLS0tLS0tLS0tCjQu IEFmdGVyIHNldHRpbmcsIHRoZSBMMyBDQVQgQ0JNIHZhbHVlIG9mIERvbTEgc2hvdWxkIGJlIGtl cHQgYW5kIHRoZSBuZXcgTDIKICAgQ0FUIENCTSBpcyBzZXQuIFNvLCB0aGUgdmFsdWVzIG9uIENP UyBJRCAzIHNob3VsZCBiZSBiZWxvdy4KICAgICAgICAgICAtLS0tLS0tLS0KICAgICAgICAgICB8 IENPUyAzIHwKICAgICAgICAgICAtLS0tLS0tLS0KICAgTDMgQ0FUICB8IDB4MWZmIHwKICAgICAg ICAgICAtLS0tLS0tLS0KICAgTDIgQ0FUICB8IDB4ZiAgIHwKICAgICAgICAgICAtLS0tLS0tLS0K ClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0KQ0M6 IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ0M6IEFuZHJldyBDb29wZXIgPGFuZHJl dy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpD QzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNDOiBKdWxpZW4gR3Jh bGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKdjI6CiAgICAtIGFkZCAncmVzdWx0JyBpbiAnY29z X3dyaXRlX2luZm8nIHRvIHJldHVybiBlcnJvciBjb2RlLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJv Z2VyIFBhdSBNb25uw6kpCnYxOgogICAgLSBmaXggaXNzdWVzIGluIGNvbW1pdCBtZXNzYWdlLgog ICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIHJlbW92ZSB1bm5lY2Vz c2FyeSBsb2NhbCB2YXJpYWJsZSAndmFsX2FycmF5Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dl ciBQYXUgTW9ubsOpKQotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDYzICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQs IDM3IGluc2VydGlvbnMoKyksIDI2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCBkYWEyYWViLi40ZjQ3YTBiIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBA IC0xMTExLDI1ICsxMTExLDQ3IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X3NvY2tldF9jcHUo dW5zaWduZWQgaW50IHNvY2tldCkKIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbwogewogICAgIHVuc2ln bmVkIGludCBjb3M7Ci0gICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdHVyZTsKKyAgICBzdHJ1Y3Qg ZmVhdF9ub2RlICoqZmVhdHVyZXM7CiAgICAgY29uc3QgdWludDMyX3QgKnZhbDsKLSAgICBjb25z dCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHM7CisgICAgdW5zaWduZWQgaW50IGFycmF5X2xlbjsK KyAgICBpbnQgcmVzdWx0OwogfTsKIAogc3RhdGljIHZvaWQgZG9fd3JpdGVfcHNyX21zcnModm9p ZCAqZGF0YSkKIHsKLSAgICBjb25zdCBzdHJ1Y3QgY29zX3dyaXRlX2luZm8gKmluZm8gPSBkYXRh OwotICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQgPSBpbmZvLT5mZWF0dXJlOwotICAgIGNvbnN0 IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9wcyA9IGluZm8tPnByb3BzOwotICAgIHVuc2lnbmVkIGlu dCBpLCBjb3MgPSBpbmZvLT5jb3MsIGNvc19udW0gPSBwcm9wcy0+Y29zX251bTsKKyAgICBzdHJ1 Y3QgY29zX3dyaXRlX2luZm8gKmluZm8gPSBkYXRhOworICAgIHVuc2lnbmVkIGludCBpLCBpbmRl eCA9IDAsIGNvcyA9IGluZm8tPmNvczsKIAotICAgIGZvciAoIGkgPSAwOyBpIDwgY29zX251bTsg aSsrICkKKyAgICAvKgorICAgICAqIEl0ZXJhdGUgYWxsIGZlYXR1ZXJzIHRvIHdyaXRlIGRpZmZl cmVudCB2YWx1ZSAobm90IHNhbWUgYXMgTVNSKSBmb3IKKyAgICAgKiBlYWNoIGZlYXR1cmUuCisg ICAgICovCisgICAgZm9yICggaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGZlYXRfcHJvcHMpOyBpKysg KQogICAgIHsKLSAgICAgICAgaWYgKCBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBjb3NfbnVtICsg aV0gIT0gaW5mby0+dmFsW2ldICkKKyAgICAgICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCA9IGlu Zm8tPmZlYXR1cmVzW2ldOworICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHMg PSBmZWF0X3Byb3BzW2ldOworICAgICAgICB1bnNpZ25lZCBpbnQgY29zX251bSwgajsKKworICAg ICAgICBpZiAoICFmZWF0IHx8ICFwcm9wcyApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAg ICAgICBjb3NfbnVtID0gcHJvcHMtPmNvc19udW07CisgICAgICAgIGlmICggaW5mby0+YXJyYXlf bGVuIDwgaW5kZXggKyBjb3NfbnVtICkKKyAgICAgICAgeworICAgICAgICAgICAgaW5mby0+cmVz dWx0ID0gLUVOT1NQQzsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAg IGZvciAoIGogPSAwOyBqIDwgY29zX251bTsgaisrICkKICAgICAgICAgewotICAgICAgICAgICAg ZmVhdC0+Y29zX3JlZ192YWxbY29zICogY29zX251bSArIGldID0gaW5mby0+dmFsW2ldOwotICAg ICAgICAgICAgcHJvcHMtPndyaXRlX21zcihjb3MsIGluZm8tPnZhbFtpXSwgcHJvcHMtPnR5cGVb aV0pOworICAgICAgICAgICAgaWYgKCBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBjb3NfbnVtICsg al0gIT0gaW5mby0+dmFsW2luZGV4ICsgal0gKQorICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIGNvc19udW0gKyBqXSA9IGluZm8tPnZhbFtpbmRl eCArIGpdOworICAgICAgICAgICAgICAgIHByb3BzLT53cml0ZV9tc3IoY29zLCBpbmZvLT52YWxb aW5kZXggKyBqXSwgcHJvcHMtPnR5cGVbal0pOworICAgICAgICAgICAgfQogICAgICAgICB9CisK KyAgICAgICAgaW5kZXggKz0gY29zX251bTsKICAgICB9CiB9CiAKQEAgLTExMzcsMzAgKzExNTks MTkgQEAgc3RhdGljIGludCB3cml0ZV9wc3JfbXNycyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1bnNp Z25lZCBpbnQgY29zLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCB2 YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSkKIHsKLSAgICBpbnQgcmV0OwogICAgIHN0cnVj dCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0KTsKICAgICBz dHJ1Y3QgY29zX3dyaXRlX2luZm8gZGF0YSA9CiAgICAgewogICAgICAgICAuY29zID0gY29zLAot ICAgICAgICAuZmVhdHVyZSA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV0sCi0gICAgICAgIC5w cm9wcyA9IGZlYXRfcHJvcHNbZmVhdF90eXBlXSwKKyAgICAgICAgLmZlYXR1cmVzID0gaW5mby0+ ZmVhdHVyZXMsCisgICAgICAgIC52YWwgPSB2YWwsCisgICAgICAgIC5hcnJheV9sZW4gPSBhcnJh eV9sZW4sCisgICAgICAgIC5yZXN1bHQgPSAwLAogICAgIH07CiAKICAgICBpZiAoIGNvcyA+IGlu Zm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV0tPmNvc19tYXggKQogICAgICAgICByZXR1cm4gLUVJTlZB TDsKIAotICAgIC8qIFNraXAgdG8gdGhlIGZlYXR1cmUncyB2YWx1ZSBoZWFkLiAqLwotICAgIHJl dCA9IHNraXBfcHJpb3JfZmVhdHVyZXMoJmFycmF5X2xlbiwgZmVhdF90eXBlKTsKLSAgICBpZiAo IHJldCA8IDAgKQotICAgICAgICByZXR1cm4gcmV0OwotCi0gICAgdmFsICs9IHJldDsKLQotICAg IGlmICggYXJyYXlfbGVuIDwgZmVhdF9wcm9wc1tmZWF0X3R5cGVdLT5jb3NfbnVtICkKLSAgICAg ICAgcmV0dXJuIC1FTk9TUEM7Ci0KLSAgICBkYXRhLnZhbCA9IHZhbDsKLQogICAgIGlmICggc29j a2V0ID09IGNwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKSApCiAgICAgICAgIGRvX3dy aXRlX3Bzcl9tc3JzKCZkYXRhKTsKICAgICBlbHNlCkBAIC0xMTcyLDcgKzExODMsNyBAQCBzdGF0 aWMgaW50IHdyaXRlX3Bzcl9tc3JzKHVuc2lnbmVkIGludCBzb2NrZXQsIHVuc2lnbmVkIGludCBj b3MsCiAgICAgICAgIG9uX3NlbGVjdGVkX2NwdXMoY3B1bWFza19vZihjcHUpLCBkb193cml0ZV9w c3JfbXNycywgJmRhdGEsIDEpOwogICAgIH0KIAotICAgIHJldHVybiAwOworICAgIHJldHVybiBk YXRhLnJlc3VsdDsKIH0KIAogaW50IHBzcl9zZXRfdmFsKHN0cnVjdCBkb21haW4gKmQsIHVuc2ln bmVkIGludCBzb2NrZXQsCi0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=