From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH for-4.12 v4 2/3] x86/svm: Drop enum instruction_index and simplify svm_get_insn_len() Date: Thu, 31 Jan 2019 18:24:20 +0000 Message-ID: <1548959060-25387-1-git-send-email-andrew.cooper3@citrix.com> References: <1546256270-11734-3-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: <1546256270-11734-3-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: Juergen Gross , Wei Liu , Jan Beulich , Andrew Cooper , Suravee Suthikulpanit , Boris Ostrovsky , Brian Woods , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org UGFzc2luZyBhIDMyLWJpdCBpbnRlZ2VyIGluZGV4IGludG8gYW4gYXJyYXkgd2l0aCBlbnRyaWVz IGNvbnRhaW5pbmcgbGVzcyB0aGFuCjMyIGJpdHMgb2YgZGF0YSBpcyB3YXN0ZWZ1bCwgYW5kIGNy ZWF0ZXMgYW4gdW5uZWNlc3NhcnkgZXJyb3IgY29uZGl0aW9uIG9mCnBhc3NpbmcgYW4gb3V0LW9m LXJhbmdlIGluZGV4LgoKVGhlIHdpZHRoIG9mIHRoZSBYODZFTVVMX09QQygpIGVuY29kaW5nIGlz IGN1cnJlbnRseSAyMCBiaXRzIGZvciB0aGUKaW5zdHJ1Y3Rpb25zIHVzZWQsIHdoaWNoIGxlYXZl cyByb29tIGZvciBhIG1vZHJtIGJ5dGUuICBEcm9wIG9wY190YWJbXQplbnRpcmVseSwgYW5kIGVu Y29kZSB0aGUgZXhwZWN0ZWQgb3Bjb2RlL21vZHJtIGluZm9ybWF0aW9uIGRpcmVjdGx5LgoKU2ln bmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t CkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBXZWkgTGl1IDx3ZWkubGl1 MkBjaXRyaXguY29tPgpDQzogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+ CkNDOiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDQzogU3Vy YXZlZSBTdXRoaWt1bHBhbml0IDxzdXJhdmVlLnN1dGhpa3VscGFuaXRAYW1kLmNvbT4KQ0M6IEJy aWFuIFdvb2RzIDxicmlhbi53b29kc0BhbWQuY29tPgpDQzogSnVlcmdlbiBHcm9zcyA8amdyb3Nz QHN1c2UuY29tPgoKVGhlIGludGVybmFscyBvZiBYODZFTVVMX09QQygpIG1lYW4gdGhhdCB3ZSBj YW4ndCBhY3R1YWxseSBjaGVjayBmb3Igb3ZlcmZsb3dzCndpdGggQlVJTERfQlVHX09OKCksIGJ1 dCBpZiB0aGUgb3Bjb2RlIGVuY29kaW5nIGRvZXMgY2hhbmdlcyBhbmQgb3ZlcmZsb3csCnRoZW4g dGhlIHJlc3VsdGluZyBmYWxsb3V0IHdpbGwgYmUgdmVyeSBvYnZpb3VzIGluIGRlYnVnIGJ1aWxk cyBvZiBYZW4uCgp2MzoKICogTmV3CnY0OgogKiBEcm9wIE1PRFJNKCksIHVzZSBPY3RhbCBpbnN0 ZWFkLgotLS0KIHhlbi9hcmNoL3g4Ni9odm0vc3ZtL2VtdWxhdGUuYyAgICAgICAgfCA1MSArKysr KysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2 bS9lbXVsYXRlLmggfCA1MyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQogMiBm aWxlcyBjaGFuZ2VkLCAzOSBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvaHZtL3N2bS9lbXVsYXRlLmMgYi94ZW4vYXJjaC94ODYvaHZtL3N2 bS9lbXVsYXRlLmMKaW5kZXggNzc5OTkwOC4uZmIwZDgyMyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L2h2bS9zdm0vZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vc3ZtL2VtdWxhdGUu YwpAQCAtNTQsMzYgKzU0LDYgQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgc3ZtX25leHRyaXBfaW5z bl9sZW5ndGgoc3RydWN0IHZjcHUgKnYpCiAgICAgcmV0dXJuIHZtY2ItPm5leHRyaXAgLSB2bWNi LT5yaXA7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgewotICAgIHVuc2lnbmVkIGludCBvcGNv ZGU7Ci0gICAgc3RydWN0IHsKLSAgICAgICAgdW5zaWduZWQgaW50IHJtOjM7Ci0gICAgICAgIHVu c2lnbmVkIGludCByZWc6MzsKLSAgICAgICAgdW5zaWduZWQgaW50IG1vZDoyOwotI2RlZmluZSBN T0RSTShtb2QsIHJlZywgcm0pIHsgcm0sIHJlZywgbW9kIH0KLSAgICB9IG1vZHJtOwotfSBvcGNf dGFiW0lOU1RSX01BWF9DT1VOVF0gPSB7Ci0gICAgW0lOU1RSX1BBVVNFXSAgID0geyBYODZFTVVM X09QQ19GMygwLCAweDkwKSB9LAotICAgIFtJTlNUUl9JTlQzXSAgICA9IHsgWDg2RU1VTF9PUEMo ICAgMCwgMHhjYykgfSwKLSAgICBbSU5TVFJfSUNFQlBdICAgPSB7IFg4NkVNVUxfT1BDKCAgIDAs IDB4ZjEpIH0sCi0gICAgW0lOU1RSX0hMVF0gICAgID0geyBYODZFTVVMX09QQyggICAwLCAweGY0 KSB9LAotICAgIFtJTlNUUl9YU0VUQlZdICA9IHsgWDg2RU1VTF9PUEMoMHgwZiwgMHgwMSksIE1P RFJNKDMsIDIsIDEpIH0sCi0gICAgW0lOU1RSX1ZNUlVOXSAgID0geyBYODZFTVVMX09QQygweDBm LCAweDAxKSwgTU9EUk0oMywgMywgMCkgfSwKLSAgICBbSU5TVFJfVk1DQUxMXSAgPSB7IFg4NkVN VUxfT1BDKDB4MGYsIDB4MDEpLCBNT0RSTSgzLCAzLCAxKSB9LAotICAgIFtJTlNUUl9WTUxPQURd ICA9IHsgWDg2RU1VTF9PUEMoMHgwZiwgMHgwMSksIE1PRFJNKDMsIDMsIDIpIH0sCi0gICAgW0lO U1RSX1ZNU0FWRV0gID0geyBYODZFTVVMX09QQygweDBmLCAweDAxKSwgTU9EUk0oMywgMywgMykg fSwKLSAgICBbSU5TVFJfU1RHSV0gICAgPSB7IFg4NkVNVUxfT1BDKDB4MGYsIDB4MDEpLCBNT0RS TSgzLCAzLCA0KSB9LAotICAgIFtJTlNUUl9DTEdJXSAgICA9IHsgWDg2RU1VTF9PUEMoMHgwZiwg MHgwMSksIE1PRFJNKDMsIDMsIDUpIH0sCi0gICAgW0lOU1RSX0lOVkxQR0FdID0geyBYODZFTVVM X09QQygweDBmLCAweDAxKSwgTU9EUk0oMywgMywgNykgfSwKLSAgICBbSU5TVFJfUkRUU0NQXSAg PSB7IFg4NkVNVUxfT1BDKDB4MGYsIDB4MDEpLCBNT0RSTSgzLCA3LCAxKSB9LAotICAgIFtJTlNU Ul9JTlZEXSAgICA9IHsgWDg2RU1VTF9PUEMoMHgwZiwgMHgwOCkgfSwKLSAgICBbSU5TVFJfV0JJ TlZEXSAgPSB7IFg4NkVNVUxfT1BDKDB4MGYsIDB4MDkpIH0sCi0gICAgW0lOU1RSX1dSTVNSXSAg ID0geyBYODZFTVVMX09QQygweDBmLCAweDMwKSB9LAotICAgIFtJTlNUUl9SRFRTQ10gICA9IHsg WDg2RU1VTF9PUEMoMHgwZiwgMHgzMSkgfSwKLSAgICBbSU5TVFJfUkRNU1JdICAgPSB7IFg4NkVN VUxfT1BDKDB4MGYsIDB4MzIpIH0sCi0gICAgW0lOU1RSX0NQVUlEXSAgID0geyBYODZFTVVMX09Q QygweDBmLCAweGEyKSB9LAotfTsKLQogLyoKICAqIEZpcnN0LWdlbiBTVk0gZGlkbid0IGhhdmUg dGhlIE5leHRSSVAgZmVhdHVyZSwgbWVhbmluZyB0aGF0IHdoZW4gd2UgdGFrZSBhCiAgKiBmYXVs dC1zdHlsZSB2bWV4aXQsIHdlIGhhdmUgdG8gZGVjb2RlIHRoZSBpbnN0cnVjdGlvbiBzdHJlYW0g dG8gY2FsY3VsYXRlCkBAIC05MywxMiArNjMsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CiAg KiBoYXJkd2FyZSByZXBvcnRlZCBpbnN0cnVjdGlvbiBsZW5ndGggKGlmIGF2YWlsYWJsZSkgd2l0 aCB0aGUgcmVzdWx0IGZyb20KICAqIHg4Nl9kZWNvZGVfaW5zbigpLgogICovCi11bnNpZ25lZCBp bnQgc3ZtX2dldF9pbnNuX2xlbihzdHJ1Y3QgdmNwdSAqdiwgZW51bSBpbnN0cnVjdGlvbl9pbmRl eCBpbnNuKQordW5zaWduZWQgaW50IHN2bV9nZXRfaW5zbl9sZW4oc3RydWN0IHZjcHUgKnYsIHVu c2lnbmVkIGludCBpbnN0cl9lbmMpCiB7CiAgICAgc3RydWN0IHZtY2Jfc3RydWN0ICp2bWNiID0g di0+YXJjaC5odm0uc3ZtLnZtY2I7CiAgICAgc3RydWN0IGh2bV9lbXVsYXRlX2N0eHQgY3R4dDsK ICAgICBzdHJ1Y3QgeDg2X2VtdWxhdGVfc3RhdGUgKnN0YXRlOwogICAgIHVuc2lnbmVkIGxvbmcg bnJpcF9sZW4sIGVtdWxfbGVuOworICAgIHVuc2lnbmVkIGludCBpbnN0cl9vcGNvZGUsIGluc3Ry X21vZHJtOwogICAgIHVuc2lnbmVkIGludCBtb2RybV9ybSwgbW9kcm1fcmVnOwogICAgIGludCBt b2RybV9tb2Q7CiAKQEAgLTEzMSwyMCArMTAyLDE4IEBAIHVuc2lnbmVkIGludCBzdm1fZ2V0X2lu c25fbGVuKHN0cnVjdCB2Y3B1ICp2LCBlbnVtIGluc3RydWN0aW9uX2luZGV4IGluc24pCiAgICAg fQogI2VuZGlmCiAKLSAgICBpZiAoIGluc24gPj0gQVJSQVlfU0laRShvcGNfdGFiKSApCi0gICAg ewotICAgICAgICBBU1NFUlRfVU5SRUFDSEFCTEUoKTsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAg fQorICAgIC8qIEV4dHJhY3QgY29tcG9uZW50cyBmcm9tIGluc3RyX2VuYy4gKi8KKyAgICBpbnN0 cl9tb2RybSAgPSBpbnN0cl9lbmMgJiAweGZmOworICAgIGluc3RyX29wY29kZSA9IGluc3RyX2Vu YyA+PiA4OwogCi0gICAgaWYgKCBvcGNfdGFiW2luc25dLm9wY29kZSA9PSBjdHh0LmN0eHQub3Bj b2RlICkKKyAgICBpZiAoIGluc3RyX29wY29kZSA9PSBjdHh0LmN0eHQub3Bjb2RlICkKICAgICB7 Ci0gICAgICAgIGlmICggIW9wY190YWJbaW5zbl0ubW9kcm0ubW9kICkKKyAgICAgICAgaWYgKCAh aW5zdHJfbW9kcm0gKQogICAgICAgICAgICAgcmV0dXJuIGVtdWxfbGVuOwogCi0gICAgICAgIGlm ICggbW9kcm1fbW9kID09IG9wY190YWJbaW5zbl0ubW9kcm0ubW9kICYmCi0gICAgICAgICAgICAg KG1vZHJtX3JtICYgNykgPT0gb3BjX3RhYltpbnNuXS5tb2RybS5ybSAmJgotICAgICAgICAgICAg IChtb2RybV9yZWcgJiA3KSA9PSBvcGNfdGFiW2luc25dLm1vZHJtLnJlZyApCisgICAgICAgIGlm ICggbW9kcm1fbW9kICAgICAgID09IE1BU0tfRVhUUihpbnN0cl9tb2RybSwgMDMwMCkgJiYKKyAg ICAgICAgICAgICAobW9kcm1fcmVnICYgNykgPT0gTUFTS19FWFRSKGluc3RyX21vZHJtLCAwMDcw KSAmJgorICAgICAgICAgICAgIChtb2RybV9ybSAgJiA3KSA9PSBNQVNLX0VYVFIoaW5zdHJfbW9k cm0sIDAwMDcpICkKICAgICAgICAgICAgIHJldHVybiBlbXVsX2xlbjsKICAgICB9CiAKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9lbXVsYXRlLmggYi94ZW4vaW5jbHVk ZS9hc20teDg2L2h2bS9zdm0vZW11bGF0ZS5oCmluZGV4IDgyMzU5ZWMuLjlhZjEwMDYgMTAwNjQ0 Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3N2bS9lbXVsYXRlLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vc3ZtL2VtdWxhdGUuaApAQCAtMTksMzMgKzE5LDM4IEBACiAjaWZu ZGVmIF9fQVNNX1g4Nl9IVk1fU1ZNX0VNVUxBVEVfSF9fCiAjZGVmaW5lIF9fQVNNX1g4Nl9IVk1f U1ZNX0VNVUxBVEVfSF9fCiAKLS8qIEVudW1lcmF0ZSBzb21lIHN0YW5kYXJkIGluc3RydWN0aW9u cyB0aGF0IHdlIHN1cHBvcnQgKi8KLWVudW0gaW5zdHJ1Y3Rpb25faW5kZXggewotICAgIElOU1RS X0lOVkQsCi0gICAgSU5TVFJfV0JJTlZELAotICAgIElOU1RSX0NQVUlELAotICAgIElOU1RSX1JE TVNSLAotICAgIElOU1RSX1dSTVNSLAotICAgIElOU1RSX1ZNQ0FMTCwKLSAgICBJTlNUUl9ITFQs Ci0gICAgSU5TVFJfSU5UMywKLSAgICBJTlNUUl9SRFRTQywKLSAgICBJTlNUUl9SRFRTQ1AsCi0g ICAgSU5TVFJfUEFVU0UsCi0gICAgSU5TVFJfWFNFVEJWLAotICAgIElOU1RSX1ZNUlVOLAotICAg IElOU1RSX1ZNTE9BRCwKLSAgICBJTlNUUl9WTVNBVkUsCi0gICAgSU5TVFJfU1RHSSwKLSAgICBJ TlNUUl9DTEdJLAotICAgIElOU1RSX0lOVkxQR0EsCi0gICAgSU5TVFJfSUNFQlAsCi0gICAgSU5T VFJfTUFYX0NPVU5UIC8qIE11c3QgYmUgbGFzdCAtIE51bWJlciBvZiBpbnN0cnVjdGlvbnMgc3Vw cG9ydGVkICovCi19OworLyoKKyAqIEVuY29kaW5nIGZvciBzdm1fZ2V0X2luc25fbGVuKCkuICBX ZSB0YWtlIFg4NkVNVUxfT1BDKCkgZm9yIHRoZSBtYWluCisgKiBvcGNvZGUsIHNoaWZ0ZWQgbGVm dCB0byBtYWtlIHJvb20gZm9yIHRoZSBNb2RSTSBieXRlLgorICoKKyAqIFRoZSBHcnA3IGluc3Ry dWN0aW9ucyBoYXZlIHRoZWlyIE1vZFJNIGJ5dGUgZXhwcmVzc2VkIGluIG9jdGFsIGZvciBlYXNp ZXIKKyAqIGNyb3NzIHJlZmVyZW5jaW5nIHdpdGggdGhlIG9wY29kZSBleHRlbnNpb24gdGFibGUu CisgKi8KKyNkZWZpbmUgSU5TVFJfRU5DKG9wYywgbW9kcm0pICgoKG9wYykgPDwgOCkgfCAobW9k cm0pKQorCisjZGVmaW5lIElOU1RSX1BBVVNFICAgICAgIElOU1RSX0VOQyhYODZFTVVMX09QQ19G MygwLCAweDkwKSwgMCkKKyNkZWZpbmUgSU5TVFJfSU5UMyAgICAgICAgSU5TVFJfRU5DKFg4NkVN VUxfT1BDKCAgIDAsIDB4Y2MpLCAwKQorI2RlZmluZSBJTlNUUl9JQ0VCUCAgICAgICBJTlNUUl9F TkMoWDg2RU1VTF9PUEMoICAgMCwgMHhmMSksIDApCisjZGVmaW5lIElOU1RSX0hMVCAgICAgICAg IElOU1RSX0VOQyhYODZFTVVMX09QQyggICAwLCAweGY0KSwgMCkKKyNkZWZpbmUgSU5TVFJfWFNF VEJWICAgICAgSU5TVFJfRU5DKFg4NkVNVUxfT1BDKDB4MGYsIDB4MDEpLCAwMzIxKQorI2RlZmlu ZSBJTlNUUl9WTVJVTiAgICAgICBJTlNUUl9FTkMoWDg2RU1VTF9PUEMoMHgwZiwgMHgwMSksIDAz MzApCisjZGVmaW5lIElOU1RSX1ZNQ0FMTCAgICAgIElOU1RSX0VOQyhYODZFTVVMX09QQygweDBm LCAweDAxKSwgMDMzMSkKKyNkZWZpbmUgSU5TVFJfVk1MT0FEICAgICAgSU5TVFJfRU5DKFg4NkVN VUxfT1BDKDB4MGYsIDB4MDEpLCAwMzMyKQorI2RlZmluZSBJTlNUUl9WTVNBVkUgICAgICBJTlNU Ul9FTkMoWDg2RU1VTF9PUEMoMHgwZiwgMHgwMSksIDAzMzMpCisjZGVmaW5lIElOU1RSX1NUR0kg ICAgICAgIElOU1RSX0VOQyhYODZFTVVMX09QQygweDBmLCAweDAxKSwgMDMzNCkKKyNkZWZpbmUg SU5TVFJfQ0xHSSAgICAgICAgSU5TVFJfRU5DKFg4NkVNVUxfT1BDKDB4MGYsIDB4MDEpLCAwMzM1 KQorI2RlZmluZSBJTlNUUl9JTlZMUEdBICAgICBJTlNUUl9FTkMoWDg2RU1VTF9PUEMoMHgwZiwg MHgwMSksIDAzMzcpCisjZGVmaW5lIElOU1RSX1JEVFNDUCAgICAgIElOU1RSX0VOQyhYODZFTVVM X09QQygweDBmLCAweDAxKSwgMDM3MSkKKyNkZWZpbmUgSU5TVFJfSU5WRCAgICAgICAgSU5TVFJf RU5DKFg4NkVNVUxfT1BDKDB4MGYsIDB4MDgpLCAwKQorI2RlZmluZSBJTlNUUl9XQklOVkQgICAg ICBJTlNUUl9FTkMoWDg2RU1VTF9PUEMoMHgwZiwgMHgwOSksIDApCisjZGVmaW5lIElOU1RSX1dS TVNSICAgICAgIElOU1RSX0VOQyhYODZFTVVMX09QQygweDBmLCAweDMwKSwgMCkKKyNkZWZpbmUg SU5TVFJfUkRUU0MgICAgICAgSU5TVFJfRU5DKFg4NkVNVUxfT1BDKDB4MGYsIDB4MzEpLCAwKQor I2RlZmluZSBJTlNUUl9SRE1TUiAgICAgICBJTlNUUl9FTkMoWDg2RU1VTF9PUEMoMHgwZiwgMHgz MiksIDApCisjZGVmaW5lIElOU1RSX0NQVUlEICAgICAgIElOU1RSX0VOQyhYODZFTVVMX09QQygw eDBmLCAweGEyKSwgMCkKIAogc3RydWN0IHZjcHU7CiAKLXVuc2lnbmVkIGludCBzdm1fZ2V0X2lu c25fbGVuKHN0cnVjdCB2Y3B1ICp2LCBlbnVtIGluc3RydWN0aW9uX2luZGV4IGluc3RyKTsKK3Vu c2lnbmVkIGludCBzdm1fZ2V0X2luc25fbGVuKHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQg aW5zdHJfZW5jKTsKIAogI2VuZGlmIC8qIF9fQVNNX1g4Nl9IVk1fU1ZNX0VNVUxBVEVfSF9fICov CiAKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5v cmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZl bA==