From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru Isaila Subject: [PATCH v17 05/13] x86/hvm: Introduce hvm_save_cpu_msrs_one func Date: Wed, 22 Aug 2018 17:02:35 +0300 Message-ID: <1534946563-12084-6-git-send-email-aisaila@bitdefender.com> References: <1534946563-12084-1-git-send-email-aisaila@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1534946563-12084-1-git-send-email-aisaila@bitdefender.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: wei.liu2@citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, paul.durrant@citrix.com, jbeulich@suse.com, Alexandru Isaila List-Id: xen-devel@lists.xenproject.org VGhpcyBpcyB1c2VkIHRvIHNhdmUgZGF0YSBmcm9tIGEgc2luZ2xlIGluc3RhbmNlLgoKU2lnbmVk LW9mZi1ieTogQWxleGFuZHJ1IElzYWlsYSA8YWlzYWlsYUBiaXRkZWZlbmRlci5jb20+ClJldmll d2VkLWJ5OiBQYXVsIER1cnJhbnQgPHBhdWwuZHVycmFudEBjaXRyaXguY29tPgpSZXZpZXdlZC1i eTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKLS0tCkNoYW5nZXMgc2luY2UgVjE0 OgoJLSBSZW1vdmUgZXJyIGluaXQKCS0gQWRkIGJsYW5rIGxpbmUgYWhlYWQgb2YgcmV0dXJuLgot LS0KIHhlbi9hcmNoL3g4Ni9odm0vaHZtLmMgfCAxMDYgKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU5IGluc2VydGlvbnMo KyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMg Yi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDViMDgyMGUuLjdkZjg3NDQgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpA QCAtMTM2NCw2OSArMTM2NCw4MSBAQCBzdGF0aWMgY29uc3QgdWludDMyX3QgbXNyc190b19zZW5k W10gPSB7CiB9Owogc3RhdGljIHVuc2lnbmVkIGludCBfX3JlYWRfbW9zdGx5IG1zcl9jb3VudF9t YXggPSBBUlJBWV9TSVpFKG1zcnNfdG9fc2VuZCk7CiAKLXN0YXRpYyBpbnQgaHZtX3NhdmVfY3B1 X21zcnMoc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpCitzdGF0aWMg aW50IGh2bV9zYXZlX2NwdV9tc3JzX29uZShzdHJ1Y3QgdmNwdSAqdiwgaHZtX2RvbWFpbl9jb250 ZXh0X3QgKmgpCiB7Ci0gICAgc3RydWN0IHZjcHUgKnY7CisgICAgc3RydWN0IGh2bV9zYXZlX2Rl c2NyaXB0b3IgKmRlc2MgPSBfcCgmaC0+ZGF0YVtoLT5jdXJdKTsKKyAgICBzdHJ1Y3QgaHZtX21z ciAqY3R4dDsKKyAgICB1bnNpZ25lZCBpbnQgaTsKKyAgICBpbnQgZXJyOwogCi0gICAgZm9yX2Vh Y2hfdmNwdSAoIGQsIHYgKQorICAgIGVyciA9IF9odm1faW5pdF9lbnRyeShoLCBDUFVfTVNSX0NP REUsIHYtPnZjcHVfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgSFZNX0NQVV9NU1JfU0la RShtc3JfY291bnRfbWF4KSk7CisgICAgaWYgKCBlcnIgKQorICAgICAgICByZXR1cm4gZXJyOwor ICAgIGN0eHQgPSAoc3RydWN0IGh2bV9tc3IgKikmaC0+ZGF0YVtoLT5jdXJdOworICAgIGN0eHQt PmNvdW50ID0gMDsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0laRShtc3JzX3RvX3Nl bmQpOyArK2kgKQogICAgIHsKLSAgICAgICAgc3RydWN0IGh2bV9zYXZlX2Rlc2NyaXB0b3IgKmRl c2MgPSBfcCgmaC0+ZGF0YVtoLT5jdXJdKTsKLSAgICAgICAgc3RydWN0IGh2bV9tc3IgKmN0eHQ7 Ci0gICAgICAgIHVuc2lnbmVkIGludCBpOworICAgICAgICB1aW50NjRfdCB2YWw7CisgICAgICAg IGludCByYyA9IGd1ZXN0X3JkbXNyKHYsIG1zcnNfdG9fc2VuZFtpXSwgJnZhbCk7CiAKLSAgICAg ICAgaWYgKCBfaHZtX2luaXRfZW50cnkoaCwgQ1BVX01TUl9DT0RFLCB2LT52Y3B1X2lkLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBIVk1fQ1BVX01TUl9TSVpFKG1zcl9jb3VudF9tYXgp KSApCi0gICAgICAgICAgICByZXR1cm4gMTsKLSAgICAgICAgY3R4dCA9IChzdHJ1Y3QgaHZtX21z ciAqKSZoLT5kYXRhW2gtPmN1cl07Ci0gICAgICAgIGN0eHQtPmNvdW50ID0gMDsKKyAgICAgICAg LyoKKyAgICAgICAgICogSXQgaXMgdGhlIHByb2dyYW1tZXJzIHJlc3BvbnNpYmlsaXR5IHRvIGVu c3VyZSB0aGF0CisgICAgICAgICAqIG1zcnNfdG9fc2VuZFtdIGNvbnRhaW4gZ2VuZXJhbGx5LXJl YWQvd3JpdGUgTVNScy4KKyAgICAgICAgICogWDg2RU1VTF9FWENFUFRJT04gaGVyZSBpbXBsaWVz IGEgbWlzc2luZyBmZWF0dXJlLCBhbmQgdGhhdCB0aGUKKyAgICAgICAgICogZ3Vlc3QgZG9lc24n dCBoYXZlIGFjY2VzcyB0byB0aGUgTVNSLgorICAgICAgICAgKi8KKyAgICAgICAgaWYgKCByYyA9 PSBYODZFTVVMX0VYQ0VQVElPTiApCisgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBm b3IgKCBpID0gMDsgaSA8IEFSUkFZX1NJWkUobXNyc190b19zZW5kKTsgKytpICkKKyAgICAgICAg aWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQogICAgICAgICB7Ci0gICAgICAgICAgICB1aW50NjRf dCB2YWw7Ci0gICAgICAgICAgICBpbnQgcmMgPSBndWVzdF9yZG1zcih2LCBtc3JzX3RvX3NlbmRb aV0sICZ2YWwpOworICAgICAgICAgICAgQVNTRVJUX1VOUkVBQ0hBQkxFKCk7CisgICAgICAgICAg ICByZXR1cm4gLUVOWElPOworICAgICAgICB9CiAKLSAgICAgICAgICAgIC8qCi0gICAgICAgICAg ICAgKiBJdCBpcyB0aGUgcHJvZ3JhbW1lcnMgcmVzcG9uc2liaWxpdHkgdG8gZW5zdXJlIHRoYXQK LSAgICAgICAgICAgICAqIG1zcnNfdG9fc2VuZFtdIGNvbnRhaW4gZ2VuZXJhbGx5LXJlYWQvd3Jp dGUgTVNScy4KLSAgICAgICAgICAgICAqIFg4NkVNVUxfRVhDRVBUSU9OIGhlcmUgaW1wbGllcyBh IG1pc3NpbmcgZmVhdHVyZSwgYW5kIHRoYXQgdGhlCi0gICAgICAgICAgICAgKiBndWVzdCBkb2Vz bid0IGhhdmUgYWNjZXNzIHRvIHRoZSBNU1IuCi0gICAgICAgICAgICAgKi8KLSAgICAgICAgICAg IGlmICggcmMgPT0gWDg2RU1VTF9FWENFUFRJT04gKQotICAgICAgICAgICAgICAgIGNvbnRpbnVl OworICAgICAgICBpZiAoICF2YWwgKQorICAgICAgICAgICAgY29udGludWU7IC8qIFNraXAgZW1w dHkgTVNScy4gKi8KIAotICAgICAgICAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgKQotICAg ICAgICAgICAgewotICAgICAgICAgICAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwotICAgICAg ICAgICAgICAgIHJldHVybiAtRU5YSU87Ci0gICAgICAgICAgICB9CisgICAgICAgIGN0eHQtPm1z cltjdHh0LT5jb3VudF0uaW5kZXggPSBtc3JzX3RvX3NlbmRbaV07CisgICAgICAgIGN0eHQtPm1z cltjdHh0LT5jb3VudCsrXS52YWwgPSB2YWw7CisgICAgfQogCi0gICAgICAgICAgICBpZiAoICF2 YWwgKQotICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAvKiBTa2lwIGVtcHR5IE1TUnMuICovCisg ICAgaWYgKCBodm1fZnVuY3Muc2F2ZV9tc3IgKQorICAgICAgICBodm1fZnVuY3Muc2F2ZV9tc3Io diwgY3R4dCk7CiAKLSAgICAgICAgICAgIGN0eHQtPm1zcltjdHh0LT5jb3VudF0uaW5kZXggPSBt c3JzX3RvX3NlbmRbaV07Ci0gICAgICAgICAgICBjdHh0LT5tc3JbY3R4dC0+Y291bnQrK10udmFs ID0gdmFsOwotICAgICAgICB9CisgICAgQVNTRVJUKGN0eHQtPmNvdW50IDw9IG1zcl9jb3VudF9t YXgpOwogCi0gICAgICAgIGlmICggaHZtX2Z1bmNzLnNhdmVfbXNyICkKLSAgICAgICAgICAgIGh2 bV9mdW5jcy5zYXZlX21zcih2LCBjdHh0KTsKKyAgICBmb3IgKCBpID0gMDsgaSA8IGN0eHQtPmNv dW50OyArK2kgKQorICAgICAgICBjdHh0LT5tc3JbaV0uX3JzdmQgPSAwOwogCi0gICAgICAgIEFT U0VSVChjdHh0LT5jb3VudCA8PSBtc3JfY291bnRfbWF4KTsKKyAgICBpZiAoIGN0eHQtPmNvdW50 ICkKKyAgICB7CisgICAgICAgIC8qIFJld3JpdGUgbGVuZ3RoIHRvIGluZGljYXRlIGhvdyBtdWNo IHNwYWNlIHdlIGFjdHVhbGx5IHVzZWQuICovCisgICAgICAgIGRlc2MtPmxlbmd0aCA9IEhWTV9D UFVfTVNSX1NJWkUoY3R4dC0+Y291bnQpOworICAgICAgICBoLT5jdXIgKz0gSFZNX0NQVV9NU1Jf U0laRShjdHh0LT5jb3VudCk7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgLyogb3IgcmV3aW5k IGFuZCByZW1vdmUgdGhlIGRlc2NyaXB0b3IgZnJvbSB0aGUgc3RyZWFtLiAqLworICAgICAgICBo LT5jdXIgLT0gc2l6ZW9mKHN0cnVjdCBodm1fc2F2ZV9kZXNjcmlwdG9yKTsKIAotICAgICAgICBm b3IgKCBpID0gMDsgaSA8IGN0eHQtPmNvdW50OyArK2kgKQotICAgICAgICAgICAgY3R4dC0+bXNy W2ldLl9yc3ZkID0gMDsKKyAgICByZXR1cm4gMDsKK30KIAotICAgICAgICBpZiAoIGN0eHQtPmNv dW50ICkKLSAgICAgICAgewotICAgICAgICAgICAgLyogUmV3cml0ZSBsZW5ndGggdG8gaW5kaWNh dGUgaG93IG11Y2ggc3BhY2Ugd2UgYWN0dWFsbHkgdXNlZC4gKi8KLSAgICAgICAgICAgIGRlc2Mt Pmxlbmd0aCA9IEhWTV9DUFVfTVNSX1NJWkUoY3R4dC0+Y291bnQpOwotICAgICAgICAgICAgaC0+ Y3VyICs9IEhWTV9DUFVfTVNSX1NJWkUoY3R4dC0+Y291bnQpOwotICAgICAgICB9Ci0gICAgICAg IGVsc2UKLSAgICAgICAgICAgIC8qIG9yIHJld2luZCBhbmQgcmVtb3ZlIHRoZSBkZXNjcmlwdG9y IGZyb20gdGhlIHN0cmVhbS4gKi8KLSAgICAgICAgICAgIGgtPmN1ciAtPSBzaXplb2Yoc3RydWN0 IGh2bV9zYXZlX2Rlc2NyaXB0b3IpOworc3RhdGljIGludCBodm1fc2F2ZV9jcHVfbXNycyhzdHJ1 Y3QgZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKK3sKKyAgICBzdHJ1Y3QgdmNw dSAqdjsKKyAgICBpbnQgZXJyID0gMDsKKworICAgIGZvcl9lYWNoX3ZjcHUgKCBkLCB2ICkKKyAg ICB7CisgICAgICAgIGVyciA9IGh2bV9zYXZlX2NwdV9tc3JzX29uZSh2LCBoKTsKKyAgICAgICAg aWYgKCBlcnIgKQorICAgICAgICAgICAgYnJlYWs7CiAgICAgfQogCi0gICAgcmV0dXJuIDA7Cisg ICAgcmV0dXJuIGVycjsKIH0KIAogc3RhdGljIGludCBodm1fbG9hZF9jcHVfbXNycyhzdHJ1Y3Qg ZG9tYWluICpkLCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKLS0gCjIuNy40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==