From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v9 03/11] x86/msr: Emulation of MSR_{SPEC_CTRL, PRED_CMD} for guests Date: Thu, 18 Jan 2018 15:46:02 +0000 Message-ID: <1516290370-14958-4-git-send-email-andrew.cooper3@citrix.com> References: <1516290370-14958-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: <1516290370-14958-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 , Jan Beulich List-Id: xen-devel@lists.xenproject.org QXMgcGVyIHRoZSBzcGVjIGN1cnJlbnRseSBhdmFpbGFibGUgaGVyZToKCmh0dHBzOi8vc29mdHdh cmUuaW50ZWwuY29tL3NpdGVzL2RlZmF1bHQvZmlsZXMvbWFuYWdlZC9jNS82My8zMzY5OTYtU3Bl Y3VsYXRpdmUtRXhlY3V0aW9uLVNpZGUtQ2hhbm5lbC1NaXRpZ2F0aW9ucy5wZGYKCk1TUl9BUkNI X0NBUEFCSUxJVElFUyB3aWxsIG9ubHkgY29tZSBpbnRvIGV4aXN0ZW5jZSBvbiBuZXcgaGFyZHdh cmUsIGJ1dCBpcwppbXBsZW1lbnRlZCBhcyBhIHN0cmFpZ2h0ICNHUCBmb3Igbm93IHRvIGF2b2lk IGJlaW5nIGxlYWt5IHdoZW4gbmV3IGhhcmR3YXJlCmFycml2ZXMuCgpTaWduZWQtb2ZmLWJ5OiBB bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBCZXVs aWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KCnY5OgogKiBBbHRlciB0aGUgU1RJQlAgaGFuZGxpbmcg dG8gbWF0Y2ggSW50ZWwncyBsYXRlc3Qgc3BlYwogKiBEcm9wIHNwZWNfY3RybC5ndWVzdCBhcyBp dCBpcyBubyBsb25nZXIgbmVlZGVkCi0tLQogeGVuL2FyY2gveDg2L21zci5jICAgICAgICAgICAg ICB8IDQ1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4vaW5j bHVkZS9hc20teDg2L21zci1pbmRleC5oIHwgIDIgKysKIHhlbi9pbmNsdWRlL2FzbS14ODYvbXNy LmggICAgICAgfCAxMCArKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc3IuYyBiL3hlbi9hcmNoL3g4Ni9tc3IuYwpp bmRleCAxODdmODYyLi43ODc1ZDljIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbXNyLmMKKysr IGIveGVuL2FyY2gveDg2L21zci5jCkBAIC0xMjAsMTEgKzEyMCwyMiBAQCBpbnQgaW5pdF92Y3B1 X21zcl9wb2xpY3koc3RydWN0IHZjcHUgKnYpCiAKIGludCBndWVzdF9yZG1zcihjb25zdCBzdHJ1 Y3QgdmNwdSAqdiwgdWludDMyX3QgbXNyLCB1aW50NjRfdCAqdmFsKQogeworICAgIGNvbnN0IHN0 cnVjdCBjcHVpZF9wb2xpY3kgKmNwID0gdi0+ZG9tYWluLT5hcmNoLmNwdWlkOwogICAgIGNvbnN0 IHN0cnVjdCBtc3JfZG9tYWluX3BvbGljeSAqZHAgPSB2LT5kb21haW4tPmFyY2gubXNyOwogICAg IGNvbnN0IHN0cnVjdCBtc3JfdmNwdV9wb2xpY3kgKnZwID0gdi0+YXJjaC5tc3I7CiAKICAgICBz d2l0Y2ggKCBtc3IgKQogICAgIHsKKyAgICBjYXNlIE1TUl9QUkVEX0NNRDoKKyAgICAgICAgLyog V3JpdGUtb25seSAqLworICAgICAgICBnb3RvIGdwX2ZhdWx0OworCisgICAgY2FzZSBNU1JfU1BF Q19DVFJMOgorICAgICAgICBpZiAoICFjcC0+ZmVhdC5pYnJzYiApCisgICAgICAgICAgICBnb3Rv IGdwX2ZhdWx0OworICAgICAgICAqdmFsID0gdnAtPnNwZWNfY3RybC5yYXc7CisgICAgICAgIGJy ZWFrOworCiAgICAgY2FzZSBNU1JfSU5URUxfUExBVEZPUk1fSU5GTzoKICAgICAgICAgaWYgKCAh ZHAtPnBsYWZvcm1faW5mby5hdmFpbGFibGUgKQogICAgICAgICAgICAgZ290byBncF9mYXVsdDsK QEAgLTEzMiw2ICsxNDMsMTAgQEAgaW50IGd1ZXN0X3JkbXNyKGNvbnN0IHN0cnVjdCB2Y3B1ICp2 LCB1aW50MzJfdCBtc3IsIHVpbnQ2NF90ICp2YWwpCiAgICAgICAgICAgICAgICBfTVNSX1BMQVRG T1JNX0lORk9fQ1BVSURfRkFVTFRJTkc7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBNU1Jf QVJDSF9DQVBBQklMSVRJRVM6CisgICAgICAgIC8qIE5vdCBpbXBsZW1lbnRlZCB5ZXQuICovCisg ICAgICAgIGdvdG8gZ3BfZmF1bHQ7CisKICAgICBjYXNlIE1TUl9JTlRFTF9NSVNDX0ZFQVRVUkVT X0VOQUJMRVM6CiAgICAgICAgIGlmICggIXZwLT5taXNjX2ZlYXR1cmVzX2VuYWJsZXMuYXZhaWxh YmxlICkKICAgICAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7CkBAIC0xNTMsMTQgKzE2OCw0NCBAQCBp bnQgZ3Vlc3Rfd3Jtc3Ioc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IG1zciwgdWludDY0X3QgdmFs KQogewogICAgIGNvbnN0IHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKICAgICBzdHJ1Y3Qg ZG9tYWluICpkID0gdi0+ZG9tYWluOworICAgIGNvbnN0IHN0cnVjdCBjcHVpZF9wb2xpY3kgKmNw ID0gZC0+YXJjaC5jcHVpZDsKICAgICBzdHJ1Y3QgbXNyX2RvbWFpbl9wb2xpY3kgKmRwID0gZC0+ YXJjaC5tc3I7CiAgICAgc3RydWN0IG1zcl92Y3B1X3BvbGljeSAqdnAgPSB2LT5hcmNoLm1zcjsK IAogICAgIHN3aXRjaCAoIG1zciApCiAgICAgewogICAgIGNhc2UgTVNSX0lOVEVMX1BMQVRGT1JN X0lORk86CisgICAgY2FzZSBNU1JfQVJDSF9DQVBBQklMSVRJRVM6CisgICAgICAgIC8qIFJlYWQt b25seSAqLwogICAgICAgICBnb3RvIGdwX2ZhdWx0OwogCisgICAgY2FzZSBNU1JfU1BFQ19DVFJM OgorICAgICAgICBpZiAoICFjcC0+ZmVhdC5pYnJzYiApCisgICAgICAgICAgICBnb3RvIGdwX2Zh dWx0OyAvKiBNU1IgYXZhaWxhYmxlPyAqLworCisgICAgICAgIC8qCisgICAgICAgICAqIE5vdGU6 IFNQRUNfQ1RSTF9TVElCUCBpcyBzcGVjaWZpZWQgYXMgc2FmZSB0byB1c2UgKGkuZS4gaWdub3Jl ZCkKKyAgICAgICAgICogd2hlbiBTVElCUCBpc24ndCBlbnVtZXJhdGVkIGluIGhhcmR3YXJlLgor ICAgICAgICAgKi8KKworICAgICAgICBpZiAoIHZhbCAmIH4oU1BFQ19DVFJMX0lCUlMgfCBTUEVD X0NUUkxfU1RJQlApICkKKyAgICAgICAgICAgIGdvdG8gZ3BfZmF1bHQ7IC8qIFJzdmQgYml0IHNl dD8gKi8KKworICAgICAgICB2cC0+c3BlY19jdHJsLnJhdyA9IHZhbDsKKyAgICAgICAgYnJlYWs7 CisKKyAgICBjYXNlIE1TUl9QUkVEX0NNRDoKKyAgICAgICAgaWYgKCAhY3AtPmZlYXQuaWJyc2Ig JiYgIWNwLT5leHRkLmlicGIgKQorICAgICAgICAgICAgZ290byBncF9mYXVsdDsgLyogTVNSIGF2 YWlsYWJsZT8gKi8KKworICAgICAgICAvKgorICAgICAgICAgKiBUaGUgb25seSBkZWZpbmVkIGJl aGF2aW91ciBpcyB3aGVuIHdyaXRpbmcgUFJFRF9DTURfSUJQQi4gIEluCisgICAgICAgICAqIHBy YWN0aWNlLCByZWFsIGhhcmR3YXJlIGFjY2VwdHMgYW55IHZhbHVlIHdpdGhvdXQgZmF1bHRpbmcu CisgICAgICAgICAqLworICAgICAgICBpZiAoIHYgPT0gY3VyciAmJiAodmFsICYgUFJFRF9DTURf SUJQQikgKQorICAgICAgICAgICAgd3Jtc3JsKE1TUl9QUkVEX0NNRCwgUFJFRF9DTURfSUJQQik7 CisgICAgICAgIGJyZWFrOworCiAgICAgY2FzZSBNU1JfSU5URUxfTUlTQ19GRUFUVVJFU19FTkFC TEVTOgogICAgIHsKICAgICAgICAgdWludDY0X3QgcnN2ZCA9IH4wdWxsOwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNy LWluZGV4LmgKaW5kZXggYTBhYWNmYS4uMjNhZDc0MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5o CkBAIC0zOSw2ICszOSw4IEBACiAjZGVmaW5lIE1TUl9QUkVEX0NNRAkJCTB4MDAwMDAwNDkKICNk ZWZpbmUgUFJFRF9DTURfSUJQQgkJCShfQUMoMSwgVUxMKSA8PCAwKQogCisjZGVmaW5lIE1TUl9B UkNIX0NBUEFCSUxJVElFUwkJMHgwMDAwMDEwYQorCiAvKiBJbnRlbCBNU1JzLiBTb21lIGFsc28g YXZhaWxhYmxlIG9uIG90aGVyIENQVXMgKi8KICNkZWZpbmUgTVNSX0lBMzJfUEVSRkNUUjAJCTB4 MDAwMDAwYzEKICNkZWZpbmUgTVNSX0lBMzJfQV9QRVJGQ1RSMAkJMHgwMDAwMDRjMQpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3IuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNy LmgKaW5kZXggMmZiZWQwMi4uOTI4ZjFjYyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9tc3IuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21zci5oCkBAIC0yMjMsNiArMjIzLDE2 IEBAIHN0cnVjdCBtc3JfZG9tYWluX3BvbGljeQogLyogTVNSIHBvbGljeSBvYmplY3QgZm9yIHBl ci12Q1BVIE1TUnMgKi8KIHN0cnVjdCBtc3JfdmNwdV9wb2xpY3kKIHsKKyAgICAvKiAweDAwMDAw MDQ4IC0gTVNSX1NQRUNfQ1RSTCAqLworICAgIHN0cnVjdCB7CisgICAgICAgIC8qCisgICAgICAg ICAqIE9ubHkgdGhlIGJvdHRvbSB0d28gYml0cyBhcmUgZGVmaW5lZCwgc28gbm8gbmVlZCB0byB3 YXN0ZSBzcGFjZQorICAgICAgICAgKiB3aXRoIHVpbnQ2NF90IGF0IHRoZSBtb21lbnQsIGJ1dCB1 c2UgdWludDMyX3QgZm9yIHRoZSBjb252ZW5pZW5jZQorICAgICAgICAgKiBvZiB0aGUgYXNzZW1i bHkgY29kZS4KKyAgICAgICAgICovCisgICAgICAgIHVpbnQzMl90IHJhdzsKKyAgICB9IHNwZWNf Y3RybDsKKwogICAgIC8qIDB4MDAwMDAxNDAgIE1TUl9JTlRFTF9NSVNDX0ZFQVRVUkVTX0VOQUJM RVMgKi8KICAgICBzdHJ1Y3QgewogICAgICAgICBib29sIGF2YWlsYWJsZTsgLyogVGhpcyBNU1Ig aXMgbm9uLWFyY2hpdGVjdHVyYWwgKi8KLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==