From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: [PATCHv4 3/3] x86/fpu: improve check for XSAVE* not writing FIP/FDP fields Date: Thu, 25 Feb 2016 15:10:31 +0000 Message-ID: <1456413031-4507-4-git-send-email-david.vrabel@citrix.com> References: <1456413031-4507-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.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.84) (envelope-from ) id 1aYxYz-0005ZD-MQ for xen-devel@lists.xenproject.org; Thu, 25 Feb 2016 15:10:45 +0000 In-Reply-To: <1456413031-4507-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 ZXggNjVhNGY2NC4uMTM1MDc0OCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jCisr KyBiL3hlbi9hcmNoL3g4Ni94c3RhdGUuYwpAQCAtMjcxLDQxICsyNzEsMjggQEAgdm9pZCB4c2F2 ZShzdHJ1Y3QgdmNwdSAqdiwgdWludDY0X3QgbWFzaykKICAgICB9CiAgICAgZWxzZQogICAgIHsK LSAgICAgICAgdHlwZW9mKHB0ci0+ZnB1X3NzZS5maXAuc2VsKSBmY3MgPSBwdHItPmZwdV9zc2Uu ZmlwLnNlbDsKLSAgICAgICAgdHlwZW9mKHB0ci0+ZnB1X3NzZS5mZHAuc2VsKSBmZHMgPSBwdHIt PmZwdV9zc2UuZmRwLnNlbDsKKyAgICAgICAgdWludDY0X3Qgb3JpZ19maXA7CisgICAgICAgIHN0 YXRpYyBjb25zdCB1aW50NjRfdCBiYWRfZmlwID0gMHg2YTNmNWM0YjEzYTUzM2Y2OwogCi0gICAg ICAgIGlmICggY3B1X2hhc194c2F2ZW9wdCB8fCBjcHVfaGFzX3hzYXZlcyApCi0gICAgICAgIHsK LSAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAgKiBYU0FWRU9QVC9YU0FWRVMgbWF5IG5vdCB3 cml0ZSB0aGUgRlBVIHBvcnRpb24gZXZlbiB3aGVuIHRoZQotICAgICAgICAgICAgICogcmVzcGVj dGl2ZSBtYXNrIGJpdCBpcyBzZXQuIEZvciB0aGUgY2hlY2sgZnVydGhlciBkb3duIHRvIHdvcmsK LSAgICAgICAgICAgICAqIHdlIGhlbmNlIG5lZWQgdG8gcHV0IHRoZSBzYXZlIGltYWdlIGJhY2sg aW50byB0aGUgc3RhdGUgdGhhdAotICAgICAgICAgICAgICogaXQgd2FzIGluIHJpZ2h0IGFmdGVy IHRoZSBwcmV2aW91cyBYU0FWRU9QVC4KLSAgICAgICAgICAgICAqLwotICAgICAgICAgICAgaWYg KCB3b3JkX3NpemUgPiAwICYmCi0gICAgICAgICAgICAgICAgIChwdHItPmZwdV9zc2UueFtGUFVf V09SRF9TSVpFX09GRlNFVF0gPT0gNCB8fAotICAgICAgICAgICAgICAgICAgcHRyLT5mcHVfc3Nl LnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID09IDIpICkKLSAgICAgICAgICAgIHsKLSAgICAgICAg ICAgICAgICBwdHItPmZwdV9zc2UuZmlwLnNlbCA9IDA7Ci0gICAgICAgICAgICAgICAgcHRyLT5m cHVfc3NlLmZkcC5zZWwgPSAwOwotICAgICAgICAgICAgfQotICAgICAgICB9CisgICAgICAgIC8q CisgICAgICAgICAqIEZJUC9GRFAgbWF5IG5vdCBiZSB3cml0dGVuIGluIHNvbWUgY2FzZXMgKGUu Zy4sIGlmCisgICAgICAgICAqIFhTQVZFT1BUL1hTQVZFUyBpcyB1c2VkLCBvciBvbiBBTUQgQ1BV cyBpZiBhbiBleGNlcHRpb24KKyAgICAgICAgICogaXNuJ3QgcGVuZGluZykuCisgICAgICAgICAq CisgICAgICAgICAqIFRvIHRlbGwgaWYgdGhlIGhhcmR3YXJlIHdyaXRlcyB0aGVzZSBmaWVsZHMs IHBvaXNvbiB0aGUgRklQCisgICAgICAgICAqIGZpZWxkLiAgVGhlIHBvaXNvbiBpcyBib3RoIGEp IG5vbi1jYW5vbmljYWw7IGFuZCBiKSByYW5kb20KKyAgICAgICAgICogd2l0aCBhIHZhbmlzaGlu Z2x5IHNtYWxsIHByb2JhYmlsaXR5IHRvIG1hdGNoIGEgdmFsdWUgdGhlCisgICAgICAgICAqIGhh cmR3YXJlIG1heSB3cml0ZSAoMWUtMTkpLgorICAgICAgICAgKi8KKyAgICAgICAgb3JpZ19maXAg PSBwdHItPmZwdV9zc2UuZmlwLmFkZHI7CisgICAgICAgIHB0ci0+ZnB1X3NzZS5maXAuYWRkciA9 IGJhZF9maXA7CiAKICAgICAgICAgWFNBVkUoIjB4NDgsIik7CiAKLSAgICAgICAgaWYgKCAhKG1h c2sgJiBwdHItPnhzYXZlX2hkci54c3RhdGVfYnYgJiBYU1RBVEVfRlApIHx8Ci0gICAgICAgICAg ICAgLyoKLSAgICAgICAgICAgICAgKiBBTUQgQ1BVcyBkb24ndCBzYXZlL3Jlc3RvcmUgRkRQL0ZJ UC9GT1AgdW5sZXNzIGFuIGV4Y2VwdGlvbgotICAgICAgICAgICAgICAqIGlzIHBlbmRpbmcuCi0g ICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgKCEocHRyLT5mcHVfc3NlLmZzdyAmIDB4MDA4 MCkgJiYKLSAgICAgICAgICAgICAgYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5E T1JfQU1EKSApCisgICAgICAgIC8qIEZJUC9GRFAgbm90IHVwZGF0ZWQ/IFJlc3RvcmUgdGhlIG9s ZCBGSVAgdmFsdWUuICovCisgICAgICAgIGlmICggcHRyLT5mcHVfc3NlLmZpcC5hZGRyID09IGJh ZF9maXAgKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIChjcHVfaGFzX3hzYXZlb3B0IHx8 IGNwdV9oYXNfeHNhdmVzKSAmJiB3b3JkX3NpemUgPiAwICkKLSAgICAgICAgICAgIHsKLSAgICAg ICAgICAgICAgICBwdHItPmZwdV9zc2UuZmlwLnNlbCA9IGZjczsKLSAgICAgICAgICAgICAgICBw dHItPmZwdV9zc2UuZmRwLnNlbCA9IGZkczsKLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHB0 ci0+ZnB1X3NzZS5maXAuYWRkciA9IG9yaWdfZmlwOwogICAgICAgICAgICAgcmV0dXJuOwogICAg ICAgICB9CiAKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9y ZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK