From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v13 15/23] x86: refactor psr: CDP: implement set value callback function. Date: Thu, 6 Jul 2017 09:53:08 +0800 Message-ID: <1499305996-19029-16-git-send-email-yi.y.sun@linux.intel.com> References: <1499305996-19029-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 1dSwCR-00013U-QR for xen-devel@lists.xenproject.org; Thu, 06 Jul 2017 02:07:23 +0000 In-Reply-To: <1499305996-19029-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, 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 dW5jdGlvbi4KCldpdGggdGhpcyBwYXRjaCwgJ3Bzci1jYXQtY2JtLXNldCcgY29tbWFuZCBjYW4g d29yayBmb3IgTDMgQ0RQLgoKU2lnbmVkLW9mZi1ieTogWWkgU3VuIDx5aS55LnN1bkBsaW51eC5p bnRlbC5jb20+Ci0tLQp2MTM6CiAgICAtIHJlbW92ZSAnc3RyaWN0JyBmcm9tICdwc3JfY2JtX3R5 cGVfdG9fZmVhdF90eXBlJyBiZWNhdXNlIHdlIHVzZSAnYWx0X3R5cGUnCiAgICAgIHRvIGNoZWNr IGlmIHdlIG5lZWQgc2V0IGJvdGggREFUQSBhbmQgQ09ERSBub3cuCiAgICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpCiAgICAtIGFkanVzdCB0aGUgaW1wbGVtZW50YXRpb24gaW4gY2lyY2xl IGluICdpbnNlcnRfdmFsX2ludG9fYXJyYXknIHRvIG1ha2UKICAgICAgY29kZXMgY2xlYXJlciB0 byBzaG93IGhvdyB0byBkZWNpZGUgdGhlIHJldHVybiB2YWx1ZS4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKdjEyOgogICAgLSBhZGQgY29tbWVudCB0byBleHBsYWluIGhvdyB0byBk ZWFsIHdpdGggdGhlIGNhc2UgdGhhdCB1c2VyIHNldCBuZXcgdmFsCiAgICAgIGZvciBib3RoIERB VEEgYW5kIENPREUgYXQgc2FtZSB0aW1lLgogICAgLSBhZGQgcGFyYW1ldGVyIGZvciAncHNyX2Ni bV90eXBlX3RvX2ZlYXRfdHlwZScgdG8gcmV0dXJuIHRoZSBmZWF0dXJlIHR5cGUKICAgICAgYWNj b3JkaW5nIHRvIGl0LgogICAgLSB1c2UgdGhlIGZlYXR1cmUgdHlwZSByZXR1cm5lZCBieSAncHNy X2NibV90eXBlX3RvX2ZlYXRfdHlwZScgdG8gY2hlY2sKICAgICAgaWYgd2UgbmVlZCBpbnNlcnQg dGhlIG5ldyB2YWx1ZSBpbnRvIGFsbCBpdGVtcyBvZiB0aGUgZmVhdHVyZSB2YWx1ZSBhcnJheS4K ICAgIC0gdXNlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gZm9yIHdybXNybC4KICAgICAgKHN1Z2dl c3RlZCBieSBKYW4gQmV1bGljaCkKdjExOgogICAgLSBtb3ZlICdmZWF0LT5jb3NfcmVnX3ZhbCcg YXNzaWdubWVudCBhbmQgdmFsdWUgY29tcGFyaXNvbiBpbiAnd3JpdGVfbXNyJwogICAgICBjYWxs YmFjayBmdW5jdGlvbiBvdXQgYXMgZ2VuZXJpYyBjb2Rlcy4KICAgICAgKHN1Z2dlc3RlZCBieSBK YW4gQmV1bGljaCkKICAgIC0gY2hhbmdlcyBhYm91dCBzZXR0aW5nIGJvdGggQ0RQIERBVEEgYW5k IENPREUgYXQgc2FtZSB0aW1lLgogICAgLSBtb3ZlICd0eXBlW10nIGRlY2xhcmF0aW9uIGludG8g cHJldmlvdXMgcGF0Y2ggd2hpY2ggaW50cm9kdWNlZCAnY29zX251bScuCiAgICAgIChzdWdnZXN0 ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGNoYW5nZXMgYWJvdXQgJ3R5cGVbXScuCiAgICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vdmUgJ2NvbXBhcmVfdmFsJyB0byBwcmV2 aW91cyBwYXRjaC4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gY2hhbmdl cyBhYm91dCAnZ2V0X3ZhbCcgd2hpY2ggaGFzIGJlZW4gcmVwbGFjZSBieSBnZW5lcmljIGNvZGVz LgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgJ3Jlc3RvcmVf ZGVmYXVsdF92YWwnIHdoaWNoIGlzIHVubmVjZXNzYXJ5IG5vdy4KICAgICAgKHN1Z2dlc3RlZCBi eSBKYW4gQmV1bGljaCkKdjEwOgogICAgLSByZW1vdmUgJ2wzX2NkcF9nZXRfb2xkX3ZhbCcgYW5k IHVzZSAnbDNfY2RwX2dldF92YWwnIHRvIHJlcGxhY2UgaXQuCiAgICAgIChzdWdnZXN0ZWQgYnkg SmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSAnbDNfY2RwX3NldF9uZXdfdmFsJy4KICAgIC0gbW9k aWZ5ICdpbnNlcnRfdmFsX3RvX2FycmF5JyBmbG93IHRvIGhhbmRsZSBtdWx0aXBsZSBDT1NzIGNh c2UuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIHJlbW92ZSAnbDNfY2Rw X2NvbXBhcmVfdmFsJyBhbmQgaW1wbGVtZW50IGEgZ2VuZXJpYyBmdW5jdGlvbgogICAgICAnY29t YXByZV92YWwnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUg J2wzX2NkcF9maXRzX2Nvc19tYXgnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQog ICAgLSBpbnRyb2R1Y2UgbWFjcm8gJ1BTUl9NQVhfQ09TX05VTScuCiAgICAtIGludHJvZHVjZSBh IG5ldyBtZW1iZXIgaW4gJ2ZlYXRfcHJvcHMnLCAndHlwZVtQU1JfTUFYX0NPU19OVU1dJyB0byBy ZWNvcmQKICAgICAgYWxsICdjYm1fdHlwZScgdGhlIGZlYXR1cmUgaGFzLgogICAgICAoc3VnZ2Vz dGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSBtb2RpZnkgJ2dhdGhlcl92YWxfYXJyYXknIGZsb3cg dG8gaGFuZGxlIG11bHRpcGxlIENPU3MgY2FzZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1 bGljaCkKICAgIC0gbW9kaWZ5ICdmaW5kX2NvcycgZmxvdyBhbmQgaW1wbGVtZW50ICdjb21wYXJl X3ZhbCcgdG8gaGFuZGxlIG11bHRpcGxlCiAgICAgIENPU3MgY2FzZS4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKICAgIC0gbW9kaWZ5ICdmaXRzX2Nvc19tYXgnIGZsb3cgdG8gaGFu ZGxlIG11bHRpcGxlIENPU3MgY2FzZS4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkK ICAgIC0gY2hhbmdlcyBhYm91dCAncHJvcHMnLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSByZW1vdmUgY2FzdCBpbiAnbDNfY2RwX3dyaXRlX21zcicuCiAgICAgIChzdWdn ZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIGltcGxlbWVudCAnY29tcGFyZV92YWwnIGZ1bmN0 aW9uIHRvIGNvbXBhcmUgaWYgZmVhdHVyZSB2YWx1ZXMgYXJlIHdoYXQKICAgICAgd2UgZXhwZWN0 IGluIGZpbmRpbmcgZmxvdy4KICAgIC0gaW1wbGVtZW50ICdyZXN0b3JlX2RlZmF1bHRfdmFsJyBm dW5jdGlvbiB0byByZXN0b3JlIGZlYXR1cmUncyBDT1MgdmFsdWVzCiAgICAgIHRvIGRlZmF1bHQg aWYgdGhlIGZlYXR1cmUgaGFzIG11bHRpcGxlIENPU3MuIEl0IGlzIGNhbGxlZCB3aGVuIHRoZSBD T1MKICAgICAgSUQgaXMgcmVkdWNlZCB0byAwLgp2OToKICAgIC0gYWRkIGNvbW1lbnQgdG8gZXhw bGFpbiB3aHkgQ0RQIHVzZXMgMiBDT1NzLgogICAgICAoc3VnZ2VzdGVkIGJ5IFdlaSBMaXUpCiAg ICAtIHVzZSAnY2F0X2RlZmF1bHRfdmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBXZWkgTGl1KQog ICAgLSByZW1vdmUgJ2wzX2NkcF9nZXRfY29zX251bScgYmVjYXVzZSB3ZSBjYW4gZGlyZWN0bHkg Z2V0IGNvc19udW0gZnJvbQogICAgICBmZWF0X25vZGUgbm93LgogICAgICAoc3VnZ2VzdGVkIGJ5 IEphbiBCZXVsaWNoKQogICAgLSByZW1vdmUgY29zIGNoZWNraW5nIGJlY2F1c2UgaXQgaGFzIGJl ZW4gbW92ZWQgdG8gY29tbW9uIGZ1bmN0aW9uLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVs aWNoKQogICAgLSBsM19jZHBfc2V0X25ld192YWwgcGFyYW1ldGVyICdtJyBpcyBjaGFuZ2VkIHRv ICduZXdfdmFsJy4KICAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCkKICAgIC0gZGlyZWN0 bHkgdXNlIGdldF9jZHBfZGF0YShmZWF0LCAwKSBhbmQgZ2V0X2NkcF9jb2RlKGZlYXQsIDApIHRv IGdldAogICAgICBkZWZhdWx0IHZhbHVlLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNo KQogICAgLSBtb2RpZnkgJ2wzX2NkcF93cml0ZV9tc3InIGZsb3cgdG8gd3JpdGUgdmFsdWUgaW50 byByZWdpc3RlciBhY2NvcmRpbmcKICAgICAgdG8gaW5wdXQgdHlwZS4KICAgIC0gY2hhbmdlcyBh Ym91dCAndWludDY0X3QnIHRvICd1aW50MzJfdCcuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpCnY4OgogICAgLSBtb2RpZnkgJ2wzX2NkcF93cml0ZV9tc3InIHR5cGUgdG8gJ3ZvaWQn Lgp2NToKICAgIC0gcmVtb3ZlIHR5cGUgY2hlY2sgaW4gY2FsbGJhY2sgZnVuY3Rpb24uCiAgICAg IChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpCiAgICAtIG1vZGlmeSByZXR1cm4gdmFsdWUgb2Yg Y2FsbGJhY2sgZnVuY3Rpb25zIGJlY2F1c2Ugd2UgZG8gbm90IG5lZWQgdGhlbQogICAgICB0byBy ZXR1cm4gbnVtYmVyIG9mIGVudHJpZXMgdGhlIGZlYXR1cmUgdXNlcy4gSW4gY2FsbGVyLCB3ZSBj YWxsCiAgICAgICdnZXRfY29zX251bScgdG8gZ2V0IHRoZSBudW1iZXIgb2YgZW50cmllcyB0aGUg ZmVhdHVyZSB1c2VzLgogICAgICAoc3VnZ2VzdGVkIGJ5IEphbiBCZXVsaWNoKQogICAgLSByZW1v dmUgJ2wzX2NkcF9nZXRfY29zX21heF9mcm9tX3R5cGUnLgogICAgLSByZW5hbWUgJ2wzX2NkcF9l eGNlZWRzX2Nvc19tYXgnIHRvICdsM19jZHBfZml0c19jb3NfbWF4Jy4KICAgICAgKHN1Z2dlc3Rl ZCBieSBKYW4gQmV1bGljaCkKdjQ6CiAgICAtIGNyZWF0ZSB0aGlzIHBhdGNoIHRvIG1ha2UgY29k ZXMgZWFzaWVyIHRvIHVuZGVyc3RhbmQuCiAgICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gp Ci0tLQogeGVuL2FyY2gveDg2L3Bzci5jIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKystLS0t CiAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvcHNyLmMgYi94ZW4vYXJjaC94ODYvcHNyLmMKaW5kZXggNDZi OGQzMi4uZTgzMTE2NSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3Bzci5jCisrKyBiL3hlbi9h cmNoL3g4Ni9wc3IuYwpAQCAtMzczLDEyICszNzMsMjEgQEAgc3RhdGljIGJvb2wgbDNfY2RwX2dl dF9mZWF0X2luZm8oY29uc3Qgc3RydWN0IGZlYXRfbm9kZSAqZmVhdCwKICAgICByZXR1cm4gdHJ1 ZTsKIH0KIAorc3RhdGljIHZvaWQgbDNfY2RwX3dyaXRlX21zcih1bnNpZ25lZCBpbnQgY29zLCB1 aW50MzJfdCB2YWwsIGVudW0gY2JtX3R5cGUgdHlwZSkKK3sKKyAgICB3cm1zcmwoKCh0eXBlID09 IFBTUl9DQk1fVFlQRV9MM19EQVRBKSA/CisgICAgICAgICAgICBNU1JfSUEzMl9QU1JfTDNfTUFT S19EQVRBKGNvcykgOgorICAgICAgICAgICAgTVNSX0lBMzJfUFNSX0wzX01BU0tfQ09ERShjb3Mp KSwKKyAgICAgICAgICAgdmFsKTsKK30KKwogc3RhdGljIGNvbnN0IHN0cnVjdCBmZWF0X3Byb3Bz IGwzX2NkcF9wcm9wcyA9IHsKICAgICAuY29zX251bSA9IDIsCiAgICAgLnR5cGVbMF0gPSBQU1Jf Q0JNX1RZUEVfTDNfREFUQSwKICAgICAudHlwZVsxXSA9IFBTUl9DQk1fVFlQRV9MM19DT0RFLAot ICAgIC5hbHRfdHlwZSA9IEZFQVRfVFlQRV9MM19DQVQsCisgICAgLmFsdF90eXBlID0gUFNSX0NC TV9UWVBFX0wzLAogICAgIC5nZXRfZmVhdF9pbmZvID0gbDNfY2RwX2dldF9mZWF0X2luZm8sCisg ICAgLndyaXRlX21zciA9IGwzX2NkcF93cml0ZV9tc3IsCiB9OwogCiBzdGF0aWMgdm9pZCBfX2lu aXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNoYXIgKmZlYXR1cmUsCkBA IC04MjQsMTcgKzgzMywyNyBAQCBzdGF0aWMgaW50IGluc2VydF92YWxfaW50b19hcnJheSh1aW50 MzJfdCB2YWxbXSwKICAgICBpZiAoICFwc3JfY2hlY2tfY2JtKGZlYXQtPmNibV9sZW4sIG5ld192 YWwpICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICAvKiBWYWx1ZSBzZXR0aW5nIHBv c2l0aW9uIGlzIHNhbWUgYXMgZmVhdHVyZSBhcnJheS4gKi8KKyAgICAvKgorICAgICAqIFZhbHVl IHNldHRpbmcgcG9zaXRpb24gaXMgc2FtZSBhcyBmZWF0dXJlIGFycmF5LgorICAgICAqIEZvciBD RFAsIHVzZXIgbWF5IHNldCBib3RoIERBVEEgYW5kIENPREUgdG8gc2FtZSB2YWx1ZS4gRm9yIHN1 Y2ggY2FzZSwKKyAgICAgKiB1c2VyIGlucHV0ICdQU1JfQ0JNX1RZUEVfTDMnIGFzIHR5cGUuIFRo ZSBhbHRlcm5hdGl2ZSB0eXBlIG9mIENEUCBpcyBzYW1lCisgICAgICogYXMgaXQuIFNvIHdlIHNo b3VsZCBzZXQgbmV3X3ZhbCB0byBib3RoIG9mIERBVEEgYW5kIENPREUgdW5kZXIgc3VjaCBjYXNl LgorICAgICAqLwogICAgIGZvciAoIGkgPSAwOyBpIDwgcHJvcHMtPmNvc19udW07IGkrKyApCiAg ICAgewogICAgICAgICBpZiAoIHR5cGUgPT0gcHJvcHMtPnR5cGVbaV0gKQogICAgICAgICB7CiAg ICAgICAgICAgICB2YWxbaV0gPSBuZXdfdmFsOwotICAgICAgICAgICAgcmV0dXJuIDA7CisgICAg ICAgICAgICByZXQgPSAwOworICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKyAgICAgICAg ZWxzZSBpZiAoIHR5cGUgPT0gcHJvcHMtPmFsdF90eXBlICkKKyAgICAgICAgICAgIHZhbFtpXSA9 IG5ld192YWw7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldCA9IC1FSU5WQUw7CiAgICAg fQogCi0gICAgcmV0dXJuIC1FSU5WQUw7CisgICAgcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGlu dCBjb21wYXJlX3ZhbChjb25zdCB1aW50MzJfdCB2YWxbXSwKLS0gCjEuOS4xCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRl dmVsCg==