From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [RFC PATCH V2 2/2] msi: Handle remappable format interrupt request Date: Thu, 18 May 2017 01:33:00 -0400 Message-ID: <1495085580-10631-3-git-send-email-tianyu.lan@intel.com> References: <1495085580-10631-1-git-send-email-tianyu.lan@intel.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 1dBJl5-0003TH-6W for xen-devel@lists.xenproject.org; Thu, 18 May 2017 11:38:19 +0000 In-Reply-To: <1495085580-10631-1-git-send-email-tianyu.lan@intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: qemu-devel@nongnu.org, xen-devel@lists.xenproject.org Cc: Lan Tianyu , kevin.tian@intel.com, sstabellini@kernel.org, mst@redhat.com, anthony.perard@citrix.com, marcel@redhat.com, Chao Gao List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KCkFjY29yZGluZyB0byBWVC1kIHNw ZWMgSW50ZXJydXB0IFJlbWFwcGluZyBhbmQgSW50ZXJydXB0IFBvc3RpbmcgLT4KSW50ZXJydXB0 IFJlbWFwcGluZyAtPiBJbnRlcnJ1cHQgUmVxdWVzdCBGb3JtYXRzIE9uIEludGVsIDY0ClBsYXRm b3JtcywgZmllbGRzIG9mIE1TSSBkYXRhIHJlZ2lzdGVyIGhhdmUgY2hhbmdlZC4gVGhpcyBwYXRj aAphdm9pZHMgd3JvbmdseSByZWdhcmRpbmcgYSByZW1hcHBhYmxlIGZvcm1hdCBpbnRlcnJ1cHQg cmVxdWVzdCBhcwphbiBpbnRlcnJ1cHQgYmluZGVkIHdpdGggYW4gZXZlbnQgY2hhbm5lbC4KClNp Z25lZC1vZmYtYnk6IENoYW8gR2FvIDxjaGFvLmdhb0BpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IExhbiBUaWFueXUgPHRpYW55dS5sYW5AaW50ZWwuY29tPgotLS0KIGh3L3BjaS9tc2kuYyAgICAg ICAgIHwgNSArKystLQogaHcvcGNpL21zaXguYyAgICAgICAgfCA0ICsrKy0KIGh3L3hlbi94ZW5f cHRfbXNpLmMgIHwgMiArLQogaW5jbHVkZS9ody94ZW4veGVuLmggfCAyICstCiB4ZW4taHZtLXN0 dWIuYyAgICAgICB8IDIgKy0KIHhlbi1odm0uYyAgICAgICAgICAgIHwgNyArKysrKystCiA2IGZp bGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvaHcvcGNpL21zaS5jIGIvaHcvcGNpL21zaS5jCmluZGV4IGE4N2IyMjcuLjE5OWNiNDcgMTAw NjQ0Ci0tLSBhL2h3L3BjaS9tc2kuYworKysgYi9ody9wY2kvbXNpLmMKQEAgLTI4OSw3ICsyODks NyBAQCB2b2lkIG1zaV9yZXNldChQQ0lEZXZpY2UgKmRldikKIHN0YXRpYyBib29sIG1zaV9pc19t YXNrZWQoY29uc3QgUENJRGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCB2ZWN0b3IpCiB7CiAgICAg dWludDE2X3QgZmxhZ3MgPSBwY2lfZ2V0X3dvcmQoZGV2LT5jb25maWcgKyBtc2lfZmxhZ3Nfb2Zm KGRldikpOwotICAgIHVpbnQzMl90IG1hc2ssIGRhdGE7CisgICAgdWludDMyX3QgbWFzaywgZGF0 YSwgYWRkcl9sbzsKICAgICBib29sIG1zaTY0Yml0ID0gZmxhZ3MgJiBQQ0lfTVNJX0ZMQUdTXzY0 QklUOwogICAgIGFzc2VydCh2ZWN0b3IgPCBQQ0lfTVNJX1ZFQ1RPUlNfTUFYKTsKIApAQCAtMjk4 LDcgKzI5OCw4IEBAIHN0YXRpYyBib29sIG1zaV9pc19tYXNrZWQoY29uc3QgUENJRGV2aWNlICpk ZXYsIHVuc2lnbmVkIGludCB2ZWN0b3IpCiAgICAgfQogCiAgICAgZGF0YSA9IHBjaV9nZXRfd29y ZChkZXYtPmNvbmZpZyArIG1zaV9kYXRhX29mZihkZXYsIG1zaTY0Yml0KSk7Ci0gICAgaWYgKHhl bl9pc19waXJxX21zaShkYXRhKSkgeworICAgIGFkZHJfbG8gPSBwY2lfZ2V0X2xvbmcoZGV2LT5j b25maWcgKyBtc2lfYWRkcmVzc19sb19vZmYoZGV2KSk7CisgICAgaWYgKHhlbl9pc19waXJxX21z aShkYXRhLCBhZGRyX2xvKSkgewogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCmRpZmYg LS1naXQgYS9ody9wY2kvbXNpeC5jIGIvaHcvcGNpL21zaXguYwppbmRleCBiYjU0ZThiLi5lZmUy OTgyIDEwMDY0NAotLS0gYS9ody9wY2kvbXNpeC5jCisrKyBiL2h3L3BjaS9tc2l4LmMKQEAgLTgy LDkgKzgyLDExIEBAIHN0YXRpYyBib29sIG1zaXhfdmVjdG9yX21hc2tlZChQQ0lEZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IHZlY3RvciwgYm9vbCBmbWFzaykKIHsKICAgICB1bnNpZ25lZCBvZmZz ZXQgPSB2ZWN0b3IgKiBQQ0lfTVNJWF9FTlRSWV9TSVpFOwogICAgIHVpbnQ4X3QgKmRhdGEgPSAm ZGV2LT5tc2l4X3RhYmxlW29mZnNldCArIFBDSV9NU0lYX0VOVFJZX0RBVEFdOworICAgIHVpbnQ4 X3QgKmFkZHJfbG8gPSAmZGV2LT5tc2l4X3RhYmxlW29mZnNldCArIFBDSV9NU0lYX0VOVFJZX0xP V0VSX0FERFJdOwogICAgIC8qIE1TSXMgb24gWGVuIGNhbiBiZSByZW1hcHBlZCBpbnRvIHBpcnFz LiBJbiB0aG9zZSBjYXNlcywgbWFza2luZwogICAgICAqIGFuZCB1bm1hc2tpbmcgZ28gdGhyb3Vn aCB0aGUgUFYgZXZ0Y2huIHBhdGguICovCi0gICAgaWYgKHhlbl9lbmFibGVkKCkgJiYgeGVuX2lz X3BpcnFfbXNpKHBjaV9nZXRfbG9uZyhkYXRhKSkpIHsKKyAgICBpZiAoeGVuX2VuYWJsZWQoKSAm JiB4ZW5faXNfcGlycV9tc2kocGNpX2dldF9sb25nKGRhdGEpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwY2lfZ2V0X2xvbmcoYWRkcl9sbykpKSB7CiAgICAgICAg IHJldHVybiBmYWxzZTsKICAgICB9CiAgICAgcmV0dXJuIGZtYXNrIHx8IGRldi0+bXNpeF90YWJs ZVtvZmZzZXQgKyBQQ0lfTVNJWF9FTlRSWV9WRUNUT1JfQ1RSTF0gJgpkaWZmIC0tZ2l0IGEvaHcv eGVuL3hlbl9wdF9tc2kuYyBiL2h3L3hlbi94ZW5fcHRfbXNpLmMKaW5kZXggNWZhYjk1ZS4uNDVh OWU5ZiAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9wdF9tc2kuYworKysgYi9ody94ZW4veGVuX3B0 X21zaS5jCkBAIC0xMTQsNyArMTE0LDcgQEAgc3RhdGljIGludCBtc2lfbXNpeF9zZXR1cChYZW5Q Q0lQYXNzdGhyb3VnaFN0YXRlICpzLAogCiAgICAgYXNzZXJ0KCghaXNfbXNpeCAmJiBtc2l4X2Vu dHJ5ID09IDApIHx8IGlzX21zaXgpOwogCi0gICAgaWYgKHhlbl9pc19waXJxX21zaShkYXRhKSkg eworICAgIGlmICh4ZW5faXNfcGlycV9tc2koZGF0YSwgYWRkcikpIHsKICAgICAgICAgKnBwaXJx ID0gbXNpX2V4dF9kZXN0X2lkKGFkZHIgPj4gMzIpIHwgbXNpX2Rlc3RfaWQoYWRkcik7CiAgICAg ICAgIGlmICghKnBwaXJxKSB7CiAgICAgICAgICAgICAvKiB0aGlzIHByb2JhYmx5IGlkZW50aWZp ZXMgYW4gbWlzY29uZmlndXJhdGlvbiBvZiB0aGUgZ3Vlc3QsCmRpZmYgLS1naXQgYS9pbmNsdWRl L2h3L3hlbi94ZW4uaCBiL2luY2x1ZGUvaHcveGVuL3hlbi5oCmluZGV4IDA5YzJjZTUuLmFmNzU5 YmMgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvaHcveGVuL3hlbi5oCisrKyBiL2luY2x1ZGUvaHcveGVu L3hlbi5oCkBAIC0zMyw3ICszMyw3IEBAIGludCB4ZW5fcGNpX3Nsb3RfZ2V0X3BpcnEoUENJRGV2 aWNlICpwY2lfZGV2LCBpbnQgaXJxX251bSk7CiB2b2lkIHhlbl9waWl4M19zZXRfaXJxKHZvaWQg Km9wYXF1ZSwgaW50IGlycV9udW0sIGludCBsZXZlbCk7CiB2b2lkIHhlbl9waWl4X3BjaV93cml0 ZV9jb25maWdfY2xpZW50KHVpbnQzMl90IGFkZHJlc3MsIHVpbnQzMl90IHZhbCwgaW50IGxlbik7 CiB2b2lkIHhlbl9odm1faW5qZWN0X21zaSh1aW50NjRfdCBhZGRyLCB1aW50MzJfdCBkYXRhKTsK LWludCB4ZW5faXNfcGlycV9tc2kodWludDMyX3QgbXNpX2RhdGEpOworaW50IHhlbl9pc19waXJx X21zaSh1aW50MzJfdCBtc2lfZGF0YSwgdWludDMyX3QgbXNpX2FkZHJfbG8pOwogCiBxZW11X2ly cSAqeGVuX2ludGVycnVwdF9jb250cm9sbGVyX2luaXQodm9pZCk7CiAKZGlmZiAtLWdpdCBhL3hl bi1odm0tc3R1Yi5jIGIveGVuLWh2bS1zdHViLmMKaW5kZXggYzUwMDMyNS4uZGFlNDIxYyAxMDA2 NDQKLS0tIGEveGVuLWh2bS1zdHViLmMKKysrIGIveGVuLWh2bS1zdHViLmMKQEAgLTMxLDcgKzMx LDcgQEAgdm9pZCB4ZW5faHZtX2luamVjdF9tc2kodWludDY0X3QgYWRkciwgdWludDMyX3QgZGF0 YSkKIHsKIH0KIAotaW50IHhlbl9pc19waXJxX21zaSh1aW50MzJfdCBtc2lfZGF0YSkKK2ludCB4 ZW5faXNfcGlycV9tc2kodWludDMyX3QgbXNpX2RhdGEsIHVpbnQzMl90IG1zaV9hZGRyX2xvKQog ewogICAgIHJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEveGVuLWh2bS5jIGIveGVuLWh2bS5jCmlu ZGV4IDUwNDNiZWIuLmRiMjkxMjEgMTAwNjQ0Ci0tLSBhL3hlbi1odm0uYworKysgYi94ZW4taHZt LmMKQEAgLTE0Niw4ICsxNDYsMTMgQEAgdm9pZCB4ZW5fcGlpeF9wY2lfd3JpdGVfY29uZmlnX2Ns aWVudCh1aW50MzJfdCBhZGRyZXNzLCB1aW50MzJfdCB2YWwsIGludCBsZW4pCiAgICAgfQogfQog Ci1pbnQgeGVuX2lzX3BpcnFfbXNpKHVpbnQzMl90IG1zaV9kYXRhKQoraW50IHhlbl9pc19waXJx X21zaSh1aW50MzJfdCBtc2lfZGF0YSwgdWludDMyX3QgbXNpX2FkZHJfbG8pCiB7CisgICAgLyog SWYgbXNpIGFkZHJlc3MgaXMgY29uZmlndXJhdGUgdG8gcmVtYXBwaW5nIGZvcm1hdCwgdGhlIG1z aSB3aWxsIG5vdAorICAgICAqIHJlbWFwcGVkIGludG8gYSBwaXJxLgorICAgICAqLworICAgIGlm IChtc2lfYWRkcl9sbyAmIE1TSV9BRERSX0lGX01BU0spCisgICAgICAgIHJldHVybiAwOwogICAg IC8qIElmIHZlY3RvciBpcyAwLCB0aGUgbXNpIGlzIHJlbWFwcGVkIGludG8gYSBwaXJxLCBwYXNz ZWQgYXMKICAgICAgKiBkZXN0X2lkLgogICAgICAqLwotLSAKMS44LjMuMQoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxp c3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZl bAo=