From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru Isaila Subject: [PATCH v17 04/13] x86/hvm: Introduce hvm_save_cpu_xsave_states_one Date: Wed, 22 Aug 2018 17:02:34 +0300 Message-ID: <1534946563-12084-5-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 d2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CgotLS0KQ2hhbmdlcyBzaW5j ZSBWMTQ6CgktIFJlbW92ZSBlcnIgaW5pdAoJLSBBZGQgYmxhbmsgbGluZSBhaGVhZCBvZiByZXR1 cm4KCS0gTW92ZSB4c2F2ZV9lbmFibGVkKCkgY2hlY2sgdG8gdGhlIHNhdmVfb25lIGZ1bmMuCi0t LQogeGVuL2FyY2gveDg2L2h2bS9odm0uYyB8IDQ3ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwg MTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hl bi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggMzMzYzM0Mi4uNWIwODIwZSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC0x MTg3LDM1ICsxMTg3LDQ2IEBAIEhWTV9SRUdJU1RFUl9TQVZFX1JFU1RPUkUoQ1BVLCBodm1fc2F2 ZV9jcHVfY3R4dCwgaHZtX2xvYWRfY3B1X2N0eHQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2F2ZV9hcmVhKSArIFwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB4c3RhdGVfY3R4dF9zaXplKHhjcjApKQogCi1zdGF0aWMgaW50IGh2bV9zYXZl X2NwdV94c2F2ZV9zdGF0ZXMoc3RydWN0IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3Qg KmgpCitzdGF0aWMgaW50IGh2bV9zYXZlX2NwdV94c2F2ZV9zdGF0ZXNfb25lKHN0cnVjdCB2Y3B1 ICp2LCBodm1fZG9tYWluX2NvbnRleHRfdCAqaCkKIHsKLSAgICBzdHJ1Y3QgdmNwdSAqdjsKICAg ICBzdHJ1Y3QgaHZtX2h3X2NwdV94c2F2ZSAqY3R4dDsKKyAgICB1bnNpZ25lZCBpbnQgc2l6ZSA9 IEhWTV9DUFVfWFNBVkVfU0laRSh2LT5hcmNoLnhjcjBfYWNjdW0pOworICAgIGludCBlcnI7CiAK LSAgICBpZiAoICFjcHVfaGFzX3hzYXZlICkKKyAgICBpZiAoICFjcHVfaGFzX3hzYXZlIHx8ICF4 c2F2ZV9lbmFibGVkKHYpICkKICAgICAgICAgcmV0dXJuIDA7ICAgLyogZG8gbm90aGluZyAqLwog Ci0gICAgZm9yX2VhY2hfdmNwdSAoIGQsIHYgKQotICAgIHsKLSAgICAgICAgdW5zaWduZWQgaW50 IHNpemUgPSBIVk1fQ1BVX1hTQVZFX1NJWkUodi0+YXJjaC54Y3IwX2FjY3VtKTsKKyAgICBlcnIg PSBfaHZtX2luaXRfZW50cnkoaCwgQ1BVX1hTQVZFX0NPREUsIHYtPnZjcHVfaWQsIHNpemUpOwor ICAgIGlmICggZXJyICkKKyAgICAgICAgcmV0dXJuIGVycjsKIAotICAgICAgICBpZiAoICF4c2F2 ZV9lbmFibGVkKHYpICkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICBpZiAoIF9odm1f aW5pdF9lbnRyeShoLCBDUFVfWFNBVkVfQ09ERSwgdi0+dmNwdV9pZCwgc2l6ZSkgKQotICAgICAg ICAgICAgcmV0dXJuIDE7Ci0gICAgICAgIGN0eHQgPSAoc3RydWN0IGh2bV9od19jcHVfeHNhdmUg KikmaC0+ZGF0YVtoLT5jdXJdOwotICAgICAgICBoLT5jdXIgKz0gc2l6ZTsKKyAgICBjdHh0ID0g KHN0cnVjdCBodm1faHdfY3B1X3hzYXZlICopJmgtPmRhdGFbaC0+Y3VyXTsKKyAgICBoLT5jdXIg Kz0gc2l6ZTsKKyAgICBjdHh0LT54ZmVhdHVyZV9tYXNrID0geGZlYXR1cmVfbWFzazsKKyAgICBj dHh0LT54Y3IwID0gdi0+YXJjaC54Y3IwOworICAgIGN0eHQtPnhjcjBfYWNjdW0gPSB2LT5hcmNo LnhjcjBfYWNjdW07CiAKLSAgICAgICAgY3R4dC0+eGZlYXR1cmVfbWFzayA9IHhmZWF0dXJlX21h c2s7Ci0gICAgICAgIGN0eHQtPnhjcjAgPSB2LT5hcmNoLnhjcjA7Ci0gICAgICAgIGN0eHQtPnhj cjBfYWNjdW0gPSB2LT5hcmNoLnhjcjBfYWNjdW07Ci0gICAgICAgIGV4cGFuZF94c2F2ZV9zdGF0 ZXModiwgJmN0eHQtPnNhdmVfYXJlYSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl IC0gb2Zmc2V0b2YodHlwZW9mKCpjdHh0KSwgc2F2ZV9hcmVhKSk7Ci0gICAgfQorICAgIGV4cGFu ZF94c2F2ZV9zdGF0ZXModiwgJmN0eHQtPnNhdmVfYXJlYSwKKyAgICAgICAgICAgICAgICAgICAg ICAgIHNpemUgLSBvZmZzZXRvZih0eXBlb2YoKmN0eHQpLCBzYXZlX2FyZWEpKTsKIAogICAgIHJl dHVybiAwOwogfQogCitzdGF0aWMgaW50IGh2bV9zYXZlX2NwdV94c2F2ZV9zdGF0ZXMoc3RydWN0 IGRvbWFpbiAqZCwgaHZtX2RvbWFpbl9jb250ZXh0X3QgKmgpCit7CisgICAgc3RydWN0IHZjcHUg KnY7CisgICAgaW50IGVyciA9IDA7CisKKyAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCisgICAg eworICAgICAgICBlcnIgPSBodm1fc2F2ZV9jcHVfeHNhdmVfc3RhdGVzX29uZSh2LCBoKTsKKyAg ICAgICAgaWYgKCBlcnIgKQorICAgICAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgcmV0dXJu IGVycjsKK30KKwogLyoKICAqIFN0cnVjdHVyZSBsYXlvdXQgY29uZm9ybWl0eSBjaGVja3MsIGRv Y3VtZW50aW5nIGNvcnJlY3RuZXNzIG9mIHRoZSBjYXN0IGluCiAgKiB0aGUgaW52b2NhdGlvbiBv ZiB2YWxpZGF0ZV94c3RhdGUoKSBiZWxvdy4KLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4t ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9t YWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==