From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v3 8/8] x86/hvm: serialize trap injecting producer and consumer Date: Thu, 12 Jan 2017 14:58:40 +0000 Message-ID: <1484233120-2015-9-git-send-email-paul.durrant@citrix.com> References: <1484233120-2015-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 1cRgq3-0005Uo-CX for xen-devel@lists.xenproject.org; Thu, 12 Jan 2017 14:58:51 +0000 In-Reply-To: <1484233120-2015-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: Andrew Cooper , Paul Durrant , Jan Beulich List-Id: xen-devel@lists.xenproject.org U2luY2UgaW5qZWN0aW9uIHdvcmtzIG9uIGEgcmVtb3RlIHZDUFUsIGFuZCBzaW5jZSB0aGVyZSdz IG5vCmVuZm9yY2VtZW50IG9mIHRoZSBzdWJqZWN0IHZDUFUgYmVpbmcgcGF1c2VkLCB0aGVyZSdz IGEgcG90ZW50aWFsIHJhY2UKYmV0d2VlbiB0aGUgcHJvZHVjaW5nIGFuZCBjb25zdW1pbmcgc2lk ZXMuIEZpeCB0aGlzIGJ5IGxldmVyYWdpbmcgdGhlCnZlY3RvciBmaWVsZCBhcyBzeW5jaHJvbml6 YXRpb24gdmFyaWFibGUuCgpTaWduZWQtb2ZmLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz ZS5jb20+CltyZS1iYXNlZF0KU2lnbmVkLW9mZi1ieTogUGF1bCBEdXJyYW50IDxwYXVsLmR1cnJh bnRAY2l0cml4LmNvbT4KLS0tCkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRy aXguY29tPgoKdjM6Ci0gUmUtcmUtcmUtYmFzZWQgYWZ0ZXIgbW9yZSBjaGFuZ2VzLgoKdjI6Ci0g UmUtcmUtYmFzZWQgYWZ0ZXIgQW5kcmV3J3MgcmVjZW50IGNoYW5nZXMuCi0tLQogeGVuL2FyY2gv eDg2L2h2bS9kbS5jICAgICAgICAgfCA1ICsrKystCiB4ZW4vYXJjaC94ODYvaHZtL2h2bS5jICAg ICAgICB8IDggKysrKystLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2bS5oIHwgMyArKysK IDMgZmlsZXMgY2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvaHZtL2RtLmMgYi94ZW4vYXJjaC94ODYvaHZtL2RtLmMKaW5k ZXggMGE3ZTUwYS4uZTA5YzhlNyAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9kbS5jCisr KyBiL3hlbi9hcmNoL3g4Ni9odm0vZG0uYwpAQCAtMjg2LDEzICsyODYsMTYgQEAgc3RhdGljIGlu dCBpbmplY3RfdHJhcChzdHJ1Y3QgZG9tYWluICpkLCB1bnNpZ25lZCBpbnQgdmNwdWlkLAogICAg IGlmICggdmNwdWlkID49IGQtPm1heF92Y3B1cyB8fCAhKHYgPSBkLT52Y3B1W3ZjcHVpZF0pICkK ICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAKLSAgICBpZiAoIHYtPmFyY2guaHZtX3ZjcHUuaW5q ZWN0X3RyYXAudmVjdG9yICE9IC0xICkKKyAgICBpZiAoIGNtcHhjaGcoJnYtPmFyY2guaHZtX3Zj cHUuaW5qZWN0X3RyYXAudmVjdG9yLAorICAgICAgICAgICAgICAgICBIVk1fVFJBUF9WRUNUT1Jf VU5TRVQsIEhWTV9UUkFQX1ZFQ1RPUl9VUERBVElORykgIT0KKyAgICAgICAgIEhWTV9UUkFQX1ZF Q1RPUl9VTlNFVCApCiAgICAgICAgIHJldHVybiAtRUJVU1k7CiAKICAgICB2LT5hcmNoLmh2bV92 Y3B1LmluamVjdF90cmFwLnR5cGUgPSB0eXBlOwogICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0 X3RyYXAuaW5zbl9sZW4gPSBpbnNuX2xlbjsKICAgICB2LT5hcmNoLmh2bV92Y3B1LmluamVjdF90 cmFwLmVycm9yX2NvZGUgPSBlcnJvcl9jb2RlOwogICAgIHYtPmFyY2guaHZtX3ZjcHUuaW5qZWN0 X3RyYXAuY3IyID0gY3IyOworICAgIHNtcF93bWIoKTsKICAgICB2LT5hcmNoLmh2bV92Y3B1Lmlu amVjdF90cmFwLnZlY3RvciA9IHZlY3RvcjsKIAogICAgIHJldHVybiAwOwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L2h2bS9odm0uYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHZtLmMKaW5kZXggOGQ0 MmFkYy4uNDQxMTExYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2h2bS9odm0uYworKysgYi94 ZW4vYXJjaC94ODYvaHZtL2h2bS5jCkBAIC01MzksMTIgKzUzOSwxNCBAQCB2b2lkIGh2bV9kb19y ZXN1bWUoc3RydWN0IHZjcHUgKnYpCiAgICAgfQogCiAgICAgLyogSW5qZWN0IHBlbmRpbmcgaHcv c3cgdHJhcCAqLwotICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcC52ZWN0b3Ig IT0gLTEgKQorICAgIGlmICggdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcC52ZWN0b3IgPj0g MCApCiAgICAgeworICAgICAgICBzbXBfcm1iKCk7CisKICAgICAgICAgaWYgKCAhaHZtX2V2ZW50 X3BlbmRpbmcodikgKQogICAgICAgICAgICAgaHZtX2luamVjdF9ldmVudCgmdi0+YXJjaC5odm1f dmNwdS5pbmplY3RfdHJhcCk7CiAKLSAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJh cC52ZWN0b3IgPSAtMTsKKyAgICAgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3RfdHJhcC52ZWN0 b3IgPSBIVk1fVFJBUF9WRUNUT1JfVU5TRVQ7CiAgICAgfQogCiAgICAgaWYgKCB1bmxpa2VseSh2 LT5hcmNoLnZtX2V2ZW50KSAmJiB2LT5hcmNoLm1vbml0b3IubmV4dF9pbnRlcnJ1cHRfZW5hYmxl ZCApCkBAIC0xNTYzLDcgKzE1NjUsNyBAQCBpbnQgaHZtX3ZjcHVfaW5pdGlhbGlzZShzdHJ1Y3Qg dmNwdSAqdikKICAgICAgICAgKHZvaWQoKikodW5zaWduZWQgbG9uZykpaHZtX2Fzc2VydF9ldnRj aG5faXJxLAogICAgICAgICAodW5zaWduZWQgbG9uZyl2KTsKIAotICAgIHYtPmFyY2guaHZtX3Zj cHUuaW5qZWN0X3RyYXAudmVjdG9yID0gLTE7CisgICAgdi0+YXJjaC5odm1fdmNwdS5pbmplY3Rf dHJhcC52ZWN0b3IgPSBIVk1fVFJBUF9WRUNUT1JfVU5TRVQ7CiAKICAgICBpZiAoIGlzX3B2aF9k b21haW4oZCkgKQogICAgIHsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaHZtL2h2 bS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKaW5kZXggOGM5NWMwOC4uYmNhY2Vl MyAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKKysrIGIveGVuL2lu Y2x1ZGUvYXNtLXg4Ni9odm0vaHZtLmgKQEAgLTc3LDYgKzc3LDkgQEAgZW51bSBodm1faW50Ymxr IHsKICNkZWZpbmUgSFZNX0hBUF9TVVBFUlBBR0VfMk1CICAgMHgwMDAwMDAwMQogI2RlZmluZSBI Vk1fSEFQX1NVUEVSUEFHRV8xR0IgICAweDAwMDAwMDAyCiAKKyNkZWZpbmUgSFZNX1RSQVBfVkVD VE9SX1VOU0VUICAgICgtMSkKKyNkZWZpbmUgSFZNX1RSQVBfVkVDVE9SX1VQREFUSU5HICgtMikK KwogLyoKICAqIFRoZSBoYXJkd2FyZSB2aXJ0dWFsIG1hY2hpbmUgKEhWTSkgaW50ZXJmYWNlIGFi c3RyYWN0cyBhd2F5IGZyb20gdGhlCiAgKiB4ODYveDg2XzY0IENQVSB2aXJ0dWFsaXphdGlvbiBh c3Npc3Qgc3BlY2lmaWNzLiBDdXJyZW50bHkgdGhpcyBpbnRlcmZhY2UKLS0gCjIuMS40CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==