From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v5] x86: psr: support co-exist features' values setting Date: Wed, 11 Oct 2017 15:20:38 +0800 Message-ID: <1507706438-24486-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 1e2Bdi-0007gr-0r for xen-devel@lists.xenproject.org; Wed, 11 Oct 2017 07:41:14 +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 R3JhbGwgPGp1bGllbi5ncmFsbEBhcm0uY29tPgoKdjU6CiAgICAtIHJlbW92ZSAncmVzdWx0JyBh bmQgdXNlIGFuIEFTU0VSVCB0byBoYW5kbGUgZXJyb3IgY2FzZS4KICAgICAgKHN1Z2dlc3RlZCBi eSBDaGFvIFBlbmcpCnY0OgogICAgLSByZW1vdmUgaW5pdCBvZiAncmVzdWx0Jy4KICAgICAgKHN1 Z2dlc3RlZCBieSBSb2dlciBQYXUgTW9ubsOpKQogICAgLSByZW1vdmUgJ2ZlYXR1cmVzJyBpbiAn Y29zX3dyaXRlX2luZm8nIGFuZCBnZXQgc29ja2V0IGluZm8gaW4KICAgICAgJ2RvX3dyaXRlX3Bz cl9tc3JzJyB0byBnZXQgZmVhdHVyZXMgYXJyYXkuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCiAgICAtIGZpeCBhIHR5cG8gaW4gY29tbWl0IG1lc3NhZ2UuCiAgICAgIChzdWdnZXN0 ZWQgYnkgS2VudCBSLiBTcGlsbG5lcikKdjM6CiAgICAtIGFkZCAncmVzdWx0JyBpbiAnY29zX3dy aXRlX2luZm8nIHRvIHJldHVybiBlcnJvciBjb2RlLgogICAgICAoc3VnZ2VzdGVkIGJ5IFJvZ2Vy IFBhdSBNb25uw6kpCnYyOgogICAgLSBmaXggaXNzdWVzIGluIGNvbW1pdCBtZXNzYWdlLgogICAg ICAoc3VnZ2VzdGVkIGJ5IFJvZ2VyIFBhdSBNb25uw6kpCiAgICAtIHJlbW92ZSB1bm5lY2Vzc2Fy eSBsb2NhbCB2YXJpYWJsZSAndmFsX2FycmF5Jy4KICAgICAgKHN1Z2dlc3RlZCBieSBSb2dlciBQ YXUgTW9ubsOpKQotLS0KIHhlbi9hcmNoL3g4Ni9wc3IuYyB8IDU1ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDMw IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9wc3IuYyBiL3hlbi9hcmNoL3g4Ni9wc3IuYwppbmRleCBkYWEyYWViLi44OTM2Y2Y3IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvcHNyLmMKKysrIGIveGVuL2FyY2gveDg2L3Bzci5jCkBAIC0x MTExLDI1ICsxMTExLDQzIEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X3NvY2tldF9jcHUodW5z aWduZWQgaW50IHNvY2tldCkKIHN0cnVjdCBjb3Nfd3JpdGVfaW5mbwogewogICAgIHVuc2lnbmVk IGludCBjb3M7Ci0gICAgc3RydWN0IGZlYXRfbm9kZSAqZmVhdHVyZTsKICAgICBjb25zdCB1aW50 MzJfdCAqdmFsOwotICAgIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9wczsKKyAgICB1bnNp Z25lZCBpbnQgYXJyYXlfbGVuOwogfTsKIAogc3RhdGljIHZvaWQgZG9fd3JpdGVfcHNyX21zcnMo dm9pZCAqZGF0YSkKIHsKLSAgICBjb25zdCBzdHJ1Y3QgY29zX3dyaXRlX2luZm8gKmluZm8gPSBk YXRhOwotICAgIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQgPSBpbmZvLT5mZWF0dXJlOwotICAgIGNv bnN0IHN0cnVjdCBmZWF0X3Byb3BzICpwcm9wcyA9IGluZm8tPnByb3BzOwotICAgIHVuc2lnbmVk IGludCBpLCBjb3MgPSBpbmZvLT5jb3MsIGNvc19udW0gPSBwcm9wcy0+Y29zX251bTsKKyAgICBz dHJ1Y3QgY29zX3dyaXRlX2luZm8gKmluZm8gPSBkYXRhOworICAgIHVuc2lnbmVkIGludCBpLCBp bmRleCA9IDAsIGNvcyA9IGluZm8tPmNvczsKKyAgICBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICpz b2NrZXRfaW5mbyA9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0X3NvY2tldF9pbmZv KGNwdV90b19zb2NrZXQoc21wX3Byb2Nlc3Nvcl9pZCgpKSk7CiAKLSAgICBmb3IgKCBpID0gMDsg aSA8IGNvc19udW07IGkrKyApCisgICAgLyoKKyAgICAgKiBJdGVyYXRlIGFsbCBmZWF0dWVycyB0 byB3cml0ZSBkaWZmZXJlbnQgdmFsdWUgKG5vdCBzYW1lIGFzIE1TUikgZm9yCisgICAgICogZWFj aCBmZWF0dXJlLgorICAgICAqLworICAgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRShmZWF0 X3Byb3BzKTsgaSsrICkKICAgICB7Ci0gICAgICAgIGlmICggZmVhdC0+Y29zX3JlZ192YWxbY29z ICogY29zX251bSArIGldICE9IGluZm8tPnZhbFtpXSApCisgICAgICAgIHN0cnVjdCBmZWF0X25v ZGUgKmZlYXQgPSBzb2NrZXRfaW5mby0+ZmVhdHVyZXNbaV07CisgICAgICAgIGNvbnN0IHN0cnVj dCBmZWF0X3Byb3BzICpwcm9wcyA9IGZlYXRfcHJvcHNbaV07CisgICAgICAgIHVuc2lnbmVkIGlu dCBjb3NfbnVtLCBqOworCisgICAgICAgIGlmICggIWZlYXQgfHwgIXByb3BzICkKKyAgICAgICAg ICAgIGNvbnRpbnVlOworCisgICAgICAgIGNvc19udW0gPSBwcm9wcy0+Y29zX251bTsKKyAgICAg ICAgQVNTRVJUKGluZm8tPmFycmF5X2xlbiA+PSBpbmRleCArIGNvc19udW0pOworCisgICAgICAg IGZvciAoIGogPSAwOyBqIDwgY29zX251bTsgaisrICkKICAgICAgICAgewotICAgICAgICAgICAg ZmVhdC0+Y29zX3JlZ192YWxbY29zICogY29zX251bSArIGldID0gaW5mby0+dmFsW2ldOwotICAg ICAgICAgICAgcHJvcHMtPndyaXRlX21zcihjb3MsIGluZm8tPnZhbFtpXSwgcHJvcHMtPnR5cGVb aV0pOworICAgICAgICAgICAgaWYgKCBmZWF0LT5jb3NfcmVnX3ZhbFtjb3MgKiBjb3NfbnVtICsg al0gIT0gaW5mby0+dmFsW2luZGV4ICsgal0gKQorICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgIGZlYXQtPmNvc19yZWdfdmFsW2NvcyAqIGNvc19udW0gKyBqXSA9IGluZm8tPnZhbFtpbmRl eCArIGpdOworICAgICAgICAgICAgICAgIHByb3BzLT53cml0ZV9tc3IoY29zLCBpbmZvLT52YWxb aW5kZXggKyBqXSwgcHJvcHMtPnR5cGVbal0pOworICAgICAgICAgICAgfQogICAgICAgICB9CisK KyAgICAgICAgaW5kZXggKz0gY29zX251bTsKICAgICB9CiB9CiAKQEAgLTExMzcsMzAgKzExNTUs MTcgQEAgc3RhdGljIGludCB3cml0ZV9wc3JfbXNycyh1bnNpZ25lZCBpbnQgc29ja2V0LCB1bnNp Z25lZCBpbnQgY29zLAogICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1aW50MzJfdCB2 YWxbXSwgdW5zaWduZWQgaW50IGFycmF5X2xlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ZW51bSBwc3JfZmVhdF90eXBlIGZlYXRfdHlwZSkKIHsKLSAgICBpbnQgcmV0OwogICAgIHN0cnVj dCBwc3Jfc29ja2V0X2luZm8gKmluZm8gPSBnZXRfc29ja2V0X2luZm8oc29ja2V0KTsKICAgICBz dHJ1Y3QgY29zX3dyaXRlX2luZm8gZGF0YSA9CiAgICAgewogICAgICAgICAuY29zID0gY29zLAot ICAgICAgICAuZmVhdHVyZSA9IGluZm8tPmZlYXR1cmVzW2ZlYXRfdHlwZV0sCi0gICAgICAgIC5w cm9wcyA9IGZlYXRfcHJvcHNbZmVhdF90eXBlXSwKKyAgICAgICAgLnZhbCA9IHZhbCwKKyAgICAg ICAgLmFycmF5X2xlbiA9IGFycmF5X2xlbiwKICAgICB9OwogCiAgICAgaWYgKCBjb3MgPiBpbmZv LT5mZWF0dXJlc1tmZWF0X3R5cGVdLT5jb3NfbWF4ICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7 CiAKLSAgICAvKiBTa2lwIHRvIHRoZSBmZWF0dXJlJ3MgdmFsdWUgaGVhZC4gKi8KLSAgICByZXQg PSBza2lwX3ByaW9yX2ZlYXR1cmVzKCZhcnJheV9sZW4sIGZlYXRfdHlwZSk7Ci0gICAgaWYgKCBy ZXQgPCAwICkKLSAgICAgICAgcmV0dXJuIHJldDsKLQotICAgIHZhbCArPSByZXQ7Ci0KLSAgICBp ZiAoIGFycmF5X2xlbiA8IGZlYXRfcHJvcHNbZmVhdF90eXBlXS0+Y29zX251bSApCi0gICAgICAg IHJldHVybiAtRU5PU1BDOwotCi0gICAgZGF0YS52YWwgPSB2YWw7Ci0KICAgICBpZiAoIHNvY2tl dCA9PSBjcHVfdG9fc29ja2V0KHNtcF9wcm9jZXNzb3JfaWQoKSkgKQogICAgICAgICBkb193cml0 ZV9wc3JfbXNycygmZGF0YSk7CiAgICAgZWxzZQotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK