From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: [PATCH v6 2/2] vgic: refuse irq migration when one is already in progress Date: Mon, 3 Apr 2017 18:09:55 -0700 Message-ID: <1491268195-31685-2-git-send-email-sstabellini@kernel.org> References: <1491268195-31685-1-git-send-email-sstabellini@kernel.org> 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 1cvCyx-0004eW-AX for xen-devel@lists.xenproject.org; Tue, 04 Apr 2017 01:10:03 +0000 In-Reply-To: <1491268195-31685-1-git-send-email-sstabellini@kernel.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: julien.grall@arm.com Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org List-Id: xen-devel@lists.xenproject.org V2hlbiBhbiBpcnEgbWlncmF0aW9uIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIGJ1dCBub3QgeWV0 IGNvbXBsZXRlZAooR0lDX0lSUV9HVUVTVF9NSUdSQVRJTkcgaXMgc2V0KSwgcmVmdXNlIGFueSBv dGhlciBpcnEgbWlncmF0aW9uCnJlcXVlc3RzIGZvciB0aGUgc2FtZSBpcnEuCgpUaGlzIHBhdGNo IGltcGxlbWVudHMgdGhpcyBhcHByb2FjaCBieSByZXR1cm5pbmcgc3VjY2VzcyBvciBmYWlsdXJl IGZyb20KdmdpY19taWdyYXRlX2lycSwgYW5kIGF2b2lkaW5nIGlycSB0YXJnZXQgY2hhbmdlcyBv biBmYWlsdXJlLiBJdCBwcmludHMKYSB3YXJuaW5nIGluIGNhc2UgdGhlIGlycSBtaWdyYXRpb24g ZmFpbHMuCgpJdCBhbHNvIG1vdmVzIHRoZSBjbGVhcl9iaXQgb2YgR0lDX0lSUV9HVUVTVF9NSUdS QVRJTkcgdG8gYWZ0ZXIgdGhlCnBoeXNpY2FsIGlycSBhZmZpbml0eSBoYXMgYmVlbiBjaGFuZ2Vk IHNvIHRoYXQgYWxsIG9wZXJhdGlvbnMgcmVnYXJkaW5nCmlycSBtaWdyYXRpb24gYXJlIGNvbXBs ZXRlZC4KClNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2Vy bmVsLm9yZz4KLS0tCiB4ZW4vYXJjaC9hcm0vZ2ljLmMgICAgICAgICB8ICAzICsrLQogeGVuL2Fy Y2gvYXJtL3ZnaWMtdjIuYyAgICAgfCAgNyArKystLS0tCiB4ZW4vYXJjaC9hcm0vdmdpYy12My5j ICAgICB8ICA3ICsrKystLS0KIHhlbi9hcmNoL2FybS92Z2ljLmMgICAgICAgIHwgMTQgKysrKysr KysrLS0tLS0KIHhlbi9pbmNsdWRlL2FzbS1hcm0vdmdpYy5oIHwgIDIgKy0KIDUgZmlsZXMgY2hh bmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVu L2FyY2gvYXJtL2dpYy5jIGIveGVuL2FyY2gvYXJtL2dpYy5jCmluZGV4IGRlOTk2ZDkuLmRjMDdk ZjEgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS9naWMuYworKysgYi94ZW4vYXJjaC9hcm0vZ2lj LmMKQEAgLTUwOCwxMCArNTA4LDExIEBAIHN0YXRpYyB2b2lkIGdpY191cGRhdGVfb25lX2xyKHN0 cnVjdCB2Y3B1ICp2LCBpbnQgaSkKICAgICAgICAgICAgICAqIG5leHQgcGNwdSwgaW5mbGlnaHQg aXMgYWxyZWFkeSBjbGVhcmVkLiBObyBjb25jdXJyZW50CiAgICAgICAgICAgICAgKiBhY2Nlc3Nl cyB0byBpbmZsaWdodC4gKi8KICAgICAgICAgICAgIHNtcF93bWIoKTsKLSAgICAgICAgICAgIGlm ICggdGVzdF9hbmRfY2xlYXJfYml0KEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HLCAmcC0+c3RhdHVz KSApCisgICAgICAgICAgICBpZiAoIHRlc3RfYml0KEdJQ19JUlFfR1VFU1RfTUlHUkFUSU5HLCAm cC0+c3RhdHVzKSApCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgc3RydWN0IHZjcHUg KnZfdGFyZ2V0ID0gdmdpY19nZXRfdGFyZ2V0X3ZjcHUodiwgaXJxKTsKICAgICAgICAgICAgICAg ICBpcnFfc2V0X2FmZmluaXR5KHAtPmRlc2MsIGNwdW1hc2tfb2Yodl90YXJnZXQtPnByb2Nlc3Nv cikpOworICAgICAgICAgICAgICAgIGNsZWFyX2JpdChHSUNfSVJRX0dVRVNUX01JR1JBVElORywg JnAtPnN0YXR1cyk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQg YS94ZW4vYXJjaC9hcm0vdmdpYy12Mi5jIGIveGVuL2FyY2gvYXJtL3ZnaWMtdjIuYwppbmRleCAw Njc0ZjdiLi5kYzlmOTViIDEwMDY0NAotLS0gYS94ZW4vYXJjaC9hcm0vdmdpYy12Mi5jCisrKyBi L3hlbi9hcmNoL2FybS92Z2ljLXYyLmMKQEAgLTE1NiwxMiArMTU2LDExIEBAIHN0YXRpYyB2b2lk IHZnaWNfc3RvcmVfaXRhcmdldHNyKHN0cnVjdCBkb21haW4gKmQsIHN0cnVjdCB2Z2ljX2lycV9y YW5rICpyYW5rLAogICAgICAgICAvKiBPbmx5IG1pZ3JhdGUgdGhlIHZJUlEgaWYgdGhlIHRhcmdl dCB2Q1BVIGhhcyBjaGFuZ2VkICovCiAgICAgICAgIGlmICggbmV3X3RhcmdldCAhPSBvbGRfdGFy Z2V0ICkKICAgICAgICAgewotICAgICAgICAgICAgdmdpY19taWdyYXRlX2lycShkLT52Y3B1W29s ZF90YXJnZXRdLAorICAgICAgICAgICAgaWYgKCB2Z2ljX21pZ3JhdGVfaXJxKGQtPnZjcHVbb2xk X3RhcmdldF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQtPnZjcHVbbmV3X3Rhcmdl dF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcnEpOworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB2aXJxKSApCisgICAgICAgICAgICAgICAgd3JpdGVfYXRvbWljKCZyYW5r LT52Y3B1W29mZnNldF0sIG5ld190YXJnZXQpOwogICAgICAgICB9Ci0KLSAgICAgICAgd3JpdGVf YXRvbWljKCZyYW5rLT52Y3B1W29mZnNldF0sIG5ld190YXJnZXQpOwogICAgIH0KIH0KIApkaWZm IC0tZ2l0IGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMuYyBiL3hlbi9hcmNoL2FybS92Z2ljLXYzLmMK aW5kZXggMDY3OWU3Ni4uMWU5ODkwYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL3ZnaWMtdjMu YworKysgYi94ZW4vYXJjaC9hcm0vdmdpYy12My5jCkBAIC0xNTEsOSArMTUxLDEwIEBAIHN0YXRp YyB2b2lkIHZnaWNfc3RvcmVfaXJvdXRlcihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgdmdpY19p cnFfcmFuayAqcmFuaywKIAogICAgIC8qIE9ubHkgbWlncmF0ZSB0aGUgSVJRIGlmIHRoZSB0YXJn ZXQgdkNQVSBoYXMgY2hhbmdlZCAqLwogICAgIGlmICggbmV3X3ZjcHUgIT0gb2xkX3ZjcHUgKQot ICAgICAgICB2Z2ljX21pZ3JhdGVfaXJxKG9sZF92Y3B1LCBuZXdfdmNwdSwgdmlycSk7Ci0KLSAg ICB3cml0ZV9hdG9taWMoJnJhbmstPnZjcHVbb2Zmc2V0XSwgbmV3X3ZjcHUtPnZjcHVfaWQpOwor ICAgIHsKKyAgICAgICAgaWYgKCB2Z2ljX21pZ3JhdGVfaXJxKG9sZF92Y3B1LCBuZXdfdmNwdSwg dmlycSkgKQorICAgICAgICAgICAgd3JpdGVfYXRvbWljKCZyYW5rLT52Y3B1W29mZnNldF0sIG5l d192Y3B1LT52Y3B1X2lkKTsKKyAgICB9CiB9CiAKIHN0YXRpYyBpbmxpbmUgYm9vbCB2Z2ljX3Jl ZzY0X2NoZWNrX2FjY2VzcyhzdHJ1Y3QgaHNyX2RhYnQgZGFidCkKZGlmZiAtLWdpdCBhL3hlbi9h cmNoL2FybS92Z2ljLmMgYi94ZW4vYXJjaC9hcm0vdmdpYy5jCmluZGV4IDY3ZDc1YTYuLjVlZWYz NTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL2FybS92Z2ljLmMKKysrIGIveGVuL2FyY2gvYXJtL3Zn aWMuYwpAQCAtMjM3LDE4ICsyMzcsMjEgQEAgc3RhdGljIGludCB2Z2ljX2dldF92aXJxX3ByaW9y aXR5KHN0cnVjdCB2Y3B1ICp2LCB1bnNpZ25lZCBpbnQgdmlycSkKICAgICByZXR1cm4gcHJpb3Jp dHk7CiB9CiAKLXZvaWQgdmdpY19taWdyYXRlX2lycShzdHJ1Y3QgdmNwdSAqb2xkLCBzdHJ1Y3Qg dmNwdSAqbmV3LCB1bnNpZ25lZCBpbnQgaXJxKQorYm9vbCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVj dCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcsIHVuc2lnbmVkIGludCBpcnEpCiB7CiAgICAg dW5zaWduZWQgbG9uZyBmbGFnczsKICAgICBzdHJ1Y3QgcGVuZGluZ19pcnEgKnAgPSBpcnFfdG9f cGVuZGluZyhvbGQsIGlycSk7CiAKICAgICAvKiBub3RoaW5nIHRvIGRvIGZvciB2aXJ0dWFsIGlu dGVycnVwdHMgKi8KICAgICBpZiAoIHAtPmRlc2MgPT0gTlVMTCApCi0gICAgICAgIHJldHVybjsK KyAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICAvKiBtaWdyYXRpb24gYWxyZWFkeSBpbiBwcm9n cmVzcywgbm8gbmVlZCB0byBkbyBhbnl0aGluZyAqLwogICAgIGlmICggdGVzdF9iaXQoR0lDX0lS UV9HVUVTVF9NSUdSQVRJTkcsICZwLT5zdGF0dXMpICkKLSAgICAgICAgcmV0dXJuOworICAgIHsK KyAgICAgICAgZ2RwcmludGsoWEVOTE9HX1dBUk5JTkcsICJpcnEgJWQgbWlncmF0aW9uIGZhaWxl ZDogcmVxdWVzdGVkIHdoaWxlIGluIHByb2dyZXNzXG4iLCBpcnEpOworICAgICAgICByZXR1cm4g ZmFsc2U7CisgICAgfQogCiAgICAgcGVyZmNfaW5jcih2Z2ljX2lycV9taWdyYXRlcyk7CiAKQEAg LTI1OCw3ICsyNjEsNyBAQCB2b2lkIHZnaWNfbWlncmF0ZV9pcnEoc3RydWN0IHZjcHUgKm9sZCwg c3RydWN0IHZjcHUgKm5ldywgdW5zaWduZWQgaW50IGlycSkKICAgICB7CiAgICAgICAgIGlycV9z ZXRfYWZmaW5pdHkocC0+ZGVzYywgY3B1bWFza19vZihuZXctPnByb2Nlc3NvcikpOwogICAgICAg ICBzcGluX3VubG9ja19pcnFyZXN0b3JlKCZvbGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7Ci0g ICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIC8qIElmIHRo ZSBJUlEgaXMgc3RpbGwgbHJfcGVuZGluZywgcmUtaW5qZWN0IGl0IHRvIHRoZSBuZXcgdmNwdSAq LwogICAgIGlmICggIWxpc3RfZW1wdHkoJnAtPmxyX3F1ZXVlKSApCkBAIC0yNjksNyArMjcyLDcg QEAgdm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpu ZXcsIHVuc2lnbmVkIGludCBpcnEpCiAgICAgICAgIGlycV9zZXRfYWZmaW5pdHkocC0+ZGVzYywg Y3B1bWFza19vZihuZXctPnByb2Nlc3NvcikpOwogICAgICAgICBzcGluX3VubG9ja19pcnFyZXN0 b3JlKCZvbGQtPmFyY2gudmdpYy5sb2NrLCBmbGFncyk7CiAgICAgICAgIHZnaWNfdmNwdV9pbmpl Y3RfaXJxKG5ldywgaXJxKTsKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsK ICAgICB9CiAgICAgLyogaWYgdGhlIElSUSBpcyBpbiBhIEdJQ0hfTFIgcmVnaXN0ZXIsIHNldCBH SUNfSVJRX0dVRVNUX01JR1JBVElORwogICAgICAqIGFuZCB3YWl0IGZvciB0aGUgRU9JICovCkBA IC0yNzcsNiArMjgwLDcgQEAgdm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpvbGQs IHN0cnVjdCB2Y3B1ICpuZXcsIHVuc2lnbmVkIGludCBpcnEpCiAgICAgICAgIHNldF9iaXQoR0lD X0lSUV9HVUVTVF9NSUdSQVRJTkcsICZwLT5zdGF0dXMpOwogCiAgICAgc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmb2xkLT5hcmNoLnZnaWMubG9jaywgZmxhZ3MpOworICAgIHJldHVybiB0cnVlOwog fQogCiB2b2lkIGFyY2hfbW92ZV9pcnFzKHN0cnVjdCB2Y3B1ICp2KQpkaWZmIC0tZ2l0IGEveGVu L2luY2x1ZGUvYXNtLWFybS92Z2ljLmggYi94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaAppbmRl eCA4OTRjM2YxLi41NDQ4NjdhIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMu aAorKysgYi94ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMuaApAQCAtMzE0LDcgKzMxNCw3IEBAIGV4 dGVybiBpbnQgdmNwdV92Z2ljX2ZyZWUoc3RydWN0IHZjcHUgKnYpOwogZXh0ZXJuIGJvb2wgdmdp Y190b19zZ2koc3RydWN0IHZjcHUgKnYsIHJlZ2lzdGVyX3Qgc2dpciwKICAgICAgICAgICAgICAg ICAgICAgICAgIGVudW0gZ2ljX3NnaV9tb2RlIGlycW1vZGUsIGludCB2aXJxLAogICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHNnaV90YXJnZXQgKnRhcmdldCk7Ci1leHRlcm4g dm9pZCB2Z2ljX21pZ3JhdGVfaXJxKHN0cnVjdCB2Y3B1ICpvbGQsIHN0cnVjdCB2Y3B1ICpuZXcs IHVuc2lnbmVkIGludCBpcnEpOworZXh0ZXJuIGJvb2wgdmdpY19taWdyYXRlX2lycShzdHJ1Y3Qg dmNwdSAqb2xkLCBzdHJ1Y3QgdmNwdSAqbmV3LCB1bnNpZ25lZCBpbnQgaXJxKTsKIAogLyogUmVz ZXJ2ZSBhIHNwZWNpZmljIGd1ZXN0IHZJUlEgKi8KIGV4dGVybiBib29sIHZnaWNfcmVzZXJ2ZV92 aXJxKHN0cnVjdCBkb21haW4gKmQsIHVuc2lnbmVkIGludCB2aXJxKTsKLS0gCjEuOS4xCgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1h aWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcv eGVuLWRldmVsCg==