From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: Re: [PATCH v4 26/26] tools/libxc: Calculate xstate cpuid leaf from guest information Date: Thu, 31 Mar 2016 01:48:04 -0600 Message-ID: <56FCF25402000078000E19E3@prv-mh.provo.novell.com> References: <1458750989-28967-1-git-send-email-andrew.cooper3@citrix.com> <1458750989-28967-27-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-27-git-send-email-andrew.cooper3@citrix.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper Cc: Ian Jackson , Wei Liu , Xen-devel List-Id: xen-devel@lists.xenproject.org Pj4+IE9uIDIzLjAzLjE2IGF0IDE3OjM2LCA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv dGU6Cj4gLS0tIGEvdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMKPiArKysgYi90b29scy9saWJ4 Yy94Y19jcHVpZF94ODYuYwo+IEBAIC0zOTgsNTQgKzM5OCw5NyBAQCBzdGF0aWMgdm9pZCBpbnRl bF94Y19jcHVpZF9wb2xpY3koeGNfaW50ZXJmYWNlICp4Y2gsCj4gICAgICB9Cj4gIH0KPiAgCj4g Ky8qIFhTVEFURSBiaXRzIGluIFhDUjAuICovCj4gKyNkZWZpbmUgWDg2X1hDUjBfWDg3ICAgICgx VUxMIDw8ICAwKQo+ICsjZGVmaW5lIFg4Nl9YQ1IwX1NTRSAgICAoMVVMTCA8PCAgMSkKPiArI2Rl ZmluZSBYODZfWENSMF9BVlggICAgKDFVTEwgPDwgIDIpCj4gKyNkZWZpbmUgWDg2X1hDUjBfQk5E UkVHICgxVUxMIDw8ICAzKQo+ICsjZGVmaW5lIFg4Nl9YQ1IwX0JORENTUiAoMVVMTCA8PCAgNCkK PiArI2RlZmluZSBYODZfWENSMF9MV1AgICAgKDFVTEwgPDwgNjIpCgpXaHkgYW4gaW5jb21wbGV0 ZSBzZXQ/IEF0IGxlYXN0IFBLUlUgc2hvdWxkIGJlIG5lZWRlZCByaWdodAphd2F5LiBBbmQgSSBz ZWUgbm8gcmVhc29uIHdoeSB0aGUgdGhyZWUgQVZYLTUxMiBwaWVjZXMgY2FuJ3QKYmUgcHV0IGhl cmUgcmlnaHQgYXdheSB0b28uCgo+ICsjZGVmaW5lIFg4Nl9YU1NfTUFTSyAgICAoMCkgLyogTm8g WFNTIHN0YXRlcyBzdXBwb3J0ZWQgeWV0LiAqLwo+ICsKPiArLyogUGVyLWNvbXBvbmVudCBzdWJs ZWFmIGZsYWdzLiAqLwo+ICsjZGVmaW5lIFhTVEFURV9YU1MgICAgICAoMVVMTCA8PCAgMCkKPiAr I2RlZmluZSBYU1RBVEVfQUxJR042NCAgKDFVTEwgPDwgIDEpCj4gKwo+ICAvKiBDb25maWd1cmUg ZXh0ZW5kZWQgc3RhdGUgZW51bWVyYXRpb24gbGVhdmVzICgweDAwMDAwMDBEIGZvciB4c2F2ZSkg Ki8KPiAgc3RhdGljIHZvaWQgeGNfY3B1aWRfY29uZmlnX3hzYXZlKHhjX2ludGVyZmFjZSAqeGNo LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGNwdWlk X2RvbWFpbl9pbmZvICppbmZvLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgdW5zaWduZWQgaW50ICppbnB1dCwgdW5zaWduZWQgaW50ICpyZWdzKQo+ICB7Cj4gLSAg ICBpZiAoIGluZm8tPnhmZWF0dXJlX21hc2sgPT0gMCApCj4gKyAgICB1aW50NjRfdCBndWVzdF94 ZmVhdHVyZV9tYXNrOwo+ICsKPiArICAgIGlmICggaW5mby0+eGZlYXR1cmVfbWFzayA9PSAwIHx8 Cj4gKyAgICAgICAgICF0ZXN0X2JpdChYODZfRkVBVFVSRV9YU0FWRSwgaW5mby0+ZmVhdHVyZXNl dCkgKQo+ICAgICAgewo+ICAgICAgICAgIHJlZ3NbMF0gPSByZWdzWzFdID0gcmVnc1syXSA9IHJl Z3NbM10gPSAwOwo+ICAgICAgICAgIHJldHVybjsKPiAgICAgIH0KPiAgCj4gKyAgICBndWVzdF94 ZmVhdHVyZV9tYXNrID0gWDg2X1hDUjBfU1NFIHwgWDg2X1hDUjBfWDg3Owo+ICsKPiArICAgIGlm ICggdGVzdF9iaXQoWDg2X0ZFQVRVUkVfQVZYLCBpbmZvLT5mZWF0dXJlc2V0KSApCj4gKyAgICAg ICAgZ3Vlc3RfeGZlYXR1cmVfbWFzayB8PSBYODZfWENSMF9BVlg7Cj4gKwo+ICsgICAgaWYgKCB0 ZXN0X2JpdChYODZfRkVBVFVSRV9NUFgsIGluZm8tPmZlYXR1cmVzZXQpICkKPiArICAgICAgICBn dWVzdF94ZmVhdHVyZV9tYXNrIHw9IFg4Nl9YQ1IwX0JORFJFRyB8IFg4Nl9YQ1IwX0JORENTUjsK PiArCj4gKyAgICBpZiAoIHRlc3RfYml0KFg4Nl9GRUFUVVJFX0xXUCwgaW5mby0+ZmVhdHVyZXNl dCkgKQo+ICsgICAgICAgIGd1ZXN0X3hmZWF0dXJlX21hc2sgfD0gWDg2X1hDUjBfTFdQOwo+ICsK PiArICAgIC8qCj4gKyAgICAgKiBDbGFtcCB0byBob3N0IG1hc2suICBTaG91bGQgYmUgbm8tb3As IGFzIGd1ZXN0X3hmZWF0dXJlX21hc2sgc2hvdWxkIG5vdAo+ICsgICAgICogYmUgYWJsZSB0byBi ZSBjYWxjdWxhdGVkIGFzIGxhcmdlciB0aGFuIGluZm8tPnhmZWF0dXJlX21hc2suCj4gKyAgICAg Kgo+ICsgICAgICogVE9ETyAtIHNlZSBhYm91dCBtYWtpbmcgdGhpcyBhIGhhcmRlciBlcnJvci4K PiArICAgICAqLwo+ICsgICAgZ3Vlc3RfeGZlYXR1cmVfbWFzayAmPSBpbmZvLT54ZmVhdHVyZV9t YXNrOwoKVGhpcyBpcyB1Z2x5LiBGb3Igb25lLCB5b3VyIGRlcGVuZGVuY3kgbWVjaGFuaXNtIHNo b3VsZCBiZSBhYmxlIHRvCmV4cHJlc3MgdGhlIGRlcGVuZGVuY2llcyB5b3UgIm1hbnVhbGx5ImVu Zm9yY2UgYWJvdmUuIEFuZCBiZXlvbmQKdGhhdCBtYXNraW5nIHdpdGggaW5mby0+eGZlYXR1cmVf bWFzayBzaG91bGQgYmUgYWxsIHRoYXQncyBuZWVkZWQsCnRvZ2V0aGVyIHdpdGggZW5mb3JjaW5n IHRoZSBYQ1IwIC8gWFNTIHNwbGl0IC4uLgoKPiAgICAgIHN3aXRjaCAoIGlucHV0WzFdICkKPiAg ICAgIHsKPiAtICAgIGNhc2UgMDogCj4gKyAgICBjYXNlIDA6Cj4gICAgICAgICAgLyogRUFYOiBs b3cgMzJiaXRzIG9mIHhmZWF0dXJlX2VuYWJsZWRfbWFzayAqLwo+IC0gICAgICAgIHJlZ3NbMF0g PSBpbmZvLT54ZmVhdHVyZV9tYXNrICYgMHhGRkZGRkZGRjsKPiArICAgICAgICByZWdzWzBdID0g Z3Vlc3RfeGZlYXR1cmVfbWFzazsKPiAgICAgICAgICAvKiBFRFg6IGhpZ2ggMzJiaXRzIG9mIHhm ZWF0dXJlX2VuYWJsZWRfbWFzayAqLwo+IC0gICAgICAgIHJlZ3NbM10gPSAoaW5mby0+eGZlYXR1 cmVfbWFzayA+PiAzMikgJiAweEZGRkZGRkZGOwo+ICsgICAgICAgIHJlZ3NbM10gPSBndWVzdF94 ZmVhdHVyZV9tYXNrID4+IDMyOwoKLi4uIGhlcmUgYW5kIC4uLgoKPiAgICAgIGNhc2UgMTogLyog bGVhZiAxICovCj4gICAgICAgICAgcmVnc1swXSA9IGluZm8tPmZlYXR1cmVzZXRbZmVhdHVyZXdv cmRfb2YoWDg2X0ZFQVRVUkVfWFNBVkVPUFQpXTsKPiAtICAgICAgICByZWdzWzJdICY9IGluZm8t PnhmZWF0dXJlX21hc2s7Cj4gLSAgICAgICAgcmVnc1szXSA9IDA7Cj4gKyAgICAgICAgcmVnc1sy XSA9IGd1ZXN0X3hmZWF0dXJlX21hc2sgJiBYODZfWFNTX01BU0s7Cj4gKyAgICAgICAgcmVnc1sz XSA9IChndWVzdF94ZmVhdHVyZV9tYXNrID4+IDMyKSAmIFg4Nl9YU1NfTUFTSzsKCi4uLiBoZXJl LiBZZXQgbm90IGJ5IGEgY29tcGlsZSB0aW1lIGRlZmluZWQgbWFzaywgYnV0IGJ5IHVzaW5nCiho b3N0KSBDUFVJRCBvdXRwdXQ6IEl0IGlzIGNsZWFyIHRoYXQgb25jZSBhIGJpdCBnb3QgYXNzaWdu ZWQgdG8gWENSMAp2cyBYU1MsIGl0IHdvbid0IGV2ZXIgY2hhbmdlLiBIZW5jZSBpdCBkb2Vzbid0 IG1hdHRlciB3aGV0aGVyIHlvdQp1c2UgdGhlIGd1ZXN0IG9yIGhvc3QgdmlldyBvZiB0aGF0IHNw bGl0LiBBbmQgdGhpcyB3aWxsIHRoZW4gYWxzbyAtIG90aGVyCnRoYW4geW91J3ZlIHNhaWQgYmVm b3JlIHdvdWxkIGJlIHVuYXZvaWRhYmxlIC0gbWFrZSB1bm5lY2Vzc2FyeSB0bwphbHdheXMgdXBk YXRlIHRoaXMgY29kZSB3aGVuIG5ldyBzdGF0ZXMgZ2V0IGFkZGVkLgoKPiAtICAgIGNhc2UgMiAu Li4gNjM6IC8qIHN1Yi1sZWF2ZXMgKi8KPiAtICAgICAgICBpZiAoICEoaW5mby0+eGZlYXR1cmVf bWFzayAmICgxVUxMIDw8IGlucHV0WzFdKSkgKQo+ICsKPiArICAgIGNhc2UgMiAuLi4gNjI6IC8q IHBlci1jb21wb25lbnQgc3ViLWxlYXZlcyAqLwo+ICsgICAgICAgIGlmICggIShndWVzdF94ZmVh dHVyZV9tYXNrICYgKDFVTEwgPDwgaW5wdXRbMV0pKSApCj4gICAgICAgICAgewo+ICAgICAgICAg ICAgICByZWdzWzBdID0gcmVnc1sxXSA9IHJlZ3NbMl0gPSByZWdzWzNdID0gMDsKPiAgICAgICAg ICAgICAgYnJlYWs7Cj4gICAgICAgICAgfQo+ICAgICAgICAgIC8qIERvbid0IHRvdWNoIEVBWCwg RUJYLiBBbHNvIGNsZWFudXAgRUNYIGFuZCBFRFggKi8KPiAtICAgICAgICByZWdzWzJdID0gcmVn c1szXSA9IDA7Cj4gKyAgICAgICAgcmVnc1syXSAmPSBYU1RBVEVfWFNTIHwgWFNUQVRFX0FMSUdO NjQ7CgpXb3VsZG4ndCB0aGlzIGJldHRlciBhbHNvIHVzZSB0aGUgImtub3duIGZlYXR1cmVzIiBh cHByb2FjaCwgYnkKYWRkaW5nIHlldCBhbm90aGVyIHdvcmQgaW4gY3B1ZmVhdHVyZXNldC5oPwoK QnR3LiwgbG9va2luZyBhdCB0aGF0IGhlYWRlciBhZ2FpbiBJIG5vdyB3b25kZXIgd2hldGhlciBp dAp3b3VsZG4ndCBoYXZlIGJlZW4gbmVhdGVyIHRvIG1ha2UgWEVOX0NQVUZFQVRVUkUoKSBhCjMt cGFyYW1ldGVyIG1hY3JvLCB3aXRoIHdvcmQgYW5kIGJpdCBzcGVjaWZpZWQgc2VwYXJhdGVseQph bmQgYSBkZWZhdWx0IGRlZmluaXRpb24gb2YKCiNkZWZpbmUgWEVOX0NQVUZFQVRVUkUobmFtZSwg d29yZCwgYml0KSBYRU5fWDg2X0ZFQVRVUkVfIyNuYW1lID0gKHdvcmQpICogMzIgKyAoYml0KSwK CmF2b2lkaW5nIHRoZSB1Z2x5IHJlcGVhdGVkICIqMzIiIGluIGFsbCBtYWNybyBpbnZvY2F0aW9u cy4gT2YKY291cnNlIHdlJ2QgbmVlZCB0byBhZGp1c3QgdGhpcyBiZWZvcmUgd2UgcmVsZWFzZSB3 aXRoIHRoaXMgbmV3CmludGVyZmFjZS4KCkphbgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK