From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shuai Ruan Subject: [PATCH V7 3/3] x86/xsaves: ebx may return wrong value using CPUID eax=0xdh, ecx =1 Date: Thu, 31 Mar 2016 16:57:37 +0800 Message-ID: <1459414657-7558-4-git-send-email-shuai.ruan@linux.intel.com> References: <1459414657-7558-1-git-send-email-shuai.ruan@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1459414657-7558-1-git-send-email-shuai.ruan@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.xen.org Cc: andrew.cooper3@citrix.com, keir@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org RnJvbTogU2h1YWkgUnVhbiA8c2h1YWkucnVhbkBpbnRlbC5jb20+CgpSZWZlciB0byBTRE0gMTMu NC4zIEV4dGVuZGVkIFJlZ2lvbiBvZiBhbiBYU0FWRSBBcmVhLiBUaGUgdmFsdWUgcmV0dXJuCmJ5 IGVjeFsxXSB3aXRoIGNwdWlkIGZ1bmN0aW9uIDB4ZGggYW5kIHN1Yi1mdWNudGlvbiBpIChpPjEp IGluZGljYXRlcwp0aGUgYWxpZ25tZW50IG9mIHRoZSBzdGF0ZSBjb21wb25lbnQgaSB3aGVuIHRo ZSBjb21wYWN0ZWQgZm9ybWF0IG9mIHRoZQpleHRlbmRlZCByZWdpb24gb2YgYW4geHNhdmUgYXJl YSBpcyB1c2VkLgoKU28gd2hlbiBodm0vcHYgZ3Vlc3QgdXNpbmcgQ1BVSUQgZWF4PTB4ZGgsZWN4 PTEgdG8gZ2V0IHRoZSBzaXplIG9mIGFyZWEKdXNlZCBmb3IgY29tcGFjdGVkIGZvcm1hdCwgd2Ug bmVlZCB0byB0YWtlIGFsaWdubWVudCBpbnRvIGNvbnNpZGVyYXRpb24uCgp0b29scyBzaWRlIGlz IGZpeGVkIGJ5CiJ0b29scy9saWJ4YzogQ2FsY3VsYXRlIHhzdGF0ZSBjcHVpZCBsZWFmIGZyb20g Z3Vlc3QgaW5mb3JtYXRpb24iCmJ5IEFuZHJldyBDb29wZXIKClNpZ25lZC1vZmYtYnk6IFNodWFp IFJ1YW4gPHNodWFpLnJ1YW5AaW50ZWwuY29tPgotLS0KdjI6IEFkZHJlc3MgY29tbWVudHMgYnkg SmFuOgoxLiB0YWtlIGFsaWdubWVudCBpbnRvIGNvbnNpZGVyYXRpb24gaW4gcHZfY3B1aWQuCjIu IGZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzCgogeGVuL2FyY2gveDg2L2h2bS9odm0uYyAgICAgICB8 ICA2ICsrKysrLQogeGVuL2FyY2gveDg2L3RyYXBzLmMgICAgICAgICB8IDEyICsrKysrKysrKysr KwogeGVuL2FyY2gveDg2L3hzdGF0ZS5jICAgICAgICB8ICAyICstCiB4ZW4vaW5jbHVkZS9hc20t eDg2L3hzdGF0ZS5oIHwgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMgYi94ZW4v YXJjaC94ODYvaHZtL2h2bS5jCmluZGV4IDVhZWYzY2IuLmM2Y2Q0ZmIgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9odm0vaHZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwpAQCAtNDc0 MywxNCArNDc0MywxOCBAQCB2b2lkIGh2bV9jcHVpZCh1bnNpZ25lZCBpbnQgaW5wdXQsIHVuc2ln bmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKICAgICAgICAgfQogICAgICAgICBpZiAo IGNvdW50ID09IDEgKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIGNwdV9oYXNfeHNhdmVz ICYmIGNwdV9oYXNfdm14X3hzYXZlcyApCisgICAgICAgICAgICBpZiAoIChjcHVfaGFzX3hzYXZl cyAmJiBjcHVfaGFzX3ZteF94c2F2ZXMpIHx8IGNwdV9oYXNfeHNhdmVjICkKICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAqZWJ4ID0gWFNUQVRFX0FSRUFfTUlOX1NJWkU7CiAgICAgICAg ICAgICAgICAgaWYgKCB2LT5hcmNoLnhjcjAgfCB2LT5hcmNoLmh2bV92Y3B1Lm1zcl94c3MgKQog ICAgICAgICAgICAgICAgICAgICBmb3IgKCBzdWJfbGVhZiA9IDI7IHN1Yl9sZWFmIDwgNjM7IHN1 Yl9sZWFmKysgKQogICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCAodi0+YXJjaC54Y3IwIHwg di0+YXJjaC5odm1fdmNwdS5tc3JfeHNzKSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICgxVUxMIDw8IHN1Yl9sZWFmKSApCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaWYgKCB0ZXN0X2JpdChzdWJfbGVhZiwgJnhzdGF0ZV9hbGln bikgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqZWJ4ID0gUk9VTkRVUCgqZWJ4 LCA2NCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKmVieCArPSB4c3RhdGVfc2l6ZXNb c3ViX2xlYWZdOworICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAg ICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICplYnggPSAqZWN4ID0gKmVkeCA9IDA7CmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCmlu ZGV4IDZmYmIxY2YuLjg2OTRkYTYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5jCisr KyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCkBAIC0xMDIwLDYgKzEwMjAsMTggQEAgdm9pZCBwdl9j cHVpZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncykKICAgICAgICAgICAgIGEgJj0gKGJvb3Rf Y3B1X2RhdGEueDg2X2NhcGFiaWxpdHlbY3B1ZmVhdF93b3JkKFg4Nl9GRUFUVVJFX1hTQVZFT1BU KV0gJgogICAgICAgICAgICAgICAgICAgfmNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9YU0FWRVMp KTsKICAgICAgICAgICAgIGIgPSBjID0gZCA9IDA7CisgICAgICAgICAgICBpZiAoIGNwdV9oYXNf eHNhdmVjICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBiID0gWFNUQVRFX0FSRUFf TUlOX1NJWkU7CisgICAgICAgICAgICAgICAgaWYgKCBjdXJyLT5hcmNoLnhjcjAgKQorICAgICAg ICAgICAgICAgICAgICBmb3IoIHN1YmxlYWYgPSAyOyBzdWJsZWFmIDwgNjM7IHN1YmxlYWYrKyAp CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoICgxVUxMIDw8IHN1YmxlYWYpICYgY3Vyci0+ YXJjaC54Y3IwICkKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpZiAoIHRlc3RfYml0KHN1YmxlYWYsICZ4c3RhdGVfYWxpZ24pICkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYiA9IFJPVU5EVVAoYiwgNjQpOworICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGIgKz0geHN0YXRlX3NpemVzW3N1YmxlYWZdOworICAgICAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAg ICAgIH0KICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveHN0YXRlLmMg Yi94ZW4vYXJjaC94ODYveHN0YXRlLmMKaW5kZXggZjRlYTU0ZC4uODUwYjc3OCAxMDA2NDQKLS0t IGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpAQCAt MjYsNyArMjYsNyBAQCB1NjQgX19yZWFkX21vc3RseSB4ZmVhdHVyZV9tYXNrOwogCiBzdGF0aWMg dW5zaWduZWQgaW50ICpfX3JlYWRfbW9zdGx5IHhzdGF0ZV9vZmZzZXRzOwogdW5zaWduZWQgaW50 ICpfX3JlYWRfbW9zdGx5IHhzdGF0ZV9zaXplczsKLXN0YXRpYyB1NjQgX19yZWFkX21vc3RseSB4 c3RhdGVfYWxpZ247Cit1NjQgX19yZWFkX21vc3RseSB4c3RhdGVfYWxpZ247CiBzdGF0aWMgdW5z aWduZWQgaW50IF9fcmVhZF9tb3N0bHkgeHN0YXRlX2ZlYXR1cmVzOwogCiBzdGF0aWMgdWludDMy X3QgX19yZWFkX21vc3RseSBteGNzcl9tYXNrID0gMHgwMDAwZmZiZjsKZGlmZiAtLWdpdCBhL3hl bi9pbmNsdWRlL2FzbS14ODYveHN0YXRlLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3hzdGF0ZS5o CmluZGV4IDkxZDFjMzkuLjUzNTQ0M2EgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv eHN0YXRlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94c3RhdGUuaApAQCAtNTAsNiArNTAs NyBAQAogI2RlZmluZSBYU1RBVEVfQUxJR042NCAoMVUgPDwgMSkKIAogZXh0ZXJuIHU2NCB4ZmVh dHVyZV9tYXNrOworZXh0ZXJuIHU2NCB4c3RhdGVfYWxpZ247CiBleHRlcm4gdW5zaWduZWQgaW50 ICp4c3RhdGVfc2l6ZXM7CiAKIC8qIGV4dGVuZGVkIHN0YXRlIHNhdmUgYXJlYSAqLwotLSAKMS45 LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54 ZW4ub3JnL3hlbi1kZXZlbAo=