From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6 17/21] tools/libxc: Expose the automatically generated cpu featuremask information Date: Fri, 8 Apr 2016 21:31:53 +0100 Message-ID: <1460147517-11706-18-git-send-email-andrew.cooper3@citrix.com> References: <1460147517-11706-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: <1460147517-11706-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+ClJldmlld2VkLWJ5OiBLb25y YWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Ci0tLQpDQzogSWFuIEph Y2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5jb20+CgpOZXcgaW4gdjIKLS0tCiB0b29scy9s aWJ4Yy9NYWtlZmlsZSAgICAgICAgICB8ICA5ICsrKysrKwogdG9vbHMvbGlieGMvaW5jbHVkZS94 ZW5jdHJsLmggfCAxNCArKysrKysrKwogdG9vbHMvbGlieGMveGNfY3B1aWRfeDg2LmMgICAgfCA3 NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNo YW5nZWQsIDk4IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy9NYWtlZmls ZSBiL3Rvb2xzL2xpYnhjL01ha2VmaWxlCmluZGV4IDYwODQwNGYuLmVmMDJjOWQgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhjL01ha2VmaWxlCisrKyBiL3Rvb2xzL2xpYnhjL01ha2VmaWxlCkBAIC0x NDUsNiArMTQ1LDE1IEBAICQoZXZhbCAkKGdlbnBhdGgtdGFyZ2V0KSkKIAogeGNfcHJpdmF0ZS5o OiBfcGF0aHMuaAogCitpZmVxICgkKENPTkZJR19YODYpLHkpCisKK194Y19jcHVpZF9hdXRvZ2Vu Lmg6ICQoWEVOX1JPT1QpL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0 LmggJChYRU5fUk9PVCkveGVuL3Rvb2xzL2dlbi1jcHVpZC5weQorCSQoUFlUSE9OKSAkKFhFTl9S T09UKS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5IC1pICReIC1vICRALm5ldworCSQoY2FsbCBtb3Zl LWlmLWNoYW5nZWQsJEAubmV3LCRAKQorCitidWlsZDogX3hjX2NwdWlkX2F1dG9nZW4uaAorZW5k aWYKKwogJChDVFJMX0xJQl9PQkpTKSAkKEdVRVNUX0xJQl9PQkpTKSBcCiAkKENUUkxfUElDX09C SlMpICQoR1VFU1RfUElDX09CSlMpOiB4Y19wcml2YXRlLmgKIApkaWZmIC0tZ2l0IGEvdG9vbHMv bGlieGMvaW5jbHVkZS94ZW5jdHJsLmggYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaApp bmRleCAxYzg2NWEzLi4zNzE1ZjUxIDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy9pbmNsdWRlL3hl bmN0cmwuaAorKysgYi90b29scy9saWJ4Yy9pbmNsdWRlL3hlbmN0cmwuaApAQCAtMjYyMiw2ICsy NjIyLDIwIEBAIGludCB4Y19wc3JfY2F0X2dldF9sM19pbmZvKHhjX2ludGVyZmFjZSAqeGNoLCB1 aW50MzJfdCBzb2NrZXQsCiBpbnQgeGNfZ2V0X2NwdV9sZXZlbGxpbmdfY2Fwcyh4Y19pbnRlcmZh Y2UgKnhjaCwgdWludDMyX3QgKmNhcHMpOwogaW50IHhjX2dldF9jcHVfZmVhdHVyZXNldCh4Y19p bnRlcmZhY2UgKnhjaCwgdWludDMyX3QgaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAgICAg IHVpbnQzMl90ICpucl9mZWF0dXJlcywgdWludDMyX3QgKmZlYXR1cmVzZXQpOworCit1aW50MzJf dCB4Y19nZXRfY3B1X2ZlYXR1cmVzZXRfc2l6ZSh2b2lkKTsKKworZW51bSB4Y19zdGF0aWNfY3B1 X2ZlYXR1cmVtYXNrIHsKKyAgICBYQ19GRUFUVVJFTUFTS19LTk9XTiwKKyAgICBYQ19GRUFUVVJF TUFTS19TUEVDSUFMLAorICAgIFhDX0ZFQVRVUkVNQVNLX1BWLAorICAgIFhDX0ZFQVRVUkVNQVNL X0hWTV9TSEFET1csCisgICAgWENfRkVBVFVSRU1BU0tfSFZNX0hBUCwKKyAgICBYQ19GRUFUVVJF TUFTS19ERUVQX0ZFQVRVUkVTLAorfTsKK2NvbnN0IHVpbnQzMl90ICp4Y19nZXRfc3RhdGljX2Nw dV9mZWF0dXJlbWFzayhlbnVtIHhjX3N0YXRpY19jcHVfZmVhdHVyZW1hc2spOworY29uc3QgdWlu dDMyX3QgKnhjX2dldF9mZWF0dXJlX2RlZXBfZGVwcyh1aW50MzJfdCBmZWF0dXJlKTsKKwogI2Vu ZGlmCiAKIC8qIENvbXBhdCBzaGltcyAqLwpkaWZmIC0tZ2l0IGEvdG9vbHMvbGlieGMveGNfY3B1 aWRfeDg2LmMgYi90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYwppbmRleCBkMzY3NGRiLi4wY2Zm YjM2IDEwMDY0NAotLS0gYS90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYworKysgYi90b29scy9s aWJ4Yy94Y19jcHVpZF94ODYuYwpAQCAtMjgsNiArMjgsNyBAQCBlbnVtIHsKICNkZWZpbmUgWEVO X0NQVUZFQVRVUkUobmFtZSwgdmFsdWUpIFg4Nl9GRUFUVVJFXyMjbmFtZSA9IHZhbHVlLAogI2lu Y2x1ZGUgPHhlbi9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0Lmg+CiB9OworI2luY2x1ZGUgIl94Y19j cHVpZF9hdXRvZ2VuLmgiCiAKICNkZWZpbmUgYml0bWFza29mKGlkeCkgICAgICAoMXUgPDwgKChp ZHgpICYgMzEpKQogI2RlZmluZSBjbGVhcl9iaXQoaWR4LCBkc3QpICgoZHN0KSAmPSB+Yml0bWFz a29mKGlkeCkpCkBAIC03OCw2ICs3OSw4MCBAQCBpbnQgeGNfZ2V0X2NwdV9mZWF0dXJlc2V0KHhj X2ludGVyZmFjZSAqeGNoLCB1aW50MzJfdCBpbmRleCwKICAgICByZXR1cm4gcmV0OwogfQogCit1 aW50MzJfdCB4Y19nZXRfY3B1X2ZlYXR1cmVzZXRfc2l6ZSh2b2lkKQoreworICAgIHJldHVybiBG RUFUVVJFU0VUX05SX0VOVFJJRVM7Cit9CisKK2NvbnN0IHVpbnQzMl90ICp4Y19nZXRfc3RhdGlj X2NwdV9mZWF0dXJlbWFzaygKKyAgICBlbnVtIHhjX3N0YXRpY19jcHVfZmVhdHVyZW1hc2sgbWFz aykKK3sKKyAgICBjb25zdCBzdGF0aWMgdWludDMyX3Qga25vd25bRkVBVFVSRVNFVF9OUl9FTlRS SUVTXSA9IElOSVRfS05PV05fRkVBVFVSRVMsCisgICAgICAgIHNwZWNpYWxbRkVBVFVSRVNFVF9O Ul9FTlRSSUVTXSA9IElOSVRfU1BFQ0lBTF9GRUFUVVJFUywKKyAgICAgICAgcHZbRkVBVFVSRVNF VF9OUl9FTlRSSUVTXSA9IElOSVRfUFZfRkVBVFVSRVMsCisgICAgICAgIGh2bV9zaGFkb3dbRkVB VFVSRVNFVF9OUl9FTlRSSUVTXSA9IElOSVRfSFZNX1NIQURPV19GRUFUVVJFUywKKyAgICAgICAg aHZtX2hhcFtGRUFUVVJFU0VUX05SX0VOVFJJRVNdID0gSU5JVF9IVk1fSEFQX0ZFQVRVUkVTLAor ICAgICAgICBkZWVwX2ZlYXR1cmVzW0ZFQVRVUkVTRVRfTlJfRU5UUklFU10gPSBJTklUX0RFRVBf RkVBVFVSRVM7CisKKyAgICBYQ19CVUlMRF9CVUdfT04oQVJSQVlfU0laRShrbm93bikgIT0gRkVB VFVSRVNFVF9OUl9FTlRSSUVTKTsKKyAgICBYQ19CVUlMRF9CVUdfT04oQVJSQVlfU0laRShzcGVj aWFsKSAhPSBGRUFUVVJFU0VUX05SX0VOVFJJRVMpOworICAgIFhDX0JVSUxEX0JVR19PTihBUlJB WV9TSVpFKHB2KSAhPSBGRUFUVVJFU0VUX05SX0VOVFJJRVMpOworICAgIFhDX0JVSUxEX0JVR19P TihBUlJBWV9TSVpFKGh2bV9zaGFkb3cpICE9IEZFQVRVUkVTRVRfTlJfRU5UUklFUyk7CisgICAg WENfQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoaHZtX2hhcCkgIT0gRkVBVFVSRVNFVF9OUl9FTlRS SUVTKTsKKyAgICBYQ19CVUlMRF9CVUdfT04oQVJSQVlfU0laRShkZWVwX2ZlYXR1cmVzKSAhPSBG RUFUVVJFU0VUX05SX0VOVFJJRVMpOworCisgICAgc3dpdGNoICggbWFzayApCisgICAgeworICAg IGNhc2UgWENfRkVBVFVSRU1BU0tfS05PV046CisgICAgICAgIHJldHVybiBrbm93bjsKKworICAg IGNhc2UgWENfRkVBVFVSRU1BU0tfU1BFQ0lBTDoKKyAgICAgICAgcmV0dXJuIHNwZWNpYWw7CisK KyAgICBjYXNlIFhDX0ZFQVRVUkVNQVNLX1BWOgorICAgICAgICByZXR1cm4gcHY7CisKKyAgICBj YXNlIFhDX0ZFQVRVUkVNQVNLX0hWTV9TSEFET1c6CisgICAgICAgIHJldHVybiBodm1fc2hhZG93 OworCisgICAgY2FzZSBYQ19GRUFUVVJFTUFTS19IVk1fSEFQOgorICAgICAgICByZXR1cm4gaHZt X2hhcDsKKworICAgIGNhc2UgWENfRkVBVFVSRU1BU0tfREVFUF9GRUFUVVJFUzoKKyAgICAgICAg cmV0dXJuIGRlZXBfZmVhdHVyZXM7CisKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gTlVM TDsKKyAgICB9Cit9CisKK2NvbnN0IHVpbnQzMl90ICp4Y19nZXRfZmVhdHVyZV9kZWVwX2RlcHMo dWludDMyX3QgZmVhdHVyZSkKK3sKKyAgICBzdGF0aWMgY29uc3Qgc3RydWN0IHsKKyAgICAgICAg dWludDMyX3QgZmVhdHVyZTsKKyAgICAgICAgdWludDMyX3QgZnNbRkVBVFVSRVNFVF9OUl9FTlRS SUVTXTsKKyAgICB9IGRlZXBfZGVwc1tdID0gSU5JVF9ERUVQX0RFUFM7CisKKyAgICB1bnNpZ25l ZCBpbnQgc3RhcnQgPSAwLCBlbmQgPSBBUlJBWV9TSVpFKGRlZXBfZGVwcyk7CisKKyAgICBYQ19C VUlMRF9CVUdfT04oQVJSQVlfU0laRShkZWVwX2RlcHMpICE9IE5SX0RFRVBfREVQUyk7CisKKyAg ICAvKiBkZWVwX2RlcHNbXSBpcyBzb3J0ZWQuICBQZXJmb3JtIGEgYmluYXJ5IHNlYXJjaC4gKi8K KyAgICB3aGlsZSAoIHN0YXJ0IDwgZW5kICkKKyAgICB7CisgICAgICAgIHVuc2lnbmVkIGludCBt aWQgPSBzdGFydCArICgoZW5kIC0gc3RhcnQpIC8gMik7CisKKyAgICAgICAgaWYgKCBkZWVwX2Rl cHNbbWlkXS5mZWF0dXJlID4gZmVhdHVyZSApCisgICAgICAgICAgICBlbmQgPSBtaWQ7CisgICAg ICAgIGVsc2UgaWYgKCBkZWVwX2RlcHNbbWlkXS5mZWF0dXJlIDwgZmVhdHVyZSApCisgICAgICAg ICAgICBzdGFydCA9IG1pZCArIDE7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldHVybiBk ZWVwX2RlcHNbbWlkXS5mczsKKyAgICB9CisKKyAgICByZXR1cm4gTlVMTDsKK30KKwogc3RydWN0 IGNwdWlkX2RvbWFpbl9pbmZvCiB7CiAgICAgZW51bQotLSAKMi4xLjQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=