From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: [PATCH v4 12/24] x86: refactor psr: set value: implement write msr flow. Date: Wed, 14 Dec 2016 12:07:52 +0800 Message-ID: <1481688484-5093-13-git-send-email-yi.y.sun@linux.intel.com> References: <1481688484-5093-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 1cH7Rr-0005b3-92 for xen-devel@lists.xenproject.org; Wed, 14 Dec 2016 11:10:11 +0000 In-Reply-To: <1481688484-5093-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: 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 List-Id: xen-devel@lists.xenproject.org Q29udGludWUgd2l0aCBwcmV2aW91cyBwYXRjaGVzLCB3ZSBoYXZlIGdvdCBhbGwgZmVhdHVyZXMg dmFsdWVzIGFuZApDT1MgSUQgdG8gc2V0LiBUaGVuLCB3ZSB3cml0ZSBNU1JzIG9mIGFsbCBmZWF0 dXJlcyBleGNlcHQgdGhlIHNldHRpbmcKdmFsdWUgaXMgc2FtZSBhcyBvcmlnaW5hbCB2YWx1ZS4K ClRpbGwgbm93LCBzZXQgdmFsdWUgcHJvY2VzcyBpcyBjb21wbGV0ZWQuCgpTaWduZWQtb2ZmLWJ5 OiBZaSBTdW4gPHlpLnkuc3VuQGxpbnV4LmludGVsLmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvcHNy LmMgfCA3OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysKIDEgZmlsZSBjaGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L3Bzci5jIGIveGVuL2FyY2gveDg2L3Bzci5jCmluZGV4IGFjOThjMzkuLmVjNzU3 YTIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wc3IuYworKysgYi94ZW4vYXJjaC94ODYvcHNy LmMKQEAgLTE4Niw2ICsxODYsOSBAQCBzdHJ1Y3QgZmVhdF9vcHMgewogICAgIHVuc2lnbmVkIGlu dCAoKmV4Y2VlZHNfY29zX21heCkoY29uc3QgdWludDY0X3QgdmFsW10sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0LAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvcyk7CisgICAg Lyogd3JpdGVfbXNyIGlzIHVzZWQgdG8gd3JpdGUgb3V0IGZlYXR1cmUgTVNSIHJlZ2lzdGVyLiAq LworICAgIGludCAoKndyaXRlX21zcikodW5zaWduZWQgaW50IGNvcywgY29uc3QgdWludDY0X3Qg dmFsW10sCisgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpmZWF0KTsKIH07 CiAKIApAQCAtNDQxLDYgKzQ0NCwyMiBAQCBzdGF0aWMgdW5zaWduZWQgaW50IGwzX2NhdF9leGNl ZWRzX2Nvc19tYXgoY29uc3QgdWludDY0X3QgdmFsW10sCiAgICAgcmV0dXJuIDE7CiB9CiAKK3N0 YXRpYyBpbnQgbDNfY2F0X3dyaXRlX21zcih1bnNpZ25lZCBpbnQgY29zLCBjb25zdCB1aW50NjRf dCB2YWxbXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmVhdF9ub2RlICpm ZWF0KQoreworICAgIGlmICggY29zID4gZmVhdC0+aW5mby5sM19jYXRfaW5mby5jb3NfbWF4ICkK KyAgICAgICAgLyogTDMgQ0FUIHVzZXMgb25lIENPUy4gKi8KKyAgICAgICAgcmV0dXJuIDE7CisK KyAgICBpZiAoIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gIT0gdmFsWzBdICkKKyAgICB7CisgICAg ICAgIGZlYXQtPmNvc19yZWdfdmFsW2Nvc10gPSB2YWxbMF07CisgICAgICAgIHdybXNybChNU1Jf SUEzMl9QU1JfTDNfTUFTSyhjb3MpLCB2YWxbMF0pOworICAgIH0KKyAgICAvKiBMMyBDQVQgdXNl cyBvbmUgQ09TLiAqLworICAgIHJldHVybiAxOworfQorCiBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0 X29wcyA9IHsKICAgICAuaW5pdF9mZWF0dXJlID0gbDNfY2F0X2luaXRfZmVhdHVyZSwKICAgICAu Z2V0X21heF9jb3NfbWF4ID0gbDNfY2F0X2dldF9tYXhfY29zX21heCwKQEAgLTQ1Miw2ICs0NzEs NyBAQCBzdHJ1Y3QgZmVhdF9vcHMgbDNfY2F0X29wcyA9IHsKICAgICAuZ2V0X2Nvc19tYXhfZnJv bV90eXBlID0gbDNfY2F0X2dldF9jb3NfbWF4X2Zyb21fdHlwZSwKICAgICAuY29tcGFyZV92YWwg PSBsM19jYXRfY29tcGFyZV92YWwsCiAgICAgLmV4Y2VlZHNfY29zX21heCA9IGwzX2NhdF9leGNl ZWRzX2Nvc19tYXgsCisgICAgLndyaXRlX21zciA9IGwzX2NhdF93cml0ZV9tc3IsCiB9OwogCiBz dGF0aWMgdm9pZCBfX2luaXQgcGFyc2VfcHNyX2Jvb2woY2hhciAqcywgY2hhciAqdmFsdWUsIGNo YXIgKmZlYXR1cmUsCkBAIC04ODksOSArOTA5LDY3IEBAIHN0YXRpYyBpbnQgYWxsb2NfbmV3X2Nv cyhjb25zdCBzdHJ1Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvLAogICAgIHJldHVybiAtRU5PRU5U OwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGdldF9zb2NrZXRfY3B1KHVuc2lnbmVkIGludCBz b2NrZXQpCit7CisgICAgaWYgKCBsaWtlbHkoc29ja2V0IDwgbnJfc29ja2V0cykgKQorICAgICAg ICByZXR1cm4gY3B1bWFza19hbnkoc29ja2V0X2NwdW1hc2tbc29ja2V0XSk7CisKKyAgICByZXR1 cm4gbnJfY3B1X2lkczsKK30KKworc3RydWN0IGNvc193cml0ZV9pbmZvCit7CisgICAgdW5zaWdu ZWQgaW50IGNvczsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkICpmZWF0X2xpc3Q7CisgICAgY29uc3Qg dWludDY0X3QgKnZhbDsKK307CisKK3N0YXRpYyB2b2lkIGRvX3dyaXRlX3Bzcl9tc3Iodm9pZCAq ZGF0YSkKK3sKKyAgICBzdHJ1Y3QgY29zX3dyaXRlX2luZm8gKmluZm8gPSAoc3RydWN0IGNvc193 cml0ZV9pbmZvICopZGF0YTsKKyAgICB1bnNpZ25lZCBpbnQgY29zICAgICAgICAgICA9IGluZm8t PmNvczsKKyAgICBzdHJ1Y3QgbGlzdF9oZWFkICpmZWF0X2xpc3Q9IGluZm8tPmZlYXRfbGlzdDsK KyAgICBjb25zdCB1aW50NjRfdCAqdmFsICAgICAgICA9IGluZm8tPnZhbDsKKyAgICBzdHJ1Y3Qg ZmVhdF9ub2RlICpmZWF0X3RtcDsKKyAgICBpbnQgcmV0OworCisgICAgaWYgKCAhZmVhdF9saXN0 ICkKKyAgICAgICAgcmV0dXJuOworCisgICAgLyogV2UgbmVlZCBzZXQgYWxsIGZlYXR1cmVzIHZh bHVlcyBpbnRvIE1TUnMuICovCisgICAgbGlzdF9mb3JfZWFjaF9lbnRyeShmZWF0X3RtcCwgZmVh dF9saXN0LCBsaXN0KQorICAgIHsKKyAgICAgICAgcmV0ID0gZmVhdF90bXAtPm9wcy53cml0ZV9t c3IoY29zLCB2YWwsIGZlYXRfdG1wKTsKKyAgICAgICAgaWYgKCByZXQgPD0gMCkKKyAgICAgICAg ICAgIHJldHVybjsKKworICAgICAgICB2YWwgKz0gcmV0OworICAgIH0KK30KKwogc3RhdGljIGlu dCB3cml0ZV9wc3JfbXNyKHVuc2lnbmVkIGludCBzb2NrZXQsIHVuc2lnbmVkIGludCBjb3MsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdWludDY0X3QgKnZhbCkKIHsKKyAgICBzdHJ1 Y3QgcHNyX3NvY2tldF9pbmZvICppbmZvID0gZ2V0X3NvY2tldF9pbmZvKHNvY2tldCk7CisKKyAg ICBzdHJ1Y3QgY29zX3dyaXRlX2luZm8gZGF0YSA9CisgICAgeworICAgICAgICAuY29zID0gY29z LAorICAgICAgICAuZmVhdF9saXN0ID0gJmluZm8tPmZlYXRfbGlzdCwKKyAgICAgICAgLnZhbCA9 IHZhbCwKKyAgICB9OworCisgICAgaWYgKCBzb2NrZXQgPT0gY3B1X3RvX3NvY2tldChzbXBfcHJv Y2Vzc29yX2lkKCkpICkKKyAgICAgICAgZG9fd3JpdGVfcHNyX21zcigmZGF0YSk7CisgICAgZWxz ZQorICAgIHsKKyAgICAgICAgdW5zaWduZWQgaW50IGNwdSA9IGdldF9zb2NrZXRfY3B1KHNvY2tl dCk7CisKKyAgICAgICAgaWYgKCBjcHUgPj0gbnJfY3B1X2lkcyApCisgICAgICAgICAgICByZXR1 cm4gLUVOT1RTT0NLOworICAgICAgICBvbl9zZWxlY3RlZF9jcHVzKGNwdW1hc2tfb2YoY3B1KSwg ZG9fd3JpdGVfcHNyX21zciwgJmRhdGEsIDEpOworICAgIH0KKwogICAgIHJldHVybiAwOwogfQog Ci0tIAoxLjkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6 Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=