From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH 3/3] x86: check feature flags after resume Date: Fri, 13 Apr 2018 05:58:09 -0600 Message-ID: <5AD09B5102000078001BB0F7@prv1-mh.provo.novell.com> References: <5AD0993002000078001BB0D0@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1f6xLI-0008Vz-4D for xen-devel@lists.xenproject.org; Fri, 13 Apr 2018 11:58:12 +0000 In-Reply-To: <5AD0993002000078001BB0D0@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Simon Gaiser , Andrew Cooper , Juergen Gross List-Id: xen-devel@lists.xenproject.org TWFrZSBzdXJlIG5vIHByZXZpb3VzbHkgcHJlc2VudCBmZWF0dXJlcyBhcmUgbWlzc2luZyBhZnRl ciByZXN1bWUgKGFuZAp0aGUgcmUtbG9hZGluZyBvZiBtaWNyb2NvZGUpLCB0byBhdm9pZCBsYXRl ciBjcmFzaGVzIG9yIChsaWtlbHkgc2lsZW50KQpoYW5ncyAvIGxpdmUgbG9ja3MuIFRoaXMgZG9l c24ndCBnbyBiZXlvbmQgY2hlY2tpbmcgeDg2X2NhcGFiaWxpdHlbXSwKYnV0IHRoaXMgc2hvdWxk IGJlIGdvb2QgZW5vdWdoIGZvciB0aGUgaW1tZWRpYXRlIG5lZWQgb2YgbWFraW5nIHN1cmUKdGhh dCB0aGUgQklUIG1pdGlnYXRpb24gTVNScyBhcmUgc3RpbGwgYXZhaWxhYmxlLgoKU2lnbmVkLW9m Zi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgoKLS0tIGEveGVuL2FyY2gveDg2 L2FjcGkvcG93ZXIuYworKysgYi94ZW4vYXJjaC94ODYvYWNwaS9wb3dlci5jCkBAIC0yNTQsNiAr MjU0LDkgQEAgc3RhdGljIGludCBlbnRlcl9zdGF0ZSh1MzIgc3RhdGUpCiAKICAgICBtaWNyb2Nv ZGVfcmVzdW1lX2NwdSgwKTsKIAorICAgIGlmICggIXJlY2hlY2tfY3B1X2ZlYXR1cmVzKDApICkK KyAgICAgICAgcGFuaWMoIk1pc3NpbmcgcHJldmlvdXNseSBhdmFpbGFibGUgZmVhdHVyZShzKS4i KTsKKwogICAgIGNpLT5idGlfaXN0X2luZm8gPSBkZWZhdWx0X2J0aV9pc3RfaW5mbzsKICAgICBh c20gdm9sYXRpbGUgKEFMVEVSTkFUSVZFKCIiLCAid3Jtc3IiLCBYODZfRkVBVFVSRV9YRU5fSUJS U19TRVQpCiAgICAgICAgICAgICAgICAgICA6OiAiYSIgKFNQRUNfQ1RSTF9JQlJTKSwgImMiIChN U1JfU1BFQ19DVFJMKSwgImQiICgwKQotLS0gYS94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCisr KyBiL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKQEAgLTUwMSw2ICs1MDEsOSBAQCB2b2lkIGlk ZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAJcHJpbnRrKCJcbiIpOwogI2VuZGlm CiAKKwlpZiAoc3lzdGVtX3N0YXRlID09IFNZU19TVEFURV9yZXN1bWUpCisJCXJldHVybjsKKwog CS8qCiAJICogT24gU01QLCBib290X2NwdV9kYXRhIGhvbGRzIHRoZSBjb21tb24gZmVhdHVyZSBz ZXQgYmV0d2VlbgogCSAqIGFsbCBDUFVzOyBzbyBtYWtlIHN1cmUgdGhhdCB3ZSBpbmRpY2F0ZSB3 aGljaCBmZWF0dXJlcyBhcmUKLS0tIGEveGVuL2FyY2gveDg2L2NwdWlkLmMKKysrIGIveGVuL2Fy Y2gveDg2L2NwdWlkLmMKQEAgLTQ3Myw2ICs0NzMsMjggQEAgdm9pZCBfX2luaXQgaW5pdF9ndWVz dF9jcHVpZCh2b2lkKQogICAgIGNhbGN1bGF0ZV9odm1fbWF4X3BvbGljeSgpOwogfQogCitib29s IHJlY2hlY2tfY3B1X2ZlYXR1cmVzKHVuc2lnbmVkIGludCBjcHUpCit7CisgICAgYm9vbCBva2F5 ID0gdHJ1ZTsKKyAgICBzdHJ1Y3QgY3B1aW5mb194ODYgYzsKKyAgICBjb25zdCBzdHJ1Y3QgY3B1 aW5mb194ODYgKmJzcCA9ICZib290X2NwdV9kYXRhOworICAgIHVuc2lnbmVkIGludCBpOworCisg ICAgaWRlbnRpZnlfY3B1KCZjKTsKKworICAgIGZvciAoIGkgPSAwOyBpIDwgTkNBUElOVFM7ICsr aSApCisgICAgeworICAgICAgICBpZiAoICEofmMueDg2X2NhcGFiaWxpdHlbaV0gJiBic3AtPng4 Nl9jYXBhYmlsaXR5W2ldKSApCisgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICBwcmlu dGsoWEVOTE9HX0VSUiAiQ1BVJXU6IGNhcFslMnVdIGlzICUwOHggKGV4cGVjdGVkICUwOHgpXG4i LAorICAgICAgICAgICAgICAgY3B1LCBpLCBjLng4Nl9jYXBhYmlsaXR5W2ldLCBic3AtPng4Nl9j YXBhYmlsaXR5W2ldKTsKKyAgICAgICAgb2theSA9IGZhbHNlOworICAgIH0KKworICAgIHJldHVy biBva2F5OworfQorCiBjb25zdCB1aW50MzJfdCAqbG9va3VwX2RlZXBfZGVwcyh1aW50MzJfdCBm ZWF0dXJlKQogewogICAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgewotLS0gYS94ZW4vYXJjaC94ODYv c21wYm9vdC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zbXBib290LmMKQEAgLTkwLDExICs5MCwxNCBA QCB2b2lkIGluaXRpYWxpemVfY3B1X2RhdGEodW5zaWduZWQgaW50IGNwCiAgICAgY3B1X2RhdGFb Y3B1XSA9IGJvb3RfY3B1X2RhdGE7CiB9CiAKLXN0YXRpYyB2b2lkIHNtcF9zdG9yZV9jcHVfaW5m byhpbnQgaWQpCitzdGF0aWMgYm9vbCBzbXBfc3RvcmVfY3B1X2luZm8odW5zaWduZWQgaW50IGlk KQogewogICAgIHVuc2lnbmVkIGludCBzb2NrZXQ7CiAKLSAgICBpZGVudGlmeV9jcHUoJmNwdV9k YXRhW2lkXSk7CisgICAgaWYgKCBzeXN0ZW1fc3RhdGUgIT0gU1lTX1NUQVRFX3Jlc3VtZSApCisg ICAgICAgIGlkZW50aWZ5X2NwdSgmY3B1X2RhdGFbaWRdKTsKKyAgICBlbHNlIGlmICggIXJlY2hl Y2tfY3B1X2ZlYXR1cmVzKGlkKSApCisgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHNvY2tl dCA9IGNwdV90b19zb2NrZXQoaWQpOwogICAgIGlmICggIXNvY2tldF9jcHVtYXNrW3NvY2tldF0g KQpAQCAtMTAyLDYgKzEwNSw4IEBAIHN0YXRpYyB2b2lkIHNtcF9zdG9yZV9jcHVfaW5mbyhpbnQg aWQpCiAgICAgICAgIHNvY2tldF9jcHVtYXNrW3NvY2tldF0gPSBzZWNvbmRhcnlfc29ja2V0X2Nw dW1hc2s7CiAgICAgICAgIHNlY29uZGFyeV9zb2NrZXRfY3B1bWFzayA9IE5VTEw7CiAgICAgfQor CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIC8qCkBAIC0xODcsMTIgKzE5MiwxOSBAQCBzdGF0aWMg dm9pZCBzbXBfY2FsbGluKHZvaWQpCiAgICAgc2V0dXBfbG9jYWxfQVBJQygpOwogCiAgICAgLyog U2F2ZSBvdXIgcHJvY2Vzc29yIHBhcmFtZXRlcnMuICovCi0gICAgc21wX3N0b3JlX2NwdV9pbmZv KGNwdSk7CisgICAgaWYgKCAhc21wX3N0b3JlX2NwdV9pbmZvKGNwdSkgKQorICAgIHsKKyAgICAg ICAgcHJpbnRrKCJDUFUldTogRmFpbGVkIHRvIHZhbGlkYXRlIGZlYXR1cmVzIC0gbm90IGNvbWlu ZyBiYWNrIG9ubGluZVxuIiwKKyAgICAgICAgICAgICAgIGNwdSk7CisgICAgICAgIGNwdV9lcnJv ciA9IC1FTlhJTzsKKyAgICAgICAgZ290byBoYWx0OworICAgIH0KIAogICAgIGlmICggKHJjID0g aHZtX2NwdV91cCgpKSAhPSAwICkKICAgICB7CiAgICAgICAgIHByaW50aygiQ1BVJWQ6IEZhaWxl ZCB0byBpbml0aWFsaXNlIEhWTS4gTm90IGNvbWluZyBvbmxpbmUuXG4iLCBjcHUpOwogICAgICAg ICBjcHVfZXJyb3IgPSByYzsKKyAgICBoYWx0OgogICAgICAgICBjbGVhcl9sb2NhbF9BUElDKCk7 CiAgICAgICAgIHNwaW5fZGVidWdfZW5hYmxlKCk7CiAgICAgICAgIGNwdV9leGl0X2NsZWFyKGNw dSk7Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1aWQuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L2NwdWlkLmgKQEAgLTI1Myw2ICsyNTMsOSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgY3B1 aWRfZmVhdHVyZXNldF90b19wCiBleHRlcm4gc3RydWN0IGNwdWlkX3BvbGljeSByYXdfY3B1aWRf cG9saWN5LCBob3N0X2NwdWlkX3BvbGljeSwKICAgICBwdl9tYXhfY3B1aWRfcG9saWN5LCBodm1f bWF4X2NwdWlkX3BvbGljeTsKIAorLyogQ2hlY2sgdGhhdCBhbGwgcHJldmlvdXNseSBwcmVzZW50 IGZlYXR1cmVzIGFyZSBzdGlsbCBhdmFpbGFibGUuICovCitib29sIHJlY2hlY2tfY3B1X2ZlYXR1 cmVzKHVuc2lnbmVkIGludCBjcHUpOworCiAvKiBBbGxvY2F0ZSBhbmQgaW5pdGlhbGlzZSBhIENQ VUlEIHBvbGljeSBzdWl0YWJsZSBmb3IgdGhlIGRvbWFpbi4gKi8KIGludCBpbml0X2RvbWFpbl9j cHVpZF9wb2xpY3koc3RydWN0IGRvbWFpbiAqZCk7CiAKCgoKCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1k ZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21h aWxtYW4vbGlzdGluZm8veGVuLWRldmVs