From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 2/7] x86/shadow: Try to correctly identify implicit supervisor accesses Date: Mon, 27 Feb 2017 14:03:13 +0000 Message-ID: <1488204198-23948-3-git-send-email-andrew.cooper3@citrix.com> References: <1488204198-23948-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: <1488204198-23948-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4K LS0tCkNDOiBKYW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+CkNDOiBUaW0gRGVlZ2FuIDx0 aW1AeGVuLm9yZz4KQ0M6IEdlb3JnZSBEdW5sYXAgPGdlb3JnZS5kdW5sYXBAZXUuY2l0cml4LmNv bT4KLS0tCiB4ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMgfCA2MCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA1OCBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvbXVsdGkuYyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwppbmRleCAxMjg4MDlk Li43YzZiMDE3IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKKysr IGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCkBAIC0yODU3LDcgKzI4NTcsNyBAQCBz dGF0aWMgaW50IHNoX3BhZ2VfZmF1bHQoc3RydWN0IHZjcHUgKnYsCiAgICAgY29uc3Qgc3RydWN0 IHg4Nl9lbXVsYXRlX29wcyAqZW11bF9vcHM7CiAgICAgaW50IHI7CiAgICAgcDJtX3R5cGVfdCBw Mm10OwotICAgIHVpbnQzMl90IHJjOworICAgIHVpbnQzMl90IHJjLCBlcnJvcl9jb2RlOwogICAg IGludCB2ZXJzaW9uOwogICAgIGNvbnN0IHN0cnVjdCBucGZlYyBhY2Nlc3MgPSB7CiAgICAgICAg ICAucmVhZF9hY2Nlc3MgPSAxLApAQCAtMzAxMSwxMyArMzAxMSw2OSBAQCBzdGF0aWMgaW50IHNo X3BhZ2VfZmF1bHQoc3RydWN0IHZjcHUgKnYsCiAKICByZXdhbGs6CiAKKyAgICBlcnJvcl9jb2Rl ID0gcmVncy0+ZXJyb3JfY29kZTsKKworICAgIC8qCisgICAgICogV2hlbiBDUjQuU01BUCBpcyBl bmFibGVkLCBpbnN0cnVjdGlvbnMgd2hpY2ggaGF2ZSBhIHNpZGUgZWZmZWN0IG9mCisgICAgICog YWNjZXNzaW5nIHRoZSBzeXN0ZW0gZGF0YSBzdHJ1Y3R1cmVzIChlLmcuIG1vdiB0byAlZHMgYWNj ZXNzaW5nIHRoZQorICAgICAqIExEVC9HRFQsIG9yIGludCAkbiBhY2Nlc3NpbmcgdGhlIElEVCkg YXJlIGtub3duIGFzIGltcGxpY2l0IHN1cGVydmlzb3IKKyAgICAgKiBhY2Nlc3Nlcy4KKyAgICAg KgorICAgICAqIFRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGltcGxpY2l0IGFuZCBleHBsaWNpdCBh Y2Nlc3NlcyBmb3JtIHBhcnQgb2YgdGhlCisgICAgICogZGV0ZXJtaW5hdGlvbiBvZiBhY2Nlc3Mg cmlnaHRzLCBjb250cm9sbGluZyB3aGV0aGVyIHRoZSBhY2Nlc3MgaXMKKyAgICAgKiBzdWNjZXNz ZnVsLCBvciByYWlzZXMgYSAjUEYuCisgICAgICoKKyAgICAgKiBVbmZvcnR1bmF0ZWx5LCB0aGUg cHJvY2Vzc29yIHRocm93cyBhd2F5IHRoZSBpbXBsaWNpdC9leHBsaWNpdAorICAgICAqIGRpc3Rp bmN0aW9uIGFuZCBkb2VzIG5vdCBwcm92aWRlIGl0IHRvIHRoZSBwYWdlZmF1bHQgaGFuZGxlcgor ICAgICAqIChpLmUuIGhlcmUuKSBpbiB0aGUgI1BGIGVycm9yIGNvZGUuICBUaGVyZWZvcmUsIHdl IG11c3QgdHJ5IHRvCisgICAgICogcmVjb25zdHJ1Y3QgdGhlIGxvc3Qgc3RhdGUgc28gaXQgY2Fu IGJlIGZlZCBiYWNrIGludG8gb3VyIHBhZ2V3YWxrCisgICAgICogdGhyb3VnaCB0aGUgZ3Vlc3Qg dGFibGVzLgorICAgICAqCisgICAgICogVXNlciBtb2RlIGFjY2Vzc2VzIGFyZSBlYXN5IHRvIHJl Y29uc3RydWN0OgorICAgICAqCisgICAgICogICBJZiB3ZSBvYnNlcnZlIGEgY3BsMyBkYXRhIGZl dGNoIHdoaWNoIHdhcyBhIHN1cGVydmlzb3Igd2FsaywgdGhpcworICAgICAqICAgbXVzdCBoYXZl IGJlZW4gYW4gaW1wbGljaXQgYWNjZXNzIHRvIGEgc3lzdGVtIHRhYmxlLgorICAgICAqCisgICAg ICogU3VwZXJ2aXNvciBtb2RlIGFjY2Vzc2VzIGFyZSBub3QgZWFzeToKKyAgICAgKgorICAgICAq ICAgSW4gcHJpbmNpcGxlLCB3ZSBjb3VsZCBkZWNvZGUgdGhlIGluc3RydWN0aW9uIHVuZGVyICVy aXAgYW5kIGhhdmUgdGhlCisgICAgICogICBpbnN0cnVjdGlvbiBlbXVsYXRvciB0ZWxsIHVzIGlm IHRoZXJlIGlzIGFuIGltcGxpY2l0IGFjY2Vzcy4KKyAgICAgKiAgIEhvd2V2ZXIsIHRoaXMgaXMg cmFjeSB3aXRoIG90aGVyIHZjcHVzIHVwZGF0aW5nIHRoZSBwYWdldGFibGUgb3IKKyAgICAgKiAg IHJld3JpdGluZyB0aGUgaW5zdHJ1Y3Rpb24gc3RyZWFtIHVuZGVyIG91ciBmZWV0LgorICAgICAq CisgICAgICogICBUaGVyZWZvcmUsIHdlIGRvIG5vdGhpbmcuICAoSWYgYW55b25lIGhhcyBhIHNl bnNpYmxlIHN1Z2dlc3Rpb24gZm9yCisgICAgICogICBob3cgdG8gZGlzdGluZ3Vpc2ggdGhlc2Ug Y2FzZXMsIHhlbi1kZXZlbEAgaXMgYWxsIGVhcnMuLi4pCisgICAgICoKKyAgICAgKiBBcyBhIHJl c3VsdCwgb25lIHNwZWNpZmljIGNvcm5lciBjYXNlIHdpbGwgZmFpbC4gIElmIGEgZ3Vlc3QgT1Mg d2l0aAorICAgICAqIFNNQVAgZW5hYmxlZCBlbmRzIHVwIG1hcHBpbmcgYSBzeXN0ZW0gdGFibGUg d2l0aCB1c2VyIG1hcHBpbmdzLCBzZXRzCisgICAgICogRUZMQUdTLkFDIHRvIGFsbG93IGV4cGxp Y2l0IGFjY2Vzc2VzIHRvIHVzZXIgbWFwcGluZ3MsIGFuZCBpbXBsaWNpdGx5CisgICAgICogYWNj ZXNzZXMgdGhlIHVzZXIgbWFwcGluZywgaGFyZHdhcmUgYW5kIHRoZSBzaGFkb3cgY29kZSB3aWxs IGRpc2FncmVlCisgICAgICogb24gd2hldGhlciBhICNQRiBzaG91bGQgYmUgcmFpc2VkLgorICAg ICAqCisgICAgICogSGFyZHdhcmUgcmFpc2VzICNQRiBiZWNhdXNlIGltcGxpY2l0IHN1cGVydmlz b3IgYWNjZXNzZXMgdG8gdXNlcgorICAgICAqIG1hcHBpbmdzIGFyZSBzdHJpY3RseSBkaXNhbGxv d2VkLiAgQXMgd2UgY2FuJ3QgcmVjb25zdHJ1Y3QgdGhlIGNvcnJlY3QKKyAgICAgKiBpbnB1dCwg dGhlIHBhZ2V3YWxrIGlzIHBlcmZvcm1lZCBhcyBpZiBpdCB3ZXJlIGFuIGV4cGxpY2l0IGFjY2Vz cywKKyAgICAgKiB3aGljaCBjb25jbHVkZXMgdGhhdCB0aGUgYWNjZXNzIHNob3VsZCBoYXZlIHN1 Y2NlZWRlZCBhbmQgdGhlIHNoYWRvdworICAgICAqIHBhZ2V0YWJsZXMgbmVlZCBtb2RpZnlpbmcu ICBUaGUgc2hhZG93IHBhZ2V0YWJsZXMgYXJlIG1vZGlmaWVkICh0byB0aGUKKyAgICAgKiBzYW1l IHZhbHVlKSwgYW5kIHdlIHJlLWVudGVyIHRoZSBndWVzdCB0byByZS1leGVjdXRlIHRoZSBpbnN0 cnVjdGlvbiwKKyAgICAgKiB3aGljaCBjYXVzZXMgYW5vdGhlciAjUEYsIGFuZCB0aGUgdmNwdSBs aXZlbG9ja3MsIHVuYWJsZSB0byBtYWtlCisgICAgICogZm9yd2FyZCBwcm9ncmVzcy4KKyAgICAg KgorICAgICAqIEluIHByYWN0aWNlLCB0aGlzIGlzIHRvbGVyYWJsZSBiZWNhdXNlIG5vIE9TIHdv dWxkIGRlbGliZXJhdGVseQorICAgICAqIGNvbnN0cnVjdCBzdWNoIGEgY29ybmVyIGNhc2UsIGFz IGRvaW5nIHNvIHdvdWxkIG1lYW4gaXQgaXMgdHJpdmlhbGx5CisgICAgICogcm9vdC1hYmxlIGJ5 IGl0cyBvd24gdXNlcnNwYWNlLgorICAgICAqLworICAgIGlmICggIShlcnJvcl9jb2RlICYgKFBG RUNfaW5zbl9mZXRjaHxQRkVDX3VzZXJfbW9kZSkpICYmCisgICAgICAgICAoaXNfcHZfdmNwdSh2 KSA/IChyZWdzLT5zcyAmIDMpIDogaHZtX2dldF9jcGwodikpID09IDMgKQorICAgICAgICBlcnJv cl9jb2RlIHw9IFBGRUNfaW1wbGljaXQ7CisKICAgICAvKiBUaGUgd2FsayBpcyBkb25lIGluIGEg bG9jay1mcmVlIHN0eWxlLCB3aXRoIHNvbWUgc2FuaXR5IGNoZWNrCiAgICAgICogcG9zdHBvbmVk IGFmdGVyIGdyYWJiaW5nIHBhZ2luZyBsb2NrIGxhdGVyLiBUaG9zZSBkZWxheWVkIGNoZWNrcwog ICAgICAqIHdpbGwgbWFrZSBzdXJlIG5vIGluY29uc2lzdGVudCBtYXBwaW5nIGJlaW5nIHRyYW5z bGF0ZWQgaW50bwogICAgICAqIHNoYWRvdyBwYWdlIHRhYmxlLiAqLwogICAgIHZlcnNpb24gPSBh dG9taWNfcmVhZCgmZC0+YXJjaC5wYWdpbmcuc2hhZG93Lmd0YWJsZV9kaXJ0eV92ZXJzaW9uKTsK ICAgICBybWIoKTsKLSAgICByYyA9IHNoX3dhbGtfZ3Vlc3RfdGFibGVzKHYsIHZhLCAmZ3csIHJl Z3MtPmVycm9yX2NvZGUpOworICAgIHJjID0gc2hfd2Fsa19ndWVzdF90YWJsZXModiwgdmEsICZn dywgZXJyb3JfY29kZSk7CiAKICNpZiAoU0hBRE9XX09QVElNSVpBVElPTlMgJiBTSE9QVF9PVVRf T0ZfU1lOQykKICAgICByZWdzLT5lcnJvcl9jb2RlICY9IH5QRkVDX3BhZ2VfcHJlc2VudDsKLS0g CjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==