From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v4 18/26] x86/domctl: Update PV domain cpumasks when setting cpuid policy Date: Wed, 23 Mar 2016 16:36:21 +0000 Message-ID: <1458750989-28967-19-git-send-email-andrew.cooper3@citrix.com> References: <1458750989-28967-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: <1458750989-28967-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+Cgp2MjoKICogVXNlIHN3aXRjaCgpIHJhdGhlciB0 aGFuIGlmL2Vsc2VpZiBjaGFpbgogKiBDbGFtcCB0byBzdGF0aWMgUFYgZmVhdHVyZW1hc2sKdjM6 CiAqIE9ubHkgc2V0IGEgc2hhZG93IGNwdW1hc2sgaWYgaXQgaXMgYXZhaWxhYmxlIGluIGhhcmR3 YXJlLiAgVGhpcyBjYXVzZXMKICAgZmV3ZXIgYnJhbmNoZXMgaW4gdGhlIGNvbnRleHQgc3dpdGNo LgogKiBGaXggaW50ZXJhY3Rpb24gYmV0d2VlbiBmYXN0Zm9yd2FyZCBiaXRzIGFuZCBvdmVycmlk ZSBNU1IuCiAqIEZpeCB1cCB0aGUgY3Jvc3MtdmVuZG9yIGNhc2UuCiAqIEZpeCB0aGUgaG9zdCB2 aWV3IG9mIEhUVC9DTVBfTEVHQUNZLgp2NDoKICogTW9yZSBjb21tZW50cyBleHBsYWluaW5nIHRo ZSBtYXNraW5nIE1TUnMgYmVoYXZpb3VyLgogKiBzL0NQVS9DUFVJRC8KICogTGVhayBob3N0IFgy QVBJQy4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgICB8IDEzOCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1 ZmVhdHVyZS5oIHwgICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMK aW5kZXggYjdjN2Y0Mi4uNDAzYmFlOCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5j CisrKyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUg PGFzbS94c3RhdGUuaD4KICNpbmNsdWRlIDxhc20vZGVidWdnZXIuaD4KICNpbmNsdWRlIDxhc20v cHNyLmg+CisjaW5jbHVkZSA8YXNtL2NwdWlkLmg+CiAKIHN0YXRpYyBpbnQgZ2Ric3hfZ3Vlc3Rf bWVtX2lvKGRvbWlkX3QgZG9taWQsIHN0cnVjdCB4ZW5fZG9tY3RsX2dkYnN4X21lbWlvICppb3Ap CiB7CkBAIC04Nyw2ICs4OCwxNDMgQEAgc3RhdGljIHZvaWQgdXBkYXRlX2RvbWFpbl9jcHVpZF9p bmZvKHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgIGQtPmFyY2gueDg2X21vZGVsID0gKGN0bC0+ ZWF4ID4+IDQpICYgMHhmOwogICAgICAgICBpZiAoIGQtPmFyY2gueDg2ID49IDB4NiApCiAgICAg ICAgICAgICBkLT5hcmNoLng4Nl9tb2RlbCB8PSAoY3RsLT5lYXggPj4gMTIpICYgMHhmMDsKKwor ICAgICAgICBpZiAoIGlzX3B2X2RvbWFpbihkKSAmJiAoKGxldmVsbGluZ19jYXBzICYgTENBUF8x Y2QpID09IExDQVBfMWNkKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2NF90IG1hc2sg PSBjcHVpZG1hc2tfZGVmYXVsdHMuXzFjZDsKKyAgICAgICAgICAgIHVpbnQzMl90IGVjeCA9IGN0 bC0+ZWN4ICYgcHZfZmVhdHVyZXNldFtGRUFUVVJFU0VUXzFjXTsKKyAgICAgICAgICAgIHVpbnQz Ml90IGVkeCA9IGN0bC0+ZWR4ICYgcHZfZmVhdHVyZXNldFtGRUFUVVJFU0VUXzFkXTsKKworICAg ICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIE11c3QgZXhwb3NlIGhvc3RzIEhUVCBhbmQgWDJB UElDIHZhbHVlIHNvIGEgZ3Vlc3QgdXNpbmcgbmF0aXZlCisgICAgICAgICAgICAgKiBDUFVJRCBj YW4gY29ycmVjdGx5IGludGVycHJldCBvdGhlciBsZWF2ZXMgd2hpY2ggY2Fubm90IGJlCisgICAg ICAgICAgICAgKiBtYXNrZWQuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggY3B1 X2hhc194MmFwaWMgKQorICAgICAgICAgICAgICAgIGVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZF QVRVUkVfWDJBUElDKTsKKyAgICAgICAgICAgIGlmICggY3B1X2hhc19odHQgKQorICAgICAgICAg ICAgICAgIGVkeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSFRUKTsKKworICAgICAgICAg ICAgc3dpdGNoICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICkKKyAgICAgICAgICAgIHsKKyAg ICAgICAgICAgIGNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKKyAgICAgICAgICAgICAgICAvKgorICAg ICAgICAgICAgICAgICAqIEludGVsIG1hc2tpbmcgTVNScyBhcmUgZG9jdW1lbnRlZCBhcyBBTkQg bWFza3MuCisgICAgICAgICAgICAgICAgICogRXhwZXJpbWVudGFsbHksIHRoZXkgYXJlIGFwcGxp ZWQgYmVmb3JlIE9TWFNBVkUgYW5kIEFQSUMKKyAgICAgICAgICAgICAgICAgKiBhcmUgZmFzdC1m b3J3YXJkZWQgZnJvbSByZWFsIGhhcmR3YXJlIHN0YXRlLgorICAgICAgICAgICAgICAgICAqLwor ICAgICAgICAgICAgICAgIG1hc2sgJj0gKCh1aW50NjRfdCllZHggPDwgMzIpIHwgZWN4OworICAg ICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFg4Nl9WRU5ET1JfQU1EOgor ICAgICAgICAgICAgICAgIG1hc2sgJj0gKCh1aW50NjRfdCllY3ggPDwgMzIpIHwgZWR4OworCisg ICAgICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBBTUQgbWFza2luZyBNU1JzIGFy ZSBkb2N1bWVudGVkIGFzIG92ZXJyaWRlcy4KKyAgICAgICAgICAgICAgICAgKiBFeHBlcmltZW50 YWxseSwgZmFzdC1mb3J3YXJkaW5nIG9mIHRoZSBPU1hTQVZFIGFuZCBBUElDCisgICAgICAgICAg ICAgICAgICogYml0cyBmcm9tIHJlYWwgaGFyZHdhcmUgc3RhdGUgb25seSBvY2N1cnMgaWYgdGhl IE1TUiBoYXMKKyAgICAgICAgICAgICAgICAgKiB0aGUgcmVzcGVjdGl2ZSBiaXRzIHNldC4KKyAg ICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBpZiAoIGVjeCAmIGNwdWZlYXRfbWFz ayhYODZfRkVBVFVSRV9YU0FWRSkgKQorICAgICAgICAgICAgICAgICAgICBlY3ggPSBjcHVmZWF0 X21hc2soWDg2X0ZFQVRVUkVfT1NYU0FWRSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAg ICAgICAgICAgICAgICBlY3ggPSAwOworICAgICAgICAgICAgICAgIGVkeCA9IGNwdWZlYXRfbWFz ayhYODZfRkVBVFVSRV9BUElDKTsKKworICAgICAgICAgICAgICAgIG1hc2sgfD0gKCh1aW50NjRf dCllY3ggPDwgMzIpIHwgZWR4OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg fQorCisgICAgICAgICAgICBkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tzLT5fMWNkID0gbWFz azsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgNjoKKyAgICAgICAgaWYg KCBpc19wdl9kb21haW4oZCkgJiYgKChsZXZlbGxpbmdfY2FwcyAmIExDQVBfNmMpID09IExDQVBf NmMpICkKKyAgICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgbWFzayA9IGNwdWlkbWFza19k ZWZhdWx0cy5fNmM7CisKKyAgICAgICAgICAgIGlmICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9y ID09IFg4Nl9WRU5ET1JfQU1EICkKKyAgICAgICAgICAgICAgICBtYXNrICY9ICh+MFVMTCA8PCAz MikgfCBjdGwtPmVjeDsKKworICAgICAgICAgICAgZC0+YXJjaC5wdl9kb21haW4uY3B1aWRtYXNr cy0+XzZjID0gbWFzazsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgNzoK KyAgICAgICAgaWYgKCBjdGwtPmlucHV0WzFdICE9IDAgKQorICAgICAgICAgICAgYnJlYWs7CisK KyAgICAgICAgaWYgKCBpc19wdl9kb21haW4oZCkgJiYgKChsZXZlbGxpbmdfY2FwcyAmIExDQVBf N2FiMCkgPT0gTENBUF83YWIwKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2NF90IG1h c2sgPSBjcHVpZG1hc2tfZGVmYXVsdHMuXzdhYjA7CisgICAgICAgICAgICB1aW50MzJfdCBlYXgg PSBjdGwtPmVheDsKKyAgICAgICAgICAgIHVpbnQzMl90IGVieCA9IGN0bC0+ZWJ4ICYgcHZfZmVh dHVyZXNldFtGRUFUVVJFU0VUXzdiMF07CisKKyAgICAgICAgICAgIGlmICggYm9vdF9jcHVfZGF0 YS54ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICkKKyAgICAgICAgICAgICAgICBtYXNrICY9 ICgodWludDY0X3QpZWF4IDw8IDMyKSB8IGVieDsKKworICAgICAgICAgICAgZC0+YXJjaC5wdl9k b21haW4uY3B1aWRtYXNrcy0+XzdhYjAgPSBtYXNrOworICAgICAgICB9CisgICAgICAgIGJyZWFr OworCisgICAgY2FzZSAweGQ6CisgICAgICAgIGlmICggY3RsLT5pbnB1dFsxXSAhPSAxICkKKyAg ICAgICAgICAgIGJyZWFrOworCisgICAgICAgIGlmICggaXNfcHZfZG9tYWluKGQpICYmICgobGV2 ZWxsaW5nX2NhcHMgJiBMQ0FQX0RhMSkgPT0gTENBUF9EYTEpICkKKyAgICAgICAgeworICAgICAg ICAgICAgdWludDY0X3QgbWFzayA9IGNwdWlkbWFza19kZWZhdWx0cy5EYTE7CisgICAgICAgICAg ICB1aW50MzJfdCBlYXggPSBjdGwtPmVheCAmIHB2X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF9EYTFd OworCisgICAgICAgICAgICBpZiAoIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVO RE9SX0lOVEVMICkKKyAgICAgICAgICAgICAgICBtYXNrICY9ICh+MFVMTCA8PCAzMikgfCBlYXg7 CisKKyAgICAgICAgICAgIGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3MtPkRhMSA9IG1hc2s7 CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIDB4ODAwMDAwMDE6CisgICAg ICAgIGlmICggaXNfcHZfZG9tYWluKGQpICYmICgobGV2ZWxsaW5nX2NhcHMgJiBMQ0FQX2UxY2Qp ID09IExDQVBfZTFjZCkgKQorICAgICAgICB7CisgICAgICAgICAgICB1aW50NjRfdCBtYXNrID0g Y3B1aWRtYXNrX2RlZmF1bHRzLmUxY2Q7CisgICAgICAgICAgICB1aW50MzJfdCBlY3ggPSBjdGwt PmVjeCAmIHB2X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF9lMWNdOworICAgICAgICAgICAgdWludDMy X3QgZWR4ID0gY3RsLT5lZHggJiBwdl9mZWF0dXJlc2V0W0ZFQVRVUkVTRVRfZTFkXTsKKworICAg ICAgICAgICAgLyoKKyAgICAgICAgICAgICAqIE11c3QgZXhwb3NlIGhvc3RzIENNUF9MRUdBQ1kg dmFsdWUgc28gYSBndWVzdCB1c2luZyBuYXRpdmUKKyAgICAgICAgICAgICAqIENQVUlEIGNhbiBj b3JyZWN0bHkgaW50ZXJwcmV0IG90aGVyIGxlYXZlcyB3aGljaCBjYW5ub3QgYmUKKyAgICAgICAg ICAgICAqIG1hc2tlZC4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKCBjcHVfaGFz X2NtcF9sZWdhY3kgKQorICAgICAgICAgICAgICAgIGVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZF QVRVUkVfQ01QX0xFR0FDWSk7CisKKyAgICAgICAgICAgIC8qIElmIG5vdCBlbXVsYXRpbmcgQU1E LCBjbGVhciB0aGUgZHVwbGljYXRlZCBmZWF0dXJlcyBpbiBlMWQuICovCisgICAgICAgICAgICBp ZiAoIGQtPmFyY2gueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0FNRCApCisgICAgICAgICAgICAg ICAgZWR4ICY9IH5DUFVJRF9DT01NT05fMURfRkVBVFVSRVM7CisKKyAgICAgICAgICAgIHN3aXRj aCAoIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciApCisgICAgICAgICAgICB7CisgICAgICAgICAg ICBjYXNlIFg4Nl9WRU5ET1JfSU5URUw6CisgICAgICAgICAgICAgICAgbWFzayAmPSAoKHVpbnQ2 NF90KWVkeCA8PCAzMikgfCBlY3g7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAg ICAgIGNhc2UgWDg2X1ZFTkRPUl9BTUQ6CisgICAgICAgICAgICAgICAgbWFzayAmPSAoKHVpbnQ2 NF90KWVjeCA8PCAzMikgfCBlZHg7CisKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAg ICAgICAqIEZhc3QtZm9yd2FyZCBiaXRzIC0gTXVzdCBiZSBzZXQgaW4gdGhlIG1hc2tpbmcgTVNS IGZvcgorICAgICAgICAgICAgICAgICAqIGZhc3QtZm9yd2FyZGluZyB0byBvY2N1ciBpbiBoYXJk d2FyZS4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBlY3ggPSAwOworICAg ICAgICAgICAgICAgIGVkeCA9IGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9BUElDKTsKKworICAg ICAgICAgICAgICAgIG1hc2sgfD0gKCh1aW50NjRfdCllY3ggPDwgMzIpIHwgZWR4OworICAgICAg ICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkLT5hcmNoLnB2 X2RvbWFpbi5jcHVpZG1hc2tzLT5lMWNkID0gbWFzazsKKyAgICAgICAgfQogICAgICAgICBicmVh azsKICAgICB9CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUu aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCmluZGV4IDg0ZDMyMjAuLmFlN2I0 N2IgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCkBAIC04MSw2ICs4MSw3IEBACiAjZGVmaW5l IGNwdV9oYXNfeHNhdmVjCQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWFNBVkVDKQogI2RlZmlu ZSBjcHVfaGFzX3hnZXRidjEJCWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YR0VUQlYxKQogI2Rl ZmluZSBjcHVfaGFzX3hzYXZlcwkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hTQVZFUykKKyNk ZWZpbmUgY3B1X2hhc19jbXBfbGVnYWN5CWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DTVBfTEVH QUNZKQogI2RlZmluZSBjcHVfaGFzX2h5cGVydmlzb3IJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJF X0hZUEVSVklTT1IpCiAKIGVudW0gX2NhY2hlX3R5cGUgewotLSAKMi4xLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=