From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Vrabel Subject: [PATCHv4 1/3] x86/fpu: Add a per-domain field to set the width of FIP/FDP Date: Thu, 25 Feb 2016 15:10:29 +0000 Message-ID: <1456413031-4507-2-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 1aYxZ1-0005bB-6d for xen-devel@lists.xenproject.org; Thu, 25 Feb 2016 15:10:47 +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 VGhlIHg4NiBhcmNoaXRlY3R1cmUgYWxsb3dzIGVpdGhlcjogYSkgdGhlIDY0LWJpdCBGSVAvRkRQ IHJlZ2lzdGVycyB0bwpiZSByZXN0b3JlZCAoY2xlYXJpbmcgRkNTIGFuZCBGRFMpOyBvciBiKSB0 aGUgMzItYml0IEZJUC9GRFAgYW5kCkZDUy9GRFMgcmVnaXN0ZXJzIHRvIGJlIHJlc3RvcmVkIChj bGVhcmluZyB0aGUgdXBwZXIgMzItYml0cykuCgpBZGQgYSBwZXItZG9tYWluIGZpZWxkIHRvIGlu ZGljYXRlIHdoaWNoIG9mIHRoZXNlIG9wdGlvbnMgYSBndWVzdApuZWVkcy4gIFRoZSBvcHRpb25z IGFyZTogOCwgNCBvciAwLiAgV2hlcmUgMCBpbmRpY2F0ZXMgdGhhdCB0aGUKaHlwZXJ2aXNvciBz aG91bGQgYXV0b21hdGljYWxseSBndWVzcyB0aGUgRklQIHdpZHRoIGJ5IGNoZWNraW5nIHRoZQp2 YWx1ZSBvZiBGSVAvRkRQIHdoZW4gc2F2aW5nIHRoZSBzdGF0ZSAodGhpcyBpcyB0aGUgZXhpc3Rp bmcKYmVoYXZpb3VyKS4KClRoZSBGSVAgd2lkdGggaXMgaW5pdGlhbGx5IGF1dG9tYXRpYyBidXQg aXMgc2V0IGV4cGxpY2l0bHkgaW4gdGhlCmZvbGxvd2luZyBjYXNlczoKCi0gMzItYml0IFBWIGd1 ZXN0OiA0Ci0gTmV3ZXIgQ1BVcyB0aGF0IGRvIG5vdCBzYXZlIEZDUy9GRFM6IDgKClRoZSB4ODdf ZmlwX3dpZHRoIGZpZWxkIGlzIHBsYWNlZCBpbnRvIGFuIGV4aXN0aW5nIDEgYnl0ZSBob2xlIGlu CnN0cnVjdCBhcmNoX2RvbWFpbi4KClNpZ25lZC1vZmYtYnk6IERhdmlkIFZyYWJlbCA8ZGF2aWQu dnJhYmVsQGNpdHJpeC5jb20+ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+Ci0tLQp2NDoKLSBTa2lwIEZJUCBjaGVjayBpZiBGUCBzdGF0ZSBpc24ndCBiZWluZyBz YXZlZC4KCnYzOgotIFNraXAgY2hlY2tpbmcgZm9yIEZJUCB1cGRhdGVzIGlmIDggaXMgYWx3YXlz IHJlcXVlc3RlZC4KLSBPbmx5IHVwZGF0ZSB3b3JkIHNpemUgaWYgRlAgc3RhdGUgd2FzIHJlcXVl c3RlZC4KLSBJbXByb3ZlIGNvbW1lbnRzIGEgYml0LgoKdjI6Ci0gUmV0YWluIGxvZ2ljIHRvIGRl dGVjdCBpZiBYU0FWRSogd3JpdGVzIEZJUC9GRFAuCi0gS2VlcCA2NC1iaXQgUFYgZ3Vlc3RzIGlu IGF1dG8tbW9kZS4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgIHwgMTAgKysrKysr KysrKwogeGVuL2FyY2gveDg2L2kzODcuYyAgICAgICAgICB8IDE5ICsrKysrKysrKysrKy0tLS0t LS0KIHhlbi9hcmNoL3g4Ni94c3RhdGUuYyAgICAgICAgfCAzMiArKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaCB8IDE1ICsrKysrKysr KysrKysrKwogNCBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCAxOSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9t YWluLmMKaW5kZXggOWQ0M2Y3Yi4uYTZkNzIxYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Rv bWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtMzQzLDYgKzM0Myw4IEBAIGlu dCBzd2l0Y2hfbmF0aXZlKHN0cnVjdCBkb21haW4gKmQpCiAgICAgICAgICAgICBodm1fc2V0X21v ZGUodiwgOCk7CiAgICAgfQogCisgICAgZC0+YXJjaC54ODdfZmlwX3dpZHRoID0gY3B1X2hhc19m cHVfc2VsID8gMCA6IDg7CisKICAgICByZXR1cm4gMDsKIH0KIApAQCAtMzc3LDYgKzM3OSw4IEBA IGludCBzd2l0Y2hfY29tcGF0KHN0cnVjdCBkb21haW4gKmQpCiAKICAgICBkb21haW5fc2V0X2Fs bG9jX2JpdHNpemUoZCk7CiAKKyAgICBkLT5hcmNoLng4N19maXBfd2lkdGggPSA0OworCiAgICAg cmV0dXJuIDA7CiAKICB1bmRvX2FuZF9mYWlsOgpAQCAtNjUzLDYgKzY1NywxMiBAQCBpbnQgYXJj aF9kb21haW5fY3JlYXRlKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCBkb21jcl9mbGFn cywKICAgICAvKiBQVi9QVkggZ3Vlc3RzIGdldCBhbiBlbXVsYXRlZCBQSVQgdG9vIGZvciB2aWRl byBCSU9TZXMgdG8gdXNlLiAqLwogICAgIHBpdF9pbml0KGQsIGNwdV9raHopOwogCisgICAgLyoK KyAgICAgKiBJZiB0aGUgRlBVIGRvZXMgbm90IHNhdmUgRkNTL0ZEUyB0aGVuIHdlIGNhbiBhbHdh eXMKKyAgICAgKiBzYXZlL3Jlc3RvcmUgdGhlIDY0LWJpdCBGSVAvRkRQIGFuZCBpZ25vcmUgdGhl IHNlbGVjdG9ycy4KKyAgICAgKi8KKyAgICBkLT5hcmNoLng4N19maXBfd2lkdGggPSBjcHVfaGFz X2ZwdV9zZWwgPyAwIDogODsKKwogICAgIHJldHVybiAwOwogCiAgZmFpbDoKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9pMzg3LmMgYi94ZW4vYXJjaC94ODYvaTM4Ny5jCmluZGV4IDY3MDE2Yzku LmMyOWQwZmEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9pMzg3LmMKKysrIGIveGVuL2FyY2gv eDg2L2kzODcuYwpAQCAtMTQ0LDkgKzE0NCw5IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmcHVfeHNh dmUoc3RydWN0IHZjcHUgKnYpCiBzdGF0aWMgaW5saW5lIHZvaWQgZnB1X2Z4c2F2ZShzdHJ1Y3Qg dmNwdSAqdikKIHsKICAgICB0eXBlb2Yodi0+YXJjaC54c2F2ZV9hcmVhLT5mcHVfc3NlKSAqZnB1 X2N0eHQgPSB2LT5hcmNoLmZwdV9jdHh0OwotICAgIGludCB3b3JkX3NpemUgPSBjcHVfaGFzX2Zw dV9zZWwgPyA4IDogMDsKKyAgICB1bnNpZ25lZCBpbnQgZmlwX3dpZHRoID0gdi0+ZG9tYWluLT5h cmNoLng4N19maXBfd2lkdGg7CiAKLSAgICBpZiAoICFpc19wdl8zMmJpdF92Y3B1KHYpICkKKyAg ICBpZiAoIGZpcF93aWR0aCAhPSA0ICkKICAgICB7CiAgICAgICAgIC8qCiAgICAgICAgICAqIFRo ZSBvbmx5IHdheSB0byBmb3JjZSBmeHNhdmVxIG9uIGEgd2lkZSByYW5nZSBvZiBnYXMgdmVyc2lv bnMuCkBAIC0xNjQsNyArMTY0LDExIEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBmcHVfZnhzYXZlKHN0 cnVjdCB2Y3B1ICp2KQogICAgICAgICAgICAgIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBY ODZfVkVORE9SX0FNRCApCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgaWYgKCB3b3Jk X3NpemUgPiAwICYmCisgICAgICAgIC8qCisgICAgICAgICAqIElmIHRoZSBGSVAvRkRQWzYzOjMy XSBhcmUgYm90aCB6ZXJvLCBpdCBpcyBzYWZlIHRvIHVzZSB0aGUKKyAgICAgICAgICogMzItYml0 IHJlc3RvcmUgdG8gYWxzbyByZXN0b3JlIHRoZSBzZWxlY3RvcnMuCisgICAgICAgICAqLworICAg ICAgICBpZiAoICFmaXBfd2lkdGggJiYKICAgICAgICAgICAgICAhKChmcHVfY3R4dC0+ZmlwLmFk ZHIgfCBmcHVfY3R4dC0+ZmRwLmFkZHIpID4+IDMyKSApCiAgICAgICAgIHsKICAgICAgICAgICAg IHN0cnVjdCBpeDg3X2VudiBmcHVfZW52OwpAQCAtMTcyLDE3ICsxNzYsMTggQEAgc3RhdGljIGlu bGluZSB2b2lkIGZwdV9meHNhdmUoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgICAgICBhc20gdm9s YXRpbGUgKCAiZm5zdGVudiAlMCIgOiAiPW0iIChmcHVfZW52KSApOwogICAgICAgICAgICAgZnB1 X2N0eHQtPmZpcC5zZWwgPSBmcHVfZW52LmZjczsKICAgICAgICAgICAgIGZwdV9jdHh0LT5mZHAu c2VsID0gZnB1X2Vudi5mZHM7Ci0gICAgICAgICAgICB3b3JkX3NpemUgPSA0OworICAgICAgICAg ICAgZmlwX3dpZHRoID0gNDsKICAgICAgICAgfQorICAgICAgICBlbHNlCisgICAgICAgICAgICBm aXBfd2lkdGggPSA4OwogICAgIH0KICAgICBlbHNlCiAgICAgewogICAgICAgICBhc20gdm9sYXRp bGUgKCAiZnhzYXZlICUwIiA6ICI9bSIgKCpmcHVfY3R4dCkgKTsKLSAgICAgICAgd29yZF9zaXpl ID0gNDsKKyAgICAgICAgZmlwX3dpZHRoID0gNDsKICAgICB9CiAKLSAgICBpZiAoIHdvcmRfc2l6 ZSA+PSAwICkKLSAgICAgICAgZnB1X2N0eHQtPnhbRlBVX1dPUkRfU0laRV9PRkZTRVRdID0gd29y ZF9zaXplOworICAgIGZwdV9jdHh0LT54W0ZQVV9XT1JEX1NJWkVfT0ZGU0VUXSA9IGZpcF93aWR0 aDsKIH0KIAogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCmRpZmYgLS1naXQgYS94 ZW4vYXJjaC94ODYveHN0YXRlLmMgYi94ZW4vYXJjaC94ODYveHN0YXRlLmMKaW5kZXggNGYyZmI4 ZS4uNjVhNGY2NCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3hzdGF0ZS5jCisrKyBiL3hlbi9h cmNoL3g4Ni94c3RhdGUuYwpAQCAtMjQ5LDcgKzI0OSw3IEBAIHZvaWQgeHNhdmUoc3RydWN0IHZj cHUgKnYsIHVpbnQ2NF90IG1hc2spCiAgICAgc3RydWN0IHhzYXZlX3N0cnVjdCAqcHRyID0gdi0+ YXJjaC54c2F2ZV9hcmVhOwogICAgIHVpbnQzMl90IGhtYXNrID0gbWFzayA+PiAzMjsKICAgICB1 aW50MzJfdCBsbWFzayA9IG1hc2s7Ci0gICAgaW50IHdvcmRfc2l6ZSA9IG1hc2sgJiBYU1RBVEVf RlAgPyAoY3B1X2hhc19mcHVfc2VsID8gOCA6IDApIDogLTE7CisgICAgdW5zaWduZWQgaW50IGZp cF93aWR0aCA9IHYtPmRvbWFpbi0+YXJjaC54ODdfZmlwX3dpZHRoOwogI2RlZmluZSBYU0FWRShw ZngpIFwKICAgICAgICAgYWx0ZXJuYXRpdmVfaW9fMygiLmJ5dGUgIiBwZnggIjB4MGYsMHhhZSww eDI3XG4iLCAvKiB4c2F2ZSAqLyBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgIi5ieXRlICIg cGZ4ICIweDBmLDB4YWUsMHgzN1xuIiwgLyogeHNhdmVvcHQgKi8gXApAQCAtMjYxLDcgKzI2MSwx NSBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrKQogICAgICAgICAg ICAgICAgICAgICAgICAgICI9bSIgKCpwdHIpLCBcCiAgICAgICAgICAgICAgICAgICAgICAgICAg ImEiIChsbWFzayksICJkIiAoaG1hc2spLCAiRCIgKHB0cikpCiAKLSAgICBpZiAoIHdvcmRfc2l6 ZSA8PSAwIHx8ICFpc19wdl8zMmJpdF92Y3B1KHYpICkKKyAgICBpZiAoIGZpcF93aWR0aCA9PSA4 IHx8ICEobWFzayAmIFhTVEFURV9GUCkgKQorICAgIHsKKyAgICAgICAgWFNBVkUoIjB4NDgsIik7 CisgICAgfQorICAgIGVsc2UgaWYgKCBmaXBfd2lkdGggPT0gNCApCisgICAgeworICAgICAgICBY U0FWRSgiIik7CisgICAgfQorICAgIGVsc2UKICAgICB7CiAgICAgICAgIHR5cGVvZihwdHItPmZw dV9zc2UuZmlwLnNlbCkgZmNzID0gcHRyLT5mcHVfc3NlLmZpcC5zZWw7CiAgICAgICAgIHR5cGVv ZihwdHItPmZwdV9zc2UuZmRwLnNlbCkgZmRzID0gcHRyLT5mcHVfc3NlLmZkcC5zZWw7CkBAIC0z MDEsMjUgKzMwOSwyNSBAQCB2b2lkIHhzYXZlKHN0cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNr KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKCB3b3JkX3Np emUgPiAwICYmCi0gICAgICAgICAgICAgISgocHRyLT5mcHVfc3NlLmZpcC5hZGRyIHwgcHRyLT5m cHVfc3NlLmZkcC5hZGRyKSA+PiAzMikgKQorICAgICAgICAvKgorICAgICAgICAgKiBJZiB0aGUg RklQL0ZEUFs2MzozMl0gYXJlIGJvdGggemVybywgaXQgaXMgc2FmZSB0byB1c2UgdGhlCisgICAg ICAgICAqIDMyLWJpdCByZXN0b3JlIHRvIGFsc28gcmVzdG9yZSB0aGUgc2VsZWN0b3JzLgorICAg ICAgICAgKi8KKyAgICAgICAgaWYgKCAhKChwdHItPmZwdV9zc2UuZmlwLmFkZHIgfCBwdHItPmZw dV9zc2UuZmRwLmFkZHIpID4+IDMyKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIHN0cnVjdCBp eDg3X2VudiBmcHVfZW52OwogCiAgICAgICAgICAgICBhc20gdm9sYXRpbGUgKCAiZm5zdGVudiAl MCIgOiAiPW0iIChmcHVfZW52KSApOwogICAgICAgICAgICAgcHRyLT5mcHVfc3NlLmZpcC5zZWwg PSBmcHVfZW52LmZjczsKICAgICAgICAgICAgIHB0ci0+ZnB1X3NzZS5mZHAuc2VsID0gZnB1X2Vu di5mZHM7Ci0gICAgICAgICAgICB3b3JkX3NpemUgPSA0OworICAgICAgICAgICAgZmlwX3dpZHRo ID0gNDsKICAgICAgICAgfQotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAgICBYU0FWRSgi Iik7Ci0gICAgICAgIHdvcmRfc2l6ZSA9IDQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZp cF93aWR0aCA9IDg7CiAgICAgfQogI3VuZGVmIFhTQVZFCi0gICAgaWYgKCB3b3JkX3NpemUgPj0g MCApCi0gICAgICAgIHB0ci0+ZnB1X3NzZS54W0ZQVV9XT1JEX1NJWkVfT0ZGU0VUXSA9IHdvcmRf c2l6ZTsKKyAgICBpZiAoIG1hc2sgJiBYU1RBVEVfRlAgKQorICAgICAgICBwdHItPmZwdV9zc2Uu eFtGUFVfV09SRF9TSVpFX09GRlNFVF0gPSBmaXBfd2lkdGg7CiB9CiAKIHZvaWQgeHJzdG9yKHN0 cnVjdCB2Y3B1ICp2LCB1aW50NjRfdCBtYXNrKQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNt LXg4Ni9kb21haW4uaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvZG9tYWluLmgKaW5kZXggNGZhZDYz OC4uNzEzNTcwOSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaAorKysg Yi94ZW4vaW5jbHVkZS9hc20teDg2L2RvbWFpbi5oCkBAIC0zMzksNiArMzM5LDIxIEBAIHN0cnVj dCBhcmNoX2RvbWFpbgogICAgIHU4IHg4Nl92ZW5kb3I7ICAgICAgICAgICAvKiBDUFUgdmVuZG9y ICovCiAgICAgdTggeDg2X21vZGVsOyAgICAgICAgICAgIC8qIENQVSBtb2RlbCAqLwogCisgICAg LyoKKyAgICAgKiBUaGUgd2lkdGggb2YgdGhlIEZJUC9GRFAgcmVnaXN0ZXIgaW4gdGhlIEZQVSB0 aGF0IG5lZWRzIHRvIGJlCisgICAgICogc2F2ZWQvcmVzdG9yZWQgZHVyaW5nIGEgY29udGV4dCBz d2l0Y2guICBUaGlzIGlzIG5lZWRlZCBiZWNhdXNlCisgICAgICogdGhlIEZQVSBjYW4gZWl0aGVy OiBhKSByZXN0b3JlIHRoZSA2NC1iaXQgRklQL0ZEUCBhbmQgY2xlYXIgRkNTCisgICAgICogYW5k IEZEUzsgb3IgYikgcmVzdG9yZSB0aGUgMzItYml0IEZJUC9GRFAgKGNsZWFyaW5nIHRoZSB1cHBl cgorICAgICAqIDMyLWJpdHMgb2YgRklQL0ZEUCkgYW5kIHJlc3RvcmUgRkNTL0ZEUy4KKyAgICAg KgorICAgICAqIFdoaWNoIG9uZSBpcyBuZWVkZWQgZGVwZW5kcyBvbiB0aGUgZ3Vlc3QuCisgICAg ICoKKyAgICAgKiBUaGlzIGNhbiBiZSBlaXRoZXI6IDgsIDQgb3IgMC4gIDAgbWVhbnMgYXV0by1k ZXRlY3QgdGhlIHNpemUKKyAgICAgKiBiYXNlZCBvbiB0aGUgd2lkdGggb2YgRklQL0ZEUCB2YWx1 ZXMgdGhhdCBhcmUgd3JpdHRlbiBieSB0aGUKKyAgICAgKiBndWVzdC4KKyAgICAgKi8KKyAgICB1 aW50OF90IHg4N19maXBfd2lkdGg7CisKICAgICBjcHVpZF9pbnB1dF90ICpjcHVpZHM7CiAKICAg ICBzdHJ1Y3QgUElUU3RhdGUgdnBpdDsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK