From mboxrd@z Thu Jan 1 00:00:00 1970 From: Brian Woods Subject: [PATCH v3 2/3] x86/svm: add EFER SVME support for VGIF/VLOAD Date: Thu, 8 Feb 2018 11:01:47 -0600 Message-ID: <20180208170147.89927-1-brian.woods@amd.com> References: <20180207210624.119059-1-brian.woods@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180207210624.119059-1-brian.woods@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Andrew Cooper , Boris Ostrovsky , Brian Woods , Jan Beulich , Suravee Suthikulpanit List-Id: xen-devel@lists.xenproject.org T25seSBlbmFibGUgdmlydHVhbCBWTUxPQUQvU0FWRSBhbmQgVkdJRiBpZiB0aGUgZ3Vlc3QgRUZF Ui5TVk1FIGlzIHNldC4KClJlcG9ydGVkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVy M0BjaXRyaXguY29tPgpTaWduZWQtb2ZmLWJ5OiBCcmlhbiBXb29kcyA8YnJpYW4ud29vZHNAYW1k LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3N2bS9uZXN0ZWRzdm0uYyAgICAgICAgfCA2NiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2 bS5jICAgICAgICAgICAgICB8ICA2ICsrKwogeGVuL2FyY2gveDg2L2h2bS9zdm0vdm1jYi5jICAg ICAgICAgICAgIHwgMTcgLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vbmVz dGVkc3ZtLmggfCAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDczIGluc2VydGlvbnMoKyksIDE3IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL25lc3RlZHN2bS5j IGIveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKaW5kZXggMWY3YjBkM2U4OC4uOTI5 NWU1ODNkNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKKysr IGIveGVuL2FyY2gveDg2L2h2bS9zdm0vbmVzdGVkc3ZtLmMKQEAgLTE2NTksMyArMTY1OSw2OSBA QCB2b2lkIHN2bV92bWV4aXRfZG9fY2xnaShzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywgc3Ry dWN0IHZjcHUgKnYpCiAKICAgICBfX3VwZGF0ZV9ndWVzdF9laXAocmVncywgaW5zdF9sZW4pOwog fQorCisvKgorICogVGhpcyBydW5zIG9uIEVGRVIgY2hhbmdlIHRvIHNlZSBpZiBuZXN0ZWQgZmVh dHVyZXMgbmVlZCB0byBlaXRoZXIgYmUKKyAqIHR1cm5lZCBvZmYgb3Igb24uCisgKi8KK3ZvaWQg c3ZtX25lc3RlZF9mZWF0dXJlc19vbl9lZmVyX3VwZGF0ZShzdHJ1Y3QgdmNwdSAqdikKK3sKKyAg ICBzdHJ1Y3Qgdm1jYl9zdHJ1Y3QgKnZtY2IgPSB2LT5hcmNoLmh2bV9zdm0udm1jYjsKKyAgICBz dHJ1Y3QgbmVzdGVkc3ZtICpzdm0gPSAmdmNwdV9uZXN0ZWRzdm0odik7CisgICAgdTMyIGdlbmVy YWwyX2ludGVyY2VwdHM7CisgICAgdmludHJfdCB2aW50cjsKKworICAgIC8qCisgICAgICogTmVl ZCBzdGF0ZSBmb3IgdHJhbnNmZXJpbmcgdGhlIG5lc3RlZCBnaWYgc3RhdHVzIHNvIG9ubHkgd3Jp dGUgb24KKyAgICAgKiB0aGUgaHZtX3ZjcHUgRUZFUi5TVk1FIGNoYW5naW5nLgorICAgICAqLwor ICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS5ndWVzdF9lZmVyICYgRUZFUl9TVk1FICkKKyAgICB7 CisgICAgICAgIGlmICggIXZtY2ItPnZpcnRfZXh0LmZpZWxkcy52bG9hZHNhdmVfZW5hYmxlICYm CisgICAgICAgICAgICAgcGFnaW5nX21vZGVfaGFwKHYtPmRvbWFpbikgJiYKKyAgICAgICAgICAg ICBjcHVfaGFzX3N2bV92bG9hZHNhdmUgKQorICAgICAgICB7CisgICAgICAgICAgICB2bWNiLT52 aXJ0X2V4dC5maWVsZHMudmxvYWRzYXZlX2VuYWJsZSA9IDE7CisgICAgICAgICAgICBnZW5lcmFs Ml9pbnRlcmNlcHRzICA9IHZtY2JfZ2V0X2dlbmVyYWwyX2ludGVyY2VwdHModm1jYik7CisgICAg ICAgICAgICBnZW5lcmFsMl9pbnRlcmNlcHRzICY9IH4oR0VORVJBTDJfSU5URVJDRVBUX1ZNTE9B RCB8CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VORVJBTDJfSU5URVJD RVBUX1ZNU0FWRSk7CisgICAgICAgICAgICB2bWNiX3NldF9nZW5lcmFsMl9pbnRlcmNlcHRzKHZt Y2IsIGdlbmVyYWwyX2ludGVyY2VwdHMpOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCAhdm1j Yi0+X3ZpbnRyLmZpZWxkcy52Z2lmX2VuYWJsZSAmJgorICAgICAgICAgICAgIGNwdV9oYXNfc3Zt X3ZnaWYgKQorICAgICAgICB7CisgICAgICAgICAgICB2aW50ciA9IHZtY2JfZ2V0X3ZpbnRyKHZt Y2IpOworICAgICAgICAgICAgdmludHIuZmllbGRzLnZnaWYgPSBzdm0tPm5zX2dpZjsKKyAgICAg ICAgICAgIHZpbnRyLmZpZWxkcy52Z2lmX2VuYWJsZSA9IDE7CisgICAgICAgICAgICB2bWNiX3Nl dF92aW50cih2bWNiLCB2aW50cik7CisgICAgICAgICAgICBnZW5lcmFsMl9pbnRlcmNlcHRzICA9 IHZtY2JfZ2V0X2dlbmVyYWwyX2ludGVyY2VwdHModm1jYik7CisgICAgICAgICAgICBnZW5lcmFs Ml9pbnRlcmNlcHRzICY9IH4oR0VORVJBTDJfSU5URVJDRVBUX1NUR0kgfAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdFTkVSQUwyX0lOVEVSQ0VQVF9DTEdJKTsKKyAgICAg ICAgICAgIHZtY2Jfc2V0X2dlbmVyYWwyX2ludGVyY2VwdHModm1jYiwgZ2VuZXJhbDJfaW50ZXJj ZXB0cyk7CisgICAgICAgIH0KKyAgICB9CisgICAgZWxzZQorICAgIHsKKyAgICAgICAgaWYgKCB2 bWNiLT52aXJ0X2V4dC5maWVsZHMudmxvYWRzYXZlX2VuYWJsZSApCisgICAgICAgIHsKKyAgICAg ICAgICAgIHZtY2ItPnZpcnRfZXh0LmZpZWxkcy52bG9hZHNhdmVfZW5hYmxlID0gMDsKKyAgICAg ICAgICAgIGdlbmVyYWwyX2ludGVyY2VwdHMgID0gdm1jYl9nZXRfZ2VuZXJhbDJfaW50ZXJjZXB0 cyh2bWNiKTsKKyAgICAgICAgICAgIGdlbmVyYWwyX2ludGVyY2VwdHMgfD0gKEdFTkVSQUwyX0lO VEVSQ0VQVF9WTUxPQUQgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VO RVJBTDJfSU5URVJDRVBUX1ZNU0FWRSk7CisgICAgICAgICAgICB2bWNiX3NldF9nZW5lcmFsMl9p bnRlcmNlcHRzKHZtY2IsIGdlbmVyYWwyX2ludGVyY2VwdHMpOworICAgICAgICB9CisKKyAgICAg ICAgaWYgKCB2bWNiLT5fdmludHIuZmllbGRzLnZnaWZfZW5hYmxlICkKKyAgICAgICAgeworICAg ICAgICAgICAgdmludHIgPSB2bWNiX2dldF92aW50cih2bWNiKTsKKyAgICAgICAgICAgIHN2bS0+ bnNfZ2lmID0gdmludHIuZmllbGRzLnZnaWY7CisgICAgICAgICAgICB2aW50ci5maWVsZHMudmdp Zl9lbmFibGUgPSAwOworICAgICAgICAgICAgdm1jYl9zZXRfdmludHIodm1jYiwgdmludHIpOwor ICAgICAgICAgICAgZ2VuZXJhbDJfaW50ZXJjZXB0cyAgPSB2bWNiX2dldF9nZW5lcmFsMl9pbnRl cmNlcHRzKHZtY2IpOworICAgICAgICAgICAgZ2VuZXJhbDJfaW50ZXJjZXB0cyB8PSAoR0VORVJB TDJfSU5URVJDRVBUX1NUR0kgfAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R0VORVJBTDJfSU5URVJDRVBUX0NMR0kpOworICAgICAgICAgICAgdm1jYl9zZXRfZ2VuZXJhbDJf aW50ZXJjZXB0cyh2bWNiLCBnZW5lcmFsMl9pbnRlcmNlcHRzKTsKKyAgICAgICAgfQorICAgIH0K K30KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jIGIveGVuL2FyY2gveDg2 L2h2bS9zdm0vc3ZtLmMKaW5kZXggYzQ4ZmRmYWE1ZC4uYmUwOGE1YWE1ZSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L2h2bS9zdm0vc3ZtLmMKKysrIGIveGVuL2FyY2gveDg2L2h2bS9zdm0vc3Zt LmMKQEAgLTYxMSw2ICs2MTEsMTIgQEAgc3RhdGljIHZvaWQgc3ZtX3VwZGF0ZV9ndWVzdF9lZmVy KHN0cnVjdCB2Y3B1ICp2KQogICAgIGlmICggbG1hICkKICAgICAgICAgbmV3X2VmZXIgfD0gRUZF Ul9MTUU7CiAgICAgdm1jYl9zZXRfZWZlcih2bWNiLCBuZXdfZWZlcik7CisKKyAgICBpZiAoICFu ZXN0ZWRodm1fZW5hYmxlZCh2LT5kb21haW4pICkKKyAgICAgICAgQVNTRVJUKCEodi0+YXJjaC5o dm1fdmNwdS5ndWVzdF9lZmVyICYgRUZFUl9TVk1FKSk7CisKKyAgICBpZiAoIG5lc3RlZGh2bV9l bmFibGVkKHYtPmRvbWFpbikgKQorICAgICAgICBzdm1fbmVzdGVkX2ZlYXR1cmVzX29uX2VmZXJf dXBkYXRlKHYpOwogfQogCiBzdGF0aWMgdm9pZCBzdm1fY3B1aWRfcG9saWN5X2NoYW5nZWQoc3Ry dWN0IHZjcHUgKnYpCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS92bWNiLmMgYi94 ZW4vYXJjaC94ODYvaHZtL3N2bS92bWNiLmMKaW5kZXggMGU2Y2JhNWI3Yi4uOTk3ZTc1OTdlMCAx MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vdm1jYi5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9odm0vc3ZtL3ZtY2IuYwpAQCAtMjAwLDI5ICsyMDAsMTIgQEAgc3RhdGljIGludCBjb25zdHJ1 Y3Rfdm1jYihzdHJ1Y3QgdmNwdSAqdikKIAogICAgICAgICAvKiBQQVQgaXMgdW5kZXIgY29tcGxl dGUgY29udHJvbCBvZiBTVk0gd2hlbiB1c2luZyBuZXN0ZWQgcGFnaW5nLiAqLwogICAgICAgICBz dm1fZGlzYWJsZV9pbnRlcmNlcHRfZm9yX21zcih2LCBNU1JfSUEzMl9DUl9QQVQpOwotCi0gICAg ICAgIC8qIFVzZSB2aXJ0dWFsIFZNTE9BRC9WTVNBVkUgaWYgYXZhaWxhYmxlLiAqLwotICAgICAg ICBpZiAoIGNwdV9oYXNfc3ZtX3Zsb2Fkc2F2ZSApCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZt Y2ItPnZpcnRfZXh0LmZpZWxkcy52bG9hZHNhdmVfZW5hYmxlID0gMTsKLSAgICAgICAgICAgIHZt Y2ItPl9nZW5lcmFsMl9pbnRlcmNlcHRzICY9IH5HRU5FUkFMMl9JTlRFUkNFUFRfVk1MT0FEOwot ICAgICAgICAgICAgdm1jYi0+X2dlbmVyYWwyX2ludGVyY2VwdHMgJj0gfkdFTkVSQUwyX0lOVEVS Q0VQVF9WTVNBVkU7Ci0gICAgICAgIH0KICAgICB9CiAgICAgZWxzZQogICAgIHsKICAgICAgICAg dm1jYi0+X2V4Y2VwdGlvbl9pbnRlcmNlcHRzIHw9ICgxVSA8PCBUUkFQX3BhZ2VfZmF1bHQpOwog ICAgIH0KIAotICAgIC8qIGlmIGF2YWlsYWJsZSwgZW5hYmxlIGFuZCBjb25maWd1cmUgdmlydHVh bCBnaWYgKi8KLSAgICBpZiAoIGNwdV9oYXNfc3ZtX3ZnaWYgKQotICAgIHsKLSAgICAgICAgdm1j Yi0+X3ZpbnRyLmZpZWxkcy52Z2lmID0gMTsKLSAgICAgICAgdm1jYi0+X3ZpbnRyLmZpZWxkcy52 Z2lmX2VuYWJsZSA9IDE7Ci0gICAgICAgIHZtY2ItPl9nZW5lcmFsMl9pbnRlcmNlcHRzICY9IH5H RU5FUkFMMl9JTlRFUkNFUFRfU1RHSTsKLSAgICAgICAgdm1jYi0+X2dlbmVyYWwyX2ludGVyY2Vw dHMgJj0gfkdFTkVSQUwyX0lOVEVSQ0VQVF9DTEdJOwotICAgIH0KLQogICAgIGlmICggY3B1X2hh c19wYXVzZV9maWx0ZXIgKQogICAgIHsKICAgICAgICAgdm1jYi0+X3BhdXNlX2ZpbHRlcl9jb3Vu dCA9IFNWTV9QQVVTRUZJTFRFUl9JTklUOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9odm0vc3ZtL25lc3RlZHN2bS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL25lc3Rl ZHN2bS5oCmluZGV4IGE2MTliNjEzMWIuLmFiY2YyZTdjOWMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNs dWRlL2FzbS14ODYvaHZtL3N2bS9uZXN0ZWRzdm0uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L2h2bS9zdm0vbmVzdGVkc3ZtLmgKQEAgLTEwNCw2ICsxMDQsNyBAQCBuZXN0ZWRzdm1fdm1leGl0 X24ybjEoc3RydWN0IHZjcHUgKnYsIHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKTsKIGVudW0g bmVzdGVkaHZtX3ZtZXhpdHMKIG5lc3RlZHN2bV9jaGVja19pbnRlcmNlcHRzKHN0cnVjdCB2Y3B1 ICp2LCBzdHJ1Y3QgY3B1X3VzZXJfcmVncyAqcmVncywKICAgICB1aW50NjRfdCBleGl0Y29kZSk7 Cit2b2lkIHN2bV9uZXN0ZWRfZmVhdHVyZXNfb25fZWZlcl91cGRhdGUoc3RydWN0IHZjcHUgKnYp OwogCiAvKiBJbnRlcmZhY2UgbWV0aG9kcyAqLwogdm9pZCBuc3ZtX3ZjcHVfZGVzdHJveShzdHJ1 Y3QgdmNwdSAqdik7Ci0tIAoyLjExLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54 ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGlu Zm8veGVuLWRldmVs