From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 26/26] tools/libxc: Calculate xstate cpuid leaf from guest information Date: Wed, 23 Mar 2016 16:36:29 +0000 Message-ID: <1458750989-28967-27-git-send-email-andrew.cooper3@citrix.com> References: <1458750989-28967-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: <1458750989-28967-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 , Wei Liu , Ian Jackson , Jan Beulich List-Id: xen-devel@lists.xenproject.org SXQgaXMgdW5zYWZlIHRvIGdlbmVyYXRlIHRoZSBndWVzdHMgeHN0YXRlIGxlYXZlcyBmcm9tIGhv c3QgaW5mb3JtYXRpb24sIGFzIGl0CnByZXZlbnRzIHRoZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGhv c3RzIGZyb20gYmVpbmcgaGlkZGVuLgoKSW4gYWRkaXRpb24sIHNvbWUgZnVydGhlciBpbXByb3Zl bWVudHMgYW5kIGNvcnJlY3Rpb25zOgogLSBkb24ndCBkaXNjYXJkIHRoZSBrbm93biBmbGFncyBp biBzdWItbGVhdmVzIDIuLjYzIEVDWAogLSB6YXAgc3ViLWxlYXZlcyBiZXlvbmQgNjIKIC0gemFw IGFsbCBiaXRzIGluIGxlYWYgMSwgRUJYL0VDWC4gIE5vIFhTUyBmZWF0dXJlcyBhcmUgY3VycmVu dGx5IHN1cHBvcnRlZC4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29w ZXIzQGNpdHJpeC5jb20+ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KLS0tCkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgpDQzogSWFuIEphY2tz b24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+Cgp2MzoKICogUmVpbnRyb2R1Y2UgTVBYIGFk anVzdG1lbnQgKHRoaXMgc2VyaWVzIGhhcyBiZWVuIGluIGRldmVsb3BtZW50IHNpbmNlCiAgIGJl Zm9yZSB0aGUgaW50cm9kdWN0aW9uIG9mIE1QWCB1cHN0cmVhbSwgYW5kIGl0IGdvdCBsb3N0IGlu IGEgcmViYXNlKQp2NDoKICogRm9sZCBmdXJ0aGVyIGltcHJvdmVtZW50cyBmcm9tIEphbgotLS0K IHRvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5jIHwgNzEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyks IDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhjL3hjX2NwdWlkX3g4Ni5j IGIvdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMKaW5kZXggZmM3ZTIwYS4uY2YxZjZiNyAxMDA2 NDQKLS0tIGEvdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMKKysrIGIvdG9vbHMvbGlieGMveGNf Y3B1aWRfeDg2LmMKQEAgLTM5OCw1NCArMzk4LDk3IEBAIHN0YXRpYyB2b2lkIGludGVsX3hjX2Nw dWlkX3BvbGljeSh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICB9CiB9CiAKKy8qIFhTVEFURSBiaXRz IGluIFhDUjAuICovCisjZGVmaW5lIFg4Nl9YQ1IwX1g4NyAgICAoMVVMTCA8PCAgMCkKKyNkZWZp bmUgWDg2X1hDUjBfU1NFICAgICgxVUxMIDw8ICAxKQorI2RlZmluZSBYODZfWENSMF9BVlggICAg KDFVTEwgPDwgIDIpCisjZGVmaW5lIFg4Nl9YQ1IwX0JORFJFRyAoMVVMTCA8PCAgMykKKyNkZWZp bmUgWDg2X1hDUjBfQk5EQ1NSICgxVUxMIDw8ICA0KQorI2RlZmluZSBYODZfWENSMF9MV1AgICAg KDFVTEwgPDwgNjIpCisKKyNkZWZpbmUgWDg2X1hTU19NQVNLICAgICgwKSAvKiBObyBYU1Mgc3Rh dGVzIHN1cHBvcnRlZCB5ZXQuICovCisKKy8qIFBlci1jb21wb25lbnQgc3VibGVhZiBmbGFncy4g Ki8KKyNkZWZpbmUgWFNUQVRFX1hTUyAgICAgICgxVUxMIDw8ICAwKQorI2RlZmluZSBYU1RBVEVf QUxJR042NCAgKDFVTEwgPDwgIDEpCisKIC8qIENvbmZpZ3VyZSBleHRlbmRlZCBzdGF0ZSBlbnVt ZXJhdGlvbiBsZWF2ZXMgKDB4MDAwMDAwMEQgZm9yIHhzYXZlKSAqLwogc3RhdGljIHZvaWQgeGNf Y3B1aWRfY29uZmlnX3hzYXZlKHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBjcHVpZF9kb21haW5faW5mbyAqaW5mbywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgKmlucHV0 LCB1bnNpZ25lZCBpbnQgKnJlZ3MpCiB7Ci0gICAgaWYgKCBpbmZvLT54ZmVhdHVyZV9tYXNrID09 IDAgKQorICAgIHVpbnQ2NF90IGd1ZXN0X3hmZWF0dXJlX21hc2s7CisKKyAgICBpZiAoIGluZm8t PnhmZWF0dXJlX21hc2sgPT0gMCB8fAorICAgICAgICAgIXRlc3RfYml0KFg4Nl9GRUFUVVJFX1hT QVZFLCBpbmZvLT5mZWF0dXJlc2V0KSApCiAgICAgewogICAgICAgICByZWdzWzBdID0gcmVnc1sx XSA9IHJlZ3NbMl0gPSByZWdzWzNdID0gMDsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorICAg IGd1ZXN0X3hmZWF0dXJlX21hc2sgPSBYODZfWENSMF9TU0UgfCBYODZfWENSMF9YODc7CisKKyAg ICBpZiAoIHRlc3RfYml0KFg4Nl9GRUFUVVJFX0FWWCwgaW5mby0+ZmVhdHVyZXNldCkgKQorICAg ICAgICBndWVzdF94ZmVhdHVyZV9tYXNrIHw9IFg4Nl9YQ1IwX0FWWDsKKworICAgIGlmICggdGVz dF9iaXQoWDg2X0ZFQVRVUkVfTVBYLCBpbmZvLT5mZWF0dXJlc2V0KSApCisgICAgICAgIGd1ZXN0 X3hmZWF0dXJlX21hc2sgfD0gWDg2X1hDUjBfQk5EUkVHIHwgWDg2X1hDUjBfQk5EQ1NSOworCisg ICAgaWYgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9MV1AsIGluZm8tPmZlYXR1cmVzZXQpICkKKyAg ICAgICAgZ3Vlc3RfeGZlYXR1cmVfbWFzayB8PSBYODZfWENSMF9MV1A7CisKKyAgICAvKgorICAg ICAqIENsYW1wIHRvIGhvc3QgbWFzay4gIFNob3VsZCBiZSBuby1vcCwgYXMgZ3Vlc3RfeGZlYXR1 cmVfbWFzayBzaG91bGQgbm90CisgICAgICogYmUgYWJsZSB0byBiZSBjYWxjdWxhdGVkIGFzIGxh cmdlciB0aGFuIGluZm8tPnhmZWF0dXJlX21hc2suCisgICAgICoKKyAgICAgKiBUT0RPIC0gc2Vl IGFib3V0IG1ha2luZyB0aGlzIGEgaGFyZGVyIGVycm9yLgorICAgICAqLworICAgIGd1ZXN0X3hm ZWF0dXJlX21hc2sgJj0gaW5mby0+eGZlYXR1cmVfbWFzazsKKwogICAgIHN3aXRjaCAoIGlucHV0 WzFdICkKICAgICB7Ci0gICAgY2FzZSAwOiAKKyAgICBjYXNlIDA6CiAgICAgICAgIC8qIEVBWDog bG93IDMyYml0cyBvZiB4ZmVhdHVyZV9lbmFibGVkX21hc2sgKi8KLSAgICAgICAgcmVnc1swXSA9 IGluZm8tPnhmZWF0dXJlX21hc2sgJiAweEZGRkZGRkZGOworICAgICAgICByZWdzWzBdID0gZ3Vl c3RfeGZlYXR1cmVfbWFzazsKICAgICAgICAgLyogRURYOiBoaWdoIDMyYml0cyBvZiB4ZmVhdHVy ZV9lbmFibGVkX21hc2sgKi8KLSAgICAgICAgcmVnc1szXSA9IChpbmZvLT54ZmVhdHVyZV9tYXNr ID4+IDMyKSAmIDB4RkZGRkZGRkY7CisgICAgICAgIHJlZ3NbM10gPSBndWVzdF94ZmVhdHVyZV9t YXNrID4+IDMyOwogICAgICAgICAvKiBFQ1g6IG1heCBzaXplIHJlcXVpcmVkIGJ5IGFsbCBIVyBm ZWF0dXJlcyAqLwogICAgICAgICB7CiAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgX2lucHV0WzJd ID0gezB4ZCwgMHgwfSwgX3JlZ3NbNF07CiAgICAgICAgICAgICByZWdzWzJdID0gMDsKLSAgICAg ICAgICAgIGZvciAoIF9pbnB1dFsxXSA9IDI7IF9pbnB1dFsxXSA8IDY0OyBfaW5wdXRbMV0rKyAp CisgICAgICAgICAgICBmb3IgKCBfaW5wdXRbMV0gPSAyOyBfaW5wdXRbMV0gPD0gNjI7IF9pbnB1 dFsxXSsrICkKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjcHVpZChfaW5wdXQsIF9y ZWdzKTsKICAgICAgICAgICAgICAgICBpZiAoIChfcmVnc1swXSArIF9yZWdzWzFdKSA+IHJlZ3Nb Ml0gKQogICAgICAgICAgICAgICAgICAgICByZWdzWzJdID0gX3JlZ3NbMF0gKyBfcmVnc1sxXTsK ICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICAvKiBFQlg6IG1heCBzaXplIHJlcXVp cmVkIGJ5IGVuYWJsZWQgZmVhdHVyZXMuIAotICAgICAgICAgKiBUaGlzIHJlZ2lzdGVyIGNvbnRh aW5zIGEgZHluYW1pYyB2YWx1ZSwgd2hpY2ggdmFyaWVzIHdoZW4gYSBndWVzdCAKLSAgICAgICAg ICogZW5hYmxlcyBvciBkaXNhYmxlcyBYU1RBVEUgZmVhdHVyZXMgKHZpYSB4c2V0YnYpLiBUaGUg ZGVmYXVsdCBzaXplIAotICAgICAgICAgKiBhZnRlciByZXNldCBpcyA1NzYuICovIAorICAgICAg ICAvKiBFQlg6IG1heCBzaXplIHJlcXVpcmVkIGJ5IGVuYWJsZWQgZmVhdHVyZXMuCisgICAgICAg ICAqIFRoaXMgcmVnaXN0ZXIgY29udGFpbnMgYSBkeW5hbWljIHZhbHVlLCB3aGljaCB2YXJpZXMg d2hlbiBhIGd1ZXN0CisgICAgICAgICAqIGVuYWJsZXMgb3IgZGlzYWJsZXMgWFNUQVRFIGZlYXR1 cmVzICh2aWEgeHNldGJ2KS4gVGhlIGRlZmF1bHQgc2l6ZQorICAgICAgICAgKiBhZnRlciByZXNl dCBpcyA1NzYuICovCiAgICAgICAgIHJlZ3NbMV0gPSA1MTIgKyA2NDsgLyogRlAvU1NFICsgWFNB VkUuSEVBREVSICovCiAgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSAxOiAvKiBsZWFmIDEgKi8K ICAgICAgICAgcmVnc1swXSA9IGluZm8tPmZlYXR1cmVzZXRbZmVhdHVyZXdvcmRfb2YoWDg2X0ZF QVRVUkVfWFNBVkVPUFQpXTsKLSAgICAgICAgcmVnc1syXSAmPSBpbmZvLT54ZmVhdHVyZV9tYXNr OwotICAgICAgICByZWdzWzNdID0gMDsKKyAgICAgICAgcmVnc1syXSA9IGd1ZXN0X3hmZWF0dXJl X21hc2sgJiBYODZfWFNTX01BU0s7CisgICAgICAgIHJlZ3NbM10gPSAoZ3Vlc3RfeGZlYXR1cmVf bWFzayA+PiAzMikgJiBYODZfWFNTX01BU0s7CiAgICAgICAgIGJyZWFrOwotICAgIGNhc2UgMiAu Li4gNjM6IC8qIHN1Yi1sZWF2ZXMgKi8KLSAgICAgICAgaWYgKCAhKGluZm8tPnhmZWF0dXJlX21h c2sgJiAoMVVMTCA8PCBpbnB1dFsxXSkpICkKKworICAgIGNhc2UgMiAuLi4gNjI6IC8qIHBlci1j b21wb25lbnQgc3ViLWxlYXZlcyAqLworICAgICAgICBpZiAoICEoZ3Vlc3RfeGZlYXR1cmVfbWFz ayAmICgxVUxMIDw8IGlucHV0WzFdKSkgKQogICAgICAgICB7CiAgICAgICAgICAgICByZWdzWzBd ID0gcmVnc1sxXSA9IHJlZ3NbMl0gPSByZWdzWzNdID0gMDsKICAgICAgICAgICAgIGJyZWFrOwog ICAgICAgICB9CiAgICAgICAgIC8qIERvbid0IHRvdWNoIEVBWCwgRUJYLiBBbHNvIGNsZWFudXAg RUNYIGFuZCBFRFggKi8KLSAgICAgICAgcmVnc1syXSA9IHJlZ3NbM10gPSAwOworICAgICAgICBy ZWdzWzJdICY9IFhTVEFURV9YU1MgfCBYU1RBVEVfQUxJR042NDsKKyAgICAgICAgcmVnc1szXSA9 IDA7CisgICAgICAgIGJyZWFrOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmVnc1swXSA9IHJl Z3NbMV0gPSByZWdzWzJdID0gcmVnc1szXSA9IDA7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIH0K LS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwOi8v bGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK