From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 4/6] tools/libxc: Remove xsave calculations from libxc Date: Mon, 16 Jan 2017 11:40:28 +0000 Message-ID: <1484566830-13916-5-git-send-email-andrew.cooper3@citrix.com> References: <1484566830-13916-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: <1484566830-13916-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 , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org bGlieGMgcGVyZm9ybXMgYSBsb3Qgb2YgY2FsY3VsYXRpb25zIGZvciB0aGUgeHN0YXRlIGxlYWYg d2hlbiBnZW5lcmF0aW5nIGEKZ3Vlc3RzIGNwdWlkIHBvbGljeS4gIFRvIGNvcnJlY3RseSBjb25z dHJ1Y3QgYSBwb2xpY3kgZm9yIGFuIEhWTSBndWVzdCwgdGhpcwpsb2dpYyBkZXBlbmRzIG9uIG5h dGl2ZSBjcHVpZCBsZWFraW5nIHRocm91Z2ggZnJvbSByZWFsIGhhcmR3YXJlLgoKSW4gcGFydGlj dWxhciwgdGhlIGxvZ2ljIGlzIHBvdGVudGlhbGx5IHdyb25nIGZvciBhbiBIVk0tYmFzZWQgdG9v bHN0YWNrCmRvbWFpbiAoZS5nLiBQVkggZG9tMCksIGFuZCBkZWZpbml0ZWx5IHdyb25nIGlmIGNw dWlkIGZhdWx0aW5nIGlzIGFwcGxpZWQgdG8gYQpQViBkb21haW4uCgpYZW4gbm93IHBlcmZvcm1z IGFsbCB0aGUgbmVjZXNzYXJ5IGNhbGN1bGF0aW9ucywgdXNpbmcgbmF0aXZlIHZhbHVlcy4gIFRo ZQpvbmx5IHBpZWNlIG9mIGluZm9ybWF0aW9uIHRoZSB0b29sc3RhY2sgbmVlZCB3b3JyeSBhYm91 dCBpcyBzaW5nbGUgeHN0YXRlCmZlYXR1cmUgbGVhZi4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBD b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpC ZXVsaWNoQHN1c2UuY29tPgpDQzogSWFuIEphY2tzb24gPElhbi5KYWNrc29uQGV1LmNpdHJpeC5j b20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0KIHRvb2xzL2xpYnhjL3hj X2NwdWlkX3g4Ni5jIHwgMTQzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDEyOCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYyBiL3Rvb2xzL2xpYnhj L3hjX2NwdWlkX3g4Ni5jCmluZGV4IGIzMjAwMWIzLi45NmQ2MDI1IDEwMDY0NAotLS0gYS90b29s cy9saWJ4Yy94Y19jcHVpZF94ODYuYworKysgYi90b29scy9saWJ4Yy94Y19jcHVpZF94ODYuYwpA QCAtNDAwLDEyNSArNDAwLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfeGNfY3B1aWRfcG9saWN5KHhj X2ludGVyZmFjZSAqeGNoLAogICAgIH0KIH0KIAotLyogWFNUQVRFIGJpdHMgaW4gWENSMC4gKi8K LSNkZWZpbmUgWDg2X1hDUjBfWDg3ICAgICgxVUxMIDw8ICAwKQotI2RlZmluZSBYODZfWENSMF9T U0UgICAgKDFVTEwgPDwgIDEpCi0jZGVmaW5lIFg4Nl9YQ1IwX0FWWCAgICAoMVVMTCA8PCAgMikK LSNkZWZpbmUgWDg2X1hDUjBfQk5EUkVHICgxVUxMIDw8ICAzKQotI2RlZmluZSBYODZfWENSMF9C TkRDU1IgKDFVTEwgPDwgIDQpCi0jZGVmaW5lIFg4Nl9YQ1IwX09QTUFTSyAoMVVMTCA8PCAgNSkK LSNkZWZpbmUgWDg2X1hDUjBfWk1NICAgICgxVUxMIDw8ICA2KQotI2RlZmluZSBYODZfWENSMF9I SV9aTU0gKDFVTEwgPDwgIDcpCi0jZGVmaW5lIFg4Nl9YQ1IwX1BLUlUgICAoMVVMTCA8PCAgOSkK LSNkZWZpbmUgWDg2X1hDUjBfTFdQICAgICgxVUxMIDw8IDYyKQotCi0jZGVmaW5lIFg4Nl9YU1Nf TUFTSyAgICAoMCkgLyogTm8gWFNTIHN0YXRlcyBzdXBwb3J0ZWQgeWV0LiAqLwotCi0vKiBQZXIt Y29tcG9uZW50IHN1YmxlYWYgZmxhZ3MuICovCi0jZGVmaW5lIFhTVEFURV9YU1MgICAgICAoMVVM TCA8PCAgMCkKLSNkZWZpbmUgWFNUQVRFX0FMSUdONjQgICgxVUxMIDw8ICAxKQotCi0vKiBDb25m aWd1cmUgZXh0ZW5kZWQgc3RhdGUgZW51bWVyYXRpb24gbGVhdmVzICgweDAwMDAwMDBEIGZvciB4 c2F2ZSkgKi8KLXN0YXRpYyB2b2lkIHhjX2NwdWlkX2NvbmZpZ194c2F2ZSh4Y19pbnRlcmZhY2Ug KnhjaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgY3B1 aWRfZG9tYWluX2luZm8gKmluZm8sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgdW5zaWduZWQgaW50ICppbnB1dCwgdW5zaWduZWQgaW50ICpyZWdzKQotewotICAgIHVp bnQ2NF90IGd1ZXN0X3hmZWF0dXJlX21hc2s7Ci0KLSAgICBpZiAoIGluZm8tPnhmZWF0dXJlX21h c2sgPT0gMCB8fAotICAgICAgICAgIXRlc3RfYml0KFg4Nl9GRUFUVVJFX1hTQVZFLCBpbmZvLT5m ZWF0dXJlc2V0KSApCi0gICAgewotICAgICAgICByZWdzWzBdID0gcmVnc1sxXSA9IHJlZ3NbMl0g PSByZWdzWzNdID0gMDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGd1ZXN0X3hmZWF0 dXJlX21hc2sgPSBYODZfWENSMF9TU0UgfCBYODZfWENSMF9YODc7Ci0KLSAgICBpZiAoIHRlc3Rf Yml0KFg4Nl9GRUFUVVJFX0FWWCwgaW5mby0+ZmVhdHVyZXNldCkgKQotICAgICAgICBndWVzdF94 ZmVhdHVyZV9tYXNrIHw9IFg4Nl9YQ1IwX0FWWDsKLQotICAgIGlmICggdGVzdF9iaXQoWDg2X0ZF QVRVUkVfTVBYLCBpbmZvLT5mZWF0dXJlc2V0KSApCi0gICAgICAgIGd1ZXN0X3hmZWF0dXJlX21h c2sgfD0gWDg2X1hDUjBfQk5EUkVHIHwgWDg2X1hDUjBfQk5EQ1NSOwotCi0gICAgaWYgKCB0ZXN0 X2JpdChYODZfRkVBVFVSRV9BVlg1MTJGLCBpbmZvLT5mZWF0dXJlc2V0KSApCi0gICAgICAgIGd1 ZXN0X3hmZWF0dXJlX21hc2sgfD0gWDg2X1hDUjBfT1BNQVNLIHwgWDg2X1hDUjBfWk1NIHwgWDg2 X1hDUjBfSElfWk1NOwotCi0gICAgaWYgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9QS1UsIGluZm8t PmZlYXR1cmVzZXQpICkKLSAgICAgICAgZ3Vlc3RfeGZlYXR1cmVfbWFzayB8PSBYODZfWENSMF9Q S1JVOwotCi0gICAgaWYgKCB0ZXN0X2JpdChYODZfRkVBVFVSRV9MV1AsIGluZm8tPmZlYXR1cmVz ZXQpICkKLSAgICAgICAgZ3Vlc3RfeGZlYXR1cmVfbWFzayB8PSBYODZfWENSMF9MV1A7Ci0KLSAg ICAvKgotICAgICAqIEluIHRoZSBjb21tb24gY2FzZSwgdGhlIHRvb2xzdGFjayB3aWxsIGhhdmUg cXVlcmllZCBYZW4gZm9yIHRoZSBtYXhpbXVtCi0gICAgICogYXZhaWxhYmxlIGZlYXR1cmVzZXQs IGFuZCBndWVzdF94ZmVhdHVyZV9tYXNrIHNob3VsZCBub3QgYWJsZSB0byBiZQotICAgICAqIGNh bGN1bGF0ZWQgYXMgYmVpbmcgZ3JlYXRlciB0aGFuIHRoZSBob3N0IGxpbWl0LCBpbmZvLT54ZmVh dHVyZV9tYXNrLgotICAgICAqCi0gICAgICogTm90aGluZyBjdXJyZW50bHkgcHJldmVudHMgYSB0 b29sc3RhY2sgKG9yIGFuIG9wdGltaXN0aWMgdXNlcikgZnJvbQotICAgICAqIHB1cnBvc2VmdWxs eSB0cnlpbmcgdG8gc2VsZWN0IGEgbGFyZ2VyLXRoYW4tYXZhaWxhYmxlIHhzdGF0ZSBzZXQuCi0g ICAgICoKLSAgICAgKiBUbyBhdm9pZCB0aGUgZG9tYWluIGR5aW5nIHdpdGggYW4gdW5leHBlY3Rl ZCBmYXVsdCwgY2xhbXAgdGhlCi0gICAgICogY2FsY3VsYXRlZCBtYXNrIHRvIHRoZSBob3N0IGxp bWl0LiAgRnV0dXJlIGRldmVsb3BtZW50IHdvcmsgd2lsbCByZW1vdmUKLSAgICAgKiB0aGlzIHBv c3NpYmlsaXR5LCB3aGVuIFhlbiBmdWxseSBhdWRpdHMgdGhlIGNvbXBsZXRlIGNwdWlkIHBvbGN5 IHNldAotICAgICAqIGZvciBhIGRvbWFpbi4KLSAgICAgKi8KLSAgICBndWVzdF94ZmVhdHVyZV9t YXNrICY9IGluZm8tPnhmZWF0dXJlX21hc2s7Ci0KLSAgICBzd2l0Y2ggKCBpbnB1dFsxXSApCi0g ICAgewotICAgIGNhc2UgMDoKLSAgICAgICAgLyogRUFYOiBsb3cgMzJiaXRzIG9mIHhmZWF0dXJl X2VuYWJsZWRfbWFzayAqLwotICAgICAgICByZWdzWzBdID0gKHVpbnQzMl90KWd1ZXN0X3hmZWF0 dXJlX21hc2s7Ci0gICAgICAgIC8qIEVEWDogaGlnaCAzMmJpdHMgb2YgeGZlYXR1cmVfZW5hYmxl ZF9tYXNrICovCi0gICAgICAgIHJlZ3NbM10gPSBndWVzdF94ZmVhdHVyZV9tYXNrID4+IDMyOwot ICAgICAgICAvKiBFQ1g6IG1heCBzaXplIHJlcXVpcmVkIGJ5IGFsbCBIVyBmZWF0dXJlcyAqLwot ICAgICAgICB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBpbnQgX2lucHV0WzJdID0gezB4ZCwgMHgw fSwgX3JlZ3NbNF07Ci0gICAgICAgICAgICByZWdzWzJdID0gMDsKLSAgICAgICAgICAgIGZvciAo IF9pbnB1dFsxXSA9IDI7IF9pbnB1dFsxXSA8PSA2MjsgX2lucHV0WzFdKysgKQotICAgICAgICAg ICAgewotICAgICAgICAgICAgICAgIGNwdWlkKF9pbnB1dCwgX3JlZ3MpOwotICAgICAgICAgICAg ICAgIGlmICggKF9yZWdzWzBdICsgX3JlZ3NbMV0pID4gcmVnc1syXSApCi0gICAgICAgICAgICAg ICAgICAgIHJlZ3NbMl0gPSBfcmVnc1swXSArIF9yZWdzWzFdOwotICAgICAgICAgICAgfQotICAg ICAgICB9Ci0gICAgICAgIC8qIEVCWDogbWF4IHNpemUgcmVxdWlyZWQgYnkgZW5hYmxlZCBmZWF0 dXJlcy4KLSAgICAgICAgICogVGhpcyByZWdpc3RlciBjb250YWlucyBhIGR5bmFtaWMgdmFsdWUs IHdoaWNoIHZhcmllcyB3aGVuIGEgZ3Vlc3QKLSAgICAgICAgICogZW5hYmxlcyBvciBkaXNhYmxl cyBYU1RBVEUgZmVhdHVyZXMgKHZpYSB4c2V0YnYpLiBUaGUgZGVmYXVsdCBzaXplCi0gICAgICAg ICAqIGFmdGVyIHJlc2V0IGlzIDU3Ni4gKi8KLSAgICAgICAgcmVnc1sxXSA9IDUxMiArIDY0OyAv KiBGUC9TU0UgKyBYU0FWRS5IRUFERVIgKi8KLSAgICAgICAgYnJlYWs7Ci0KLSAgICBjYXNlIDE6 IC8qIGxlYWYgMSAqLwotICAgICAgICByZWdzWzBdID0gaW5mby0+ZmVhdHVyZXNldFtmZWF0dXJl d29yZF9vZihYODZfRkVBVFVSRV9YU0FWRU9QVCldOwotICAgICAgICByZWdzWzFdID0gMDsKLQot ICAgICAgICBpZiAoIHRlc3RfYml0KFg4Nl9GRUFUVVJFX1hTQVZFUywgaW5mby0+ZmVhdHVyZXNl dCkgKQotICAgICAgICB7Ci0gICAgICAgICAgICByZWdzWzJdID0gKHVpbnQzMl90KShndWVzdF94 ZmVhdHVyZV9tYXNrICYgWDg2X1hTU19NQVNLKTsKLSAgICAgICAgICAgIHJlZ3NbM10gPSAoZ3Vl c3RfeGZlYXR1cmVfbWFzayAmIFg4Nl9YU1NfTUFTSykgPj4gMzI7Ci0gICAgICAgIH0KLSAgICAg ICAgZWxzZQotICAgICAgICAgICAgcmVnc1syXSA9IHJlZ3NbM10gPSAwOwotICAgICAgICBicmVh azsKLQotICAgIGNhc2UgMiAuLi4gNjI6IC8qIHBlci1jb21wb25lbnQgc3ViLWxlYXZlcyAqLwot ICAgICAgICBpZiAoICEoZ3Vlc3RfeGZlYXR1cmVfbWFzayAmICgxVUxMIDw8IGlucHV0WzFdKSkg KQotICAgICAgICB7Ci0gICAgICAgICAgICByZWdzWzBdID0gcmVnc1sxXSA9IHJlZ3NbMl0gPSBy ZWdzWzNdID0gMDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgICAgIC8qIERv bid0IHRvdWNoIEVBWCwgRUJYLiBBbHNvIGNsZWFudXAgRUNYIGFuZCBFRFggKi8KLSAgICAgICAg cmVnc1syXSAmPSBYU1RBVEVfWFNTIHwgWFNUQVRFX0FMSUdONjQ7Ci0gICAgICAgIHJlZ3NbM10g PSAwOwotICAgICAgICBicmVhazsKLQotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHJlZ3NbMF0gPSBy ZWdzWzFdID0gcmVnc1syXSA9IHJlZ3NbM10gPSAwOwotICAgICAgICBicmVhazsKLSAgICB9Ci19 Ci0KIHN0YXRpYyB2b2lkIHhjX2NwdWlkX2h2bV9wb2xpY3koeGNfaW50ZXJmYWNlICp4Y2gsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBjcHVpZF9kb21haW5f aW5mbyAqaW5mbywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWdu ZWQgaW50ICppbnB1dCwgdW5zaWduZWQgaW50ICpyZWdzKQpAQCAtNTU4LDggKzQzOSwxMiBAQCBz dGF0aWMgdm9pZCB4Y19jcHVpZF9odm1fcG9saWN5KHhjX2ludGVyZmFjZSAqeGNoLAogICAgICAg ICByZWdzWzBdID0gMDsKICAgICAgICAgYnJlYWs7CiAKLSAgICBjYXNlIDB4MDAwMDAwMGQ6Ci0g ICAgICAgIHhjX2NwdWlkX2NvbmZpZ194c2F2ZSh4Y2gsIGluZm8sIGlucHV0LCByZWdzKTsKKyAg ICBjYXNlIDB4MDAwMDAwMGQ6IC8qIFhlbiBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZXMgYWxtb3N0 IGV2ZXJ5dGhpbmcuICovCisgICAgICAgIGlmICggaW5wdXRbMV0gPT0gMSApCisgICAgICAgICAg ICByZWdzWzBdID0gaW5mby0+ZmVhdHVyZXNldFtmZWF0dXJld29yZF9vZihYODZfRkVBVFVSRV9Y U0FWRU9QVCldOworICAgICAgICBlbHNlCisgICAgICAgICAgICByZWdzWzBdID0gMDsKKyAgICAg ICAgcmVnc1sxXSA9IHJlZ3NbMl0gPSByZWdzWzNdID0gMDsKICAgICAgICAgYnJlYWs7CiAKICAg ICBjYXNlIDB4ODAwMDAwMDA6CkBAIC02NTYsOCArNTQxLDEyIEBAIHN0YXRpYyB2b2lkIHhjX2Nw dWlkX3B2X3BvbGljeSh4Y19pbnRlcmZhY2UgKnhjaCwKICAgICAgICAgcmVnc1swXSA9IDA7CiAg ICAgICAgIGJyZWFrOwogCi0gICAgY2FzZSAweDAwMDAwMDBkOgotICAgICAgICB4Y19jcHVpZF9j b25maWdfeHNhdmUoeGNoLCBpbmZvLCBpbnB1dCwgcmVncyk7CisgICAgY2FzZSAweDAwMDAwMDBk OiAvKiBYZW4gYXV0b21hdGljYWxseSBjYWxjdWxhdGVzIGFsbW9zdCBldmVyeXRoaW5nLiAqLwor ICAgICAgICBpZiAoIGlucHV0WzFdID09IDEgKQorICAgICAgICAgICAgcmVnc1swXSA9IGluZm8t PmZlYXR1cmVzZXRbZmVhdHVyZXdvcmRfb2YoWDg2X0ZFQVRVUkVfWFNBVkVPUFQpXTsKKyAgICAg ICAgZWxzZQorICAgICAgICAgICAgcmVnc1swXSA9IDA7CisgICAgICAgIHJlZ3NbMV0gPSByZWdz WzJdID0gcmVnc1szXSA9IDA7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSAweDgwMDAwMDAw OgpAQCAtODkxLDE3ICs3ODAsMTUgQEAgaW50IHhjX2NwdWlkX2FwcGx5X3BvbGljeSh4Y19pbnRl cmZhY2UgKnhjaCwgZG9taWRfdCBkb21pZCwKICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg ICAgICAgfQogCi0gICAgICAgIC8qIFhTQVZFIGluZm9ybWF0aW9uLCBzdWJsZWF2ZXMgMC02My4g Ki8KLSAgICAgICAgaWYgKCAoaW5wdXRbMF0gPT0gMHhkKSAmJiAoaW5wdXRbMV0rKyA8IDYzKSAp Ci0gICAgICAgICAgICBjb250aW51ZTsKLQogICAgICAgICBpbnB1dFswXSsrOwogICAgICAgICBp ZiAoICEoaW5wdXRbMF0gJiAweDgwMDAwMDAwdSkgJiYgKGlucHV0WzBdID4gYmFzZV9tYXggKSAp CiAgICAgICAgICAgICBpbnB1dFswXSA9IDB4ODAwMDAwMDB1OwogCiAgICAgICAgIGlucHV0WzFd ID0gWEVOX0NQVUlEX0lOUFVUX1VOVVNFRDsKLSAgICAgICAgaWYgKCAoaW5wdXRbMF0gPT0gNCkg fHwgKGlucHV0WzBdID09IDcpIHx8IChpbnB1dFswXSA9PSAweGQpICkKKyAgICAgICAgaWYgKCAo aW5wdXRbMF0gPT0gNCkgfHwgKGlucHV0WzBdID09IDcpICkKICAgICAgICAgICAgIGlucHV0WzFd ID0gMDsKKyAgICAgICAgZWxzZSBpZiAoIGlucHV0WzBdID09IDB4ZCApCisgICAgICAgICAgICBp bnB1dFsxXSA9IDE7IC8qIFhlbiBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZXMgYWxtb3N0IGV2ZXJ5 dGhpbmcuICovCiAKICAgICAgICAgaWYgKCAoaW5wdXRbMF0gJiAweDgwMDAwMDAwdSkgJiYgKGlu cHV0WzBdID4gZXh0X21heCkgKQogICAgICAgICAgICAgYnJlYWs7Ci0tIAoyLjEuNAoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=