From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 5/5] x86/msr: Fix handling of MSR_AMD_PATCHLEVEL/MSR_IA32_UCODE_REV Date: Thu, 4 Apr 2019 21:26:32 +0100 Message-ID: <1554409592-28572-6-git-send-email-andrew.cooper3@citrix.com> References: <1554409592-28572-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: <1554409592-28572-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Wei Liu , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhlcmUgYXJlIGEgbnVtYmVyIG9mIGJ1Z3MuICBUaGVyZSBhcmUgbm8gcmVhZC93cml0ZSBob29r cyBvbiB0aGUgSFZNIHNpZGUsIHNvCmd1ZXN0IGFjY2Vzc2VzIGZhbGwgaW50byB0aGUgInJlYWQv d3JpdGUtZGlzY2FyZCIgZGVmYXVsdHMsIHdoaWNoIGJ5cGFzcyB0aGUKY29ycmVjdCBmYXVsdGlu ZyBiZWhhdmlvdXIgYW5kIHRoZSBJbnRlbCBzcGVjaWFsIGNhc2UuCgpGb3IgdGhlIFBWIHNpZGUs IHdyaXRlcyBhcmUgZGlzY2FyZGVkIChhZ2FpbiwgYnlwYXNzaW5nIHByb3BlciBmYXVsdGluZyks CmV4Y2VwdCBmb3IgYSBwaW5uZWQgZG9tMCwgd2hpY2ggaXMgcGVybWl0dGVkIHRvIGFjdHVhbGx5 IHdyaXRlIHRoZSB2YWx1ZXMKb3RoZXIgdGhhbiAwLiAgVGhpcyBpcyBwb2ludGxlc3Mgd2l0aCBy ZWFkIGhvb2sgaW1wbGVtZW50aW5nIHRoZSBJbnRlbCBzcGVjaWFsCmNhc2UuCgpIb3dldmVyLCBp bXBsZW1lbnRpbmcgdGhlIEludGVsIHNwZWNpYWwgY2FzZSBpcyBpdHNlbGYgcG9pbnRsZXNzLiAg Rmlyc3Qgb2YKYWxsLCBPUyBzb2Z0d2FyZSBjYW4ndCBndWFyZW50ZWUgdG8gcmVhZCBiYWNrIDAg aW4gdGhlIGZpcnN0IHBsYWNlLCBiZWNhdXNlIGEpCnRoaXMgYmVoYXZpb3VyIGlzbid0IGd1YXJl bnRlZWQgaW4gdGhlIFNETSwgYW5kIGIpIHRoZXJlIGFyZSBTTU0gaGFuZGxlcnMKd2hpY2ggdXNl IHRoZSBDUFVJRCBpbnN0cnVjdGlvbi4gIFNlY29uZGx5LCB3aGVuIGEgZ3Vlc3QgZXhlY3V0ZXMg Q1BVSUQsIHRoaXMKZG9lc24ndCB0eXBpY2FsbHkgcmVzdWx0IGluIFhlbiBleGVjdXRpbmcgYSBD UFVJRCBpbnN0cnVjdGlvbiBpbiBwcmFjdGljZS4KCldpdGggdGhlIGRvbTAgc3BlY2lhbCBjYXNl IHJlbW92ZWQsIHRoZXJlIGFyZSBub3cgbm8gd3JpdGVzIHRvIHRoaXMgTVNSIG90aGVyCnRoYW4g WGVuJ3MgbWljcm9jb2RlIGxvYWRpbmcgZmFjaWxpdGllcywgd2hpY2ggbWVhbnMgdGhhdCB0aGUg dmFsdWUgaGVsZCBpbgp0aGUgTVNSIHdpbGwgYmUgcHJvcGVybHkgdXAtdG8tZGF0ZS4gIEZvcndh cmQgaXQgZGlyZWN0bHksIHdpdGhvdXQganVtcGluZwp0aHJvdWdoIGFueSBob29wcy4KClNpZ25l ZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+ClJldmll d2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpDQzogV2VpIExpdSA8 d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRy aXguY29tPgoKdjI6CiAqIFJlYmFzZSBvdmVyIFg4Nl9WRU5ET1JfKiBiaXRtYXAgc2VyaWVzLCB0 byBzaW1wbGlmeSB0aGUgZ3Vlc3RfcmRtc3IoKQogICBleHByZXNzaW9uLgoKVGhlIG1pZ3JhdGlv biBjYXNlIGlzIGNvbXBsaWNhdGVkLiAgQSBndWVzdCB3aGljaCByZS1ldmFsdWF0ZXMgaXRzIGlk ZWEgb2YgdGhlCndvcmxkIG1heSBmaW5kIHNvbWV0aGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCwg YnV0IHRoaXMgaXMgcHJvYmFibHkgbGVzcyBiYWQKbGV0dGluZyBpdCBzZWUgdGhlIHdyb25nIG1p Y3JvY29kZSB2ZXJzaW9uLiAgVGhlIGNyb3NzLXZlbmRvciBjYXNlIGlzIGV2ZW4Kd29yc2UsIGJl Y2F1c2UgSW50ZWwgYW5kIEFNRCByZXBvcnQgdGhlIHZlcnNpb24gaW4gZGlmZmVyZW50IDMyYml0 IHdvcmRzIGluCnRoaXMgTVNSLiAgVGhlIHJlc3VsdCBoZXJlIGlzIGZhaXJseSBjbG9zZSB0byBj dXJyZW50IGJlaGF2aW91ci4KLS0tCiB4ZW4vYXJjaC94ODYvbXNyLmMgICAgICAgICAgICAgfCAz NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYvcHYvZW11 bC1wcml2LW9wLmMgfCAyMiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQs IDM0IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNo L3g4Ni9tc3IuYyBiL3hlbi9hcmNoL3g4Ni9tc3IuYwppbmRleCA0ZGY0YTU5Li4zZjI5OWFmIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbXNyLmMKKysrIGIveGVuL2FyY2gveDg2L21zci5jCkBA IC0xMzUsNiArMTM1LDI3IEBAIGludCBndWVzdF9yZG1zcihjb25zdCBzdHJ1Y3QgdmNwdSAqdiwg dWludDMyX3QgbXNyLCB1aW50NjRfdCAqdmFsKQogICAgICAgICAvKiBOb3Qgb2ZmZXJlZCB0byBn dWVzdHMuICovCiAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7CiAKKyAgICBjYXNlIE1TUl9BTURfUEFU Q0hMRVZFTDoKKyAgICAgICAgQlVJTERfQlVHX09OKE1TUl9JQTMyX1VDT0RFX1JFViAhPSBNU1Jf QU1EX1BBVENITEVWRUwpOworICAgICAgICAvKgorICAgICAgICAgKiBBTUQgYW5kIEludGVsIHVz ZSB0aGUgc2FtZSBNU1IgZm9yIHRoZSBjdXJyZW50IG1pY3JvY29kZSB2ZXJzaW9uLgorICAgICAg ICAgKgorICAgICAgICAgKiBUaGVyZSBpcyBubyBuZWVkIHRvIGp1bXAgdGhyb3VnaCB0aGUgU0RN LXByb3ZpZGVkIGhvb3BzIGZvciBJbnRlbC4KKyAgICAgICAgICogQSBndWVzdCBtaWdodCBpdHNl bGYgcGVyZm9ybSB0aGUgIndyaXRlIDAsIENQVUlELCByZWFkIiBzZXF1ZW5jZSwKKyAgICAgICAg ICogYnV0IHNlcnZpY2luZyB0aGUgQ1BVSUQgZm9yIHRoZSBndWVzdCB0eXBpY2FsbHkgd29udCBy ZXN1bHQgaW4KKyAgICAgICAgICogYWN0dWFsbHkgZXhlY3V0aW5nIGEgQ1BVSUQgaW5zdHJ1Y3Rp b24uCisgICAgICAgICAqCisgICAgICAgICAqIEFzIGEgZ3Vlc3QgY2FuJ3QgaW5mbHVlbmNlIHRo ZSB2YWx1ZSBvZiB0aGlzIE1TUiwgdGhlIHZhbHVlIHdpbGwgYmUKKyAgICAgICAgICogZnJvbSBY ZW4ncyBsYXN0IG1pY3JvY29kZSBsb2FkLCB3aGljaCBjYW4gYmUgZm9yd2FyZGVkIHN0cmFpZ2h0 IHRvCisgICAgICAgICAqIHRoZSBndWVzdC4KKyAgICAgICAgICovCisgICAgICAgIGlmICggIShj cC0+eDg2X3ZlbmRvciAmIChYODZfVkVORE9SX0lOVEVMIHxYODZfVkVORE9SX0FNRCkpIHx8Cisg ICAgICAgICAgICAgIShib290X2NwdV9kYXRhLng4Nl92ZW5kb3IgJgorICAgICAgICAgICAgICAg KFg4Nl9WRU5ET1JfSU5URUwgfCBYODZfVkVORE9SX0FNRCkpIHx8CisgICAgICAgICAgICAgcmRt c3Jfc2FmZShNU1JfQU1EX1BBVENITEVWRUwsICp2YWwpICkKKyAgICAgICAgICAgIGdvdG8gZ3Bf ZmF1bHQ7CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBNU1JfU1BFQ19DVFJMOgogICAgICAg ICBpZiAoICFjcC0+ZmVhdC5pYnJzYiApCiAgICAgICAgICAgICBnb3RvIGdwX2ZhdWx0OwpAQCAt MjM2LDYgKzI1NywxOSBAQCBpbnQgZ3Vlc3Rfd3Jtc3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90 IG1zciwgdWludDY0X3QgdmFsKQogICAgICAgICAvKiBOb3Qgb2ZmZXJlZCB0byBndWVzdHMuICov CiAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7CiAKKyAgICBjYXNlIE1TUl9BTURfUEFUQ0hMRVZFTDoK KyAgICAgICAgQlVJTERfQlVHX09OKE1TUl9JQTMyX1VDT0RFX1JFViAhPSBNU1JfQU1EX1BBVENI TEVWRUwpOworICAgICAgICAvKgorICAgICAgICAgKiBBTUQgYW5kIEludGVsIHVzZSB0aGUgc2Ft ZSBNU1IgZm9yIHRoZSBjdXJyZW50IG1pY3JvY29kZSB2ZXJzaW9uLgorICAgICAgICAgKgorICAg ICAgICAgKiBCb3RoIGRvY3VtZW50IGl0IGFzIHJlYWQtb25seS4gIEhvd2V2ZXIgSW50ZWwgYWxz byBkb2N1bWVudCB0aGF0LAorICAgICAgICAgKiBmb3IgYmFja3dhcmRzIGNvbXBhdGlibGl0eSwg dGhlIE9TIHNob3VsZCB3cml0ZSAwIHRvIGl0IGJlZm9yZQorICAgICAgICAgKiB0cnlpbmcgdG8g YWNjZXNzIHRoZSBjdXJyZW50IG1pY3JvY29kZSB2ZXJzaW9uLgorICAgICAgICAgKi8KKyAgICAg ICAgaWYgKCBkLT5hcmNoLmNwdWlkLT54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwgfHwg dmFsICE9IDAgKQorICAgICAgICAgICAgZ290byBncF9mYXVsdDsKKyAgICAgICAgYnJlYWs7CisK ICAgICBjYXNlIE1TUl9BTURfUEFUQ0hMT0FERVI6CiAgICAgICAgIC8qCiAgICAgICAgICAqIFNl ZSBub3RlIG9uIE1TUl9JQTMyX1VDT0RFX1dSSVRFIGJlbG93LCB3aGljaCBtYXkgb3IgbWF5IG5v dCBhcHBseQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jIGIveGVu L2FyY2gveDg2L3B2L2VtdWwtcHJpdi1vcC5jCmluZGV4IGY1OTQwNjUuLmE1NWE0MDAgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9wdi9lbXVsLXByaXYtb3AuYworKysgYi94ZW4vYXJjaC94ODYv cHYvZW11bC1wcml2LW9wLmMKQEAgLTg5MywxNyArODkzLDYgQEAgc3RhdGljIGludCByZWFkX21z cih1bnNpZ25lZCBpbnQgcmVnLCB1aW50NjRfdCAqdmFsLAogICAgICAgICAqdmFsID0gMDsKICAg ICAgICAgcmV0dXJuIFg4NkVNVUxfT0tBWTsKIAotICAgIGNhc2UgTVNSX0lBMzJfVUNPREVfUkVW OgotICAgICAgICBCVUlMRF9CVUdfT04oTVNSX0lBMzJfVUNPREVfUkVWICE9IE1TUl9BTURfUEFU Q0hMRVZFTCk7Ci0gICAgICAgIGlmICggYm9vdF9jcHVfZGF0YS54ODZfdmVuZG9yID09IFg4Nl9W RU5ET1JfSU5URUwgKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoIHdybXNyX3NhZmUoTVNS X0lBMzJfVUNPREVfUkVWLCAwKSApCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAg ICAvKiBBcyBkb2N1bWVudGVkIGluIHRoZSBTRE06IERvIGEgQ1BVSUQgMSBoZXJlICovCi0gICAg ICAgICAgICBjcHVpZF9lYXgoMSk7Ci0gICAgICAgIH0KLSAgICAgICAgZ290byBub3JtYWw7Ci0K ICAgICBjYXNlIE1TUl9JQTMyX01JU0NfRU5BQkxFOgogICAgICAgICByZG1zcmwocmVnLCAqdmFs KTsKICAgICAgICAgKnZhbCA9IGd1ZXN0X21pc2NfZW5hYmxlKCp2YWwpOwpAQCAtMTA0NywxNyAr MTAzNiw2IEBAIHN0YXRpYyBpbnQgd3JpdGVfbXNyKHVuc2lnbmVkIGludCByZWcsIHVpbnQ2NF90 IHZhbCwKICAgICAgICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7CiAgICAgICAgIGJyZWFrOwog Ci0gICAgY2FzZSBNU1JfSUEzMl9VQ09ERV9SRVY6Ci0gICAgICAgIGlmICggYm9vdF9jcHVfZGF0 YS54ODZfdmVuZG9yICE9IFg4Nl9WRU5ET1JfSU5URUwgKQotICAgICAgICAgICAgYnJlYWs7Ci0g ICAgICAgIGlmICggIWlzX2h3ZG9tX3Bpbm5lZF92Y3B1KGN1cnIpICkKLSAgICAgICAgICAgIHJl dHVybiBYODZFTVVMX09LQVk7Ci0gICAgICAgIGlmICggcmRtc3Jfc2FmZShyZWcsIHRlbXApICkK LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBpZiAoIHZhbCApCi0gICAgICAgICAgICBnb3Rv IGludmFsaWQ7Ci0gICAgICAgIHJldHVybiBYODZFTVVMX09LQVk7Ci0KICAgICBjYXNlIE1TUl9J QTMyX01JU0NfRU5BQkxFOgogICAgICAgICByZG1zcmwocmVnLCB0ZW1wKTsKICAgICAgICAgaWYg KCB2YWwgIT0gZ3Vlc3RfbWlzY19lbmFibGUodGVtcCkgKQotLSAKMi4xLjQKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs