From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 14/27] x86/pv: Improve pv_cpuid() using named features Date: Wed, 4 Jan 2017 12:39:31 +0000 Message-ID: <1483533584-8015-15-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 VGhpcyBhdm9pZHMgcmVmZXJpbmcgYmFjayB0byBkb21haW5fY3B1aWQoKSBvciBuYXRpdmUgQ1BV SUQgdG8gb2J0YWluCmluZm9ybWF0aW9uIHdoaWNoIGlzIGRpcmVjdGx5IGF2YWlsYWJsZS4KClNp Z25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0t LQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgotLS0KIHhlbi9hcmNoL3g4Ni90 cmFwcy5jIHwgMjIgKysrKystLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Ry YXBzLmMgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwppbmRleCA4YjM5NWY4Li5mMTllMDE1IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvdHJhcHMuYworKysgYi94ZW4vYXJjaC94ODYvdHJhcHMuYwpA QCAtMTAyNSw2ICsxMDI1LDcgQEAgdm9pZCBwdl9jcHVpZChzdHJ1Y3QgY3B1X3VzZXJfcmVncyAq cmVncykKICAgICB1aW50MzJfdCBsZWFmLCBzdWJsZWFmLCBhLCBiLCBjLCBkOwogICAgIHN0cnVj dCB2Y3B1ICpjdXJyID0gY3VycmVudDsKICAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnIt PmRvbWFpbjsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1aWRfcG9saWN5ICpwID0gY3VycmQtPmFyY2gu Y3B1aWQ7CiAKICAgICBsZWFmID0gYSA9IHJlZ3MtPl9lYXg7CiAgICAgYiA9IHJlZ3MtPl9lYng7 CkBAIC0xMDYxLDcgKzEwNjIsNyBAQCB2b2lkIHB2X2NwdWlkKHN0cnVjdCBjcHVfdXNlcl9yZWdz ICpyZWdzKQogCiAgICAgc3dpdGNoICggbGVhZiApCiAgICAgewotICAgICAgICB1aW50MzJfdCB0 bXAsIF9lY3gsIF9lYng7CisgICAgICAgIHVpbnQzMl90IHRtcDsKIAogICAgIGNhc2UgMHgwMDAw MDAwMToKICAgICAgICAgYyAmPSBwdl9mZWF0dXJlc2V0W0ZFQVRVUkVTRVRfMWNdOwpAQCAtMTI0 NywxNCArMTI0OCw3IEBAIHZvaWQgcHZfY3B1aWQoc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3Mp CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBYU1RBVEVfQ1BVSUQ6Ci0KLSAgICAgICAgaWYg KCAhaXNfY29udHJvbF9kb21haW4oY3VycmQpICYmICFpc19oYXJkd2FyZV9kb21haW4oY3VycmQp ICkKLSAgICAgICAgICAgIGRvbWFpbl9jcHVpZChjdXJyZCwgMSwgMCwgJnRtcCwgJnRtcCwgJl9l Y3gsICZ0bXApOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBfZWN4ID0gY3B1aWRfZWN4KDEp OwotICAgICAgICBfZWN4ICY9IHB2X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF8xY107Ci0KLSAgICAg ICAgaWYgKCAhKF9lY3ggJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfWFNBVkUpKSB8fCBzdWJs ZWFmID49IDYzICkKKyAgICAgICAgaWYgKCAhcC0+YmFzaWMueHNhdmUgfHwgc3VibGVhZiA+PSA2 MyApCiAgICAgICAgICAgICBnb3RvIHVuc3VwcG9ydGVkOwogICAgICAgICBzd2l0Y2ggKCBzdWJs ZWFmICkKICAgICAgICAgewpAQCAtMTI2MywyMCArMTI1NywxNCBAQCB2b2lkIHB2X2NwdWlkKHN0 cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAgICAgICAgICAgdWludDY0X3QgeGZlYXR1cmVf bWFzayA9IFhTVEFURV9GUF9TU0U7CiAgICAgICAgICAgICB1aW50MzJfdCB4c3RhdGVfc2l6ZSA9 IFhTVEFURV9BUkVBX01JTl9TSVpFOwogCi0gICAgICAgICAgICBpZiAoIF9lY3ggJiBjcHVmZWF0 X21hc2soWDg2X0ZFQVRVUkVfQVZYKSApCisgICAgICAgICAgICBpZiAoIHAtPmJhc2ljLmF2eCAp CiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgeGZlYXR1cmVfbWFzayB8PSBYU1RBVEVf WU1NOwogICAgICAgICAgICAgICAgIHhzdGF0ZV9zaXplID0gKHhzdGF0ZV9vZmZzZXRzW19YU1RB VEVfWU1NXSArCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeHN0YXRlX3NpemVzW19Y U1RBVEVfWU1NXSk7CiAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgIGlmICggIWlzX2NvbnRy b2xfZG9tYWluKGN1cnJkKSAmJiAhaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJkKSApCi0gICAgICAg ICAgICAgICAgZG9tYWluX2NwdWlkKGN1cnJkLCA3LCAwLCAmdG1wLCAmX2VieCwgJnRtcCwgJnRt cCk7Ci0gICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgY3B1aWRfY291bnQoNywgMCwg JnRtcCwgJl9lYngsICZ0bXAsICZ0bXApOwotICAgICAgICAgICAgX2VieCAmPSBwdl9mZWF0dXJl c2V0W0ZFQVRVUkVTRVRfN2IwXTsKLQotICAgICAgICAgICAgaWYgKCBfZWJ4ICYgY3B1ZmVhdF9t YXNrKFg4Nl9GRUFUVVJFX0FWWDUxMkYpICkKKyAgICAgICAgICAgIGlmICggcC0+ZmVhdC5hdng1 MTJmICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICB4ZmVhdHVyZV9tYXNrIHw9IFhT VEFURV9PUE1BU0sgfCBYU1RBVEVfWk1NIHwgWFNUQVRFX0hJX1pNTTsKICAgICAgICAgICAgICAg ICB4c3RhdGVfc2l6ZSA9IG1heCh4c3RhdGVfc2l6ZSwKLS0gCjIuMS40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlz dApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVs Cg==