From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 20/28] x86/domctl: Update PV domain cpumasks when setting cpuid policy Date: Tue, 15 Mar 2016 15:35:16 +0000 Message-ID: <1458056124-8024-21-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-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: <1458056124-8024-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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyBhbGxvd3MgUFYgZG9tYWlucyB3aXRoIGRpZmZlcmVudCBmZWF0dXJlc2V0cyB0byBvYnNl cnZlIGRpZmZlcmVudCB2YWx1ZXMKZnJvbSBhIG5hdGl2ZSBjcHVpZCBpbnN0cnVjdGlvbiwgb24g c3VwcG9ydGluZyBoYXJkd2FyZS4KCkl0IGlzIGltcG9ydGFudCB0byBsZWFrIHRoZSBob3N0IHZp ZXcgb2YgSFRUIGFuZCBDTVBfTEVHQUNZIHRocm91Z2ggdG8gZ3Vlc3RzLApldmVuIHRob3VnaCB0 aGV5IGNvdWxkIGJlIGhpZGRlbi4gIFRoZXNlIGZsYWdzIGFmZmVjdCBob3cgdG8gaW50ZXJwcmV0 IG90aGVyCmNwdWlkIGxlYXZlcyB3aGljaCBhcmUgbm90IG1hc2thYmxlLgoKU2lnbmVkLW9mZi1i eTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCkNDOiBKYW4g QmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+Cgp2MzoKICogT25seSBzZXQgYSBzaGFkb3cgY3B1 bWFzayBpZiBpdCBpcyBhdmFpbGFibGUgaW4gaGFyZHdhcmUuICBUaGlzIGNhdXNlcwogICBmZXdl ciBicmFuY2hlcyBpbiB0aGUgY29udGV4dCBzd2l0Y2guCiAqIEZpeCBpbnRlcmFjdGlvbiBiZXR3 ZWVuIGZhc3Rmb3J3YXJkIGJpdHMgYW5kIG92ZXJyaWRlIE1TUi4KICogRml4IHVwIHRoZSBjcm9z cy12ZW5kb3IgY2FzZS4KICogRml4IHRoZSBob3N0IHZpZXcgb2YgSFRUL0NNUF9MRUdBQ1kuCnYy OgogKiBVc2Ugc3dpdGNoKCkgcmF0aGVyIHRoYW4gaWYvZWxzZWlmIGNoYWluCiAqIENsYW1wIHRv IHN0YXRpYyBQViBmZWF0dXJlbWFzawotLS0KIHhlbi9hcmNoL3g4Ni9kb21jdGwuYyAgICAgICAg ICAgIHwgMTI0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogeGVuL2lu Y2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggfCAgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxMjUg aW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9kb21jdGwuYyBiL3hlbi9h cmNoL3g4Ni9kb21jdGwuYwppbmRleCBiMzRhMjk1Li44ZGI4ZjNiIDEwMDY0NAotLS0gYS94ZW4v YXJjaC94ODYvZG9tY3RsLmMKKysrIGIveGVuL2FyY2gveDg2L2RvbWN0bC5jCkBAIC0zNiw2ICsz Niw3IEBACiAjaW5jbHVkZSA8YXNtL3hzdGF0ZS5oPgogI2luY2x1ZGUgPGFzbS9kZWJ1Z2dlci5o PgogI2luY2x1ZGUgPGFzbS9wc3IuaD4KKyNpbmNsdWRlIDxhc20vY3B1aWQuaD4KIAogc3RhdGlj IGludCBnZGJzeF9ndWVzdF9tZW1faW8oZG9taWRfdCBkb21pZCwgc3RydWN0IHhlbl9kb21jdGxf Z2Ric3hfbWVtaW8gKmlvcCkKIHsKQEAgLTg3LDYgKzg4LDEyOSBAQCBzdGF0aWMgdm9pZCB1cGRh dGVfZG9tYWluX2NwdWlkX2luZm8oc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgZC0+YXJjaC54 ODZfbW9kZWwgPSAoY3RsLT5lYXggPj4gNCkgJiAweGY7CiAgICAgICAgIGlmICggZC0+YXJjaC54 ODYgPj0gMHg2ICkKICAgICAgICAgICAgIGQtPmFyY2gueDg2X21vZGVsIHw9IChjdGwtPmVheCA+ PiAxMikgJiAweGYwOworCisgICAgICAgIGlmICggaXNfcHZfZG9tYWluKGQpICYmICgobGV2ZWxs aW5nX2NhcHMgJiBMQ0FQXzFjZCkgPT0gTENBUF8xY2QpICkKKyAgICAgICAgeworICAgICAgICAg ICAgdWludDY0X3QgbWFzayA9IGNwdWlkbWFza19kZWZhdWx0cy5fMWNkOworICAgICAgICAgICAg dWludDMyX3QgZWN4ID0gY3RsLT5lY3ggJiBwdl9mZWF0dXJlc2V0W0ZFQVRVUkVTRVRfMWNdOwor ICAgICAgICAgICAgdWludDMyX3QgZWR4ID0gY3RsLT5lZHggJiBwdl9mZWF0dXJlc2V0W0ZFQVRV UkVTRVRfMWRdOworCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogTXVzdCBleHBvc2Ug aG9zdHMgSFRUIHZhbHVlIHNvIGEgZ3Vlc3QgdXNpbmcgbmF0aXZlIENQVSBjYW4KKyAgICAgICAg ICAgICAqIGNvcnJlY3RseSBpbnRlcnByZXQgb3RoZXIgbGVhdmVzIHdoaWNoIGNhbm5vdCBiZSBt YXNrZWQuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGVkeCAmPSB+Y3B1ZmVhdF9tYXNr KFg4Nl9GRUFUVVJFX0hUVCk7CisgICAgICAgICAgICBpZiAoIGNwdV9oYXNfaHR0ICkKKyAgICAg ICAgICAgICAgICBlZHggfD0gY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX0hUVCk7CisKKyAgICAg ICAgICAgIHN3aXRjaCAoIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciApCisgICAgICAgICAgICB7 CisgICAgICAgICAgICBjYXNlIFg4Nl9WRU5ET1JfSU5URUw6CisgICAgICAgICAgICAgICAgbWFz ayAmPSAoKHVpbnQ2NF90KWVkeCA8PCAzMikgfCBlY3g7CisgICAgICAgICAgICAgICAgYnJlYWs7 CisKKyAgICAgICAgICAgIGNhc2UgWDg2X1ZFTkRPUl9BTUQ6CisgICAgICAgICAgICAgICAgbWFz ayAmPSAoKHVpbnQ2NF90KWVjeCA8PCAzMikgfCBlZHg7CisKKyAgICAgICAgICAgICAgICAvKiBG YXN0LWZvcndhcmQgYml0cyAtIE11c3QgYmUgc2V0LiAqLworICAgICAgICAgICAgICAgIGlmIChl Y3ggJiBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfWFNBVkUpKQorICAgICAgICAgICAgICAgICAg ICBlY3ggPSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfT1NYU0FWRSk7CisgICAgICAgICAgICAg ICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBlY3ggPSAwOworICAgICAgICAgICAgICAgIGVk eCA9IGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9BUElDKTsKKworICAgICAgICAgICAgICAgIG1h c2sgfD0gKCh1aW50NjRfdCllY3ggPDwgMzIpIHwgZWR4OworICAgICAgICAgICAgICAgIGJyZWFr OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1h c2tzLT5fMWNkID0gbWFzazsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2Ug NjoKKyAgICAgICAgaWYgKCBpc19wdl9kb21haW4oZCkgJiYgKChsZXZlbGxpbmdfY2FwcyAmIExD QVBfNmMpID09IExDQVBfNmMpICkKKyAgICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgbWFz ayA9IGNwdWlkbWFza19kZWZhdWx0cy5fNmM7CisKKyAgICAgICAgICAgIGlmICggYm9vdF9jcHVf ZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICkKKyAgICAgICAgICAgICAgICBtYXNr ICY9ICh+MFVMTCA8PCAzMikgfCBjdGwtPmVjeDsKKworICAgICAgICAgICAgZC0+YXJjaC5wdl9k b21haW4uY3B1aWRtYXNrcy0+XzZjID0gbWFzazsKKyAgICAgICAgfQorICAgICAgICBicmVhazsK KworICAgIGNhc2UgNzoKKyAgICAgICAgaWYgKCBjdGwtPmlucHV0WzFdICE9IDAgKQorICAgICAg ICAgICAgYnJlYWs7CisKKyAgICAgICAgaWYgKCBpc19wdl9kb21haW4oZCkgJiYgKChsZXZlbGxp bmdfY2FwcyAmIExDQVBfN2FiMCkgPT0gTENBUF83YWIwKSApCisgICAgICAgIHsKKyAgICAgICAg ICAgIHVpbnQ2NF90IG1hc2sgPSBjcHVpZG1hc2tfZGVmYXVsdHMuXzdhYjA7CisgICAgICAgICAg ICB1aW50MzJfdCBlYXggPSBjdGwtPmVheDsKKyAgICAgICAgICAgIHVpbnQzMl90IGVieCA9IGN0 bC0+ZWJ4ICYgcHZfZmVhdHVyZXNldFtGRUFUVVJFU0VUXzdiMF07CisKKyAgICAgICAgICAgIGlm ICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICkKKyAgICAgICAg ICAgICAgICBtYXNrICY9ICgodWludDY0X3QpZWF4IDw8IDMyKSB8IGVieDsKKworICAgICAgICAg ICAgZC0+YXJjaC5wdl9kb21haW4uY3B1aWRtYXNrcy0+XzdhYjAgPSBtYXNrOworICAgICAgICB9 CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSAweGQ6CisgICAgICAgIGlmICggY3RsLT5pbnB1 dFsxXSAhPSAxICkKKyAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGlmICggaXNfcHZfZG9t YWluKGQpICYmICgobGV2ZWxsaW5nX2NhcHMgJiBMQ0FQX0RhMSkgPT0gTENBUF9EYTEpICkKKyAg ICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgbWFzayA9IGNwdWlkbWFza19kZWZhdWx0cy5E YTE7CisgICAgICAgICAgICB1aW50MzJfdCBlYXggPSBjdGwtPmVheCAmIHB2X2ZlYXR1cmVzZXRb RkVBVFVSRVNFVF9EYTFdOworCisgICAgICAgICAgICBpZiAoIGJvb3RfY3B1X2RhdGEueDg2X3Zl bmRvciA9PSBYODZfVkVORE9SX0lOVEVMICkKKyAgICAgICAgICAgICAgICBtYXNrICY9ICh+MFVM TCA8PCAzMikgfCBlYXg7CisKKyAgICAgICAgICAgIGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFz a3MtPkRhMSA9IG1hc2s7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIDB4 ODAwMDAwMDE6CisgICAgICAgIGlmICggaXNfcHZfZG9tYWluKGQpICYmICgobGV2ZWxsaW5nX2Nh cHMgJiBMQ0FQX2UxY2QpID09IExDQVBfZTFjZCkgKQorICAgICAgICB7CisgICAgICAgICAgICB1 aW50NjRfdCBtYXNrID0gY3B1aWRtYXNrX2RlZmF1bHRzLmUxY2Q7CisgICAgICAgICAgICB1aW50 MzJfdCBlY3ggPSBjdGwtPmVjeCAmIHB2X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF9lMWNdOworICAg ICAgICAgICAgdWludDMyX3QgZWR4ID0gY3RsLT5lZHggJiBwdl9mZWF0dXJlc2V0W0ZFQVRVUkVT RVRfZTFkXTsKKworICAgICAgICAgICAgLyogSWYgZW11bGF0aW5nIEludGVsLCBjbGVhciB0aGUg ZHVwbGljYXRlZCBmZWF0dXJlcyBpbiBlMWQuICovCisgICAgICAgICAgICBpZiAoIGQtPmFyY2gu eDg2X3ZlbmRvciA9PSBYODZfVkVORE9SX0lOVEVMICkKKyAgICAgICAgICAgICAgICBlZHggJj0g fkNQVUlEX0NPTU1PTl8xRF9GRUFUVVJFUzsKKworICAgICAgICAgICAgc3dpdGNoICggYm9vdF9j cHVfZGF0YS54ODZfdmVuZG9yICkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgIGNhc2UgWDg2 X1ZFTkRPUl9JTlRFTDoKKyAgICAgICAgICAgICAgICBtYXNrICY9ICgodWludDY0X3QpZWR4IDw8 IDMyKSB8IGVjeDsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgY2FzZSBY ODZfVkVORE9SX0FNRDoKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAgICAqIE11 c3QgZXhwb3NlIGhvc3RzIENNUF9MRUdBQ1kgdmFsdWUgc28gYSBndWVzdCB1c2luZyBuYXRpdmUK KyAgICAgICAgICAgICAgICAgKiBDUFUgY2FuIGNvcnJlY3RseSBpbnRlcnByZXQgb3RoZXIgbGVh dmVzIHdoaWNoIGNhbm5vdCBiZQorICAgICAgICAgICAgICAgICAqIG1hc2tlZC4KKyAgICAgICAg ICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBlY3ggJj0gfmNwdWZlYXRfbWFzayhYODZfRkVB VFVSRV9DTVBfTEVHQUNZKTsKKyAgICAgICAgICAgICAgICBpZiAoIGNwdV9oYXNfY21wX2xlZ2Fj eSApCisgICAgICAgICAgICAgICAgICAgIGVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVf Q01QX0xFR0FDWSk7CisKKyAgICAgICAgICAgICAgICBtYXNrICY9ICgodWludDY0X3QpZWN4IDw8 IDMyKSB8IGVkeDsKKworICAgICAgICAgICAgICAgIC8qIEZhc3QtZm9yd2FyZCBiaXRzIC0gTXVz dCBiZSBzZXQuICovCisgICAgICAgICAgICAgICAgZWN4ID0gMDsKKyAgICAgICAgICAgICAgICBl ZHggPSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfQVBJQyk7CisKKyAgICAgICAgICAgICAgICBt YXNrIHw9ICgodWludDY0X3QpZWN4IDw8IDMyKSB8IGVkeDsKKyAgICAgICAgICAgICAgICBicmVh azsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZC0+YXJjaC5wdl9kb21haW4uY3B1aWRt YXNrcy0+ZTFjZCA9IG1hc2s7CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7CiAgICAgfQogfQpk aWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2NwdWZlYXR1cmUuaAppbmRleCA1MDQxNGUzLi43OTIzNmVhIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaAorKysgYi94ZW4vaW5jbHVkZS9hc20t eDg2L2NwdWZlYXR1cmUuaApAQCAtODEsNiArODEsNyBAQAogI2RlZmluZSBjcHVfaGFzX3hzYXZl YwkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hTQVZFQykKICNkZWZpbmUgY3B1X2hhc194Z2V0 YnYxCQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWEdFVEJWMSkKICNkZWZpbmUgY3B1X2hhc194 c2F2ZXMJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YU0FWRVMpCisjZGVmaW5lIGNwdV9oYXNf Y21wX2xlZ2FjeQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfQ01QX0xFR0FDWSkKICNkZWZpbmUg Y3B1X2hhc19oeXBlcnZpc29yCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9IWVBFUlZJU09SKQog CiBlbnVtIF9jYWNoZV90eXBlIHsKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVuLm9yZwpodHRwOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK