From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4] x86: psr: support co-exist features' values setting Date: Wed, 11 Oct 2017 09:55:13 +0800 Message-ID: <1507686913-5106-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 1e26Yl-0007hY-9f for xen-devel@lists.xenproject.org; Wed, 11 Oct 2017 02:15:47 +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 VGhlIHdob2xlIHZhbHVlIGFycmF5IGlzIHRyYW5zZmVycmVkIGludG8gJ2RvX3dyaXRlX3Bzcl9t c3JzJy4gVGhlbiwgd2UgY2FuCndyaXRlIGFsbCBmZWF0dXJlcyB2YWx1ZXMgb24gdGhlIGNvcyBp ZCBpbnRvIE1TUnMuCgpCZWNhdXNlIG11bHRpcGxlIGZlYXR1cmVzIG1heSBjby1leGlzdCwgd2Ug bmVlZCBoYW5kbGUgYWxsIGZlYXR1cmVzIHRvIHdyaXRlCnZhbHVlcyBvZiB0aGVtIGludG8gYSBD T1MgcmVnaXN0ZXIgd2l0aCBuZXcgQ09TIElELiBFLmc6CjEuIEwzIENBVCBhbmQgTDIgQ0FUIGNv LWV4aXN0LgoyLiBEb20xIGFuZCBEb20yIHNoYXJlIHRoZSBzYW1lIENPUyBJRCAoMikuIFRoZSBM MyBDQVQgQ0JNIG9mIERvbTEgaXMgMHgxZmYsCiAgIHRoZSBMMiBDQVQgQ0JNIG9mIERvbTEgaXMg MHgxZi4KMy4gVXNlciB3YW50cyB0byBjaGFuZ2UgTDIgQ0JNIG9mIERvbTEgdG8gYmUgMHhmLiBC ZWNhdXNlIENPUyBJRCAyIGlzCiAgIHVzZWQgYnkgRG9tMiB0b28sIHdlIGhhdmUgdG8gcGljayBh IG5ldyBDT1MgSUQgMy4gVGhlIHZhbHVlcyBvZiBEb20xIG9uCiAgIENPUyBJRCAzIGFyZSBhbGwg ZGVmYXVsdCB2YWx1ZXMgYXMgYmVsb3c6CiAgICAgICAgICAgLS0tLS0tLS0tCiAgICAgICAgICAg fCBDT1MgMyB8CiAgICAgICAgICAgLS0tLS0tLS0tCiAgIEwzIENBVCAgfCAweDdmZiB8CiAgICAg ICAgICAgLS0tLS0tLS0tCiAgIEwyIENBVCAgfCAweGZmICB8CiAgICAgICAgICAgLS0tLS0tLS0t CjQuIEFmdGVyIHNldHRpbmcsIHRoZSBMMyBDQVQgQ0JNIHZhbHVlIG9mIERvbTEgc2hvdWxkIGJl IGtlcHQgYW5kIHRoZSBuZXcgTDIKICAgQ0FUIENCTSBpcyBzZXQuIFNvLCB0aGUgdmFsdWVzIG9u IENPUyBJRCAzIHNob3VsZCBiZSBiZWxvdy4KICAgICAgICAgICAtLS0tLS0tLS0KICAgICAgICAg ICB8IENPUyAzIHwKICAgICAgICAgICAtLS0tLS0tLS0KICAgTDMgQ0FUICB8IDB4MWZmIHwKICAg ICAgICAgICAtLS0tLS0tLS0KICAgTDIgQ0FUICB8IDB4ZiAgIHwKICAgICAgICAgICAtLS0tLS0t LS0KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXguaW50ZWwuY29tPgotLS0K Q0M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ0M6IEFuZHJldyBDb29wZXIgPGFu ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29t PgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+CkNDOiBKdWxpZW4g R3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKdjQ6CiAgICAtIHJlbW92ZSBpbml0IG9mICdy ZXN1bHQnLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIHJlbW92 ZSAnZmVhdHVyZXMnIGluICdjb3Nfd3JpdGVfaW5mbycgYW5kIGdldCBzb2NrZXQgaW5mbyBpbgog ICAgICAnZG9fd3JpdGVfcHNyX21zcnMnIHRvIGdldCBmZWF0dXJlcyBhcnJheS4KICAgICAgKHN1 Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZml4IGEgdHlwbyBpbiBjb21taXQgbWVzc2Fn ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBLZW50IFIuIFNwaWxsbmVyKQp2MzoKICAgIC0gYWRkICdy ZXN1bHQnIGluICdjb3Nfd3JpdGVfaW5mbycgdG8gcmV0dXJuIGVycm9yIGNvZGUuCiAgICAgIChz dWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKdjI6CiAgICAtIGZpeCBpc3N1ZXMgaW4gY29t bWl0IG1lc3NhZ2UuCiAgICAgIChzdWdnZXN0ZWQgYnkgUm9nZXIgUGF1IE1vbm7DqSkKICAgIC0g cmVtb3ZlIHVubmVjZXNzYXJ5IGxvY2FsIHZhcmlhYmxlICd2YWxfYXJyYXknLgogICAgICAoc3Vn Z2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCi0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgNjIg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMjYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEveGVuL2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IGRhYTJh ZWIuLmE4MTIxMjQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJj aC94ODYvcHNyLmMKQEAgLTExMTEsMjUgKzExMTEsNDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBn ZXRfc29ja2V0X2NwdSh1bnNpZ25lZCBpbnQgc29ja2V0KQogc3RydWN0IGNvc193cml0ZV9pbmZv CiB7CiAgICAgdW5zaWduZWQgaW50IGNvczsKLSAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0dXJl OwogICAgIGNvbnN0IHVpbnQzMl90ICp2YWw7Ci0gICAgY29uc3Qgc3RydWN0IGZlYXRfcHJvcHMg KnByb3BzOworICAgIHVuc2lnbmVkIGludCBhcnJheV9sZW47CisgICAgaW50IHJlc3VsdDsKIH07 CiAKIHN0YXRpYyB2b2lkIGRvX3dyaXRlX3Bzcl9tc3JzKHZvaWQgKmRhdGEpCiB7Ci0gICAgY29u c3Qgc3RydWN0IGNvc193cml0ZV9pbmZvICppbmZvID0gZGF0YTsKLSAgICBzdHJ1Y3QgZmVhdF9u b2RlICpmZWF0ID0gaW5mby0+ZmVhdHVyZTsKLSAgICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAq cHJvcHMgPSBpbmZvLT5wcm9wczsKLSAgICB1bnNpZ25lZCBpbnQgaSwgY29zID0gaW5mby0+Y29z LCBjb3NfbnVtID0gcHJvcHMtPmNvc19udW07CisgICAgc3RydWN0IGNvc193cml0ZV9pbmZvICpp bmZvID0gZGF0YTsKKyAgICB1bnNpZ25lZCBpbnQgaSwgaW5kZXggPSAwLCBjb3MgPSBpbmZvLT5j b3M7CisgICAgc3RydWN0IHBzcl9zb2NrZXRfaW5mbyAqc29ja2V0X2luZm8gPQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdldF9zb2NrZXRfaW5mbyhjcHVfdG9fc29ja2V0KHNtcF9wcm9j ZXNzb3JfaWQoKSkpOwogCi0gICAgZm9yICggaSA9IDA7IGkgPCBjb3NfbnVtOyBpKysgKQorICAg IC8qCisgICAgICogSXRlcmF0ZSBhbGwgZmVhdHVlcnMgdG8gd3JpdGUgZGlmZmVyZW50IHZhbHVl IChub3Qgc2FtZSBhcyBNU1IpIGZvcgorICAgICAqIGVhY2ggZmVhdHVyZS4KKyAgICAgKi8KKyAg ICBmb3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoZmVhdF9wcm9wcyk7IGkrKyApCiAgICAgewot ICAgICAgICBpZiAoIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIGNvc19udW0gKyBpXSAhPSBpbmZv LT52YWxbaV0gKQorICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0ID0gc29ja2V0X2luZm8t PmZlYXR1cmVzW2ldOworICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9wcm9wcyAqcHJvcHMgPSBm ZWF0X3Byb3BzW2ldOworICAgICAgICB1bnNpZ25lZCBpbnQgY29zX251bSwgajsKKworICAgICAg ICBpZiAoICFmZWF0IHx8ICFwcm9wcyApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAg ICBjb3NfbnVtID0gcHJvcHMtPmNvc19udW07CisgICAgICAgIGlmICggaW5mby0+YXJyYXlfbGVu IDwgaW5kZXggKyBjb3NfbnVtICkKKyAgICAgICAgeworICAgICAgICAgICAgaW5mby0+cmVzdWx0 ID0gLUVOT1NQQzsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGZv ciAoIGogPSAwOyBqIDwgY29zX251bTsgaisrICkKICAgICAgICAgewotICAgICAgICAgICAgZmVh dC0+Y29zX3JlZ192YWxbY29zICogY29zX251bSArIGldID0gaW5mby0+dmFsW2ldOwotICAgICAg ICAgICAgcHJvcHMtPndyaXRlX21zcihjb3MsIGluZm8tPnZhbFtpXSwgcHJvcHMtPnR5cGVbaV0p OworICAgICAgICAgICAgaWYgKCBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBjb3NfbnVtICsgal0g IT0gaW5mby0+dmFsW2luZGV4ICsgal0gKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg IGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIGNvc19udW0gKyBqXSA9IGluZm8tPnZhbFtpbmRleCAr IGpdOworICAgICAgICAgICAgICAgIHByb3BzLT53cml0ZV9tc3IoY29zLCBpbmZvLT52YWxbaW5k ZXggKyBqXSwgcHJvcHMtPnR5cGVbal0pOworICAgICAgICAgICAgfQogICAgICAgICB9CisKKyAg ICAgICAgaW5kZXggKz0gY29zX251bTsKICAgICB9CiB9CiAKQEAgLTExMzcsMzAgKzExNjAsMTcg QEAgc3RhdGljIGludCB3cml0ZV9wc3JfbXNycyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1bnNpZ25l ZCBpbnQgY29zLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCB2YWxb XSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgZW51 bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSkKIHsKLSAgICBpbnQgcmV0OwogICAgIHN0cnVjdCBw c3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0KTsKICAgICBzdHJ1 Y3QgY29zX3dyaXRlX2luZm8gZGF0YSA9CiAgICAgewogICAgICAgICAuY29zID0gY29zLAotICAg ICAgICAuZmVhdHVyZSA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV0sCi0gICAgICAgIC5wcm9w cyA9IGZlYXRfcHJvcHNbZmVhdF90eXBlXSwKKyAgICAgICAgLnZhbCA9IHZhbCwKKyAgICAgICAg LmFycmF5X2xlbiA9IGFycmF5X2xlbiwKICAgICB9OwogCiAgICAgaWYgKCBjb3MgPiBpbmZvLT5m ZWF0dXJlc1tmZWF0X3R5cGVdLT5jb3NfbWF4ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAK LSAgICAvKiBTa2lwIHRvIHRoZSBmZWF0dXJlJ3MgdmFsdWUgaGVhZC4gKi8KLSAgICByZXQgPSBz a2lwX3ByaW9yX2ZlYXR1cmVzKCZhcnJheV9sZW4sIGZlYXRfdHlwZSk7Ci0gICAgaWYgKCByZXQg PCAwICkKLSAgICAgICAgcmV0dXJuIHJldDsKLQotICAgIHZhbCArPSByZXQ7Ci0KLSAgICBpZiAo IGFycmF5X2xlbiA8IGZlYXRfcHJvcHNbZmVhdF90eXBlXS0+Y29zX251bSApCi0gICAgICAgIHJl dHVybiAtRU5PU1BDOwotCi0gICAgZGF0YS52YWwgPSB2YWw7Ci0KICAgICBpZiAoIHNvY2tldCA9 PSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSkgKQogICAgICAgICBkb193cml0ZV9w c3JfbXNycygmZGF0YSk7CiAgICAgZWxzZQpAQCAtMTE3Miw3ICsxMTgyLDcgQEAgc3RhdGljIGlu dCB3cml0ZV9wc3JfbXNycyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1bnNpZ25lZCBpbnQgY29zLAog ICAgICAgICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tfb2YoY3B1KSwgZG9fd3JpdGVfcHNyX21z cnMsICZkYXRhLCAxKTsKICAgICB9CiAKLSAgICByZXR1cm4gMDsKKyAgICByZXR1cm4gZGF0YS5y ZXN1bHQ7CiB9CiAKIGludCBwc3Jfc2V0X3ZhbChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBp bnQgc29ja2V0LAotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK