From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v5 13/21] x86/domctl: Update PV domain cpumasks when setting cpuid policy Date: Thu, 7 Apr 2016 12:57:18 +0100 Message-ID: <1460030246-30153-14-git-send-email-andrew.cooper3@citrix.com> References: <1460030246-30153-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: <1460030246-30153-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 List-Id: xen-devel@lists.xenproject.org VGhpcyBhbGxvd3MgUFYgZG9tYWlucyB3aXRoIGRpZmZlcmVudCBmZWF0dXJlc2V0cyB0byBvYnNl cnZlIGRpZmZlcmVudCB2YWx1ZXMKZnJvbSBhIG5hdGl2ZSBjcHVpZCBpbnN0cnVjdGlvbiwgb24g c3VwcG9ydGluZyBoYXJkd2FyZS4KCkl0IGlzIGltcG9ydGFudCB0byBsZWFrIHRoZSBob3N0IHZp ZXcgb2YgWDJBUElDLCBIVFQgYW5kIENNUF9MRUdBQ1kgdGhyb3VnaCB0bwpndWVzdHMsIGV2ZW4g dGhvdWdoIHRoZXkgY291bGQgYmUgaGlkZGVuLiAgVGhlc2UgZmxhZ3MgYWZmZWN0IGhvdyB0byBp bnRlcnByZXQKb3RoZXIgY3B1aWQgbGVhdmVzIHdoaWNoIGFyZSBub3QgbWFza2FibGUuCgpTaWdu ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpSZXZp ZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KdjI6CiAqIFVzZSBz d2l0Y2goKSByYXRoZXIgdGhhbiBpZi9lbHNlaWYgY2hhaW4KICogQ2xhbXAgdG8gc3RhdGljIFBW IGZlYXR1cmVtYXNrCnYzOgogKiBPbmx5IHNldCBhIHNoYWRvdyBjcHVtYXNrIGlmIGl0IGlzIGF2 YWlsYWJsZSBpbiBoYXJkd2FyZS4gIFRoaXMgY2F1c2VzCiAgIGZld2VyIGJyYW5jaGVzIGluIHRo ZSBjb250ZXh0IHN3aXRjaC4KICogRml4IGludGVyYWN0aW9uIGJldHdlZW4gZmFzdGZvcndhcmQg Yml0cyBhbmQgb3ZlcnJpZGUgTVNSLgogKiBGaXggdXAgdGhlIGNyb3NzLXZlbmRvciBjYXNlLgog KiBGaXggdGhlIGhvc3QgdmlldyBvZiBIVFQvQ01QX0xFR0FDWS4KdjQ6CiAqIE1vcmUgY29tbWVu dHMgZXhwbGFpbmluZyB0aGUgbWFza2luZyBNU1JzIGJlaGF2aW91ci4KICogcy9DUFUvQ1BVSUQv CiAqIExlYWsgaG9zdCBYMkFQSUMuCnY1OgogKiBGaXggY29tbWl0IG1lc3NhZ2Ugd3J0IFgyQVBJ Qy4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgICB8IDEzOCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVh dHVyZS5oIHwgICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKykKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMKaW5k ZXggZTUxODBlZi4uY2JhMWUzNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5jCisr KyBiL3hlbi9hcmNoL3g4Ni9kb21jdGwuYwpAQCAtMzYsNiArMzYsNyBAQAogI2luY2x1ZGUgPGFz bS94c3RhdGUuaD4KICNpbmNsdWRlIDxhc20vZGVidWdnZXIuaD4KICNpbmNsdWRlIDxhc20vcHNy Lmg+CisjaW5jbHVkZSA8YXNtL2NwdWlkLmg+CiAKIHN0YXRpYyBpbnQgZ2Ric3hfZ3Vlc3RfbWVt X2lvKGRvbWlkX3QgZG9taWQsIHN0cnVjdCB4ZW5fZG9tY3RsX2dkYnN4X21lbWlvICppb3ApCiB7 CkBAIC04Nyw2ICs4OCwxNDMgQEAgc3RhdGljIHZvaWQgdXBkYXRlX2RvbWFpbl9jcHVpZF9pbmZv KHN0cnVjdCBkb21haW4gKmQsCiAgICAgICAgIGQtPmFyY2gueDg2X21vZGVsID0gKGN0bC0+ZWF4 ID4+IDQpICYgMHhmOwogICAgICAgICBpZiAoIGQtPmFyY2gueDg2ID49IDB4NiApCiAgICAgICAg ICAgICBkLT5hcmNoLng4Nl9tb2RlbCB8PSAoY3RsLT5lYXggPj4gMTIpICYgMHhmMDsKKworICAg ICAgICBpZiAoIGlzX3B2X2RvbWFpbihkKSAmJiAoKGxldmVsbGluZ19jYXBzICYgTENBUF8xY2Qp ID09IExDQVBfMWNkKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2NF90IG1hc2sgPSBj cHVpZG1hc2tfZGVmYXVsdHMuXzFjZDsKKyAgICAgICAgICAgIHVpbnQzMl90IGVjeCA9IGN0bC0+ ZWN4ICYgcHZfZmVhdHVyZXNldFtGRUFUVVJFU0VUXzFjXTsKKyAgICAgICAgICAgIHVpbnQzMl90 IGVkeCA9IGN0bC0+ZWR4ICYgcHZfZmVhdHVyZXNldFtGRUFUVVJFU0VUXzFkXTsKKworICAgICAg ICAgICAgLyoKKyAgICAgICAgICAgICAqIE11c3QgZXhwb3NlIGhvc3RzIEhUVCBhbmQgWDJBUElD IHZhbHVlIHNvIGEgZ3Vlc3QgdXNpbmcgbmF0aXZlCisgICAgICAgICAgICAgKiBDUFVJRCBjYW4g Y29ycmVjdGx5IGludGVycHJldCBvdGhlciBsZWF2ZXMgd2hpY2ggY2Fubm90IGJlCisgICAgICAg ICAgICAgKiBtYXNrZWQuCisgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgIGlmICggY3B1X2hh c194MmFwaWMgKQorICAgICAgICAgICAgICAgIGVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRV UkVfWDJBUElDKTsKKyAgICAgICAgICAgIGlmICggY3B1X2hhc19odHQgKQorICAgICAgICAgICAg ICAgIGVkeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRVUkVfSFRUKTsKKworICAgICAgICAgICAg c3dpdGNoICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yICkKKyAgICAgICAgICAgIHsKKyAgICAg ICAgICAgIGNhc2UgWDg2X1ZFTkRPUl9JTlRFTDoKKyAgICAgICAgICAgICAgICAvKgorICAgICAg ICAgICAgICAgICAqIEludGVsIG1hc2tpbmcgTVNScyBhcmUgZG9jdW1lbnRlZCBhcyBBTkQgbWFz a3MuCisgICAgICAgICAgICAgICAgICogRXhwZXJpbWVudGFsbHksIHRoZXkgYXJlIGFwcGxpZWQg YmVmb3JlIE9TWFNBVkUgYW5kIEFQSUMKKyAgICAgICAgICAgICAgICAgKiBhcmUgZmFzdC1mb3J3 YXJkZWQgZnJvbSByZWFsIGhhcmR3YXJlIHN0YXRlLgorICAgICAgICAgICAgICAgICAqLworICAg ICAgICAgICAgICAgIG1hc2sgJj0gKCh1aW50NjRfdCllZHggPDwgMzIpIHwgZWN4OworICAgICAg ICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBjYXNlIFg4Nl9WRU5ET1JfQU1EOgorICAg ICAgICAgICAgICAgIG1hc2sgJj0gKCh1aW50NjRfdCllY3ggPDwgMzIpIHwgZWR4OworCisgICAg ICAgICAgICAgICAgLyoKKyAgICAgICAgICAgICAgICAgKiBBTUQgbWFza2luZyBNU1JzIGFyZSBk b2N1bWVudGVkIGFzIG92ZXJyaWRlcy4KKyAgICAgICAgICAgICAgICAgKiBFeHBlcmltZW50YWxs eSwgZmFzdC1mb3J3YXJkaW5nIG9mIHRoZSBPU1hTQVZFIGFuZCBBUElDCisgICAgICAgICAgICAg ICAgICogYml0cyBmcm9tIHJlYWwgaGFyZHdhcmUgc3RhdGUgb25seSBvY2N1cnMgaWYgdGhlIE1T UiBoYXMKKyAgICAgICAgICAgICAgICAgKiB0aGUgcmVzcGVjdGl2ZSBiaXRzIHNldC4KKyAgICAg ICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBpZiAoIGVjeCAmIGNwdWZlYXRfbWFzayhY ODZfRkVBVFVSRV9YU0FWRSkgKQorICAgICAgICAgICAgICAgICAgICBlY3ggPSBjcHVmZWF0X21h c2soWDg2X0ZFQVRVUkVfT1NYU0FWRSk7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg ICAgICAgICAgICBlY3ggPSAwOworICAgICAgICAgICAgICAgIGVkeCA9IGNwdWZlYXRfbWFzayhY ODZfRkVBVFVSRV9BUElDKTsKKworICAgICAgICAgICAgICAgIG1hc2sgfD0gKCh1aW50NjRfdCll Y3ggPDwgMzIpIHwgZWR4OworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor CisgICAgICAgICAgICBkLT5hcmNoLnB2X2RvbWFpbi5jcHVpZG1hc2tzLT5fMWNkID0gbWFzazsK KyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgNjoKKyAgICAgICAgaWYgKCBp c19wdl9kb21haW4oZCkgJiYgKChsZXZlbGxpbmdfY2FwcyAmIExDQVBfNmMpID09IExDQVBfNmMp ICkKKyAgICAgICAgeworICAgICAgICAgICAgdWludDY0X3QgbWFzayA9IGNwdWlkbWFza19kZWZh dWx0cy5fNmM7CisKKyAgICAgICAgICAgIGlmICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09 IFg4Nl9WRU5ET1JfQU1EICkKKyAgICAgICAgICAgICAgICBtYXNrICY9ICh+MFVMTCA8PCAzMikg fCBjdGwtPmVjeDsKKworICAgICAgICAgICAgZC0+YXJjaC5wdl9kb21haW4uY3B1aWRtYXNrcy0+ XzZjID0gbWFzazsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKworICAgIGNhc2UgNzoKKyAg ICAgICAgaWYgKCBjdGwtPmlucHV0WzFdICE9IDAgKQorICAgICAgICAgICAgYnJlYWs7CisKKyAg ICAgICAgaWYgKCBpc19wdl9kb21haW4oZCkgJiYgKChsZXZlbGxpbmdfY2FwcyAmIExDQVBfN2Fi MCkgPT0gTENBUF83YWIwKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIHVpbnQ2NF90IG1hc2sg PSBjcHVpZG1hc2tfZGVmYXVsdHMuXzdhYjA7CisgICAgICAgICAgICB1aW50MzJfdCBlYXggPSBj dGwtPmVheDsKKyAgICAgICAgICAgIHVpbnQzMl90IGVieCA9IGN0bC0+ZWJ4ICYgcHZfZmVhdHVy ZXNldFtGRUFUVVJFU0VUXzdiMF07CisKKyAgICAgICAgICAgIGlmICggYm9vdF9jcHVfZGF0YS54 ODZfdmVuZG9yID09IFg4Nl9WRU5ET1JfQU1EICkKKyAgICAgICAgICAgICAgICBtYXNrICY9ICgo dWludDY0X3QpZWF4IDw8IDMyKSB8IGVieDsKKworICAgICAgICAgICAgZC0+YXJjaC5wdl9kb21h aW4uY3B1aWRtYXNrcy0+XzdhYjAgPSBtYXNrOworICAgICAgICB9CisgICAgICAgIGJyZWFrOwor CisgICAgY2FzZSAweGQ6CisgICAgICAgIGlmICggY3RsLT5pbnB1dFsxXSAhPSAxICkKKyAgICAg ICAgICAgIGJyZWFrOworCisgICAgICAgIGlmICggaXNfcHZfZG9tYWluKGQpICYmICgobGV2ZWxs aW5nX2NhcHMgJiBMQ0FQX0RhMSkgPT0gTENBUF9EYTEpICkKKyAgICAgICAgeworICAgICAgICAg ICAgdWludDY0X3QgbWFzayA9IGNwdWlkbWFza19kZWZhdWx0cy5EYTE7CisgICAgICAgICAgICB1 aW50MzJfdCBlYXggPSBjdGwtPmVheCAmIHB2X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF9EYTFdOwor CisgICAgICAgICAgICBpZiAoIGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciA9PSBYODZfVkVORE9S X0lOVEVMICkKKyAgICAgICAgICAgICAgICBtYXNrICY9ICh+MFVMTCA8PCAzMikgfCBlYXg7CisK KyAgICAgICAgICAgIGQtPmFyY2gucHZfZG9tYWluLmNwdWlkbWFza3MtPkRhMSA9IG1hc2s7Cisg ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisKKyAgICBjYXNlIDB4ODAwMDAwMDE6CisgICAgICAg IGlmICggaXNfcHZfZG9tYWluKGQpICYmICgobGV2ZWxsaW5nX2NhcHMgJiBMQ0FQX2UxY2QpID09 IExDQVBfZTFjZCkgKQorICAgICAgICB7CisgICAgICAgICAgICB1aW50NjRfdCBtYXNrID0gY3B1 aWRtYXNrX2RlZmF1bHRzLmUxY2Q7CisgICAgICAgICAgICB1aW50MzJfdCBlY3ggPSBjdGwtPmVj eCAmIHB2X2ZlYXR1cmVzZXRbRkVBVFVSRVNFVF9lMWNdOworICAgICAgICAgICAgdWludDMyX3Qg ZWR4ID0gY3RsLT5lZHggJiBwdl9mZWF0dXJlc2V0W0ZFQVRVUkVTRVRfZTFkXTsKKworICAgICAg ICAgICAgLyoKKyAgICAgICAgICAgICAqIE11c3QgZXhwb3NlIGhvc3RzIENNUF9MRUdBQ1kgdmFs dWUgc28gYSBndWVzdCB1c2luZyBuYXRpdmUKKyAgICAgICAgICAgICAqIENQVUlEIGNhbiBjb3Jy ZWN0bHkgaW50ZXJwcmV0IG90aGVyIGxlYXZlcyB3aGljaCBjYW5ub3QgYmUKKyAgICAgICAgICAg ICAqIG1hc2tlZC4KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgaWYgKCBjcHVfaGFzX2Nt cF9sZWdhY3kgKQorICAgICAgICAgICAgICAgIGVjeCB8PSBjcHVmZWF0X21hc2soWDg2X0ZFQVRV UkVfQ01QX0xFR0FDWSk7CisKKyAgICAgICAgICAgIC8qIElmIG5vdCBlbXVsYXRpbmcgQU1ELCBj bGVhciB0aGUgZHVwbGljYXRlZCBmZWF0dXJlcyBpbiBlMWQuICovCisgICAgICAgICAgICBpZiAo IGQtPmFyY2gueDg2X3ZlbmRvciAhPSBYODZfVkVORE9SX0FNRCApCisgICAgICAgICAgICAgICAg ZWR4ICY9IH5DUFVJRF9DT01NT05fMURfRkVBVFVSRVM7CisKKyAgICAgICAgICAgIHN3aXRjaCAo IGJvb3RfY3B1X2RhdGEueDg2X3ZlbmRvciApCisgICAgICAgICAgICB7CisgICAgICAgICAgICBj YXNlIFg4Nl9WRU5ET1JfSU5URUw6CisgICAgICAgICAgICAgICAgbWFzayAmPSAoKHVpbnQ2NF90 KWVkeCA8PCAzMikgfCBlY3g7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAg IGNhc2UgWDg2X1ZFTkRPUl9BTUQ6CisgICAgICAgICAgICAgICAgbWFzayAmPSAoKHVpbnQ2NF90 KWVjeCA8PCAzMikgfCBlZHg7CisKKyAgICAgICAgICAgICAgICAvKgorICAgICAgICAgICAgICAg ICAqIEZhc3QtZm9yd2FyZCBiaXRzIC0gTXVzdCBiZSBzZXQgaW4gdGhlIG1hc2tpbmcgTVNSIGZv cgorICAgICAgICAgICAgICAgICAqIGZhc3QtZm9yd2FyZGluZyB0byBvY2N1ciBpbiBoYXJkd2Fy ZS4KKyAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICBlY3ggPSAwOworICAgICAg ICAgICAgICAgIGVkeCA9IGNwdWZlYXRfbWFzayhYODZfRkVBVFVSRV9BUElDKTsKKworICAgICAg ICAgICAgICAgIG1hc2sgfD0gKCh1aW50NjRfdCllY3ggPDwgMzIpIHwgZWR4OworICAgICAgICAg ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBkLT5hcmNoLnB2X2Rv bWFpbi5jcHVpZG1hc2tzLT5lMWNkID0gbWFzazsKKyAgICAgICAgfQogICAgICAgICBicmVhazsK ICAgICB9CiB9CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmUuaCBi L3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCmluZGV4IDlhOTM3OTkuLjk3YzdlOWUg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCisrKyBiL3hlbi9p bmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCkBAIC04NCw2ICs4NCw3IEBACiAjZGVmaW5lIGNw dV9oYXNfbW9uaXRvcgkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX01PTklUT1IpCiAjZGVmaW5l IGNwdV9oYXNfZWlzdAkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0VJU1QpCiAjZGVmaW5lIGNw dV9oYXNfaHlwZXJ2aXNvcglib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSFlQRVJWSVNPUikKKyNk ZWZpbmUgY3B1X2hhc19jbXBfbGVnYWN5CWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DTVBfTEVH QUNZKQogCiBlbnVtIF9jYWNoZV90eXBlIHsKICAgICBDQUNIRV9UWVBFX05VTEwgPSAwLAotLSAK Mi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0 cy54ZW4ub3JnL3hlbi1kZXZlbAo=