From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v9 17/25] x86: refactor psr: CDP: implement set value callback functions. Date: Thu, 16 Mar 2017 19:08:07 +0800 Message-ID: <1489662495-5375-18-git-send-email-yi.y.sun@linux.intel.com> References: <1489662495-5375-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1coTMQ-0004kF-58 for xen-devel@lists.xenproject.org; Thu, 16 Mar 2017 11:14:26 +0000 In-Reply-To: <1489662495-5375-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 VGhpcyBwYXRjaCBpbXBsZW1lbnRzIEwzIENEUCBzZXQgdmFsdWUgcmVsYXRlZCBjYWxsYmFjayBm dW5jdGlvbnMuCgpXaXRoIHRoaXMgcGF0Y2gsICdwc3ItY2F0LWNibS1zZXQnIGNvbW1hbmQgY2Fu IHdvcmsgZm9yIEwzIENEUC4KClNpZ25lZC1vZmYtYnk6IFlpIFN1biA8eWkueS5zdW5AbGludXgu aW50ZWwuY29tPgotLS0Kdjk6CiAgICAtIGFkZCBjb21tZW50IHRvIGV4cGxhaW4gd2h5IENEUCB1 c2VzIDIgQ09Tcy4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQogICAgLSB1c2UgJ2NhdF9k ZWZhdWx0X3ZhbCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgV2VpIExpdSkKICAgIC0gcmVtb3ZlICds M19jZHBfZ2V0X2Nvc19udW0nIGJlY2F1c2Ugd2UgY2FuIGRpcmVjdGx5IGdldCBjb3NfbnVtIGZy b20KICAgICAgZmVhdF9ub2RlIG5vdy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gcmVtb3ZlIGNvcyBjaGVja2luZyBiZWNhdXNlIGl0IGhhcyBiZWVuIG1vdmVkIHRvIGNv bW1vbiBmdW5jdGlvbi4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbDNf Y2RwX3NldF9uZXdfdmFsIHBhcmFtZXRlciAnbScgaXMgY2hhbmdlZCB0byAnbmV3X3ZhbCcuCiAg ICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGRpcmVjdGx5IHVzZSBnZXRfY2Rw X2RhdGEoZmVhdCwgMCkgYW5kIGdldF9jZHBfY29kZShmZWF0LCAwKSB0byBnZXQKICAgICAgZGVm YXVsdCB2YWx1ZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5 ICdsM19jZHBfd3JpdGVfbXNyJyBmbG93IHRvIHdyaXRlIHZhbHVlIGludG8gcmVnaXN0ZXIgYWNj b3JkaW5nCiAgICAgIHRvIGlucHV0IHR5cGUuCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3VpbnQ2NF90 JyB0byAndWludDMyX3QnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQp2ODoKICAg IC0gbW9kaWZ5ICdsM19jZHBfd3JpdGVfbXNyJyB0eXBlIHRvICd2b2lkJy4KdjU6CiAgICAtIHJl bW92ZSB0eXBlIGNoZWNrIGluIGNhbGxiYWNrIGZ1bmN0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgcmV0dXJuIHZhbHVlIG9mIGNhbGxiYWNrIGZ1bmN0 aW9ucyBiZWNhdXNlIHdlIGRvIG5vdCBuZWVkIHRoZW0KICAgICAgdG8gcmV0dXJuIG51bWJlciBv ZiBlbnRyaWVzIHRoZSBmZWF0dXJlIHVzZXMuIEluIGNhbGxlciwgd2UgY2FsbAogICAgICAnZ2V0 X2Nvc19udW0nIHRvIGdldCB0aGUgbnVtYmVyIG9mIGVudHJpZXMgdGhlIGZlYXR1cmUgdXNlcy4K ICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gcmVtb3ZlICdsM19jZHBfZ2V0 X2Nvc19tYXhfZnJvbV90eXBlJy4KICAgIC0gcmVuYW1lICdsM19jZHBfZXhjZWVkc19jb3NfbWF4 JyB0byAnbDNfY2RwX2ZpdHNfY29zX21heCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxp Y2gpCnY0OgogICAgLSBjcmVhdGUgdGhpcyBwYXRjaCB0byBtYWtlIGNvZGVzIGVhc2llciB0byB1 bmRlcnN0YW5kLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQotLS0KIHhlbi9hcmNo L3g4Ni9wc3IuYyB8IDkxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDkxIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggMGNlOGE2 Yi4uN2VkZThhMSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9hcmNo L3g4Ni9wc3IuYwpAQCAtNTMwLDEwICs1MzAsMTAxIEBAIHN0YXRpYyB2b2lkIGwzX2NkcF9nZXRf dmFsKGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsIHVuc2lnbmVkIGludCBjb3MsCiAgICAg ICAgICp2YWwgPSBnZXRfY2RwX2NvZGUoZmVhdCwgY29zKTsKIH0KIAorc3RhdGljIHZvaWQgbDNf Y2RwX2dldF9vbGRfdmFsKHVpbnQzMl90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IG9sZF9jb3MpCit7CisgICAgLyogRGF0YSAqLworICAg IHZhbFswXSA9IGdldF9jZHBfZGF0YShmZWF0LCBvbGRfY29zKTsKKyAgICAvKiBDb2RlICovCisg ICAgdmFsWzFdID0gZ2V0X2NkcF9jb2RlKGZlYXQsIG9sZF9jb3MpOworfQorCitzdGF0aWMgaW50 IGwzX2NkcF9zZXRfbmV3X3ZhbCh1aW50MzJfdCB2YWxbXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCBmZWF0X25vZGUgKmZlYXQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1aW50MzJfdCBuZXdfdmFsKQoreworICAgIGlmICggIXBzcl9jaGVja19jYm0oZmVh dC0+aW5mby5jYXRfaW5mby5jYm1fbGVuLCBuZXdfdmFsKSApCisgICAgICAgIHJldHVybiAtRUlO VkFMOworCisgICAgaWYgKCB0eXBlID09IFBTUl9DQk1fVFlQRV9MM19EQVRBICkKKyAgICAgICAg dmFsWzBdID0gbmV3X3ZhbDsKKyAgICBlbHNlCisgICAgICAgIHZhbFsxXSA9IG5ld192YWw7CisK KyAgICByZXR1cm4gMDsKK30KKworc3RhdGljIGludCBsM19jZHBfY29tcGFyZV92YWwoY29uc3Qg dWludDMyX3QgdmFsW10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1 Y3QgZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWdu ZWQgaW50IGNvcykKK3sKKyAgICAvKgorICAgICAqIERpZmZlcmVudCBmZWF0dXJlcycgY29zX21h eCBhcmUgZGlmZmVyZW50LiBJZiBjb3MgaWQgb2YgdGhlIGZlYXR1cmUKKyAgICAgKiBiZWluZyBz ZXQgZXhjZWVkcyBvdGhlciBmZWF0dXJlJ3MgY29zX21heCwgdGhlIHZhbCBvZiBvdGhlciBmZWF0 dXJlCisgICAgICogbXVzdCBiZSBkZWZhdWx0IHZhbHVlLiBIVyBzdXBwb3J0cyBzdWNoIGNhc2Uu CisgICAgKi8KKyAgICBpZiAoIGNvcyA+IGZlYXQtPmluZm8uY2F0X2luZm8uY29zX21heCApCisg ICAgeworICAgICAgICBpZiAoIHZhbFswXSAhPSBnZXRfY2RwX2RhdGEoZmVhdCwgMCkgfHwKKyAg ICAgICAgICAgICB2YWxbMV0gIT0gZ2V0X2NkcF9jb2RlKGZlYXQsIDApICkKKyAgICAgICAgICAg IHJldHVybiAtRUlOVkFMOworCisgICAgICAgIC8qIEZpbmQgKi8KKyAgICAgICAgcmV0dXJuIDE7 CisgICAgfQorCisgICAgaWYgKCB2YWxbMF0gPT0gZ2V0X2NkcF9kYXRhKGZlYXQsIGNvcykgJiYK KyAgICAgICAgIHZhbFsxXSA9PSBnZXRfY2RwX2NvZGUoZmVhdCwgY29zKSApCisgICAgICAgIC8q IEZpbmQgKi8KKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICAvKiBOb3QgZmluZCAqLworICAgIHJl dHVybiAwOworfQorCitzdGF0aWMgYm9vbCBsM19jZHBfZml0c19jb3NfbWF4KGNvbnN0IHVpbnQz Ml90IHZhbFtdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3Qg ZmVhdF9ub2RlICpmZWF0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25l ZCBpbnQgY29zKQoreworICAgIGlmICggY29zID4gZmVhdC0+aW5mby5jYXRfaW5mby5jb3NfbWF4 ICYmCisgICAgICAgICAodmFsWzBdICE9IGdldF9jZHBfZGF0YShmZWF0LCAwKSB8fCB2YWxbMV0g IT0gZ2V0X2NkcF9jb2RlKGZlYXQsIDApKSApCisgICAgICAgICAgICAvKgorICAgICAgICAgICAg ICogRXhjZWVkIGNvc19tYXggYW5kIHZhbHVlIHRvIHNldCBpcyBub3QgZGVmYXVsdCwKKyAgICAg ICAgICAgICAqIHJldHVybiBlcnJvci4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgcmV0 dXJuIGZhbHNlOworCisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyB2b2lkIGwzX2NkcF93 cml0ZV9tc3IodW5zaWduZWQgaW50IGNvcywgdWludDMyX3QgdmFsLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBlbnVtIGNibV90eXBlIHR5cGUsIHN0cnVjdCBmZWF0X25vZGUgKmZlYXQp Cit7CisgICAgLyogRGF0YSAqLworICAgIGlmICggdHlwZSA9PSBQU1JfQ0JNX1RZUEVfTDNfREFU QSAmJiBnZXRfY2RwX2RhdGEoZmVhdCwgY29zKSAhPSB2YWwgKQorICAgIHsKKyAgICAgICAgZ2V0 X2NkcF9kYXRhKGZlYXQsIGNvcykgPSB2YWw7CisgICAgICAgIHdybXNybChNU1JfSUEzMl9QU1Jf TDNfTUFTS19EQVRBKGNvcyksICh1aW50NjRfdCl2YWwpOworICAgIH0KKyAgICAvKiBDb2RlICov CisgICAgaWYgKCB0eXBlID09IFBTUl9DQk1fVFlQRV9MM19DT0RFICYmIGdldF9jZHBfY29kZShm ZWF0LCBjb3MpICE9IHZhbCApCisgICAgeworICAgICAgICBnZXRfY2RwX2NvZGUoZmVhdCwgY29z KSA9IHZhbDsKKyAgICAgICAgd3Jtc3JsKE1TUl9JQTMyX1BTUl9MM19NQVNLX0NPREUoY29zKSwg KHVpbnQ2NF90KXZhbCk7CisgICAgfQorfQorCiBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2RwX29wcyA9 IHsKICAgICAuZ2V0X2Nvc19tYXggPSBjYXRfZ2V0X2Nvc19tYXgsCiAgICAgLmdldF9mZWF0X2lu Zm8gPSBsM19jZHBfZ2V0X2ZlYXRfaW5mbywKICAgICAuZ2V0X3ZhbCA9IGwzX2NkcF9nZXRfdmFs LAorICAgIC5nZXRfb2xkX3ZhbCA9IGwzX2NkcF9nZXRfb2xkX3ZhbCwKKyAgICAuc2V0X25ld192 YWwgPSBsM19jZHBfc2V0X25ld192YWwsCisgICAgLmNvbXBhcmVfdmFsID0gbDNfY2RwX2NvbXBh cmVfdmFsLAorICAgIC5maXRzX2Nvc19tYXggPSBsM19jZHBfZml0c19jb3NfbWF4LAorICAgIC53 cml0ZV9tc3IgPSBsM19jZHBfd3JpdGVfbXNyLAogfTsKIAogc3RhdGljIHZvaWQgX19pbml0IHBh cnNlX3Bzcl9ib29sKGNoYXIgKnMsIGNoYXIgKnZhbHVlLCBjaGFyICpmZWF0dXJlLAotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK