From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v2] x86: psr: support co-exist features' values setting Date: Sun, 8 Oct 2017 12:22:00 +0800 Message-ID: <1507436520-5629-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1e13Pw-0003mZ-SY for xen-devel@lists.xenproject.org; Sun, 08 Oct 2017 04:42:20 +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 bGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDU0ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCBkYWEyYWVi Li5kYmY3YTRjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gv eDg2L3Bzci5jCkBAIC0xMTExLDI1ICsxMTExLDQzIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0 X3NvY2tldF9jcHUodW5zaWduZWQgaW50IHNvY2tldCkKIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbwog ewogICAgIHVuc2lnbmVkIGludCBjb3M7Ci0gICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdHVyZTsK KyAgICBzdHJ1Y3QgZmVhdF9ub2RlICoqZmVhdHVyZXM7CiAgICAgY29uc3QgdWludDMyX3QgKnZh bDsKLSAgICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHM7CisgICAgdW5zaWduZWQgaW50 IGFycmF5X2xlbjsKIH07CiAKIHN0YXRpYyB2b2lkIGRvX3dyaXRlX3Bzcl9tc3JzKHZvaWQgKmRh dGEpCiB7CiAgICAgY29uc3Qgc3RydWN0IGNvc193cml0ZV9pbmZvICppbmZvID0gZGF0YTsKLSAg ICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0ID0gaW5mby0+ZmVhdHVyZTsKLSAgICBjb25zdCBzdHJ1 Y3QgZmVhdF9wcm9wcyAqcHJvcHMgPSBpbmZvLT5wcm9wczsKLSAgICB1bnNpZ25lZCBpbnQgaSwg Y29zID0gaW5mby0+Y29zLCBjb3NfbnVtID0gcHJvcHMtPmNvc19udW07CisgICAgdW5zaWduZWQg aW50IGksIGluZGV4ID0gMCwgY29zID0gaW5mby0+Y29zOwogCi0gICAgZm9yICggaSA9IDA7IGkg PCBjb3NfbnVtOyBpKysgKQorICAgIC8qCisgICAgICogSXRlcmF0ZSBhbGwgZmVhdHVlcnMgdG8g d3JpdGUgZGlmZmVyZW50IHZhbHVlIChub3Qgc2FtZSBhcyBNU1IpIGZvcgorICAgICAqIGVhY2gg ZmVhdHVyZS4KKyAgICAgKi8KKyAgICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmVhdF9w cm9wcyk7IGkrKyApCiAgICAgewotICAgICAgICBpZiAoIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAq IGNvc19udW0gKyBpXSAhPSBpbmZvLT52YWxbaV0gKQorICAgICAgICBzdHJ1Y3QgZmVhdF9ub2Rl ICpmZWF0ID0gaW5mby0+ZmVhdHVyZXNbaV07CisgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X3By b3BzICpwcm9wcyA9IGZlYXRfcHJvcHNbaV07CisgICAgICAgIHVuc2lnbmVkIGludCBjb3NfbnVt LCBqOworCisgICAgICAgIGlmICggIWZlYXQgfHwgIXByb3BzICkKKyAgICAgICAgICAgIGNvbnRp bnVlOworCisgICAgICAgIGNvc19udW0gPSBwcm9wcy0+Y29zX251bTsKKyAgICAgICAgaWYgKCBp bmZvLT5hcnJheV9sZW4gPCBpbmRleCArIGNvc19udW0gKQorICAgICAgICAgICAgcmV0dXJuOwor CisgICAgICAgIGZvciAoIGogPSAwOyBqIDwgY29zX251bTsgaisrICkKICAgICAgICAgewotICAg ICAgICAgICAgZmVhdC0+Y29zX3JlZ192YWxbY29zICogY29zX251bSArIGldID0gaW5mby0+dmFs W2ldOwotICAgICAgICAgICAgcHJvcHMtPndyaXRlX21zcihjb3MsIGluZm8tPnZhbFtpXSwgcHJv cHMtPnR5cGVbaV0pOworICAgICAgICAgICAgaWYgKCBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBj b3NfbnVtICsgal0gIT0gaW5mby0+dmFsW2luZGV4ICsgal0gKQorICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIGNvc19udW0gKyBqXSA9IGluZm8t PnZhbFtpbmRleCArIGpdOworICAgICAgICAgICAgICAgIHByb3BzLT53cml0ZV9tc3IoY29zLCBp bmZvLT52YWxbaW5kZXggKyBqXSwgcHJvcHMtPnR5cGVbal0pOworICAgICAgICAgICAgfQogICAg ICAgICB9CisKKyAgICAgICAgaW5kZXggKz0gY29zX251bTsKICAgICB9CiB9CiAKQEAgLTExMzcs MzAgKzExNTUsMTggQEAgc3RhdGljIGludCB3cml0ZV9wc3JfbXNycyh1bnNpZ25lZCBpbnQgc29j a2V0LCB1bnNpZ25lZCBpbnQgY29zLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1 aW50MzJfdCB2YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSkKIHsKLSAgICBpbnQgcmV0Owog ICAgIHN0cnVjdCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0 KTsKICAgICBzdHJ1Y3QgY29zX3dyaXRlX2luZm8gZGF0YSA9CiAgICAgewogICAgICAgICAuY29z ID0gY29zLAotICAgICAgICAuZmVhdHVyZSA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV0sCi0g ICAgICAgIC5wcm9wcyA9IGZlYXRfcHJvcHNbZmVhdF90eXBlXSwKKyAgICAgICAgLmZlYXR1cmVz ID0gaW5mby0+ZmVhdHVyZXMsCisgICAgICAgIC52YWwgPSB2YWwsCisgICAgICAgIC5hcnJheV9s ZW4gPSBhcnJheV9sZW4sCiAgICAgfTsKIAogICAgIGlmICggY29zID4gaW5mby0+ZmVhdHVyZXNb ZmVhdF90eXBlXS0+Y29zX21heCApCiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCi0gICAgLyog U2tpcCB0byB0aGUgZmVhdHVyZSdzIHZhbHVlIGhlYWQuICovCi0gICAgcmV0ID0gc2tpcF9wcmlv cl9mZWF0dXJlcygmYXJyYXlfbGVuLCBmZWF0X3R5cGUpOwotICAgIGlmICggcmV0IDwgMCApCi0g ICAgICAgIHJldHVybiByZXQ7Ci0KLSAgICB2YWwgKz0gcmV0OwotCi0gICAgaWYgKCBhcnJheV9s ZW4gPCBmZWF0X3Byb3BzW2ZlYXRfdHlwZV0tPmNvc19udW0gKQotICAgICAgICByZXR1cm4gLUVO T1NQQzsKLQotICAgIGRhdGEudmFsID0gdmFsOwotCiAgICAgaWYgKCBzb2NrZXQgPT0gY3B1X3Rv X3NvY2tldChzbXBfcHJvY2Vzc29yX2lkKCkpICkKICAgICAgICAgZG9fd3JpdGVfcHNyX21zcnMo JmRhdGEpOwogICAgIGVsc2UKLS0gCjEuOS4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==