From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 21/27] x86/cpuid: Calculate appropriate max_leaf values for the global policies Date: Wed, 4 Jan 2017 12:39:38 +0000 Message-ID: <1483533584-8015-22-git-send-email-andrew.cooper3@citrix.com> References: <1483533584-8015-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: In-Reply-To: <1483533584-8015-1-git-send-email-andrew.cooper3@citrix.com> 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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org RGVyaXZlIGhvc3RfcG9saWN5IGZyb20gcmF3X3BvbGljeSwgYW5kIHtwdixodm19X21heF9wb2xp Y3kgZnJvbSBob3N0X3BvbGljeS4KQ2xhbXAgdGhlIHJhdyB2YWx1ZXMgdG8gdGhlIG1heGltdW0g d2Ugd2lsbCBvZmZlciB0byBndWVzdHMuCgpUaGlzIHNpbXBsaWZpZXMgdGhlIFBWIGFuZCBIVk0g cG9saWN5IGNhbGN1bGF0aW9ucywgcmVtb3ZpbmcgdGhlIG5lZWQgZm9yIGFuCmludGVybWVkaWF0 ZSBsaW5lYXIgaG9zdF9mZWF0dXJlc2V0IGJpdG1hcC4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpC ZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni9jcHVpZC5jICAgICAgICB8IDI4ICsr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaCB8 ICAyICstCiAyIGZpbGVzIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2NwdWlkLmMgYi94ZW4vYXJjaC94ODYvY3B1aWQu YwppbmRleCBhMjYxODQzLi4wMWJiOTA2IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvY3B1aWQu YworKysgYi94ZW4vYXJjaC94ODYvY3B1aWQuYwpAQCAtMTMyLDE5ICsxMzIsMzAgQEAgc3RhdGlj IHZvaWQgX19pbml0IGNhbGN1bGF0ZV9ob3N0X3BvbGljeSh2b2lkKQogewogICAgIHN0cnVjdCBj cHVpZF9wb2xpY3kgKnAgPSAmaG9zdF9wb2xpY3k7CiAKKyAgICAqcCA9IHJhd19wb2xpY3k7CisK KyAgICBwLT5iYXNpYy5tYXhfbGVhZiA9CisgICAgICAgIG1pbl90KHVpbnQzMl90LCBwLT5iYXNp Yy5tYXhfbGVhZiwgICBBUlJBWV9TSVpFKHAtPmJhc2ljLnJhdykgLSAxKTsKKyAgICBwLT5mZWF0 Lm1heF9zdWJsZWFmID0KKyAgICAgICAgbWluX3QodWludDMyX3QsIHAtPmZlYXQubWF4X3N1Ymxl YWYsIEFSUkFZX1NJWkUocC0+ZmVhdC5yYXcpIC0gMSk7CisgICAgcC0+ZXh0ZC5tYXhfbGVhZiA9 CisgICAgICAgIG1pbl90KHVpbnQzMl90LCBwLT5leHRkLm1heF9sZWFmLAorICAgICAgICAgICAg ICAweDgwMDAwMDAwdSArIEFSUkFZX1NJWkUocC0+ZXh0ZC5yYXcpIC0gMSk7CisKICAgICBjcHVp ZF9mZWF0dXJlc2V0X3RvX3BvbGljeShib290X2NwdV9kYXRhLng4Nl9jYXBhYmlsaXR5LCBwKTsK IH0KIAogc3RhdGljIHZvaWQgX19pbml0IGNhbGN1bGF0ZV9wdl9tYXhfcG9saWN5KHZvaWQpCiB7 CiAgICAgc3RydWN0IGNwdWlkX3BvbGljeSAqcCA9ICZwdl9tYXhfcG9saWN5OwotICAgIHVpbnQz Ml90IHB2X2ZlYXR1cmVzZXRbRlNDQVBJTlRTXSwgaG9zdF9mZWF0dXJlc2V0W0ZTQ0FQSU5UU107 CisgICAgdWludDMyX3QgcHZfZmVhdHVyZXNldFtGU0NBUElOVFNdOwogICAgIHVuc2lnbmVkIGlu dCBpOwogCi0gICAgY3B1aWRfcG9saWN5X3RvX2ZlYXR1cmVzZXQoJmhvc3RfcG9saWN5LCBob3N0 X2ZlYXR1cmVzZXQpOworICAgICpwID0gaG9zdF9wb2xpY3k7CisgICAgY3B1aWRfcG9saWN5X3Rv X2ZlYXR1cmVzZXQocCwgcHZfZmVhdHVyZXNldCk7CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8IEZT Q0FQSU5UUzsgKytpICkKLSAgICAgICAgcHZfZmVhdHVyZXNldFtpXSA9IGhvc3RfZmVhdHVyZXNl dFtpXSAmIHB2X2ZlYXR1cmVtYXNrW2ldOworICAgIGZvciAoIGkgPSAwOyBpIDwgQVJSQVlfU0la RShwdl9mZWF0dXJlc2V0KTsgKytpICkKKyAgICAgICAgcHZfZmVhdHVyZXNldFtpXSAmPSBwdl9m ZWF0dXJlbWFza1tpXTsKIAogICAgIC8qIFVuY29uZGl0aW9uYWxseSBjbGFpbSB0byBiZSBhYmxl IHRvIHNldCB0aGUgaHlwZXJ2aXNvciBiaXQuICovCiAgICAgX19zZXRfYml0KFg4Nl9GRUFUVVJF X0hZUEVSVklTT1IsIHB2X2ZlYXR1cmVzZXQpOwpAQCAtMTY0LDIwICsxNzUsMjEgQEAgc3RhdGlj IHZvaWQgX19pbml0IGNhbGN1bGF0ZV9wdl9tYXhfcG9saWN5KHZvaWQpCiBzdGF0aWMgdm9pZCBf X2luaXQgY2FsY3VsYXRlX2h2bV9tYXhfcG9saWN5KHZvaWQpCiB7CiAgICAgc3RydWN0IGNwdWlk X3BvbGljeSAqcCA9ICZodm1fbWF4X3BvbGljeTsKLSAgICB1aW50MzJfdCBodm1fZmVhdHVyZXNl dFtGU0NBUElOVFNdLCBob3N0X2ZlYXR1cmVzZXRbRlNDQVBJTlRTXTsKKyAgICB1aW50MzJfdCBo dm1fZmVhdHVyZXNldFtGU0NBUElOVFNdOwogICAgIHVuc2lnbmVkIGludCBpOwogICAgIGNvbnN0 IHVpbnQzMl90ICpodm1fZmVhdHVyZW1hc2s7CiAKICAgICBpZiAoICFodm1fZW5hYmxlZCApCiAg ICAgICAgIHJldHVybjsKIAotICAgIGNwdWlkX3BvbGljeV90b19mZWF0dXJlc2V0KCZob3N0X3Bv bGljeSwgaG9zdF9mZWF0dXJlc2V0KTsKKyAgICAqcCA9IGhvc3RfcG9saWN5OworICAgIGNwdWlk X3BvbGljeV90b19mZWF0dXJlc2V0KHAsIGh2bV9mZWF0dXJlc2V0KTsKIAogICAgIGh2bV9mZWF0 dXJlbWFzayA9IGh2bV9mdW5jcy5oYXBfc3VwcG9ydGVkID8KICAgICAgICAgaHZtX2hhcF9mZWF0 dXJlbWFzayA6IGh2bV9zaGFkb3dfZmVhdHVyZW1hc2s7CiAKLSAgICBmb3IgKCBpID0gMDsgaSA8 IEZTQ0FQSU5UUzsgKytpICkKLSAgICAgICAgaHZtX2ZlYXR1cmVzZXRbaV0gPSBob3N0X2ZlYXR1 cmVzZXRbaV0gJiBodm1fZmVhdHVyZW1hc2tbaV07CisgICAgZm9yICggaSA9IDA7IGkgPCBBUlJB WV9TSVpFKGh2bV9mZWF0dXJlc2V0KTsgKytpICkKKyAgICAgICAgaHZtX2ZlYXR1cmVzZXRbaV0g Jj0gaHZtX2ZlYXR1cmVtYXNrW2ldOwogCiAgICAgLyogVW5jb25kaXRpb25hbGx5IGNsYWltIHRv IGJlIGFibGUgdG8gc2V0IHRoZSBoeXBlcnZpc29yIGJpdC4gKi8KICAgICBfX3NldF9iaXQoWDg2 X0ZFQVRVUkVfSFlQRVJWSVNPUiwgaHZtX2ZlYXR1cmVzZXQpOwpkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9jcHVpZC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVpZC5oCmluZGV4 IDk3ODhjYWMuLmM2MjFhNmYgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQu aAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWlkLmgKQEAgLTc4LDEwICs3OCwxMCBAQCBz dHJ1Y3QgY3B1aWRfcG9saWN5CiAgICAgICogR2xvYmFsICpfcG9saWN5IG9iamVjdHM6CiAgICAg ICoKICAgICAgKiAtIEhvc3QgYWNjdXJhdGU6Ci0gICAgICogICAtIG1heF97LHN1Yn1sZWFmCiAg ICAgICogICAtIHt4Y3IwLHhzc31fe2hpZ2gsbG93fQogICAgICAqCiAgICAgICogLSBHdWVzdCBh cHByb3ByaWF0ZToKKyAgICAgKiAgIC0gbWF4X3ssc3VifWxlYWYKICAgICAgKiAgIC0gQWxsIEZF QVRVUkVTRVRfKiB3b3JkcwogICAgICAqCiAgICAgICogUGVyLWRvbWFpbiBvYmplY3RzOgotLSAK Mi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK