From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH RFC 19/59] Add basic libxl framework, get domain cpu_time Date: Wed, 28 Dec 2016 20:14:12 -0500 Message-ID: <1482974092-15891-19-git-send-email-ronladred@gmail.com> References: <1482974092-15891-1-git-send-email-ronladred@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1482974092-15891-1-git-send-email-ronladred@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel , Ian Jackson , Wei Liu , George Dunlap , George Dunlap List-Id: xen-devel@lists.xenproject.org RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKSW50cm9kdWNl IGxpYnhsICJDb250ZXh0IiBjbGFzcyB3aXRoIG9wZW4sIGNsb3NlLCBhbmQgZG9taW5mby4KCkNy ZWF0ZSBhIGdsb2JhbCB2YXJpYWJsZSBpbiB4ZW53b3JrZXIuZ28gdG8gaG9sZCB0aGUgY29udGV4 dDsgb3BlbiBvbgpmaXJzdCB3b3JrZXIgY3JlYXRpb24sIGNsb3NlIG9uIGxhc3Qgd29ya2VyIGRl c3RydWN0aW9uLgoKQWRkIGEgbmV3IGVsZW1lbnQgdG8gV29ya2VyUmVwb3J0LCBDcHV0aW1lLCBh bmQgcHJpbnQgaXQgb3V0LgoKRm9yIG5vdywgaW5jbHVkZSBoYXJkLWNvZGVkIGxpbmsgdG8gbG9j YWwgWGVuIGxpYnJhcmllcy4gIFRoaXMgc2hvdWxkCmJlIHNvcnRlZCBvdXQgYXQgc29tZSBwb2lu dC4KClNpZ25lZC1vZmYtYnk6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNv bT4KLS0tCiBNYWtlZmlsZSAgICAgfCAgMTMgKysrKystLQogYmVuY2htYXJrLmdvIHwgICAyICsr CiBsaWJ4bC5nbyAgICAgfCAxMTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysKIHJ1bi5nbyAgICAgICB8ICAgMiArLQogeGVud29ya2Vy LmdvIHwgIDI2ICsrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDE1NiBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYnhsLmdvCgpkaWZmIC0t Z2l0IGEvTWFrZWZpbGUgYi9NYWtlZmlsZQppbmRleCAyZTA2Zjg3Li41NGYyY2U4IDEwMDY0NAot LS0gYS9NYWtlZmlsZQorKysgYi9NYWtlZmlsZQpAQCAtNCw4ICs0LDE3IEBAIEJJTkFMTCA9ICQo QklOKQogLlBIT05ZOiBhbGwKIGFsbDogJChCSU4pCiAKLXNjaGVkYmVuY2g6IG1haW4uZ28gcHJv Y2Vzc3dvcmtlci5nbyB4ZW53b3JrZXIuZ28gYmVuY2htYXJrLmdvIHJ1bi5nbwotCWdvIGJ1aWxk IC1vICRAICReCisKKworQ0dPX0NGTEFHUyA9IC1JL2J1aWxkL2hnL3hlbi5naXQvZGlzdC9pbnN0 YWxsL3Vzci9sb2NhbC9pbmNsdWRlCitDR09fTElCUyA9IC1seWFqbCAtbHhlbmxpZ2h0CisKKyMg RklYTUUKK1hFTkxJQl9QQVRIID89IC9idWlsZC9oZy94ZW4uZ2l0L2Rpc3QvaW5zdGFsbC91c3Iv bG9jYWwvbGliLworQ0dPX0xERkxBR1MgPSAtTCQoWEVOTElCX1BBVEgpIC1XbCwtcnBhdGgtbGlu az0kKFhFTkxJQl9QQVRIKSAkKENHT19MSUJTKQorCitzY2hlZGJlbmNoOiBtYWluLmdvIHByb2Nl c3N3b3JrZXIuZ28geGVud29ya2VyLmdvIGJlbmNobWFyay5nbyBydW4uZ28gbGlieGwuZ28KKwlD R09fTERGTEFHUz0iJChDR09fTERGTEFHUykiIENHT19DRkxBR1M9IiQoQ0dPX0NGTEFHUykiIGdv IGJ1aWxkIC1vICRAICReCiAKIC5QSE9OWTogY2xlYW4KIGNsZWFuOgpkaWZmIC0tZ2l0IGEvYmVu Y2htYXJrLmdvIGIvYmVuY2htYXJrLmdvCmluZGV4IDdmYTgzZDIuLjRiMmQ4MDUgMTAwNjQ0Ci0t LSBhL2JlbmNobWFyay5nbworKysgYi9iZW5jaG1hcmsuZ28KQEAgLTI0LDYgKzI0LDcgQEAgaW1w b3J0ICgKIAkiaW8vaW91dGlsIgogCSJlbmNvZGluZy9qc29uIgogCSJtYXRoIgorCSJ0aW1lIgog KQogCiB0eXBlIFdvcmtlcklkIHN0cnVjdCB7CkBAIC00MCw2ICs0MSw3IEBAIHR5cGUgV29ya2Vy UmVwb3J0IHN0cnVjdCB7CiAJTm93IGludAogCU1vcHMgaW50CiAJTWF4RGVsdGEgaW50CisJQ3B1 dGltZSB0aW1lLkR1cmF0aW9uCiB9CiAKIHR5cGUgV29ya2VyUGFyYW1zIHN0cnVjdCB7CmRpZmYg LS1naXQgYS9saWJ4bC5nbyBiL2xpYnhsLmdvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjM5ZTQ3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ4bC5nbwpAQCAtMCwwICsxLDEx NiBAQAorcGFja2FnZSBtYWluCisKKy8qCisjaW5jbHVkZSA8bGlieGwuaD4KKyovCitpbXBvcnQg IkMiCisKK2ltcG9ydCAoCisJInVuc2FmZSIKKwkiZm10IgorCSJ0aW1lIgorKQorCit0eXBlIENv bnRleHQgc3RydWN0IHsKKwljdHggKkMubGlieGxfY3R4Cit9CisKK2Z1bmMgTmV3Q29udGV4dCgp IChDdHggKkNvbnRleHQsIGVyciBlcnJvcikgeworCUN0eCA9ICZDb250ZXh0e30KKwkKKwllcnIg PSBDdHguT3BlbigpCisKKwlyZXR1cm4KK30KKworZnVuYyAoQ3R4ICpDb250ZXh0KSBJc09wZW4o KSBib29sIHsKKwlyZXR1cm4gQ3R4LmN0eCAhPSBuaWwKK30KKworZnVuYyAoQ3R4ICpDb250ZXh0 KSBPcGVuKCkgKGVyciBlcnJvcikgeworCXJldCA6PSBDLmxpYnhsX2N0eF9hbGxvYyh1bnNhZmUu UG9pbnRlcigmQ3R4LmN0eCksIEMuTElCWExfVkVSU0lPTiwgMCwgbmlsKQorCisJaWYgcmV0ICE9 IDAgeworCQllcnIgPSBmbXQuRXJyb3JmKCJBbGxvY2F0aW5nIGxpYnhsIGNvbnRleHQ6ICVkIiwg cmV0KQorCX0KKwlyZXR1cm4KK30KKworZnVuYyAoQ3R4ICpDb250ZXh0KSBDbG9zZSgpIChlcnIg ZXJyb3IpIHsKKwlyZXQgOj0gQy5saWJ4bF9jdHhfZnJlZSh1bnNhZmUuUG9pbnRlcihDdHguY3R4 KSkKKwlDdHguY3R4ID0gbmlsCisKKwlpZiByZXQgIT0gMCB7CisJCWVyciA9IGZtdC5FcnJvcmYo IkZyZWVpbmcgbGlieGwgY29udGV4dDogJWQiLCByZXQpCisJfQorCXJldHVybgorfQorCit0eXBl IERvbWlkIHVpbnQzMgorCit0eXBlIE1lbUtCIHVpbnQ2NAorCisvLyBGSVhNRTogVXNlIHRoZSBp ZGwgdG8gZ2VuZXJhdGUgdHlwZXMKK3R5cGUgRG9taW5mbyBzdHJ1Y3QgeworCS8vIEZJWE1FOiB1 dWlkCisJRG9taWQgICAgICAgICAgICAgRG9taWQKKwlSdW5uaW5nICAgICAgICAgICBib29sCisJ QmxvY2tlZCAgICAgICAgICAgYm9vbAorCVBhdXNlZCAgICAgICAgICAgIGJvb2wKKwlTaHV0ZG93 biAgICAgICAgICBib29sCisJRHlpbmcgICAgICAgICAgICAgYm9vbAorCU5ldmVyX3N0b3AgICAg ICAgIGJvb2wKKwkKKwlTaHV0ZG93bl9yZWFzb24gICBpbnQzMiAvLyBGSVhNRSBzaHV0ZG93bl9y ZWFzb24gZW51bWVyYXRpb24KKwlPdXRzdGFuZGluZ19tZW1rYiBNZW1LQgorCUN1cnJlbnRfbWVt a2IgICAgIE1lbUtCCisJU2hhcmVkX21lbWtiICAgICAgTWVtS0IKKwlQYWdlZF9tZW1rYiAgICAg ICBNZW1LQgorCU1heF9tZW1rYiAgICAgICAgIE1lbUtCCisJQ3B1X3RpbWUgICAgICAgICAgdGlt ZS5EdXJhdGlvbgorCVZjcHVfbWF4X2lkICAgICAgIHVpbnQzMgorCVZjcHVfb25saW5lICAgICAg IHVpbnQzMgorCUNwdXBvb2wgICAgICAgICAgIHVpbnQzMgorCURvbWFpbl90eXBlICAgICAgIGlu dDMyIC8vRklYTUUgbGlieGxfZG9tYWluX3R5cGUgZW51bWVyYXRpb24KKworfQorCitmdW5jIChD dHggKkNvbnRleHQpIERvbWFpbkluZm8oSWQgRG9taWQpIChkaSAqRG9taW5mbywgZXJyIGVycm9y KSB7CisJaWYgQ3R4LmN0eCA9PSBuaWwgeworCQllcnIgPSBmbXQuRXJyb3JmKCJDb250ZXh0IG5v dCBvcGVuZWQiKQorCQlyZXR1cm4KKwl9CisKKwkJCisJdmFyIGNkaSBDLmxpYnhsX2RvbWluZm8K KworCXJldCA6PSBDLmxpYnhsX2RvbWFpbl9pbmZvKEN0eC5jdHgsIHVuc2FmZS5Qb2ludGVyKCZj ZGkpLCBDLnVpbnQzMl90KElkKSkKKworCS8vIEZJWE1FOiBJc0RvbWFpbk5vdFByZXNlbnRFcnJv cgorCWlmIHJldCAhPSAwIHsKKwkJZXJyID0gZm10LkVycm9yZigibGlieGxfZG9tYWluX2luZm8g ZmFpbGVkOiAlZCIsIHJldCkKKwkJcmV0dXJuCisJfQorCisJLy8gRklYTUUgLS0gdXNlIGludHJv c3BlY3Rpb24gdG8gbWFrZSB0aGlzIG1vcmUgcm9idXN0CisJZGkgPSAmRG9taW5mb3t9CisJZGku RG9taWQgPSBEb21pZChjZGkuZG9taWQpCisJZGkuUnVubmluZyA9IGJvb2woY2RpLnJ1bm5pbmcp CisJZGkuQmxvY2tlZCA9IGJvb2woY2RpLmJsb2NrZWQpCisJZGkuUGF1c2VkID0gYm9vbChjZGku cGF1c2VkKQorCWRpLlNodXRkb3duID0gYm9vbChjZGkuc2h1dGRvd24pCisJZGkuRHlpbmcgPSBi b29sKGNkaS5keWluZykKKwlkaS5OZXZlcl9zdG9wID0gYm9vbChjZGkubmV2ZXJfc3RvcCkKKwlk aS5TaHV0ZG93bl9yZWFzb24gPSBpbnQzMihjZGkuc2h1dGRvd25fcmVhc29uKQorCWRpLk91dHN0 YW5kaW5nX21lbWtiID0gTWVtS0IoY2RpLm91dHN0YW5kaW5nX21lbWtiKQorCWRpLkN1cnJlbnRf bWVta2IgPSBNZW1LQihjZGkuY3VycmVudF9tZW1rYikKKwlkaS5TaGFyZWRfbWVta2IgPSBNZW1L QihjZGkuc2hhcmVkX21lbWtiKQorCWRpLlBhZ2VkX21lbWtiID0gTWVtS0IoY2RpLnBhZ2VkX21l bWtiKQorCWRpLk1heF9tZW1rYiA9IE1lbUtCKGNkaS5tYXhfbWVta2IpCisJZGkuQ3B1X3RpbWUg PSB0aW1lLkR1cmF0aW9uKGNkaS5jcHVfdGltZSkKKwlkaS5WY3B1X21heF9pZCA9IHVpbnQzMihj ZGkudmNwdV9tYXhfaWQpCisJZGkuVmNwdV9vbmxpbmUgPSB1aW50MzIoY2RpLnZjcHVfb25saW5l KQorCWRpLkNwdXBvb2wgPSB1aW50MzIoY2RpLmNwdXBvb2wpCisJZGkuRG9tYWluX3R5cGUgPSBp bnQzMihjZGkuZG9tYWluX3R5cGUpCisJcmV0dXJuCit9CmRpZmYgLS1naXQgYS9ydW4uZ28gYi9y dW4uZ28KaW5kZXggOWYxZWRjZi4uNzg4YzU0MSAxMDA2NDQKLS0tIGEvcnVuLmdvCisrKyBiL3J1 bi5nbwpAQCAtNDEsNyArNDEsNyBAQCBmdW5jIFJlcG9ydCh3cyAqV29ya2VyU3RhdGUsIHIgV29y a2VyUmVwb3J0KSB7CiAKIAkJdHB1dCA6PSBUaHJvdWdocHV0KGxyLk5vdywgbHIuTW9wcywgci5O b3csIHIuTW9wcykKIAkJCi0JCWZtdC5QcmludGYoIiV2IFRpbWU6ICUyLjNmIE1vcHM6ICVkIFRw dXQ6ICU0LjJmXG4iLCByLklkLCB0aW1lLCBtb3BzLCB0cHV0KTsKKwkJZm10LlByaW50ZigiJXYg VGltZTogJTIuM2YgTW9wczogJWQgVHB1dDogJTQuMmYgQ3B1dGltZTogJXZcbiIsIHIuSWQsIHRp bWUsIG1vcHMsIHRwdXQsIHIuQ3B1dGltZSk7CiAJfQogCiAJd3MuTGFzdFJlcG9ydCA9IHIKZGlm ZiAtLWdpdCBhL3hlbndvcmtlci5nbyBiL3hlbndvcmtlci5nbwppbmRleCA0ZDQyZTVlLi4zMWFm MzVmIDEwMDY0NAotLS0gYS94ZW53b3JrZXIuZ28KKysrIGIveGVud29ya2VyLmdvCkBAIC0yNyw4 ICsyNywxNiBAQCBpbXBvcnQgKAogCSJpbyIKICkKIAordHlwZSB4ZW5HbG9iYWwgc3RydWN0IHsK KwlDdHggQ29udGV4dAorCWNvdW50IGludAorfQorCit2YXIgeGcgeGVuR2xvYmFsCisKIHR5cGUg WGVuV29ya2VyIHN0cnVjdCB7CiAJaWQgV29ya2VySWQKKwlDdHggQ29udGV4dAogCXZtbmFtZSBz dHJpbmcKIAlkb21pZCBpbnQKIAljb25zb2xlQ21kICpleGVjLkNtZApAQCAtNTksNiArNjcsMTQg QEAgZnVuYyAodyAqWGVuV29ya2VyKSBTZXRJZChpIFdvcmtlcklkKSB7CiB9CiAKIGZ1bmMgKHcg KlhlbldvcmtlcikgSW5pdChwIFdvcmtlclBhcmFtcywgZyBXb3JrZXJDb25maWcpIChlcnIgZXJy b3IpIHsKKwlpZiB4Zy5jb3VudCA9PSAwIHsKKwkJZXJyID0geGcuQ3R4Lk9wZW4oKQorCQlpZiBl cnIgIT0gbmlsIHsKKwkJCXJldHVybgorCQl9CisJfQorCXhnLmNvdW50KysKKwkKIAltb2NrIDo9 IGZhbHNlCiAJCiAJLy8gTWFrZSB4bCBjb25maWcgZmlsZQpAQCAtMjAyLDYgKzIxOCwxMSBAQCBm dW5jICh3ICpYZW5Xb3JrZXIpIFNodXRkb3duKCkgewogCWUuU3Rkb3V0ID0gb3MuU3Rkb3V0CiAJ ZS5TdGRlcnIgPSBvcy5TdGRlcnIKIAorCXhnLmNvdW50LS0KKwlpZiB4Zy5jb3VudCA9PSAwIHsK KwkJZGVmZXIgeGcuQ3R4LkNsb3NlKCkKKwl9CisKIAllcnIgOj0gZS5SdW4oKQogCWlmIGVyciAh PSBuaWwgewogCQlmbXQuUHJpbnRmKCJFcnJvciBkZXN0cm95aW5nIGRvbWFpbjogJXZcbiIsIGVy cikKQEAgLTIzNyw2ICsyNTgsMTEgQEAgZnVuYyAodyAqWGVuV29ya2VyKSBQcm9jZXNzKHJlcG9y dCBjaGFuIFdvcmtlclJlcG9ydCwgZG9uZSBjaGFuIGJvb2wpIHsKIAkJCXZhciByIFdvcmtlclJl cG9ydAogCQkJanNvbi5Vbm1hcnNoYWwoW11ieXRlKHMpLCAmcikKIAkJCXIuSWQgPSB3LmlkCisJ CQlkaSwgZXJyIDo9IHhnLkN0eC5Eb21haW5JbmZvKERvbWlkKHcuZG9taWQpKQorCQkJLy8gSWdu b3JlIGVycm9ycyBmb3Igbm93CisJCQlpZiBlcnIgPT0gbmlsIHsKKwkJCQlyLkNwdXRpbWUgPSBk aS5DcHVfdGltZQorCQkJfQogCQkJcmVwb3J0IDwtIHIKIAkJfSBlbHNlIHsKIAkJCWlmIHMgPT0g IlNUQVJUIEpTT04iIHsKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMu eGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==