From mboxrd@z Thu Jan 1 00:00:00 1970 From: Suravee Suthikulpanit Subject: [PATCH v2 10/10] x86/SVM: Add AMD AVIC key handler Date: Fri, 30 Dec 2016 23:46:01 -0600 Message-ID: <1483163161-2402-11-git-send-email-suravee.suthikulpanit@amd.com> References: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483163161-2402-1-git-send-email-suravee.suthikulpanit@amd.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xen.org Cc: Jan Beulich , andrew.cooper3@citrix.com, Suravee Suthikulpanit , sherry.hurwitz@amd.com, boris.ostrovsky@oracle.com List-Id: xen-devel@lists.xenproject.org QWRkaW5nIG5ldyBrZXktaGFuZGxlciAiaiIgZm9yIGR1bXBpbmcgQVZJQy1yZWxhdGVkIGluZm9y bWF0aW9uLgpIZXJlIGlzIGFuIGV4YW1wbGUgb2YgcGVyLWRvbWFpbiBzdGF0aXN0aWNzIGJlaW5n IGR1bXBlZC4KCiAgKioqKioqKioqKiogU1ZNIEFWSUMgU3RhdGlzdGljcyAqKioqKioqKioqKioq KgogID4+PiBEb21haW4gMSA8PDwKICAgICAgVkNQVSAwCiAgICAgICogaW5jb21wX2lwaSA9IDMx MTAKICAgICAgKiBub2FjY2VsICAgID0gMjM2NDc1CiAgICAgICogcG9zdF9pbnRyICA9IDExNjE3 NgogICAgICAqIGRvb3JiZWxsICAgPSA3MTUKICAgICAgVkNQVSAxCiAgICAgICogaW5jb21wX2lw aSA9IDI1NjUKICAgICAgKiBub2FjY2VsICAgID0gMjMzMDYxCiAgICAgICogcG9zdF9pbnRyICA9 IDExNTc2NQogICAgICAqIGRvb3JiZWxsICAgPSA3NzEKICAqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKgoKU2lnbmVkLW9mZi1ieTogU3VyYXZlZSBTdXRoaWt1bHBhbml0IDxz dXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KQ2M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8 a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNv bT4KQ2M6IEJvcmlzIE9zdHJvdnNreSA8Ym9yaXMub3N0cm92c2t5QG9yYWNsZS5jb20+Ci0tLQog eGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jICAgICAgICB8IDQ4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiB4ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyAgICAgICAg IHwgIDEgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL3ZtY2IuaCB8ICA2ICsrKysrCiAz IGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYvaHZtL3N2bS9hdmljLmMgYi94ZW4vYXJjaC94ODYvaHZtL3N2bS9hdmljLmMKaW5kZXggZmFh NWU0NS4uMWFlYTcyNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9zdm0vYXZpYy5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2F2aWMuYwpAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1 ZGUgPGFzbS9odm0vc3VwcG9ydC5oPgogI2luY2x1ZGUgPGFzbS9odm0vc3ZtL2F2aWMuaD4KICNp bmNsdWRlIDxhc20vaHZtL3ZsYXBpYy5oPgorI2luY2x1ZGUgPHhlbi9rZXloYW5kbGVyLmg+CiAj aW5jbHVkZSA8YXNtL3AybS5oPgogI2luY2x1ZGUgPGFzbS9wYWdlLmg+CiAKQEAgLTMyMCw2ICsz MjEsOCBAQCB2b2lkIHN2bV9hdmljX3ZtZXhpdF9kb19pbmNvbXBfaXBpKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogICAgIHUzMiBpZCA9IHZtY2ItPmV4aXRpbmZvMiA+PiAzMjsKICAgICB1 MzIgaW5kZXggPSB2bWNiLT5leGl0aW5mbzIgJiYgMHhGRjsKIAorICAgIGN1cnItPmFyY2guaHZt X3N2bS5jbnRfYXZpY19pbmNvbXBfaXBpKys7CisKICAgICBzd2l0Y2ggKCBpZCApCiAgICAgewog ICAgIGNhc2UgQVZJQ19JTkNNUF9JUElfRVJSX0lOVkFMSURfSU5UX1RZUEU6CkBAIC01ODAsNiAr NTgzLDggQEAgdm9pZCBzdm1fYXZpY192bWV4aXRfZG9fbm9hY2NlbChzdHJ1Y3QgY3B1X3VzZXJf cmVncyAqcmVncykKICAgICB1MzIgb2Zmc2V0ID0gdm1jYi0+ZXhpdGluZm8xICYgMHhGRjA7CiAg ICAgdTMyIHJ3ID0gKHZtY2ItPmV4aXRpbmZvMSA+PiAzMikgJiAweDE7CiAKKyAgICBjdXJyLT5h cmNoLmh2bV9zdm0uY250X2F2aWNfbm9hY2NlbCsrOworCiAgICAgc3dpdGNoICggb2Zmc2V0ICkK ICAgICB7CiAgICAgY2FzZSBBUElDX0lEOgpAQCAtNjU0LDE2ICs2NTksNTkgQEAgdm9pZCBzdm1f YXZpY19kZWxpdmVyX3Bvc3RlZF9pbnRyKHN0cnVjdCB2Y3B1ICp2LCB1OCB2ZWMpCiAgICAgaWYg KCB2bGFwaWNfdGVzdF9hbmRfc2V0X3ZlY3Rvcih2ZWMsICZ2bGFwaWMtPnJlZ3MtPmRhdGFbQVBJ Q19JUlJdKSApCiAgICAgICAgIHJldHVybjsKIAorICAgIHYtPmFyY2guaHZtX3N2bS5jbnRfYXZp Y19wb3N0X2ludHIrKzsKICAgICAvKgogICAgICAqIElmIHZjcHUgaXMgcnVubmluZyBvbiBhbm90 aGVyIGNwdSwgaGl0IHRoZSBkb29yYmVsbCB0byBzaWduYWwKICAgICAgKiBpdCB0byBwcm9jZXNz IGludGVycnVwdC4gT3RoZXJ3aXNlLCBraWNrIGl0LgogICAgICAqLwogICAgIGlmICggdi0+aXNf cnVubmluZyAmJiAodiAhPSBjdXJyZW50KSApCisgICAgewogICAgICAgICB3cm1zcmwoQVZJQ19E T09SQkVMTCwgY3B1X2RhdGFbdi0+cHJvY2Vzc29yXS5hcGljaWQpOworICAgICAgICB2LT5hcmNo Lmh2bV9zdm0uY250X2F2aWNfZG9vcmJlbGwrKzsKKyAgICB9CiAgICAgZWxzZQogICAgICAgICB2 Y3B1X2tpY2sodik7CiB9CiAKK3N0YXRpYyB2b2lkIGF2aWNfZHVtcCh1bnNpZ25lZCBjaGFyIGNo KQoreworICAgIHN0cnVjdCBkb21haW4gKmQ7CisgICAgc3RydWN0IHZjcHUgKnY7CisKKyAgICBw cmludGsoIioqKioqKioqKioqIFNWTSBBVklDIFN0YXRpc3RpY3MgKioqKioqKioqKioqKipcbiIp OworCisgICAgcmN1X3JlYWRfbG9jaygmZG9tbGlzdF9yZWFkX2xvY2spOworCisgICAgZm9yX2Vh Y2hfZG9tYWluICggZCApCisgICAgeworICAgICAgICBpZiAoICFpc19odm1fZG9tYWluKGQpICkK KyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBwcmludGsoIj4+PiBEb21haW4gJWQgPDw8 XG4iLCBkLT5kb21haW5faWQpOworICAgICAgICBmb3JfZWFjaF92Y3B1ICggZCwgdiApCisgICAg ICAgIHsKKyAgICAgICAgICAgIHByaW50aygiXHRWQ1BVICVkXG4iLCB2LT52Y3B1X2lkKTsKKyAg ICAgICAgICAgIHByaW50aygiXHQqIGluY29tcF9pcGkgPSAldVxuIiwKKyAgICAgICAgICAgICAg ICAgICB2LT5hcmNoLmh2bV9zdm0uY250X2F2aWNfaW5jb21wX2lwaSk7CisgICAgICAgICAgICBw cmludGsoIlx0KiBub2FjY2VsICAgID0gJXVcbiIsCisgICAgICAgICAgICAgICAgICAgdi0+YXJj aC5odm1fc3ZtLmNudF9hdmljX25vYWNjZWwpOworICAgICAgICAgICAgcHJpbnRrKCJcdCogcG9z dF9pbnRyICA9ICV1XG4iLAorICAgICAgICAgICAgICAgICAgIHYtPmFyY2guaHZtX3N2bS5jbnRf YXZpY19wb3N0X2ludHIpOworICAgICAgICAgICAgcHJpbnRrKCJcdCogZG9vcmJlbGwgICA9ICV1 XG4iLAorICAgICAgICAgICAgICAgICAgIHYtPmFyY2guaHZtX3N2bS5jbnRfYXZpY19kb29yYmVs bCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByY3VfcmVhZF91bmxvY2soJmRvbWxpc3RfcmVh ZF9sb2NrKTsKKworICAgIHByaW50aygiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKipcbiIpOworCit9CisKK3ZvaWQgX19pbml0IHNldHVwX2F2aWNfZHVtcCh2b2lkKQorewor ICAgIHJlZ2lzdGVyX2tleWhhbmRsZXIoJ2onLCBhdmljX2R1bXAsICJkdW1wIFNWTSBBVklDIiwg MSk7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvaHZtL3N2bS9zdm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5j CmluZGV4IDdjMGNkYTAuLmI4ODYxZDggMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vc3Zt L3N2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL3N2bS5jCkBAIC0xNDU2LDYgKzE0NTYs NyBAQCBjb25zdCBzdHJ1Y3QgaHZtX2Z1bmN0aW9uX3RhYmxlICogX19pbml0IHN0YXJ0X3N2bSh2 b2lkKQogICAgIH0KIAogICAgIHNldHVwX3ZtY2JfZHVtcCgpOworICAgIHNldHVwX2F2aWNfZHVt cCgpOwogCiAgICAgc3ZtX2ZlYXR1cmVfZmxhZ3MgPSAoY3VycmVudF9jcHVfZGF0YS5leHRlbmRl ZF9jcHVpZF9sZXZlbCA+PSAweDgwMDAwMDBBID8KICAgICAgICAgICAgICAgICAgICAgICAgICBj cHVpZF9lZHgoMHg4MDAwMDAwQSkgOiAwKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL3N2bS92bWNiLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS9zdm0vdm1jYi5oCmlu ZGV4IDlhYmYwNzcuLmUyYjgxMGUgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZt L3N2bS92bWNiLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL3ZtY2IuaApAQCAt NTUyLDYgKzU1MiwxMiBAQCBzdHJ1Y3QgYXJjaF9zdm1fc3RydWN0IHsKIAogICAgIHN0cnVjdCBh dmljX3BoeV9hcGljX2lkX2VudCAqYXZpY19sYXN0X3BoeV9pZDsKICAgICB1MzIgYXZpY19sYXN0 X2xkcjsKKworICAgIC8qIEFWSUMgU3RhdGlzdGljcyAqLworICAgIHUzMiBjbnRfYXZpY19pbmNv bXBfaXBpOworICAgIHUzMiBjbnRfYXZpY19ub2FjY2VsOworICAgIHUzMiBjbnRfYXZpY19wb3N0 X2ludHI7CisgICAgdTMyIGNudF9hdmljX2Rvb3JiZWxsOwogfTsKIAogc3RydWN0IHZtY2Jfc3Ry dWN0ICphbGxvY192bWNiKHZvaWQpOwotLSAKMS45LjEKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK