From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: [PATCHv3 1/3] x86/fpu: improve check for XSAVE* not writing FIP/FDP fields Date: Thu, 25 Feb 2016 10:58:02 +0000 Message-ID: <1456397884-661-2-git-send-email-david.vrabel@citrix.com> References: <1456397884-661-1-git-send-email-david.vrabel@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xen.org with esmtp (Exim 4.84) (envelope-from ) id 1aYtce-0003Ry-KX for xen-devel@lists.xenproject.org; Thu, 25 Feb 2016 10:58:16 +0000 In-Reply-To: <1456397884-661-1-git-send-email-david.vrabel@citrix.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: Andrew Cooper , David Vrabel , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhlIGhhcmR3YXJlIG1heSBub3Qgd3JpdGUgdGhlIEZJUC9GRFAgZmllbGRzIHdpdGggYSBYU0FW RSoKaW5zdHJ1Y3Rpb24uICBlLmcuLCB3aXRoIFhTQVZFT1BUL1hTQVZFUyBpZiB0aGUgc3RhdGUg aGFzbid0IGNoYW5nZWQKb3Igb24gQU1EIENQVXMgd2hlbiBhIGZsb2F0aW5nIHBvaW50IGV4Y2Vw dGlvbiBpcyBub3QgcGVuZGluZy4gIFdlCm5lZWQgdG8gaWRlbnRpZnkgdGhpcyBjYXNlIHNvIHdl IGNhbiBjb3JyZWN0bHkgYXBwbHkgdGhlIGNoZWNrIGZvcgp3aGV0aGVyIHRvIHNhdmUvcmVzdG9y ZSBGQ1MvRkRTLgoKQnkgcG9pc29uaW5nIEZJUCBpbiB0aGUgc2F2ZWQgc3RhdGUgd2UgY2FuIGNo ZWNrIGlmIHRoZSBoYXJkd2FyZQp3cml0ZXMgdG8gdGhpcyBmaWVsZC4gIFRoZSBwb2lzb24gdmFs dWUgaXMgYm90aDogYSkgbm9uLWNhbm9uaWNhbDsgYW5kCmIpIHJhbmRvbSB3aXRoIGEgdmFuaXNo aW5nbHkgc21hbGwgcHJvYmFiaWxpdHkgb2YgbWF0Y2hpbmcgYSB2YWx1ZQp3cml0dGVuIGJ5IHRo ZSBoYXJkd2FyZSAoMSAvICgyXjYzKSA9IDEwXi0xOSkuCgpUaGUgcG9pc29uIHZhbHVlIGlzIGZp eGVkIGFuZCB0aHVzIGtub3dhYmxlIGJ5IGEgZ3Vlc3QgKG9yIGd1ZXN0CnVzZXJzcGFjZSkuICBU aGlzIGNvdWxkIGFsbG93IHRoZSBndWVzdCB0byBjYXVzZSBYZW4gdG8gaW5jb3JyZWN0bHkKZGV0 ZWN0IHRoYXQgdGhlIGZpZWxkIGhhcyBub3QgYmVlbiB3cml0dGVuLiAgQnV0OiBhKSB0aGlzIHJl cXVpcmVzIHRoZQpGSVAgcmVnaXN0ZXIgdG8gYmUgYSBmdWxsIDY0IGJpdHMgaW50ZXJuYWxseSB3 aGljaCBpcyBub3QgdGhlIGNhc2UgZm9yCmFsbCBjdXJyZW50IEFNRCBhbmQgSW50ZWwgQ1BVczsg YW5kIGIpIHRoaXMgb25seSBhbGxvd3MgdGhlIGd1ZXN0IChvcgphIGd1ZXN0IHVzZXJzcGFjZSBw cm9jZXNzKSB0byBjb3JydXB0IGl0cyBvd24gc3RhdGUgKGkuZS4sIGl0IGNhbm5vdAphZmZlY3Qg dGhlIHN0YXRlIG9mIGFub3RoZXIgZ3Vlc3Qgb3IgYW5vdGhlciB1c2VyIHNwYWNlIHByb2Nlc3Mp LgoKVGhpcyByZXN1bHRzIGluIHNtYWxsZXIgY29kZSB3aXRoIGZld2VyIGJyYW5jaGVzIGFuZCBp cyBtb3JlCnVuZGVyc3RhbmRhYmxlLgoKU2lnbmVkLW9mZi1ieTogRGF2aWQgVnJhYmVsIDxkYXZp ZC52cmFiZWxAY2l0cml4LmNvbT4KLS0tCnYzOgotIFVzZSBhIHJhbmRvbSAoYW5kIHN0aWxsIG5v bi1jYW5vbmljYWwpIHZhbHVlIHRvIHBvaXNvbiBGSVAuCi0tLQogeGVuL2FyY2gveDg2L3hzdGF0 ZS5jIHwgNDcgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYveHN0YXRlLmMgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKaW5k ZXggNGYyZmI4ZS4uNmE5MTdmOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jCisr KyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpAQCAtMjYzLDQxICsyNjMsMjggQEAgdm9pZCB4c2F2 ZShzdHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgbWFzaykKIAogICAgIGlmICggd29yZF9zaXplIDw9 IDAgfHwgIWlzX3B2XzMyYml0X3ZjcHUodikgKQogICAgIHsKLSAgICAgICAgdHlwZW9mKHB0ci0+ ZnB1X3NzZS5maXAuc2VsKSBmY3MgPSBwdHItPmZwdV9zc2UuZmlwLnNlbDsKLSAgICAgICAgdHlw ZW9mKHB0ci0+ZnB1X3NzZS5mZHAuc2VsKSBmZHMgPSBwdHItPmZwdV9zc2UuZmRwLnNlbDsKKyAg ICAgICAgdWludDY0X3Qgb3JpZ19maXA7CisgICAgICAgIHN0YXRpYyBjb25zdCB1aW50NjRfdCBi YWRfZmlwID0gMHg2YTNmNWM0YjEzYTUzM2Y2OwogCi0gICAgICAgIGlmICggY3B1X2hhc194c2F2 ZW9wdCB8fCBjcHVfaGFzX3hzYXZlcyApCi0gICAgICAgIHsKLSAgICAgICAgICAgIC8qCi0gICAg ICAgICAgICAgKiBYU0FWRU9QVC9YU0FWRVMgbWF5IG5vdCB3cml0ZSB0aGUgRlBVIHBvcnRpb24g ZXZlbiB3aGVuIHRoZQotICAgICAgICAgICAgICogcmVzcGVjdGl2ZSBtYXNrIGJpdCBpcyBzZXQu IEZvciB0aGUgY2hlY2sgZnVydGhlciBkb3duIHRvIHdvcmsKLSAgICAgICAgICAgICAqIHdlIGhl bmNlIG5lZWQgdG8gcHV0IHRoZSBzYXZlIGltYWdlIGJhY2sgaW50byB0aGUgc3RhdGUgdGhhdAot ICAgICAgICAgICAgICogaXQgd2FzIGluIHJpZ2h0IGFmdGVyIHRoZSBwcmV2aW91cyBYU0FWRU9Q VC4KLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgaWYgKCB3b3JkX3NpemUgPiAwICYmCi0g ICAgICAgICAgICAgICAgIChwdHItPmZwdV9zc2UueFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPT0g NCB8fAotICAgICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLnhbRlBVX1dPUkRfU0laRV9PRkZT RVRdID09IDIpICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHItPmZwdV9zc2Uu ZmlwLnNlbCA9IDA7Ci0gICAgICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZkcC5zZWwgPSAwOwot ICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAgIC8qCisgICAgICAgICAqIEZJUC9GRFAg bWF5IG5vdCBiZSB3cml0dGVuIGluIHNvbWUgY2FzZXMgKGUuZy4sIGlmCisgICAgICAgICAqIFhT QVZFT1BUL1hTQVZFUyBpcyB1c2VkLCBvciBvbiBBTUQgQ1BVcyBpZiBhbiBleGNlcHRpb24KKyAg ICAgICAgICogaXNuJ3QgcGVuZGluZykuCisgICAgICAgICAqCisgICAgICAgICAqIFRvIHRlbGwg aWYgdGhlIGhhcmR3YXJlIHdyaXRlcyB0aGVzZSBmaWVsZHMsIHBvaXNvbiB0aGUgRklQCisgICAg ICAgICAqIGZpZWxkLiAgVGhlIHBvaXNvbiBpcyBib3RoIGEpIG5vbi1jYW5vbmljYWw7IGFuZCBi KSByYW5kb20KKyAgICAgICAgICogd2l0aCBhIHZhbmlzaGluZ2x5IHNtYWxsIHByb2JhYmlsaXR5 IHRvIG1hdGNoIGEgdmFsdWUgdGhlCisgICAgICAgICAqIGhhcmR3YXJlIG1heSB3cml0ZSAoMWUt MTkpLgorICAgICAgICAgKi8KKyAgICAgICAgb3JpZ19maXAgPSBwdHItPmZwdV9zc2UuZmlwLmFk ZHI7CisgICAgICAgIHB0ci0+ZnB1X3NzZS5maXAuYWRkciA9IGJhZF9maXA7CiAKICAgICAgICAg WFNBVkUoIjB4NDgsIik7CiAKLSAgICAgICAgaWYgKCAhKG1hc2sgJiBwdHItPnhzYXZlX2hkci54 c3RhdGVfYnYgJiBYU1RBVEVfRlApIHx8Ci0gICAgICAgICAgICAgLyoKLSAgICAgICAgICAgICAg KiBBTUQgQ1BVcyBkb24ndCBzYXZlL3Jlc3RvcmUgRkRQL0ZJUC9GT1AgdW5sZXNzIGFuIGV4Y2Vw dGlvbgotICAgICAgICAgICAgICAqIGlzIHBlbmRpbmcuCi0gICAgICAgICAgICAgICovCi0gICAg ICAgICAgICAgKCEocHRyLT5mcHVfc3NlLmZzdyAmIDB4MDA4MCkgJiYKLSAgICAgICAgICAgICAg Ym9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EKSApCisgICAgICAgIC8q IEZJUC9GRFAgbm90IHVwZGF0ZWQ/IFJlc3RvcmUgdGhlIG9sZCBGSVAgdmFsdWUuICovCisgICAg ICAgIGlmICggcHRyLT5mcHVfc3NlLmZpcC5hZGRyID09IGJhZF9maXAgKQogICAgICAgICB7Ci0g ICAgICAgICAgICBpZiAoIChjcHVfaGFzX3hzYXZlb3B0IHx8IGNwdV9oYXNfeHNhdmVzKSAmJiB3 b3JkX3NpemUgPiAwICkKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBwdHItPmZwdV9z c2UuZmlwLnNlbCA9IGZjczsKLSAgICAgICAgICAgICAgICBwdHItPmZwdV9zc2UuZmRwLnNlbCA9 IGZkczsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHB0ci0+ZnB1X3NzZS5maXAuYWRkciA9 IG9yaWdfZmlwOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLS0gCjIuMS40CgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVs IG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9y Zy94ZW4tZGV2ZWwK