From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 22/26] tools/libxc: Expose the automatically generated cpu featuremask information Date: Wed, 23 Mar 2016 16:36:25 +0000 Message-ID: <1458750989-28967-23-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 , Ian Jackson List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K QWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQpDQzogSWFuIEphY2tz b24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CgpOZXcgaW4gdjIKLS0tCiB0b29scy9saWJ4 Yy9NYWtlZmlsZSAgICAgICAgICB8ICA5ICsrKysrKwogdG9vbHMvbGlieGMvaW5jbHVkZS94ZW5j dHJsLmggfCAxNCArKysrKysrKwogdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMgICAgfCA3NSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDk4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9NYWtlZmlsZSBi L3Rvb2xzL2xpYnhjL01ha2VmaWxlCmluZGV4IDYwODQwNGYuLmVmMDJjOWQgMTAwNjQ0Ci0tLSBh L3Rvb2xzL2xpYnhjL01ha2VmaWxlCisrKyBiL3Rvb2xzL2xpYnhjL01ha2VmaWxlCkBAIC0xNDUs NiArMTQ1LDE1IEBAICQoZXZhbCAkKGdlbnBhdGgtdGFyZ2V0KSkKIAogeGNfcHJpdmF0ZS5oOiBf cGF0aHMuaAogCitpZmVxICgkKENPTkZJR19YODYpLHkpCisKK194Y19jcHVpZF9hdXRvZ2VuLmg6 ICQoWEVOX1JPT1QpL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0Lmgg JChYRU5fUk9PVCkveGVuL3Rvb2xzL2dlbi1jcHVpZC5weQorCSQoUFlUSE9OKSAkKFhFTl9ST09U KS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5IC1pICReIC1vICRALm5ldworCSQoY2FsbCBtb3ZlLWlm LWNoYW5nZWQsJEAubmV3LCRAKQorCitidWlsZDogX3hjX2NwdWlkX2F1dG9nZW4uaAorZW5kaWYK KwogJChDVFJMX0xJQl9PQkpTKSAkKEdVRVNUX0xJQl9PQkpTKSBcCiAkKENUUkxfUElDX09CSlMp ICQoR1VFU1RfUElDX09CSlMpOiB4Y19wcml2YXRlLmgKIApkaWZmIC0tZ2l0IGEvdG9vbHMvbGli eGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaAppbmRl eCBjMTM2YWE4Li42NmFjYmQxIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0 cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaApAQCAtMjUzMyw2ICsyNTMz LDIwIEBAIGludCB4Y19wc3JfY2F0X2dldF9sM19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLCB1aW50 MzJfdCBzb2NrZXQsCiBpbnQgeGNfZ2V0X2NwdV9sZXZlbGxpbmdfY2Fwcyh4Y19pbnRlcmZhY2Ug KnhjaCwgdWludDMyX3QgKmNhcHMpOwogaW50IHhjX2dldF9jcHVfZmVhdHVyZXNldCh4Y19pbnRl cmZhY2UgKnhjaCwgdWludDMyX3QgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHVp bnQzMl90ICpucl9mZWF0dXJlcywgdWludDMyX3QgKmZlYXR1cmVzZXQpOworCit1aW50MzJfdCB4 Y19nZXRfY3B1X2ZlYXR1cmVzZXRfc2l6ZSh2b2lkKTsKKworZW51bSB4Y19zdGF0aWNfY3B1X2Zl YXR1cmVtYXNrIHsKKyAgICBYQ19GRUFUVVJFTUFTS19LTk9XTiwKKyAgICBYQ19GRUFUVVJFTUFT S19TUEVDSUFMLAorICAgIFhDX0ZFQVRVUkVNQVNLX1BWLAorICAgIFhDX0ZFQVRVUkVNQVNLX0hW TV9TSEFET1csCisgICAgWENfRkVBVFVSRU1BU0tfSFZNX0hBUCwKKyAgICBYQ19GRUFUVVJFTUFT S19ERUVQX0ZFQVRVUkVTLAorfTsKK2NvbnN0IHVpbnQzMl90ICp4Y19nZXRfc3RhdGljX2NwdV9m ZWF0dXJlbWFzayhlbnVtIHhjX3N0YXRpY19jcHVfZmVhdHVyZW1hc2spOworY29uc3QgdWludDMy X3QgKnhjX2dldF9mZWF0dXJlX2RlZXBfZGVwcyh1aW50MzJfdCBmZWF0dXJlKTsKKwogI2VuZGlm CiAKIC8qIENvbXBhdCBzaGltcyAqLwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3B1aWRf eDg2LmMgYi90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYwppbmRleCBkMzY3NGRiLi4wY2ZmYjM2 IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYworKysgYi90b29scy9saWJ4 Yy94Y19jcHVpZF94ODYuYwpAQCAtMjgsNiArMjgsNyBAQCBlbnVtIHsKICNkZWZpbmUgWEVOX0NQ VUZFQVRVUkUobmFtZSwgdmFsdWUpIFg4Nl9GRUFUVVJFXyMjbmFtZSA9IHZhbHVlLAogI2luY2x1 ZGUgPHhlbi9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0Lmg+CiB9OworI2luY2x1ZGUgIl94Y19jcHVp ZF9hdXRvZ2VuLmgiCiAKICNkZWZpbmUgYml0bWFza29mKGlkeCkgICAgICAoMXUgPDwgKChpZHgp ICYgMzEpKQogI2RlZmluZSBjbGVhcl9iaXQoaWR4LCBkc3QpICgoZHN0KSAmPSB+Yml0bWFza29m KGlkeCkpCkBAIC03OCw2ICs3OSw4MCBAQCBpbnQgeGNfZ2V0X2NwdV9mZWF0dXJlc2V0KHhjX2lu dGVyZmFjZSAqeGNoLCB1aW50MzJfdCBpbmRleCwKICAgICByZXR1cm4gcmV0OwogfQogCit1aW50 MzJfdCB4Y19nZXRfY3B1X2ZlYXR1cmVzZXRfc2l6ZSh2b2lkKQoreworICAgIHJldHVybiBGRUFU VVJFU0VUX05SX0VOVFJJRVM7Cit9CisKK2NvbnN0IHVpbnQzMl90ICp4Y19nZXRfc3RhdGljX2Nw dV9mZWF0dXJlbWFzaygKKyAgICBlbnVtIHhjX3N0YXRpY19jcHVfZmVhdHVyZW1hc2sgbWFzaykK K3sKKyAgICBjb25zdCBzdGF0aWMgdWludDMyX3Qga25vd25bRkVBVFVSRVNFVF9OUl9FTlRSSUVT XSA9IElOSVRfS05PV05fRkVBVFVSRVMsCisgICAgICAgIHNwZWNpYWxbRkVBVFVSRVNFVF9OUl9F TlRSSUVTXSA9IElOSVRfU1BFQ0lBTF9GRUFUVVJFUywKKyAgICAgICAgcHZbRkVBVFVSRVNFVF9O Ul9FTlRSSUVTXSA9IElOSVRfUFZfRkVBVFVSRVMsCisgICAgICAgIGh2bV9zaGFkb3dbRkVBVFVS RVNFVF9OUl9FTlRSSUVTXSA9IElOSVRfSFZNX1NIQURPV19GRUFUVVJFUywKKyAgICAgICAgaHZt X2hhcFtGRUFUVVJFU0VUX05SX0VOVFJJRVNdID0gSU5JVF9IVk1fSEFQX0ZFQVRVUkVTLAorICAg ICAgICBkZWVwX2ZlYXR1cmVzW0ZFQVRVUkVTRVRfTlJfRU5UUklFU10gPSBJTklUX0RFRVBfRkVB VFVSRVM7CisKKyAgICBYQ19CVUlMRF9CVUdfT04oQVJSQVlfU0laRShrbm93bikgIT0gRkVBVFVS RVNFVF9OUl9FTlRSSUVTKTsKKyAgICBYQ19CVUlMRF9CVUdfT04oQVJSQVlfU0laRShzcGVjaWFs KSAhPSBGRUFUVVJFU0VUX05SX0VOVFJJRVMpOworICAgIFhDX0JVSUxEX0JVR19PTihBUlJBWV9T SVpFKHB2KSAhPSBGRUFUVVJFU0VUX05SX0VOVFJJRVMpOworICAgIFhDX0JVSUxEX0JVR19PTihB UlJBWV9TSVpFKGh2bV9zaGFkb3cpICE9IEZFQVRVUkVTRVRfTlJfRU5UUklFUyk7CisgICAgWENf QlVJTERfQlVHX09OKEFSUkFZX1NJWkUoaHZtX2hhcCkgIT0gRkVBVFVSRVNFVF9OUl9FTlRSSUVT KTsKKyAgICBYQ19CVUlMRF9CVUdfT04oQVJSQVlfU0laRShkZWVwX2ZlYXR1cmVzKSAhPSBGRUFU VVJFU0VUX05SX0VOVFJJRVMpOworCisgICAgc3dpdGNoICggbWFzayApCisgICAgeworICAgIGNh c2UgWENfRkVBVFVSRU1BU0tfS05PV046CisgICAgICAgIHJldHVybiBrbm93bjsKKworICAgIGNh c2UgWENfRkVBVFVSRU1BU0tfU1BFQ0lBTDoKKyAgICAgICAgcmV0dXJuIHNwZWNpYWw7CisKKyAg ICBjYXNlIFhDX0ZFQVRVUkVNQVNLX1BWOgorICAgICAgICByZXR1cm4gcHY7CisKKyAgICBjYXNl IFhDX0ZFQVRVUkVNQVNLX0hWTV9TSEFET1c6CisgICAgICAgIHJldHVybiBodm1fc2hhZG93Owor CisgICAgY2FzZSBYQ19GRUFUVVJFTUFTS19IVk1fSEFQOgorICAgICAgICByZXR1cm4gaHZtX2hh cDsKKworICAgIGNhc2UgWENfRkVBVFVSRU1BU0tfREVFUF9GRUFUVVJFUzoKKyAgICAgICAgcmV0 dXJuIGRlZXBfZmVhdHVyZXM7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gTlVMTDsK KyAgICB9Cit9CisKK2NvbnN0IHVpbnQzMl90ICp4Y19nZXRfZmVhdHVyZV9kZWVwX2RlcHModWlu dDMyX3QgZmVhdHVyZSkKK3sKKyAgICBzdGF0aWMgY29uc3Qgc3RydWN0IHsKKyAgICAgICAgdWlu dDMyX3QgZmVhdHVyZTsKKyAgICAgICAgdWludDMyX3QgZnNbRkVBVFVSRVNFVF9OUl9FTlRSSUVT XTsKKyAgICB9IGRlZXBfZGVwc1tdID0gSU5JVF9ERUVQX0RFUFM7CisKKyAgICB1bnNpZ25lZCBp bnQgc3RhcnQgPSAwLCBlbmQgPSBBUlJBWV9TSVpFKGRlZXBfZGVwcyk7CisKKyAgICBYQ19CVUlM RF9CVUdfT04oQVJSQVlfU0laRShkZWVwX2RlcHMpICE9IE5SX0RFRVBfREVQUyk7CisKKyAgICAv KiBkZWVwX2RlcHNbXSBpcyBzb3J0ZWQuICBQZXJmb3JtIGEgYmluYXJ5IHNlYXJjaC4gKi8KKyAg ICB3aGlsZSAoIHN0YXJ0IDwgZW5kICkKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBtaWQg PSBzdGFydCArICgoZW5kIC0gc3RhcnQpIC8gMik7CisKKyAgICAgICAgaWYgKCBkZWVwX2RlcHNb bWlkXS5mZWF0dXJlID4gZmVhdHVyZSApCisgICAgICAgICAgICBlbmQgPSBtaWQ7CisgICAgICAg IGVsc2UgaWYgKCBkZWVwX2RlcHNbbWlkXS5mZWF0dXJlIDwgZmVhdHVyZSApCisgICAgICAgICAg ICBzdGFydCA9IG1pZCArIDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBkZWVw X2RlcHNbbWlkXS5mczsKKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30KKwogc3RydWN0IGNw dWlkX2RvbWFpbl9pbmZvCiB7CiAgICAgZW51bQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=