From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v6 8/8] x86/hvm: serialize trap injecting producer and consumer Date: Mon, 23 Jan 2017 10:01:04 +0000 Message-ID: <1485165664-19253-9-git-send-email-paul.durrant@citrix.com> References: <1485165664-19253-1-git-send-email-paul.durrant@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cVbR7-0006gQ-6j for xen-devel@lists.xenproject.org; Mon, 23 Jan 2017 10:01:17 +0000 In-Reply-To: <1485165664-19253-1-git-send-email-paul.durrant@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2luY2UgaW5qZWN0aW9uIHdvcmtzIG9uIGEgcmVtb3RlIHZDUFUsIGFuZCBzaW5jZSB0aGVyZSdz IG5vCmVuZm9yY2VtZW50IG9mIHRoZSBzdWJqZWN0IHZDUFUgYmVpbmcgcGF1c2VkLCB0aGVyZSdz IGEgcG90ZW50aWFsIHJhY2UKYmV0d2VlbiB0aGUgcHJvZHVjaW5nIGFuZCBjb25zdW1pbmcgc2lk ZXMuIEZpeCB0aGlzIGJ5IGxldmVyYWdpbmcgdGhlCnZlY3RvciBmaWVsZCBhcyBzeW5jaHJvbml6 YXRpb24gdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+CltyZS1iYXNlZF0KU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJh bnRAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz QGNpdHJpeC5jb20+Ci0tLQoKdjY6Ci0gQWRqdXN0IG5hbWluZyBhcyByZXF1aXJlZCBieSBwcmV2 aW91cyBwYXRjaC4KCnYzOgotIFJlLXJlLXJlLWJhc2VkIGFmdGVyIG1vcmUgY2hhbmdlcy4KCnYy OgotIFJlLXJlLWJhc2VkIGFmdGVyIEFuZHJldydzIHJlY2VudCBjaGFuZ2VzLgotLS0KIHhlbi9h cmNoL3g4Ni9odm0vZG0uYyAgICAgICAgIHwgIDUgKysrKy0KIHhlbi9hcmNoL3g4Ni9odm0vaHZt LmMgICAgICAgIHwgMTAgKysrKysrLS0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgg fCAgMyArKysKIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZt L2RtLmMKaW5kZXggYmE4ODc2Ni4uNjBjZDYwMiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2 bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtMjQ1LDEzICsyNDUsMTYgQEAg c3RhdGljIGludCBpbmplY3RfZXZlbnQoc3RydWN0IGRvbWFpbiAqZCwKICAgICBpZiAoIGRhdGEt PnZjcHVpZCA+PSBkLT5tYXhfdmNwdXMgfHwgISh2ID0gZC0+dmNwdVtkYXRhLT52Y3B1aWRdKSAp CiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCi0gICAgaWYgKCB2LT5hcmNoLmh2bV92Y3B1Lmlu amVjdF9ldmVudC52ZWN0b3IgIT0gLTEgKQorICAgIGlmICggY21weGNoZygmdi0+YXJjaC5odm1f dmNwdS5pbmplY3RfZXZlbnQudmVjdG9yLAorICAgICAgICAgICAgICAgICBIVk1fRVZFTlRfVkVD VE9SX1VOU0VULCBIVk1fRVZFTlRfVkVDVE9SX1VQREFUSU5HKSAhPQorICAgICAgICAgSFZNX0VW RU5UX1ZFQ1RPUl9VTlNFVCApCiAgICAgICAgIHJldHVybiAtRUJVU1k7CiAKICAgICB2LT5hcmNo Lmh2bV92Y3B1LmluamVjdF9ldmVudC50eXBlID0gZGF0YS0+dHlwZTsKICAgICB2LT5hcmNoLmh2 bV92Y3B1LmluamVjdF9ldmVudC5pbnNuX2xlbiA9IGRhdGEtPmluc25fbGVuOwogICAgIHYtPmFy Y2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LmVycm9yX2NvZGUgPSBkYXRhLT5lcnJvcl9jb2RlOwog ICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LmNyMiA9IGRhdGEtPmNyMjsKKyAgICBz bXBfd21iKCk7CiAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfZXZlbnQudmVjdG9yID0gZGF0 YS0+dmVjdG9yOwogCiAgICAgcmV0dXJuIDA7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZt L2h2bS5jIGIveGVuL2FyY2gveDg2L2h2bS9odm0uYwppbmRleCA2YzgyM2RlLi5jMjM0OWJjIDEw MDY0NAotLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0v aHZtLmMKQEAgLTUzOCwxMyArNTM4LDE1IEBAIHZvaWQgaHZtX2RvX3Jlc3VtZShzdHJ1Y3QgdmNw dSAqdikKICAgICAgICAgfQogICAgIH0KIAotICAgIC8qIEluamVjdCBwZW5kaW5nIGh3L3N3IHRy YXAgKi8KLSAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LnZlY3RvciAhPSAt MSApCisgICAgLyogSW5qZWN0IHBlbmRpbmcgaHcvc3cgZXZlbnQgKi8KKyAgICBpZiAoIHYtPmFy Y2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LnZlY3RvciA+PSAwICkKICAgICB7CisgICAgICAgIHNt cF9ybWIoKTsKKwogICAgICAgICBpZiAoICFodm1fZXZlbnRfcGVuZGluZyh2KSApCiAgICAgICAg ICAgICBodm1faW5qZWN0X2V2ZW50KCZ2LT5hcmNoLmh2bV92Y3B1LmluamVjdF9ldmVudCk7CiAK LSAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfZXZlbnQudmVjdG9yID0gLTE7CisgICAg ICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LnZlY3RvciA9IEhWTV9FVkVOVF9WRUNU T1JfVU5TRVQ7CiAgICAgfQogCiAgICAgaWYgKCB1bmxpa2VseSh2LT5hcmNoLnZtX2V2ZW50KSAm JiB2LT5hcmNoLm1vbml0b3IubmV4dF9pbnRlcnJ1cHRfZW5hYmxlZCApCkBAIC0xNTE1LDcgKzE1 MTcsNyBAQCBpbnQgaHZtX3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAg KHZvaWQoKikodW5zaWduZWQgbG9uZykpaHZtX2Fzc2VydF9ldnRjaG5faXJxLAogICAgICAgICAo dW5zaWduZWQgbG9uZyl2KTsKIAotICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LnZl Y3RvciA9IC0xOworICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0X2V2ZW50LnZlY3RvciA9IEhW TV9FVkVOVF9WRUNUT1JfVU5TRVQ7CiAKICAgICBpZiAoIGlzX3B2aF9kb21haW4oZCkgKQogICAg IHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9odm0vaHZtLmgKaW5kZXggMDRlNjdmZS4uZjg4ZmYyZSAxMDA2NDQKLS0tIGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9o dm0vaHZtLmgKQEAgLTc3LDYgKzc3LDkgQEAgZW51bSBodm1faW50YmxrIHsKICNkZWZpbmUgSFZN X0hBUF9TVVBFUlBBR0VfMk1CICAgMHgwMDAwMDAwMQogI2RlZmluZSBIVk1fSEFQX1NVUEVSUEFH RV8xR0IgICAweDAwMDAwMDAyCiAKKyNkZWZpbmUgSFZNX0VWRU5UX1ZFQ1RPUl9VTlNFVCAgICAo LTEpCisjZGVmaW5lIEhWTV9FVkVOVF9WRUNUT1JfVVBEQVRJTkcgKC0yKQorCiAvKgogICogVGhl IGhhcmR3YXJlIHZpcnR1YWwgbWFjaGluZSAoSFZNKSBpbnRlcmZhY2UgYWJzdHJhY3RzIGF3YXkg ZnJvbSB0aGUKICAqIHg4Ni94ODZfNjQgQ1BVIHZpcnR1YWxpemF0aW9uIGFzc2lzdCBzcGVjaWZp Y3MuIEN1cnJlbnRseSB0aGlzIGludGVyZmFjZQotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK