From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH RFC v3 00/28] x86: Improvements to cpuid handling for guests Date: Tue, 15 Mar 2016 15:34:56 +0000 Message-ID: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org UHJlc2VudGVkIGhlcmUgaXMgdjMgb2YgbXkgd29yayB0byBpbXByb3ZlIGNwdWlkIGxldmVsbGlu ZyBmb3IgZ3Vlc3RzLgoKVGhpcyBzZXJpZXMgaXMgYXZhaWxhYmxlIGluIGdpdCBmb3JtIGF0Ogog IGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvZ2l0LWh0dHAvcGVvcGxlL2FuZHJld2Nvb3AveGVuLmdp dCBsZXZlbGxpbmctdjMKCk1ham9yIGNoYW5nZXMgZnJvbSB2MiBpbmNsdWRlIGZ1cnRoZXIgcmVi YXNpbmcgb3ZlciBzZXZlcmFsIG5ld2x5LWFjY2VwdGVkCmZlYXR1cmVzLiAgVGhlcmUgaGF2ZSBi ZWVuIGZ1cnRoZXIgYnVnZml4ZXMgdG8geDg3IHBpcGVsaW5lIGhhbmRsaW5nLCBhbmQKdG9wb2xv Z3kgcmVwb3J0aW5nLiAgQWxzbyBtb3JlIHJlc2VhcmNoIGludG8gZmVhdHVyZSBkZXBlbmRlbmN5 IHRyZWVzLgoKVGhpcyBzZXJpZXMgaXMgc3RpbGwgUkZDIGJlY2F1c2UgSSBhbSBpbiB0aGUgcHJv Y2VzcyBvZiByZS10ZXN0aW5nIGFsbCB0aGUKaXNzdWVzIHdlIGVuY291bnRlcmVkIHByZXZpb3Vz bHksIGJ1dCBpdCBzaG91bGQgYmUgY29ycmVjdCBhcy1pcy4KClRoZSBjdXJyZW50IGNwdWlkIGNv ZGUsIGJvdGggaW4gdGhlIGh5cGVydmlzb3IgYW5kIHRvb2xzdGFjaywgaGFzIGdyb3duCm9yZ2Fu aWNhbGx5IGZvciBhIHZlcnkgbG9uZyB0aW1lLCBhbmQgaXMgZmxhd2VkIGluIG1hbnkgd2F5cy4g IFRoaXMgc2VyaWVzCmZvY3VzZXMgc3BlY2lmaWNhbGx5IG9uIHRoZSBmaXhpbmcgdGhlIGJpdHMg cGVydGFpbmluZyB0byB0aGUgdmlzaWJsZQpmZWF0dXJlcywgYW5kIEkgd2lsbCBiZSBmaXhpbmcg b3RoZXIgYXJlYXMgaW4gZnV0dXJlIHdvcmsgKGUuZy4gcGVyLWNvcmUsCnBlci1wYWNrYWdlIHZh bHVlcywgYXVkaXRpbmcgb2YgaW5jb21pbmcgbWlncmF0aW9uIHZhbHVlcywgZXRjLikKClRoZXNl IGNoYW5nZXMgYWx0ZXIgdGhlIHdvcmtmbG93IG9mIGNwdWlkIGhhbmRsaW5nIGFzIGZvbGxvd3M6 CgpYZW4gYm9vdHMgYW5kIGV2YWx1YXRlcyBpdHMgY3VycmVudCBjYXBhYmlsaXRpZXMuICBJdCB1 c2VzIHRoaXMgaW5mb3JtYXRpb24gdG8KY2FsY3VsYXRlIHRoZSBtYXhpbXVtIGZlYXR1cmVzZXRz IGl0IGNhbiBwcm92aWRlIHRvIGd1ZXN0cywgYW5kIHByb3ZpZGVzIHRoaXMKaW5mb3JtYXRpb24g Zm9yIHRvb2xzdGFjayBjb25zdW1wdGlvbi4gIEEgdG9vbHN0YWNrIG1heSB0aGVuIGNhbGN1bGF0 ZSBhIHNhZmUKc2V0IG9mIGZlYXR1cmVzICh0YWtpbmcgaW50byBhY2NvdW50IG1pZ3JhdGFiaWxp dHkpLCBhbmQgc2V0cyBhIGd1ZXN0cyBjcHVpZApwb2xpY3kuICBYZW4gdGhlbiB0YWtlcyBjYXJl IG9mIGNvbnRleHQgc3dpdGNoaW5nIHRoZSBsZXZlbGxpbmcgc3RhdGUuCgpJbiBwYXJ0aWN1bGFy LCB0aGlzIG1lYW5zIHRoYXQgUFYgZ3Vlc3RzIG1heSBoYXZlIGRpZmZlcmVudCBsZXZlbHMgd2hp bGUKcnVubmluZyBvbiB0aGUgc2FtZSBob3N0LCBhbiBvcHRpb24gd2hpY2ggd2FzIG5vdCBwcmV2 aW91c2x5IGF2YWlsYWJsZS4KCgpBbmRyZXcgQ29vcGVyICgyOCk6CiAgeGVuL3g4NjogRHJvcCB1 bnVzZWQgYW5kIG5vbi11c2VmdWwgZmVhdHVyZSBkZWZpbml0aW9ucwogIHhlbi94ODY6IFJlbmFt ZSBmZWF0dXJlcyB0byBiZSBjbG9zZXIgdG8gdGhlIHZlbmRvciBkZWZpbml0aW9ucwogIHhlbi9w dWJsaWM6IEV4cG9ydCBjcHUgZmVhdHVyZXNldCBpbmZvcm1hdGlvbiBpbiB0aGUgcHVibGljIEFQ SQogIHhlbi94ODY6IFNjcmlwdCB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgZmVhdHVyZXNldCBp bmZvcm1hdGlvbgogIHhlbi94ODY6IENvbGxlY3QgbW9yZSBjcHVpZCBmZWF0dXJlIGxlYXZlcwog IHhlbi94ODY6IE1hc2sgb3V0IHVua25vd24gZmVhdHVyZXMgZnJvbSBYZW4ncyBjYXBhYmlsaXRp ZXMKICB4ZW4veDg2OiBBbm5vdGF0ZSBzcGVjaWFsIGZlYXR1cmVzCiAgeGVuL3g4NjogQW5ub3Rh dGUgVk0gYXBwbGljYWJpbGl0eSBpbiBmZWF0dXJlc2V0CiAgeGVuL3g4NjogQ2FsY3VsYXRlIG1h eGltdW0gaG9zdCBhbmQgZ3Vlc3QgZmVhdHVyZXNldHMKICB4ZW4veDg2OiBHZW5lcmF0ZSBkZWVw IGRlcGVuZGVuY2llcyBvZiBmZWF0dXJlcwogIHhlbi94ODY6IENsZWFyIGRlcGVuZGVudCBmZWF0 dXJlcyB3aGVuIGNsZWFyaW5nIGEgY3B1IGNhcAogIHhlbi94ODY6IEltcHJvdmUgZGlzYWJsaW5n IG9mIGZlYXR1cmVzIHdoaWNoIGhhdmUgZGVwZW5kZW5jaWVzCiAgeGVuL3g4NjogSW1wcm92ZW1l bnRzIHRvIGluLWh5cGVydmlzb3IgY3B1aWQgc2FuaXR5IGNoZWNrcwogIHg4Ni9jcHU6IE1vdmUg c2V0X2NwdW1hc2soKSBjYWxscyBpbnRvIGNfZWFybHlfaW5pdCgpCiAgeDg2L2NwdTogU3lzY3Rs IGFuZCBjb21tb24gaW5mcmFzdHJ1Y3R1cmUgZm9yIGxldmVsbGluZyBjb250ZXh0CiAgICBzd2l0 Y2hpbmcKICB4ODYvY3B1OiBSZXdvcmsgQU1EIG1hc2tpbmcgTVNSIHNldHVwCiAgeDg2L2NwdTog UmV3b3JrIEludGVsIG1hc2tpbmcvZmF1bHRpbmcgc2V0dXAKICB4ODYvY3B1OiBDb250ZXh0IHN3 aXRjaCBjcHVpZCBtYXNrcyBhbmQgZmF1bHRpbmcgc3RhdGUgaW4KICAgIGNvbnRleHRfc3dpdGNo KCkKICB4ODYvcHY6IFByb3ZpZGUgY3VzdG9tIGNwdW1hc2tzIGZvciBQViBkb21haW5zCiAgeDg2 L2RvbWN0bDogVXBkYXRlIFBWIGRvbWFpbiBjcHVtYXNrcyB3aGVuIHNldHRpbmcgY3B1aWQgcG9s aWN5CiAgeGVuK3Rvb2xzOiBFeHBvcnQgbWF4aW11bSBob3N0IGFuZCBndWVzdCBjcHUgZmVhdHVy ZXNldHMgdmlhIFNZU0NUTAogIHRvb2xzL2xpYnhjOiBNb2RpZnkgYml0bWFwIG9wZXJhdGlvbnMg dG8gdGFrZSB2b2lkIHBvaW50ZXJzCiAgdG9vbHMvbGlieGM6IFVzZSBwdWJsaWMvZmVhdHVyZXNl dC5oIGZvciBjcHVpZCBwb2xpY3kgZ2VuZXJhdGlvbgogIHRvb2xzL2xpYnhjOiBFeHBvc2UgdGhl IGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNwdSBmZWF0dXJlbWFzawogICAgaW5mb3JtYXRpb24K ICB0b29sczogVXRpbGl0eSBmb3IgZGVhbGluZyB3aXRoIGZlYXR1cmVzZXRzCiAgdG9vbHMvbGli eGM6IFdpcmUgYSBmZWF0dXJlc2V0IHRocm91Z2ggdG8gY3B1aWQgcG9saWN5IGxvZ2ljCiAgdG9v bHMvbGlieGM6IFVzZSBmZWF0dXJlc2V0cyByYXRoZXIgdGhhbiBndWVzc3dvcmsKICB0b29scy9s aWJ4YzogQ2FsY3VsYXRlIHhzdGF0ZSBjcHVpZCBsZWFmIGZyb20gZ3Vlc3QgaW5mb3JtYXRpb24K CiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAyICsKIHRv b2xzL2xpYnhjL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDkgKwogdG9vbHMv bGlieGMvaW5jbHVkZS94ZW5jdHJsLmggICAgICAgICAgICAgICB8ICAyMiArLQogdG9vbHMvbGli eGMveGNfYml0b3BzLmggICAgICAgICAgICAgICAgICAgICB8ICAzNyArLQogdG9vbHMvbGlieGMv eGNfY3B1ZmVhdHVyZS5oICAgICAgICAgICAgICAgICB8IDE1MSAtLS0tLS0tCiB0b29scy9saWJ4 Yy94Y19jcHVpZF94ODYuYyAgICAgICAgICAgICAgICAgIHwgNTk4ICsrKysrKysrKysrKysrKysr LS0tLS0tLS0tLS0KIHRvb2xzL2xpYnhsL2xpYnhsX2NwdWlkLmMgICAgICAgICAgICAgICAgICAg fCAgIDIgKy0KIHRvb2xzL21pc2MvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAg IDQgKwogdG9vbHMvbWlzYy94ZW4tY3B1aWQuYyAgICAgICAgICAgICAgICAgICAgICB8IDM5NCAr KysrKysrKysrKysrKysrKysKIHRvb2xzL29jYW1sL2xpYnMveGMveGVuY3RybC5tbCAgICAgICAg ICAgICAgfCAgIDMgKwogdG9vbHMvb2NhbWwvbGlicy94Yy94ZW5jdHJsLm1saSAgICAgICAgICAg ICB8ICAgNCArCiB0b29scy9vY2FtbC9saWJzL3hjL3hlbmN0cmxfc3R1YnMuYyAgICAgICAgIHwg IDM3ICstCiB0b29scy9weXRob24veGVuL2xvd2xldmVsL3hjL3hjLmMgICAgICAgICAgIHwgICAy ICstCiB4ZW4vYXJjaC94ODYvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsK IHhlbi9hcmNoL3g4Ni9hY3BpL2NwdV9pZGxlLmMgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHhl bi9hcmNoL3g4Ni9hY3BpL2NwdWZyZXEvY3B1ZnJlcS5jICAgICAgICAgfCAgIDIgKy0KIHhlbi9h cmNoL3g4Ni9hY3BpL2xpYi5jICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KIHhlbi9hcmNo L3g4Ni9hcGljLmMgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIHhlbi9hcmNoL3g4 Ni9jcHUvYW1kLmMgICAgICAgICAgICAgICAgICAgICAgfCAzMTAgKysrKysrKystLS0tLS0KIHhl bi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMgICAgICAgICAgICAgICAgICAgfCAgNTQgKystCiB4ZW4v YXJjaC94ODYvY3B1L2ludGVsLmMgICAgICAgICAgICAgICAgICAgIHwgMjYzICsrKysrKystLS0t LQogeGVuL2FyY2gveDg2L2NwdS9tY2hlY2svbWNlX2ludGVsLmMgICAgICAgICB8ICAgMiArLQog eGVuL2FyY2gveDg2L2NwdS9td2FpdC1pZGxlLmMgICAgICAgICAgICAgICB8ICAgMiArLQogeGVu L2FyY2gveDg2L2NwdWlkLmMgICAgICAgICAgICAgICAgICAgICAgICB8IDIzNiArKysrKysrKysr KwogeGVuL2FyY2gveDg2L2NyYXNoLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArCiB4 ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDIwICstCiB4ZW4v YXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgICAgICAgICAgICAgIHwgMTI0ICsrKysrKwogeGVu L2FyY2gveDg2L2h2bS9odm0uYyAgICAgICAgICAgICAgICAgICAgICB8ICA5NSArKy0tLQogeGVu L2FyY2gveDg2L2h2bS92bXgvdm1jcy5jICAgICAgICAgICAgICAgICB8ICAgNCArLQogeGVuL2Fy Y2gveDg2L2h2bS92bXgvdnZteC5jICAgICAgICAgICAgICAgICB8ICAgNiArLQogeGVuL2FyY2gv eDg2L21pY3JvY29kZV9pbnRlbC5jICAgICAgICAgICAgICB8ICAgMyArLQogeGVuL2FyY2gveDg2 L3Bzci5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogeGVuL2FyY2gveDg2L3Nl dHVwLmMgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMyArCiB4ZW4vYXJjaC94ODYvc21wYm9v dC5jICAgICAgICAgICAgICAgICAgICAgIHwgIDQ2IC0tLQogeGVuL2FyY2gveDg2L3N5c2N0bC5j ICAgICAgICAgICAgICAgICAgICAgICB8ICA1NyArKysKIHhlbi9hcmNoL3g4Ni90cmFwcy5jICAg ICAgICAgICAgICAgICAgICAgICAgfCAxNjkgKysrKy0tLS0KIHhlbi9hcmNoL3g4Ni94c3RhdGUu YyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKy0KIHhlbi9pbmNsdWRlL01ha2VmaWxlICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMTAgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9hbWQuaCAg ICAgICAgICAgICAgICAgICB8ICAgNCArLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJl LmggICAgICAgICAgICB8IDE3NSArLS0tLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0 dXJlc2V0LmggICAgICAgICB8ICAyMiArCiB4ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmggICAg ICAgICAgICAgICAgIHwgIDQ1ICsrKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9kb21haW4uaCAgICAg ICAgICAgICAgICB8ICAgMiArCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oICAgICAg ICAgICAgIHwgIDMzICstCiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNl dC5oIHwgMjU3ICsrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oICAgICAg ICAgICAgICAgICB8ICA1MCArKysKIHhlbi90b29scy9nZW4tY3B1aWQucHkgICAgICAgICAgICAg ICAgICAgICAgfCA0MDEgKysrKysrKysrKysrKysrKysrKwogNDcgZmlsZXMgY2hhbmdlZCwgMjY5 OCBpbnNlcnRpb25zKCspLCA5ODQgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgdG9v bHMvbGlieGMveGNfY3B1ZmVhdHVyZS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgdG9vbHMvbWlzYy94 ZW4tY3B1aWQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL3g4Ni9jcHVpZC5jCiBjcmVh dGUgbW9kZSAxMDA2NDQgeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlc2V0LmgKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB4ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmgKIGNyZWF0ZSBtb2RlIDEw MDY0NCB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oCiBjcmVhdGUg bW9kZSAxMDA3NTUgeGVuL3Rvb2xzL2dlbi1jcHVpZC5weQoKLS0gCjIuMS40CgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcg bGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK