From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v6 13/21] x86/domctl: Update PV domain cpumasks when setting cpuid policy Date: Fri, 8 Apr 2016 21:31:49 +0100 Message-ID: <1460147517-11706-14-git-send-email-andrew.cooper3@citrix.com> References: <1460147517-11706-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: <1460147517-11706-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 ZXdlZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogS29u cmFkIFJ6ZXN6dXRlayBXaWxrIDxrb25yYWQud2lsa0BvcmFjbGUuY29tPgotLS0KdjI6CiAqIFVz ZSBzd2l0Y2goKSByYXRoZXIgdGhhbiBpZi9lbHNlaWYgY2hhaW4KICogQ2xhbXAgdG8gc3RhdGlj IFBWIGZlYXR1cmVtYXNrCnYzOgogKiBPbmx5IHNldCBhIHNoYWRvdyBjcHVtYXNrIGlmIGl0IGlz IGF2YWlsYWJsZSBpbiBoYXJkd2FyZS4gIFRoaXMgY2F1c2VzCiAgIGZld2VyIGJyYW5jaGVzIGlu IHRoZSBjb250ZXh0IHN3aXRjaC4KICogRml4IGludGVyYWN0aW9uIGJldHdlZW4gZmFzdGZvcndh cmQgYml0cyBhbmQgb3ZlcnJpZGUgTVNSLgogKiBGaXggdXAgdGhlIGNyb3NzLXZlbmRvciBjYXNl LgogKiBGaXggdGhlIGhvc3QgdmlldyBvZiBIVFQvQ01QX0xFR0FDWS4KdjQ6CiAqIE1vcmUgY29t bWVudHMgZXhwbGFpbmluZyB0aGUgbWFza2luZyBNU1JzIGJlaGF2aW91ci4KICogcy9DUFUvQ1BV SUQvCiAqIExlYWsgaG9zdCBYMkFQSUMuCnY1OgogKiBGaXggY29tbWl0IG1lc3NhZ2Ugd3J0IFgy QVBJQy4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tY3RsLmMgICAgICAgICAgICB8IDEzOCArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvY3B1 ZmVhdHVyZS5oIHwgICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKykKCmRp ZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tY3RsLmMgYi94ZW4vYXJjaC94ODYvZG9tY3RsLmMK aW5kZXggZTUxODBlZi4uY2JhMWUzNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2RvbWN0bC5j 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 aCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCmluZGV4IDlhOTM3OTkuLjk3Yzdl OWUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCisrKyBiL3hl bi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oCkBAIC04NCw2ICs4NCw3IEBACiAjZGVmaW5l IGNwdV9oYXNfbW9uaXRvcgkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX01PTklUT1IpCiAjZGVm aW5lIGNwdV9oYXNfZWlzdAkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0VJU1QpCiAjZGVmaW5l IGNwdV9oYXNfaHlwZXJ2aXNvcglib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfSFlQRVJWSVNPUikK KyNkZWZpbmUgY3B1X2hhc19jbXBfbGVnYWN5CWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9DTVBf TEVHQUNZKQogCiBlbnVtIF9jYWNoZV90eXBlIHsKICAgICBDQUNIRV9UWVBFX05VTEwgPSAwLAot LSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=