From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/2] x86/vmx: Introduce a bitfield structure for EPT_VIOLATION EXIT_QUALIFICATIONs Date: Mon, 30 Jan 2017 16:54:02 +0000 Message-ID: <1485795243-15484-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: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Kevin Tian , Jun Nakajima , Jan Beulich List-Id: xen-devel@lists.xenproject.org VGhpcyByZXN1bHRzIGluIHJhdGhlciBtb3JlIHJlYWRhYmxlIGNvZGUuICBObyBmdW5jdGlvbmFs IGNoYW5nZS4KCkFsbCBmaWVsZHMgY3VycmVudGx5IHNwZWNpZmllZCBhcmUgaW5jbHVkZWQsIGJ1 dCBjb21tZW50ZWQgb3V0IGFzIG5vIHN1cHBvcnQKZm9yIHRoZWlyIHVzZSBpcyBwcmVzZW50LgoK U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K LS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBKdW4gTmFrYWppbWEg PGp1bi5uYWthamltYUBpbnRlbC5jb20+CkNDOiBLZXZpbiBUaWFuIDxrZXZpbi50aWFuQGludGVs LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvaHZtL3ZteC92bXguYyAgICAgICAgfCA0MSArKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZt L3ZteC92bXguaCB8IDI3ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNoYW5n ZWQsIDMwIGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL3g4Ni9odm0vdm14L3ZteC5jIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKaW5kZXgg ODE3NzQwMS4uZWNhNGY3ZCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMK KysrIGIveGVuL2FyY2gveDg2L2h2bS92bXgvdm14LmMKQEAgLTI5ODYsNyArMjk4Niw3IEBAIHN0 YXRpYyB2b2lkIHZteF93YmludmRfaW50ZXJjZXB0KHZvaWQpCiAgICAgICAgIHdiaW52ZCgpOwog fQogCi1zdGF0aWMgdm9pZCBlcHRfaGFuZGxlX3Zpb2xhdGlvbih1bnNpZ25lZCBsb25nIHF1YWxp ZmljYXRpb24sIHBhZGRyX3QgZ3BhKQorc3RhdGljIHZvaWQgZXB0X2hhbmRsZV92aW9sYXRpb24o ZXB0X3F1YWxfdCBxLCBwYWRkcl90IGdwYSkKIHsKICAgICB1bnNpZ25lZCBsb25nIGdsYSwgZ2Zu ID0gZ3BhID4+IFBBR0VfU0hJRlQ7CiAgICAgbWZuX3QgbWZuOwpAQCAtMzAwNiwxMyArMzAwNiwx MCBAQCBzdGF0aWMgdm9pZCBlcHRfaGFuZGxlX3Zpb2xhdGlvbih1bnNpZ25lZCBsb25nIHF1YWxp ZmljYXRpb24sIHBhZGRyX3QgZ3BhKQogICAgICAqICAgVm9sdW1lIDNDOiBTeXN0ZW0gUHJvZ3Jh bW1pbmcgR3VpZGUsIFBhcnQgMwogICAgICAqLwogICAgIHN0cnVjdCBucGZlYyBucGZlYyA9IHsK LSAgICAgICAgLnJlYWRfYWNjZXNzID0gISEocXVhbGlmaWNhdGlvbiAmIEVQVF9SRUFEX1ZJT0xB VElPTikgfHwKLSAgICAgICAgICAgICAgICAgICAgICAgISEocXVhbGlmaWNhdGlvbiAmIEVQVF9X UklURV9WSU9MQVRJT04pLAotICAgICAgICAud3JpdGVfYWNjZXNzID0gISEocXVhbGlmaWNhdGlv biAmIEVQVF9XUklURV9WSU9MQVRJT04pLAotICAgICAgICAuaW5zbl9mZXRjaCA9ICEhKHF1YWxp ZmljYXRpb24gJiBFUFRfRVhFQ19WSU9MQVRJT04pLAotICAgICAgICAucHJlc2VudCA9ICEhKHF1 YWxpZmljYXRpb24gJiAoRVBUX0VGRkVDVElWRV9SRUFEIHwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVQVF9FRkZFQ1RJVkVfV1JJVEUgfAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRVBUX0VGRkVDVElWRV9FWEVDKSkKKyAgICAgICAgLnJl YWRfYWNjZXNzID0gcS5yZWFkIHx8IHEud3JpdGUsCisgICAgICAgIC53cml0ZV9hY2Nlc3MgPSBx LndyaXRlLAorICAgICAgICAuaW5zbl9mZXRjaCA9IHEuZmV0Y2gsCisgICAgICAgIC5wcmVzZW50 ID0gcS5lZmZfcmVhZCB8fCBxLmVmZl93cml0ZSB8fCBxLmVmZl9leGVjLAogICAgIH07CiAKICAg ICBpZiAoIHRiX2luaXRfZG9uZSApCkBAIC0zMDI1LDE3ICszMDIyLDE3IEBAIHN0YXRpYyB2b2lk IGVwdF9oYW5kbGVfdmlvbGF0aW9uKHVuc2lnbmVkIGxvbmcgcXVhbGlmaWNhdGlvbiwgcGFkZHJf dCBncGEpCiAgICAgICAgIH0gX2Q7CiAKICAgICAgICAgX2QuZ3BhID0gZ3BhOwotICAgICAgICBf ZC5xdWFsaWZpY2F0aW9uID0gcXVhbGlmaWNhdGlvbjsKKyAgICAgICAgX2QucXVhbGlmaWNhdGlv biA9IHEucmF3OwogICAgICAgICBfZC5tZm4gPSBtZm5feChnZXRfZ2ZuX3F1ZXJ5X3VubG9ja2Vk KGQsIGdmbiwgJl9kLnAybXQpKTsKIAogICAgICAgICBfX3RyYWNlX3ZhcihUUkNfSFZNX05QRiwg MCwgc2l6ZW9mKF9kKSwgJl9kKTsKICAgICB9CiAKLSAgICBpZiAoIHF1YWxpZmljYXRpb24gJiBF UFRfR0xBX1ZBTElEICkKKyAgICBpZiAoIHEuZ2xhX3ZhbGlkICkKICAgICB7CiAgICAgICAgIF9f dm1yZWFkKEdVRVNUX0xJTkVBUl9BRERSRVNTLCAmZ2xhKTsKICAgICAgICAgbnBmZWMuZ2xhX3Zh bGlkID0gMTsKLSAgICAgICAgaWYoIHF1YWxpZmljYXRpb24gJiBFUFRfR0xBX0ZBVUxUICkKKyAg ICAgICAgaWYoIHEuZ2xhX2ZhdWx0ICkKICAgICAgICAgICAgIG5wZmVjLmtpbmQgPSBucGZlY19r aW5kX3dpdGhfZ2xhOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBucGZlYy5raW5kID0gbnBm ZWNfa2luZF9pbl9ncHQ7CkBAIC0zMDY1LDE4ICszMDYyLDE4IEBAIHN0YXRpYyB2b2lkIGVwdF9o YW5kbGVfdmlvbGF0aW9uKHVuc2lnbmVkIGxvbmcgcXVhbGlmaWNhdGlvbiwgcGFkZHJfdCBncGEp CiAgICAgbWZuID0gZ2V0X2dmbl9xdWVyeV91bmxvY2tlZChkLCBnZm4sICZwMm10KTsKICAgICBn cHJpbnRrKFhFTkxPR19FUlIsCiAgICAgICAgICAgICAiRVBUIHZpb2xhdGlvbiAlI2x4ICglYyVj JWMvJWMlYyVjKSBncGEgJSMiUFJJcGFkZHIiIG1mbiAlI2x4IHR5cGUgJWlcbiIsCi0gICAgICAg ICAgICBxdWFsaWZpY2F0aW9uLAotICAgICAgICAgICAgKHF1YWxpZmljYXRpb24gJiBFUFRfUkVB RF9WSU9MQVRJT04pID8gJ3InIDogJy0nLAotICAgICAgICAgICAgKHF1YWxpZmljYXRpb24gJiBF UFRfV1JJVEVfVklPTEFUSU9OKSA/ICd3JyA6ICctJywKLSAgICAgICAgICAgIChxdWFsaWZpY2F0 aW9uICYgRVBUX0VYRUNfVklPTEFUSU9OKSA/ICd4JyA6ICctJywKLSAgICAgICAgICAgIChxdWFs aWZpY2F0aW9uICYgRVBUX0VGRkVDVElWRV9SRUFEKSA/ICdyJyA6ICctJywKLSAgICAgICAgICAg IChxdWFsaWZpY2F0aW9uICYgRVBUX0VGRkVDVElWRV9XUklURSkgPyAndycgOiAnLScsCi0gICAg ICAgICAgICAocXVhbGlmaWNhdGlvbiAmIEVQVF9FRkZFQ1RJVkVfRVhFQykgPyAneCcgOiAnLScs CisgICAgICAgICAgICBxLnJhdywKKyAgICAgICAgICAgIHEucmVhZCAgPyAncicgOiAnLScsCisg ICAgICAgICAgICBxLndyaXRlID8gJ3cnIDogJy0nLAorICAgICAgICAgICAgcS5mZXRjaCA/ICd4 JyA6ICctJywKKyAgICAgICAgICAgIHEuZWZmX3JlYWQgID8gJ3InIDogJy0nLAorICAgICAgICAg ICAgcS5lZmZfd3JpdGUgPyAndycgOiAnLScsCisgICAgICAgICAgICBxLmVmZl9leGVjICA/ICd4 JyA6ICctJywKICAgICAgICAgICAgIGdwYSwgbWZuX3gobWZuKSwgcDJtdCk7CiAKICAgICBlcHRf d2Fsa190YWJsZShkLCBnZm4pOwogCi0gICAgaWYgKCBxdWFsaWZpY2F0aW9uICYgRVBUX0dMQV9W QUxJRCApCisgICAgaWYgKCBxLmdsYV92YWxpZCApCiAgICAgICAgIGdwcmludGsoWEVOTE9HX0VS UiwgIiAtLS0gR0xBICUjbHhcbiIsIGdsYSk7CiAKICAgICBkb21haW5fY3Jhc2goZCk7CkBAIC0z NzkyLDExICszNzg5LDExIEBAIHZvaWQgdm14X3ZtZXhpdF9oYW5kbGVyKHN0cnVjdCBjcHVfdXNl cl9yZWdzICpyZWdzKQogCiAgICAgY2FzZSBFWElUX1JFQVNPTl9FUFRfVklPTEFUSU9OOgogICAg IHsKLSAgICAgICAgcGFkZHJfdCBncGE7CisgICAgICAgIHBhZGRyX3QgZ3BhOyBlcHRfcXVhbF90 IHE7CiAKICAgICAgICAgX192bXJlYWQoR1VFU1RfUEhZU0lDQUxfQUREUkVTUywgJmdwYSk7Ci0g ICAgICAgIF9fdm1yZWFkKEVYSVRfUVVBTElGSUNBVElPTiwgJmV4aXRfcXVhbGlmaWNhdGlvbik7 Ci0gICAgICAgIGVwdF9oYW5kbGVfdmlvbGF0aW9uKGV4aXRfcXVhbGlmaWNhdGlvbiwgZ3BhKTsK KyAgICAgICAgX192bXJlYWQoRVhJVF9RVUFMSUZJQ0FUSU9OLCAmcS5yYXcpOworICAgICAgICBl cHRfaGFuZGxlX3Zpb2xhdGlvbihxLCBncGEpOwogICAgICAgICBicmVhazsKICAgICB9CiAKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL3ZteC92bXguaCBiL3hlbi9pbmNsdWRl L2FzbS14ODYvaHZtL3ZteC92bXguaAppbmRleCA0YmY0ZDUwLi4wMGU2MTcyIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS9hc20teDg2L2h2bS92bXgvdm14LmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9odm0vdm14L3ZteC5oCkBAIC01NzgsMjIgKzU3OCwxNyBAQCB2b2lkIHZteF9waV9ob29r c19hc3NpZ24oc3RydWN0IGRvbWFpbiAqZCk7CiB2b2lkIHZteF9waV9ob29rc19kZWFzc2lnbihz dHJ1Y3QgZG9tYWluICpkKTsKIAogLyogRVBUIHZpb2xhdGlvbiBxdWFsaWZpY2F0aW9ucyBkZWZp bml0aW9ucyAqLwotI2RlZmluZSBfRVBUX1JFQURfVklPTEFUSU9OICAgICAgICAgMAotI2RlZmlu ZSBFUFRfUkVBRF9WSU9MQVRJT04gICAgICAgICAgKDFVTDw8X0VQVF9SRUFEX1ZJT0xBVElPTikK LSNkZWZpbmUgX0VQVF9XUklURV9WSU9MQVRJT04gICAgICAgIDEKLSNkZWZpbmUgRVBUX1dSSVRF X1ZJT0xBVElPTiAgICAgICAgICgxVUw8PF9FUFRfV1JJVEVfVklPTEFUSU9OKQotI2RlZmluZSBf RVBUX0VYRUNfVklPTEFUSU9OICAgICAgICAgMgotI2RlZmluZSBFUFRfRVhFQ19WSU9MQVRJT04g ICAgICAgICAgKDFVTDw8X0VQVF9FWEVDX1ZJT0xBVElPTikKLSNkZWZpbmUgX0VQVF9FRkZFQ1RJ VkVfUkVBRCAgICAgICAgIDMKLSNkZWZpbmUgRVBUX0VGRkVDVElWRV9SRUFEICAgICAgICAgICgx VUw8PF9FUFRfRUZGRUNUSVZFX1JFQUQpCi0jZGVmaW5lIF9FUFRfRUZGRUNUSVZFX1dSSVRFICAg ICAgICA0Ci0jZGVmaW5lIEVQVF9FRkZFQ1RJVkVfV1JJVEUgICAgICAgICAoMVVMPDxfRVBUX0VG RkVDVElWRV9XUklURSkKLSNkZWZpbmUgX0VQVF9FRkZFQ1RJVkVfRVhFQyAgICAgICAgIDUKLSNk ZWZpbmUgRVBUX0VGRkVDVElWRV9FWEVDICAgICAgICAgICgxVUw8PF9FUFRfRUZGRUNUSVZFX0VY RUMpCi0jZGVmaW5lIF9FUFRfR0xBX1ZBTElEICAgICAgICAgICAgICA3Ci0jZGVmaW5lIEVQVF9H TEFfVkFMSUQgICAgICAgICAgICAgICAoMVVMPDxfRVBUX0dMQV9WQUxJRCkKLSNkZWZpbmUgX0VQ VF9HTEFfRkFVTFQgICAgICAgICAgICAgIDgKLSNkZWZpbmUgRVBUX0dMQV9GQVVMVCAgICAgICAg ICAgICAgICgxVUw8PF9FUFRfR0xBX0ZBVUxUKQordHlwZWRlZiB1bmlvbiBlcHRfcXVhbCB7Cisg ICAgdW5zaWduZWQgbG9uZyByYXc7CisgICAgc3RydWN0IHsKKyAgICAgICAgYm9vbCByZWFkOjEs IHdyaXRlOjEsIGZldGNoOjEsCisgICAgICAgICAgICBlZmZfcmVhZDoxLCBlZmZfd3JpdGU6MSwg ZWZmX2V4ZWM6MSwgLyogZWZmX3VzZXJfZXhlYyAqLzoxLAorICAgICAgICAgICAgZ2xhX3ZhbGlk OjEsCisgICAgICAgICAgICBnbGFfZmF1bHQ6MSwgLyogVmFsaWQgaWZmIGdsYV92YWxpZC4gKi8K KyAgICAgICAgICAgIC8qIGdsYV91c2VyICovOjEsIC8qIGdsYV9ydyAqLzoxLCAvKiBnbGFfbngg Ki86MSwKKyAgICAgICAgICAgIC8qIG5taV91bmJsb2NrICovOjE7CisgICAgfTsKK30gZXB0X3F1 YWxfdDsKIAogI2RlZmluZSBFUFRfTDRfUEFHRVRBQkxFX1NISUZUICAgICAgMzkKICNkZWZpbmUg RVBUX1BBR0VUQUJMRV9FTlRSSUVTICAgICAgIDUxMgotLSAKMi4xLjQKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK