From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ronald Rojas Subject: [PATCH RFC 44/59] libxl: Implement CpupoolCreate Date: Wed, 28 Dec 2016 20:14:37 -0500 Message-ID: <1482974092-15891-44-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 RnJvbTogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKSW1wbGVtZW50 IENwdXBvb2xDcmVhdGUuCgpGb3Igbm93LCBmb2xsb3cgdGhlIGxlYWQgb2YgInhsIGNwdXBvb2wt Y3JlYXRlIiwgYnkgYXV0b21hdGljYWxseQpnZW5lcmF0aW5nIGEgbmV3IHV1aWQgZWFjaCB0aW1l IGEgbmV3IGNwdXBvb2wgaXMgY3JlYXRlZCwgYW5kIGJ5IG5vdAphbGxvd2luZyB0aGUgdXNlciB0 byBhdHRlbXB0IHRvIHNldCB0aGUgcG9vbGlkLgoKVGhpcyByZXF1aXJlcyB1cyB0byBpbXBsZW1l bnQgYnl0bWFwR290b0MsIHdoaWNoIEMtYWxsb2NhdGVzIHRoZQphcHByb3ByaWF0ZSBhcnJheSBh bmQgY29waWVzIHRoZSBHbyBieXRlIG1hcCBpbnRvIGl0LiAgVGhpcyBtdXN0IGJlCkMtYWxsb2Nh dGVkIGJlY2F1c2UgdGhlIHJ1bnRpbWUgcmVzdHJpY3RzIGhvdyBHby1hbGxvY2F0ZWQgc3RydWN0 dXJlcwpjYW4gYmUgcGFzc2VkIGludG8gQyBmdW5jdGlvbiBjYWxscy4KCldoaWxlIHdlJ3JlIGhl cmUsIHJlb3JnYW5pemUgZnVuY3Rpb25zIHNsaWdodGx5LCBhbmQgY2hhbmdlIHRoZSBCaXRtYXAK aW1wbGVtZW50YXRpb24gdG8gYXV0b21hdGljYWxseSBleHRlbmQgdGhlIGFycmF5IGlmIHRoZSBz aXplIG9mIHRoZQpieXRlIGFycmF5IGlzIHRvbyBzbWFsbC4KClNpZ25lZC1vZmYtYnk6IEdlb3Jn ZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAY2l0cml4LmNvbT4KLS0tCiBsaWJ4bC5nbyB8IDExOSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9saWJ4bC5nbyBiL2xpYnhsLmdvCmluZGV4IDNmNmJhMDEuLjZlMTdiNTMg MTAwNjQ0Ci0tLSBhL2xpYnhsLmdvCisrKyBiL2xpYnhsLmdvCkBAIC0xNzYsMjAgKzE3NiwzOCBA QCBmdW5jIChibSAqQml0bWFwKSBBbGxvYyhtYXggaW50KSB7CiB9CiAKIC8vIFJldHVybiBhIEdv IGJpdG1hcCB3aGljaCBpcyBhIGNvcHkgb2YgdGhlIHJlZmVycmVkIEMgYml0bWFwLgotZnVuYyBi aXRtYXBDVG9HbyhjYm0gKkMubGlieGxfYml0bWFwKSAoYm0gQml0bWFwKSB7CitmdW5jIGJpdG1h cENUb0dvKGNibSAqQy5saWJ4bF9iaXRtYXApIChnYm0gQml0bWFwKSB7CiAJLy8gQWxsb2MgYSBH byBzbGljZSBmb3IgdGhlIGJ5dGVzCiAJc2l6ZSA6PSBpbnQoY2JtLnNpemUpCi0JYm0uQWxsb2Mo c2l6ZSo4KQorCWdibS5BbGxvYyhzaXplKjgpCiAKIAkvLyBNYWtlIGEgc2xpY2UgcG9pbnRpbmcg dG8gdGhlIEMgYXJyYXkKIAltYXBzbGljZSA6PSAoKlsxIDw8IDMwXUMudWludDhfdCkodW5zYWZl LlBvaW50ZXIoY2JtLl9tYXApKVs6c2l6ZTpzaXplXQogCiAJLy8gQW5kIGNvcHkgdGhlIEMgYXJy YXkgaW50byB0aGUgR28gYXJyYXkKLQljb3B5KGJtLmJpdG1hcCwgbWFwc2xpY2UpCisJY29weShn Ym0uYml0bWFwLCBtYXBzbGljZSkKIAogCXJldHVybgogfQogCisvLyBNdXN0IGJlIEMubGlieGxf Yml0bWFwX2Rpc3Bvc2UnZCBvZiBhZnRlcndhcmRzCitmdW5jIGJpdG1hcEdvdG9DKGdibSBCaXRt YXAsIGNibSAqQy5saWJ4bF9iaXRtYXApIHsKKwlDLmxpYnhsX2JpdG1hcF9pbml0KGNibSkKKwor CXNpemUgOj0gbGVuKGdibS5iaXRtYXApCisJY2JtLl9tYXAgPSAoKkMudWludDhfdCkoQy5tYWxs b2MoQy5zaXplX3Qoc2l6ZSkpKQorCWNibS5zaXplID0gQy51aW50MzJfdChzaXplKQorCWlmIGNi bS5fbWFwID09IG5pbCB7CisJCXBhbmljKCJDLmNhbGxvYyBmYWlsZWQhIikKKwl9CisKKwkvLyBN YWtlIGEgc2xpY2UgcG9pbnRpbmcgdG8gdGhlIEMgYXJyYXkKKwltYXBzbGljZSA6PSAoKlsxIDw8 IDMwXUMudWludDhfdCkodW5zYWZlLlBvaW50ZXIoY2JtLl9tYXApKVs6c2l6ZTpzaXplXQorCisJ Ly8gQW5kIGNvcHkgdGhlIEdvIGFycmF5IGludG8gdGhlIEMgYXJyYXkKKwljb3B5KG1hcHNsaWNl LCBnYm0uYml0bWFwKQorfQorCiBmdW5jIChibSAqQml0bWFwKSBUZXN0KGJpdCBpbnQpIChib29s KSB7CiAJdWJpdCA6PSB1aW50KGJpdCkKIAlpZiAoYml0ID4gYm0uTWF4KCkpIHsKQEAgLTE5OSwx NCArMjE3LDEzIEBAIGZ1bmMgKGJtICpCaXRtYXApIFRlc3QoYml0IGludCkgKGJvb2wpIHsKIAly ZXR1cm4gKGJtLmJpdG1hcFtiaXQgLyA4XSAmICgxIDw8ICh1Yml0ICYgNykpKSAhPSAwCiB9CiAK LS8vIEZJWE1FOiBEbyB3ZSByZWFsbHkganVzdCB3YW50IHRvIHNpbGVudGx5IGZhaWwgaGVyZT8K IGZ1bmMgKGJtICpCaXRtYXApIFNldChiaXQgaW50KSB7Ci0JdWJpdCA6PSB1aW50KGJpdCkKLQlp ZiAoYml0ID4gYm0uTWF4KCkpIHsKLQkJcmV0dXJuCisJaWJpdCA6PSBiaXQgLyA4OworCWlmIChp Yml0ICsgMSA+IGxlbihibS5iaXRtYXApKSB7CisJCWJtLmJpdG1hcCA9IGFwcGVuZChibS5iaXRt YXAsIG1ha2UoW11DLnVpbnQ4X3QsIGliaXQrMS1sZW4oYm0uYml0bWFwKSkuLi4pCiAJfQogCQot CWJtLmJpdG1hcFtiaXQgLyA4XSB8PSAxIDw8ICh1Yml0ICYgNykKKwlibS5iaXRtYXBbaWJpdF0g fD0gMSA8PCAodWludChiaXQpICYgNykKIH0KIAogZnVuYyAoYm0gKkJpdG1hcCkgQ2xlYXIoYml0 IGludCkgewpAQCAtMjM0LDEyICsyNTEsMTIgQEAgZnVuYyAoYm0gKkJpdG1hcCkgTWF4KCkgKGlu dCkgewogLy8gICAgIF0pCiB0eXBlIFNjaGVkdWxlciBpbnQKIHZhciAoCi0JU2NoZWR1bGVyVW5r bm93biAgU2NoZWR1bGVyID0gMAotCVNjaGVkdWxlclNlZGYgICAgIFNjaGVkdWxlciA9IDQKLQlT Y2hlZHVsZXJDcmVkaXQgICBTY2hlZHVsZXIgPSA1Ci0JU2NoZWR1bGVyQ3JlZGl0MiAgU2NoZWR1 bGVyID0gNgotCVNjaGVkdWxlckFyaW5jNjUzIFNjaGVkdWxlciA9IDcKLQlTY2hlZHVsZXJSVERT ICAgICBTY2hlZHVsZXIgPSA4CisJU2NoZWR1bGVyVW5rbm93biAgU2NoZWR1bGVyID0gQy5MSUJY TF9TQ0hFRFVMRVJfVU5LTk9XTgorCVNjaGVkdWxlclNlZGYgICAgIFNjaGVkdWxlciA9IEMuTElC WExfU0NIRURVTEVSX1NFREYKKwlTY2hlZHVsZXJDcmVkaXQgICBTY2hlZHVsZXIgPSBDLkxJQlhM X1NDSEVEVUxFUl9DUkVESVQKKwlTY2hlZHVsZXJDcmVkaXQyICBTY2hlZHVsZXIgPSBDLkxJQlhM X1NDSEVEVUxFUl9DUkVESVQyCisJU2NoZWR1bGVyQXJpbmM2NTMgU2NoZWR1bGVyID0gQy5MSUJY TF9TQ0hFRFVMRVJfQVJJTkM2NTMKKwlTY2hlZHVsZXJSVERTICAgICBTY2hlZHVsZXIgPSBDLkxJ QlhMX1NDSEVEVUxFUl9SVERTCiApCiAKIC8vIGNvbnN0IGNoYXIgKmxpYnhsX3NjaGVkdWxlcl90 b19zdHJpbmcobGlieGxfc2NoZWR1bGVyIHApOwpAQCAtMzE1LDIzICszMzIsMzggQEAgZnVuYyAo Q3R4ICpDb250ZXh0KSBMaXN0Q3B1cG9vbCgpIChsaXN0IFtdQ3B1cG9vbEluZm8pIHsKIAlyZXR1 cm4KIH0KIAotZnVuYyAoQ3R4ICpDb250ZXh0KSBDcHVwb29sRmluZEJ5TmFtZShuYW1lIHN0cmlu ZykgKGluZm8gQ3B1cG9vbEluZm8sIGZvdW5kIGJvb2wpIHsKLQlwbGlzdCA6PSBDdHguTGlzdENw dXBvb2woKQorLy8gaW50IGxpYnhsX2NwdXBvb2xfY3JlYXRlKGxpYnhsX2N0eCAqY3R4LCBjb25z dCBjaGFyICpuYW1lLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3NjaGVkdWxl ciBzY2hlZCwKKy8vICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9iaXRtYXAgY3B1bWFw LCBsaWJ4bF91dWlkICp1dWlkLAorLy8gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90 ICpwb29saWQpOworLy8gRklYTUU6IHV1aWQKKy8vIEZJWE1FOiBTZXR0aW5nIHBvb2xpZAorZnVu YyAoQ3R4ICpDb250ZXh0KSBDcHVwb29sQ3JlYXRlKE5hbWUgc3RyaW5nLCBTY2hlZHVsZXIgU2No ZWR1bGVyLCBDcHVtYXAgQml0bWFwKSAoZXJyIGVycm9yLCBQb29saWQgdWludDMyKSB7CisJcG9v bGlkIDo9IEMudWludDMyX3QoMCkKKwluYW1lIDo9IEMuQ1N0cmluZyhOYW1lKQorCWRlZmVyIEMu ZnJlZSh1bnNhZmUuUG9pbnRlcihuYW1lKSkKKwkKKwkvLyBGb3Igbm93LCBqdXN0IGRvIHdoYXQg eGwgZG9lcywgYW5kIG1ha2UgYSBuZXcgdXVpZCBldmVyeSB0aW1lIHdlIGNyZWF0ZSB0aGUgcG9v bAorCXZhciB1dWlkIEMubGlieGxfdXVpZAorCUMubGlieGxfdXVpZF9nZW5lcmF0ZSgmdXVpZCkK IAotCWZvciBpIDo9IHJhbmdlIHBsaXN0IHsKLQkJaWYgcGxpc3RbaV0uUG9vbE5hbWUgPT0gbmFt ZSB7Ci0JCQlmb3VuZCA9IHRydWUKLQkJCWluZm8gPSBwbGlzdFtpXQotCQkJcmV0dXJuCi0JCX0K Kwl2YXIgY2JtIEMubGlieGxfYml0bWFwCisJYml0bWFwR290b0MoQ3B1bWFwLCAmY2JtKQorCWRl ZmVyIEMubGlieGxfYml0bWFwX2Rpc3Bvc2UoJmNibSkKKwkKKwlyZXQgOj0gQy5saWJ4bF9jcHVw b29sX2NyZWF0ZShDdHguY3R4LCBuYW1lLCBDLmxpYnhsX3NjaGVkdWxlcihTY2hlZHVsZXIpLAor CQljYm0sICZ1dWlkLCAmcG9vbGlkKQorCS8vIEZJWE1FOiBQcm9wZXIgZXJyb3IKKwlpZiByZXQg IT0gMCB7CisJCWVyciA9IGZtdC5FcnJvcmYoImxpYnhsX2NwdXBvb2xfY3JlYXRlIGZhaWxlZDog JWQiLCByZXQpCisJCXJldHVybgogCX0KKworCVBvb2xpZCA9IHVpbnQzMihwb29saWQpCisJCiAJ cmV0dXJuCiB9CiAKLS8vIGludCBsaWJ4bF9jcHVwb29sX2NyZWF0ZShsaWJ4bF9jdHggKmN0eCwg Y29uc3QgY2hhciAqbmFtZSwKLS8vICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9zY2hl ZHVsZXIgc2NoZWQsCi0vLyAgICAgICAgICAgICAgICAgICAgICAgICAgbGlieGxfYml0bWFwIGNw dW1hcCwgbGlieGxfdXVpZCAqdXVpZCwKLS8vICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCAqcG9vbGlkKTsKIC8vIGludCBsaWJ4bF9jcHVwb29sX2Rlc3Ryb3kobGlieGxfY3R4ICpj dHgsIHVpbnQzMl90IHBvb2xpZCk7CiAvLyBpbnQgbGlieGxfY3B1cG9vbF9yZW5hbWUobGlieGxf Y3R4ICpjdHgsIGNvbnN0IGNoYXIgKm5hbWUsIHVpbnQzMl90IHBvb2xpZCk7CiAvLyBpbnQgbGli eGxfY3B1cG9vbF9jcHVhZGQobGlieGxfY3R4ICpjdHgsIHVpbnQzMl90IHBvb2xpZCwgaW50IGNw dSk7CkBAIC0zNDUsNyArMzc3LDIyIEBAIGZ1bmMgKEN0eCAqQ29udGV4dCkgQ3B1cG9vbEZpbmRC eU5hbWUobmFtZSBzdHJpbmcpIChpbmZvIENwdXBvb2xJbmZvLCBmb3VuZCBib29sCiAvLyBpbnQg bGlieGxfY3B1cG9vbF9tb3ZlZG9tYWluKGxpYnhsX2N0eCAqY3R4LCB1aW50MzJfdCBwb29saWQs IHVpbnQzMl90IGRvbWlkKTsKIC8vIGludCBsaWJ4bF9jcHVwb29sX2luZm8obGlieGxfY3R4ICpj dHgsIGxpYnhsX2NwdXBvb2xpbmZvICppbmZvLCB1aW50MzJfdCBwb29saWQpOwogCi0JCisvLwor Ly8gVXRpbGl0eSBmdW5jdGlvbnMKKy8vCitmdW5jIChDdHggKkNvbnRleHQpIENwdXBvb2xGaW5k QnlOYW1lKG5hbWUgc3RyaW5nKSAoaW5mbyBDcHVwb29sSW5mbywgZm91bmQgYm9vbCkgeworCXBs aXN0IDo9IEN0eC5MaXN0Q3B1cG9vbCgpCisKKwlmb3IgaSA6PSByYW5nZSBwbGlzdCB7CisJCWlm IHBsaXN0W2ldLlBvb2xOYW1lID09IG5hbWUgeworCQkJZm91bmQgPSB0cnVlCisJCQlpbmZvID0g cGxpc3RbaV0KKwkJCXJldHVybgorCQl9CisJfQorCXJldHVybgorfQorCiBmdW5jIFhsVGVzdChB cmdzIFtdc3RyaW5nKSB7CiAJdmFyIEN0eCBDb250ZXh0CiAKQEAgLTM4NCwxNSArNDMxLDE5IEBA IGZ1bmMgWGxUZXN0KEFyZ3MgW11zdHJpbmcpIHsKIAkJfQogCQlmbXQuUHJpbnRmKCJcbiIpCiAJ fSBlbHNlIHsKLQkJZm10LlByaW50Zigic2NoZWRiZW5jaCBub3QgZm91bmQiKQotCX0KKwkJZm10 LlByaW50Zigic2NoZWRiZW5jaCBub3QgZm91bmQsIGNyZWF0aW5nXG4iKQogCi0JcG9vbCwgZm91 bmQgPSBDdHguQ3B1cG9vbEZpbmRCeU5hbWUoInNjaGVkYm5jaCIpCisJCXZhciBDcHVtYXAgQml0 bWFwCisJCXZhciBQb29saWQgdWludDMyCiAKLQlpZiBmb3VuZCB7Ci0JCWZtdC5QcmludGYoIiV2 XG4iLCBwb29sKQotCX0gZWxzZSB7Ci0JCWZtdC5QcmludGYoInNjaGVkYm5jaCBub3QgZm91bmRc biIpCisJCUNwdW1hcC5TZXQoMTUpCisKKwkJZXJyLCBQb29saWQgPSBDdHguQ3B1cG9vbENyZWF0 ZSgic2NoZWRiZW5jaCIsIFNjaGVkdWxlckNyZWRpdCwgQ3B1bWFwKQorCQlpZiBlcnIgIT0gbmls IHsKKwkJCWZtdC5QcmludGYoIkVycm9yIGNyZWF0aW5nIGNwdXBvb2w6ICV2XG4iLCBlcnIpCisJ CX0gZWxzZSB7CisJCQlmbXQuUHJpbnRmKCJQb29sIGlkOiAlZFxuIiwgUG9vbGlkKQorCQl9CiAJ fQogCiAJQ3R4LkNsb3NlKCkKLS0gCjIuNy40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlz dHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==