From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v8 06/17] x86/feature: Definitions for Indirect Branch Controls Date: Fri, 12 Jan 2018 18:00:56 +0000 Message-ID: <1515780067-31735-7-git-send-email-andrew.cooper3@citrix.com> References: <1515780067-31735-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: <1515780067-31735-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 List-Id: xen-devel@lists.xenproject.org Q29udGVtcG9yYXJ5IHByb2Nlc3NvcnMgYXJlIGdhaW5pbmcgSW5kaXJlY3QgQnJhbmNoIENvbnRy b2xzIHZpYSBtaWNyb2NvZGUKdXBkYXRlcy4gIEludGVsIGFyZSBpbnRyb2R1Y2luZyBvbmUgYml0 IHRvIGluZGljYXRlIElCUlMgYW5kIElCUEIgc3VwcG9ydCwgYW5kCmEgc2Vjb25kIGJpdCBmb3Ig U1RJQlAuICBBTUQgYXJlIGludHJvZHVjaW5nIElCUEIgb25seSwgc28gZW51bWVyYXRlIGl0IHdp dGggYQpzZXBhcmF0ZSBiaXQuCgpGdXJ0aGVybW9yZSwgZGVwZW5kaW5nIG9uIGNvbXBpbGVyIGFu ZCBtaWNyb2NvZGUgYXZhaWxhYmlsaXR5LCB3ZSBtYXkgd2FudCB0bwpydW4gWGVuIHdpdGggSUJS UyBzZXQsIG9yIGNsZWFyLgoKVG8gdXNlIHRoZXNlIGZhY2lsaXRpZXMsIHdlIHN5bnRoZXNpc2Ug c2VwYXJhdGUgSUJSUyBhbmQgSUJQQiBiaXRzIGZvcgppbnRlcm5hbCB1c2UuICBBIGxvdCBvZiBp bmZyYXN0cnVjdHVyZSBpcyByZXF1aXJlZCBiZWZvcmUgdGhlc2UgZmVhdHVyZXMgYXJlCnNhZmUg dG8gb2ZmZXIgdG8gZ3Vlc3RzLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3 LmNvb3BlcjNAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KQWNrZWQtYnk6IFdlaSBMaXUgPHdlaS5saXUyQGNpdHJpeC5jb20+Ci0tLQp2NzoK ICogU3BlbGxpbmcgZml4ZXMgaW4gdGhlIGNvbW1pdCBtZXNzYWdlLgotLS0KIHRvb2xzL2xpYnhs L2xpYnhsX2NwdWlkLmMgICAgICAgICAgICAgICAgICAgfCAgMyArKysKIHRvb2xzL21pc2MveGVu LWNwdWlkLmMgICAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKysrLS0KIHhlbi9hcmNo L3g4Ni9zcGVjX2N0cmwuYyAgICAgICAgICAgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKysr KwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oICAgICAgICAgICB8ICAzICsrKwog eGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaCAgICAgICAgICAgICB8ICA4ICsrKysrKysr CiB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14ODYvY3B1ZmVhdHVyZXNldC5oIHwgIDMgKysrCiB4 ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5ICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKysrKysKIDcg ZmlsZXMgY2hhbmdlZCwgNDkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS90b29scy9saWJ4bC9saWJ4bF9jcHVpZC5jIGIvdG9vbHMvbGlieGwvbGlieGxfY3B1aWQu YwppbmRleCBlNjkyYjYxLi44MWJhOTYxIDEwMDY0NAotLS0gYS90b29scy9saWJ4bC9saWJ4bF9j cHVpZC5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2NwdWlkLmMKQEAgLTIwMiw2ICsyMDIsOCBA QCBpbnQgbGlieGxfY3B1aWRfcGFyc2VfY29uZmlnKGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpj cHVpZCwgY29uc3QgY2hhciogc3RyKQogCiAgICAgICAgIHsiYXZ4NTEyLTR2bm5pdyIsMHgwMDAw MDAwNywgIDAsIENQVUlEX1JFR19FRFgsICAyLCAgMX0sCiAgICAgICAgIHsiYXZ4NTEyLTRmbWFw cyIsMHgwMDAwMDAwNywgIDAsIENQVUlEX1JFR19FRFgsICAzLCAgMX0sCisgICAgICAgIHsiaWJy c2IiLCAgICAgICAgMHgwMDAwMDAwNywgIDAsIENQVUlEX1JFR19FRFgsIDI2LCAgMX0sCisgICAg ICAgIHsic3RpYnAiLCAgICAgICAgMHgwMDAwMDAwNywgIDAsIENQVUlEX1JFR19FRFgsIDI3LCAg MX0sCiAKICAgICAgICAgeyJsYWhmc2FoZiIsICAgICAweDgwMDAwMDAxLCBOQSwgQ1BVSURfUkVH X0VDWCwgIDAsICAxfSwKICAgICAgICAgeyJjbXBsZWdhY3kiLCAgICAweDgwMDAwMDAxLCBOQSwg Q1BVSURfUkVHX0VDWCwgIDEsICAxfSwKQEAgLTIzOSw2ICsyNDEsNyBAQCBpbnQgbGlieGxfY3B1 aWRfcGFyc2VfY29uZmlnKGxpYnhsX2NwdWlkX3BvbGljeV9saXN0ICpjcHVpZCwgY29uc3QgY2hh ciogc3RyKQogCiAgICAgICAgIHsiaW52dHNjIiwgICAgICAgMHg4MDAwMDAwNywgTkEsIENQVUlE X1JFR19FRFgsICA4LCAgMX0sCiAKKyAgICAgICAgeyJpYnBiIiwgICAgICAgICAweDgwMDAwMDA4 LCBOQSwgQ1BVSURfUkVHX0VCWCwgMTIsICAxfSwKICAgICAgICAgeyJuYyIsICAgICAgICAgICAw eDgwMDAwMDA4LCBOQSwgQ1BVSURfUkVHX0VDWCwgIDAsICA4fSwKICAgICAgICAgeyJhcGljaWRz aXplIiwgICAweDgwMDAwMDA4LCBOQSwgQ1BVSURfUkVHX0VDWCwgMTIsICA0fSwKIApkaWZmIC0t Z2l0IGEvdG9vbHMvbWlzYy94ZW4tY3B1aWQuYyBiL3Rvb2xzL21pc2MveGVuLWNwdWlkLmMKaW5k ZXggMDgzMWY3NS4uOGMzZGFjMCAxMDA2NDQKLS0tIGEvdG9vbHMvbWlzYy94ZW4tY3B1aWQuYwor KysgYi90b29scy9taXNjL3hlbi1jcHVpZC5jCkBAIC0xNDksNyArMTQ5LDExIEBAIHN0YXRpYyBj b25zdCBjaGFyICpzdHJfZThiWzMyXSA9CiB7CiAgICAgWyAwXSA9ICJjbHplcm8iLAogCi0gICAg WzEgLi4uIDMxXSA9ICJSRVoiLAorICAgIFsxIC4uLiAxMV0gPSAiUkVaIiwKKworICAgIFsxMl0g PSAiaWJwYiIsCisKKyAgICBbMTMgLi4uIDMxXSA9ICJSRVoiLAogfTsKIAogc3RhdGljIGNvbnN0 IGNoYXIgKnN0cl83ZDBbMzJdID0KQEAgLTE1OCw3ICsxNjIsMTEgQEAgc3RhdGljIGNvbnN0IGNo YXIgKnN0cl83ZDBbMzJdID0KIAogICAgIFsgMl0gPSAiYXZ4NTEyXzR2bm5pdyIsIFsgM10gPSAi YXZ4NTEyXzRmbWFwcyIsCiAKLSAgICBbNCAuLi4gMzFdID0gIlJFWiIsCisgICAgWzQgLi4uIDI1 XSA9ICJSRVoiLAorCisgICAgWzI2XSA9ICJpYnJzYiIsICAgICAgICAgWzI3XSA9ICJzdGlicCIs CisKKyAgICBbMjggLi4uIDMxXSA9ICJSRVoiLAogfTsKIAogc3RhdGljIHN0cnVjdCB7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJs LmMKaW5kZXggZDYwMWMwMi4uODllNzI4NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNf Y3RybC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtNjcsOCArNjcsMjUgQEAg Y3VzdG9tX3BhcmFtKCJidGkiLCBwYXJzZV9idGkpOwogCiBzdGF0aWMgdm9pZCBfX2luaXQgcHJp bnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaykKIHsKKyAgICB1bnNpZ25lZCBpbnQgXzdk MCA9IDAsIGU4YiA9IDAsIHRtcDsKKworICAgIC8qIENvbGxlY3QgZGlhZ25vc3RpY3MgYWJvdXQg YXZhaWxhYmxlIG1pdGlnYXRpb25zLiAqLworICAgIGlmICggYm9vdF9jcHVfZGF0YS5jcHVpZF9s ZXZlbCA+PSA3ICkKKyAgICAgICAgY3B1aWRfY291bnQoNywgMCwgJnRtcCwgJnRtcCwgJnRtcCwg Jl83ZDApOworICAgIGlmICggYm9vdF9jcHVfZGF0YS5leHRlbmRlZF9jcHVpZF9sZXZlbCA+PSAw eDgwMDAwMDA4ICkKKyAgICAgICAgY3B1aWQoMHg4MDAwMDAwOCwgJnRtcCwgJmU4YiwgJnRtcCwg JnRtcCk7CisKICAgICBwcmludGsoWEVOTE9HX0RFQlVHICJTcGVjdWxhdGl2ZSBtaXRpZ2F0aW9u IGZhY2lsaXRpZXM6XG4iKTsKIAorICAgIC8qIEhhcmR3YXJlIGZlYXR1cmVzIHdoaWNoIHBlcnRh aW4gdG8gc3BlY3VsYXRpdmUgbWl0aWdhdGlvbnMuICovCisgICAgaWYgKCAoXzdkMCAmIChjcHVm ZWF0X21hc2soWDg2X0ZFQVRVUkVfSUJSU0IpIHwKKyAgICAgICAgICAgICAgICAgIGNwdWZlYXRf bWFzayhYODZfRkVBVFVSRV9TVElCUCkpKSB8fAorICAgICAgICAgKGU4YiAmIGNwdWZlYXRfbWFz ayhYODZfRkVBVFVSRV9JQlBCKSkgKQorICAgICAgICBwcmludGsoWEVOTE9HX0RFQlVHICIgIEhh cmR3YXJlIGZlYXR1cmVzOiVzJXMlc1xuIiwKKyAgICAgICAgICAgICAgIChfN2QwICYgY3B1ZmVh dF9tYXNrKFg4Nl9GRUFUVVJFX0lCUlNCKSkgPyAiIElCUlMvSUJQQiIgOiAiIiwKKyAgICAgICAg ICAgICAgIChfN2QwICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFUVVJFX1NUSUJQKSkgPyAiIFNUSUJQ IiAgICAgOiAiIiwKKyAgICAgICAgICAgICAgIChlOGIgICYgY3B1ZmVhdF9tYXNrKFg4Nl9GRUFU VVJFX0lCUEIpKSAgPyAiIElCUEIiICAgICAgOiAiIik7CisKICAgICAvKiBDb21waWxlZC1pbiBz dXBwb3J0IHdoaWNoIHBlcnRhaW5zIHRvIEJUSSBtaXRpZ2F0aW9ucy4gKi8KICAgICBpZiAoIElT X0VOQUJMRUQoQ09ORklHX0lORElSRUNUX1RIVU5LKSApCiAgICAgICAgIHByaW50ayhYRU5MT0df REVCVUcgIiAgQ29tcGlsZWQtaW4gc3VwcG9ydDogSU5ESVJFQ1RfVEhVTktcbiIpOwpkaWZmIC0t Z2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9jcHVmZWF0dXJlcy5oCmluZGV4IGJhMTc3MWIuLmRkMjM4OGYgMTAwNjQ0Ci0tLSBhL3hl bi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2 L2NwdWZlYXR1cmVzLmgKQEAgLTI1LDMgKzI1LDYgQEAgWEVOX0NQVUZFQVRVUkUoWEVOX1NNQVAs ICAgICAgICAoRlNDQVBJTlRTKzApKjMyKzExKSAvKiBTTUFQIGdldHMgdXNlZCBieSBYZW4gaXQK IFhFTl9DUFVGRUFUVVJFKExGRU5DRV9ESVNQQVRDSCwgKEZTQ0FQSU5UUyswKSozMisxMikgLyog bGZlbmNlIHNldCBhcyBEaXNwYXRjaCBTZXJpYWxpc2luZyAqLwogWEVOX0NQVUZFQVRVUkUoSU5E X1RIVU5LX0xGRU5DRSwoRlNDQVBJTlRTKzApKjMyKzEzKSAvKiBVc2UgSU5EX1RIVU5LX0xGRU5D RSAqLwogWEVOX0NQVUZFQVRVUkUoSU5EX1RIVU5LX0pNUCwgICAoRlNDQVBJTlRTKzApKjMyKzE0 KSAvKiBVc2UgSU5EX1RIVU5LX0pNUCAqLworWEVOX0NQVUZFQVRVUkUoWEVOX0lCUEIsICAgICAg ICAoRlNDQVBJTlRTKzApKjMyKzE1KSAvKiBJQlJTQiB8fCBJQlBCICovCitYRU5fQ1BVRkVBVFVS RShYRU5fSUJSU19TRVQsICAgIChGU0NBUElOVFMrMCkqMzIrMTYpIC8qIElCUlNCICYmIElSQlMg c2V0IGluIFhlbiAqLworWEVOX0NQVUZFQVRVUkUoWEVOX0lCUlNfQ0xFQVIsICAoRlNDQVBJTlRT KzApKjMyKzE3KSAvKiBJQlJTQiAmJiBJQlJTIGNsZWFyIGluIFhlbiAqLwpkaWZmIC0tZ2l0IGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9tc3ItaW5kZXguaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvbXNy LWluZGV4LmgKaW5kZXggNTZmNTM1OS4uYTBhYWNmYSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUv YXNtLXg4Ni9tc3ItaW5kZXguaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L21zci1pbmRleC5o CkBAIC0zMSw2ICszMSwxNCBAQAogI2RlZmluZSBFRkVSX0xNU0xFCQkoMTw8X0VGRVJfTE1TTEUp CiAjZGVmaW5lIEVGRVJfRkZYU0UJCSgxPDxfRUZFUl9GRlhTRSkKIAorLyogU3BlY3VsYXRpb24g Q29udHJvbHMuICovCisjZGVmaW5lIE1TUl9TUEVDX0NUUkwJCQkweDAwMDAwMDQ4CisjZGVmaW5l IFNQRUNfQ1RSTF9JQlJTCQkJKF9BQygxLCBVTEwpIDw8IDApCisjZGVmaW5lIFNQRUNfQ1RSTF9T VElCUAkJCShfQUMoMSwgVUxMKSA8PCAxKQorCisjZGVmaW5lIE1TUl9QUkVEX0NNRAkJCTB4MDAw MDAwNDkKKyNkZWZpbmUgUFJFRF9DTURfSUJQQgkJCShfQUMoMSwgVUxMKSA8PCAwKQorCiAvKiBJ bnRlbCBNU1JzLiBTb21lIGFsc28gYXZhaWxhYmxlIG9uIG90aGVyIENQVXMgKi8KICNkZWZpbmUg TVNSX0lBMzJfUEVSRkNUUjAJCTB4MDAwMDAwYzEKICNkZWZpbmUgTVNSX0lBMzJfQV9QRVJGQ1RS MAkJMHgwMDAwMDRjMQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2FyY2gteDg2L2Nw dWZlYXR1cmVzZXQuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0 LmgKaW5kZXggYmU2ZGE4ZS4uZTE0ODc1NSAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGlj L2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC14 ODYvY3B1ZmVhdHVyZXNldC5oCkBAIC0yMzcsMTAgKzIzNywxMyBAQCBYRU5fQ1BVRkVBVFVSRShF RlJPLCAgICAgICAgICA3KjMyKzEwKSAvKiAgIEFQRVJGL01QRVJGIFJlYWQgT25seSBpbnRlcmZh Y2UgKi8KIAogLyogQU1ELWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAweDgwMDAw MDA4LmVieCwgd29yZCA4ICovCiBYRU5fQ1BVRkVBVFVSRShDTFpFUk8sICAgICAgICA4KjMyKyAw KSAvKkEgIENMWkVSTyBpbnN0cnVjdGlvbiAqLworWEVOX0NQVUZFQVRVUkUoSUJQQiwgICAgICAg ICAgOCozMisxMikgLyogICBJQlBCIHN1cHBvcnQgb25seSAobm8gSUJSUywgdXNlZCBieSBBTUQp ICovCiAKIC8qIEludGVsLWRlZmluZWQgQ1BVIGZlYXR1cmVzLCBDUFVJRCBsZXZlbCAweDAwMDAw MDA3OjAuZWR4LCB3b3JkIDkgKi8KIFhFTl9DUFVGRUFUVVJFKEFWWDUxMl80Vk5OSVcsIDkqMzIr IDIpIC8qQSAgQVZYNTEyIE5ldXJhbCBOZXR3b3JrIEluc3RydWN0aW9ucyAqLwogWEVOX0NQVUZF QVRVUkUoQVZYNTEyXzRGTUFQUywgOSozMisgMykgLypBICBBVlg1MTIgTXVsdGlwbHkgQWNjdW11 bGF0aW9uIFNpbmdsZSBQcmVjaXNpb24gKi8KK1hFTl9DUFVGRUFUVVJFKElCUlNCLCAgICAgICAg IDkqMzIrMjYpIC8qICAgSUJSUyBhbmQgSUJQQiBzdXBwb3J0ICh1c2VkIGJ5IEludGVsKSAqLwor WEVOX0NQVUZFQVRVUkUoU1RJQlAsICAgICAgICAgOSozMisyNykgLyogICBTVElCUCAqLwogCiAj ZW5kaWYgLyogWEVOX0NQVUZFQVRVUkUgKi8KIApkaWZmIC0tZ2l0IGEveGVuL3Rvb2xzL2dlbi1j cHVpZC5weSBiL3hlbi90b29scy9nZW4tY3B1aWQucHkKaW5kZXggOWVjNDQ4Ni4uNjEzYjkwOSAx MDA3NTUKLS0tIGEveGVuL3Rvb2xzL2dlbi1jcHVpZC5weQorKysgYi94ZW4vdG9vbHMvZ2VuLWNw dWlkLnB5CkBAIC0yNTYsNiArMjU2LDExIEBAIGRlZiBjcnVuY2hfbnVtYmVycyhzdGF0ZSk6CiAg ICAgICAgIEFWWDUxMkY6IFtBVlg1MTJEUSwgQVZYNTEySUZNQSwgQVZYNTEyUEYsIEFWWDUxMkVS LCBBVlg1MTJDRCwKICAgICAgICAgICAgICAgICAgIEFWWDUxMkJXLCBBVlg1MTJWTCwgQVZYNTEy VkJNSSwgQVZYNTEyXzRWTk5JVywKICAgICAgICAgICAgICAgICAgIEFWWDUxMl80Rk1BUFMsIEFW WDUxMl9WUE9QQ05URFFdLAorCisgICAgICAgICMgU2luZ2xlIFRocmVhZCBJbmRpcmVjdCBCcmFu Y2ggUHJlZGljdG9ycyBlbnVtZXJhdGVzIGEgbmV3IGJpdCBpbiB0aGUKKyAgICAgICAgIyBNU1Ig ZW51bWVyYXRlZCBieSBJbmRpcmVjdCBCcmFuY2ggUmVzdHJpY3RlZCBTcGVjdWxhdGlvbi9JbmRp cmVjdAorICAgICAgICAjIEJyYW5jaCBQcmVkaWN0aW9uIEJhcnJpZXIgZW51bWVyYXRpb24uCisg ICAgICAgIElCUlNCOiBbU1RJQlBdLAogICAgIH0KIAogICAgIGRlZXBfZmVhdHVyZXMgPSB0dXBs ZShzb3J0ZWQoZGVwcy5rZXlzKCkpKQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxt YW4vbGlzdGluZm8veGVuLWRldmVs