From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v4 8/8] x86/hvm: serialize trap injecting producer and consumer Date: Tue, 17 Jan 2017 17:29:56 +0000 Message-ID: <1484674196-19951-9-git-send-email-paul.durrant@citrix.com> References: <1484674196-19951-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.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cTXa7-0000Zz-5c for xen-devel@lists.xenproject.org; Tue, 17 Jan 2017 17:30:03 +0000 In-Reply-To: <1484674196-19951-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 bnRAY2l0cml4LmNvbT4KLS0tClJldmlld2VkLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v cGVyM0BjaXRyaXguY29tPgoKdjM6Ci0gUmUtcmUtcmUtYmFzZWQgYWZ0ZXIgbW9yZSBjaGFuZ2Vz LgoKdjI6Ci0gUmUtcmUtYmFzZWQgYWZ0ZXIgQW5kcmV3J3MgcmVjZW50IGNoYW5nZXMuCi0tLQog eGVuL2FyY2gveDg2L2h2bS9kbS5jICAgICAgICAgfCA1ICsrKystCiB4ZW4vYXJjaC94ODYvaHZt L2h2bS5jICAgICAgICB8IDggKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5o IHwgMyArKysKIDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZt L2RtLmMKaW5kZXggM2MwMzFkOS4uNDczOWRlYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2 bS9kbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtMjQ1LDEzICsyNDUsMTYgQEAg c3RhdGljIGludCBpbmplY3RfdHJhcChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNw dWlkLAogICAgIGlmICggdmNwdWlkID49IGQtPm1heF92Y3B1cyB8fCAhKHYgPSBkLT52Y3B1W3Zj cHVpZF0pICkKICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICBpZiAoIHYtPmFyY2guaHZt X3ZjcHUuaW5qZWN0X3RyYXAudmVjdG9yICE9IC0xICkKKyAgICBpZiAoIGNtcHhjaGcoJnYtPmFy Y2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAudmVjdG9yLAorICAgICAgICAgICAgICAgICBIVk1fVFJB UF9WRUNUT1JfVU5TRVQsIEhWTV9UUkFQX1ZFQ1RPUl9VUERBVElORykgIT0KKyAgICAgICAgIEhW TV9UUkFQX1ZFQ1RPUl9VTlNFVCApCiAgICAgICAgIHJldHVybiAtRUJVU1k7CiAKICAgICB2LT5h cmNoLmh2bV92Y3B1LmluamVjdF90cmFwLnR5cGUgPSB0eXBlOwogICAgIHYtPmFyY2guaHZtX3Zj cHUuaW5qZWN0X3RyYXAuaW5zbl9sZW4gPSBpbnNuX2xlbjsKICAgICB2LT5hcmNoLmh2bV92Y3B1 LmluamVjdF90cmFwLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwogICAgIHYtPmFyY2guaHZtX3Zj cHUuaW5qZWN0X3RyYXAuY3IyID0gY3IyOworICAgIHNtcF93bWIoKTsKICAgICB2LT5hcmNoLmh2 bV92Y3B1LmluamVjdF90cmFwLnZlY3RvciA9IHZlY3RvcjsKIAogICAgIHJldHVybiAwOwpkaWZm IC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMK aW5kZXggZjFkNTliMi4uZWFmYWQ2NSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0u YworKysgYi94ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC01MzksMTIgKzUzOSwxNCBAQCB2b2lk IGh2bV9kb19yZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgfQogCiAgICAgLyogSW5qZWN0IHBl bmRpbmcgaHcvc3cgdHJhcCAqLwotICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJh cC52ZWN0b3IgIT0gLTEgKQorICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcC52 ZWN0b3IgPj0gMCApCiAgICAgeworICAgICAgICBzbXBfcm1iKCk7CisKICAgICAgICAgaWYgKCAh aHZtX2V2ZW50X3BlbmRpbmcodikgKQogICAgICAgICAgICAgaHZtX2luamVjdF9ldmVudCgmdi0+ YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcCk7CiAKLSAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5p bmplY3RfdHJhcC52ZWN0b3IgPSAtMTsKKyAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3Rf dHJhcC52ZWN0b3IgPSBIVk1fVFJBUF9WRUNUT1JfVU5TRVQ7CiAgICAgfQogCiAgICAgaWYgKCB1 bmxpa2VseSh2LT5hcmNoLnZtX2V2ZW50KSAmJiB2LT5hcmNoLm1vbml0b3IubmV4dF9pbnRlcnJ1 cHRfZW5hYmxlZCApCkBAIC0xNTE1LDcgKzE1MTcsNyBAQCBpbnQgaHZtX3ZjcHVfaW5pdGlhbGlz ZShzdHJ1Y3QgdmNwdSAqdikKICAgICAgICAgKHZvaWQoKikodW5zaWduZWQgbG9uZykpaHZtX2Fz c2VydF9ldnRjaG5faXJxLAogICAgICAgICAodW5zaWduZWQgbG9uZyl2KTsKIAotICAgIHYtPmFy Y2guaHZtX3ZjcHUuaW5qZWN0X3RyYXAudmVjdG9yID0gLTE7CisgICAgdi0+YXJjaC5odm1fdmNw dS5pbmplY3RfdHJhcC52ZWN0b3IgPSBIVk1fVFJBUF9WRUNUT1JfVU5TRVQ7CiAKICAgICBpZiAo IGlzX3B2aF9kb21haW4oZCkgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14 ODYvaHZtL2h2bS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKaW5kZXggMDRlNjdm ZS4uOWI1ODM0NiAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKKysr IGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKQEAgLTc3LDYgKzc3LDkgQEAgZW51bSBo dm1faW50YmxrIHsKICNkZWZpbmUgSFZNX0hBUF9TVVBFUlBBR0VfMk1CICAgMHgwMDAwMDAwMQog I2RlZmluZSBIVk1fSEFQX1NVUEVSUEFHRV8xR0IgICAweDAwMDAwMDAyCiAKKyNkZWZpbmUgSFZN X1RSQVBfVkVDVE9SX1VOU0VUICAgICgtMSkKKyNkZWZpbmUgSFZNX1RSQVBfVkVDVE9SX1VQREFU SU5HICgtMikKKwogLyoKICAqIFRoZSBoYXJkd2FyZSB2aXJ0dWFsIG1hY2hpbmUgKEhWTSkgaW50 ZXJmYWNlIGFic3RyYWN0cyBhd2F5IGZyb20gdGhlCiAgKiB4ODYveDg2XzY0IENQVSB2aXJ0dWFs aXphdGlvbiBhc3Npc3Qgc3BlY2lmaWNzLiBDdXJyZW50bHkgdGhpcyBpbnRlcmZhY2UKLS0gCjIu MS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==