From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v3 3/3] msi: Handle remappable format interrupt request Date: Fri, 17 Nov 2017 14:24:25 +0800 Message-ID: <1510899865-40323-4-git-send-email-chao.gao@intel.com> References: <1510899865-40323-1-git-send-email-chao.gao@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 1eFa6c-0002XY-Jb for xen-devel@lists.xenproject.org; Fri, 17 Nov 2017 06:26:26 +0000 In-Reply-To: <1510899865-40323-1-git-send-email-chao.gao@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 Cc: Lan Tianyu , Stefano Stabellini , Eduardo Habkost , "Michael S. Tsirkin" , Anthony Perard , Paolo Bonzini , Marcel Apfelbaum , xen-devel@lists.xenproject.org, Chao Gao , Richard Henderson List-Id: xen-devel@lists.xenproject.org QWNjb3JkaW5nIHRvIFZULWQgc3BlYyBJbnRlcnJ1cHQgUmVtYXBwaW5nIGFuZCBJbnRlcnJ1cHQg UG9zdGluZyAtPgpJbnRlcnJ1cHQgUmVtYXBwaW5nIC0+IEludGVycnVwdCBSZXF1ZXN0IEZvcm1h dHMgT24gSW50ZWwgNjQKUGxhdGZvcm1zLCBmaWVsZHMgb2YgTVNJIGRhdGEgcmVnaXN0ZXIgaGF2 ZSBjaGFuZ2VkLiBUaGlzIHBhdGNoCmF2b2lkcyB3cm9uZ2x5IHJlZ2FyZGluZyBhIHJlbWFwcGFi bGUgZm9ybWF0IGludGVycnVwdCByZXF1ZXN0IGFzCmFuIGludGVycnVwdCBiaW5kZWQgd2l0aCBh IHBpcnEuCgpTaWduZWQtb2ZmLWJ5OiBDaGFvIEdhbyA8Y2hhby5nYW9AaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBMYW4gVGlhbnl1IDx0aWFueXUubGFuQGludGVsLmNvbT4KLS0tCnYzOgogLSBj bGFyaWZ5IHRoZSBpbnRlcnJ1cHQgZm9ybWF0IGJpdCBpcyBJbnRlbC1zcGVjaWZpYywgdGhlbiBp dCBpcwogaW1wcm9wZXIgdG8gZGVmaW5lIE1TSV9BRERSX0lGX01BU0sgaW4gYSBjb21tb24gaGVh ZGVyLgotLS0KIGh3L2kzODYveGVuL3hlbi1odm0uYyB8IDEwICsrKysrKysrKy0KIGh3L3BjaS9t c2kuYyAgICAgICAgICB8ICA1ICsrKy0tCiBody9wY2kvbXNpeC5jICAgICAgICAgfCAgNCArKyst CiBody94ZW4veGVuX3B0X21zaS5jICAgfCAgMiArLQogaW5jbHVkZS9ody94ZW4veGVuLmggIHwg IDIgKy0KIHN0dWJzL3hlbi1odm0uYyAgICAgICB8ICAyICstCiA2IGZpbGVzIGNoYW5nZWQsIDE4 IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcvaTM4Ni94ZW4v eGVuLWh2bS5jIGIvaHcvaTM4Ni94ZW4veGVuLWh2bS5jCmluZGV4IDgwMjhiZWQuLjUyZGM4YWYg MTAwNjQ0Ci0tLSBhL2h3L2kzODYveGVuL3hlbi1odm0uYworKysgYi9ody9pMzg2L3hlbi94ZW4t aHZtLmMKQEAgLTE0NSw4ICsxNDUsMTYgQEAgdm9pZCB4ZW5fcGlpeF9wY2lfd3JpdGVfY29uZmln X2NsaWVudCh1aW50MzJfdCBhZGRyZXNzLCB1aW50MzJfdCB2YWwsIGludCBsZW4pCiAgICAgfQog fQogCi1pbnQgeGVuX2lzX3BpcnFfbXNpKHVpbnQzMl90IG1zaV9kYXRhKQoraW50IHhlbl9pc19w aXJxX21zaSh1aW50MzJfdCBtc2lfYWRkcl9sbywgdWludDMyX3QgbXNpX2RhdGEpCiB7CisgICAg LyogSWYgdGhlIE1TSSBhZGRyZXNzIGlzIGNvbmZpZ3VyZWQgaW4gcmVtYXBwaW5nIGZvcm1hdCwg dGhlIE1TSSB3aWxsIG5vdAorICAgICAqIGJlIHJlbWFwcGVkIGludG8gYSBwaXJxLiBUaGlzICdp ZicgdGVzdCBleGNsdWRlcyBJbnRlbC1zcGVjaWZpYworICAgICAqIHJlbWFwcGFibGUgbXNpLgor ICAgICAqLworI2RlZmluZSBNU0lfQUREUl9JRl9NQVNLIDB4MDAwMDAwMTAKKyAgICBpZiAobXNp X2FkZHJfbG8gJiBNU0lfQUREUl9JRl9NQVNLKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0K ICAgICAvKiBJZiB2ZWN0b3IgaXMgMCwgdGhlIG1zaSBpcyByZW1hcHBlZCBpbnRvIGEgcGlycSwg cGFzc2VkIGFzCiAgICAgICogZGVzdF9pZC4KICAgICAgKi8KZGlmZiAtLWdpdCBhL2h3L3BjaS9t c2kuYyBiL2h3L3BjaS9tc2kuYwppbmRleCA1ZTA1Y2U1Li5kMDVjODc2IDEwMDY0NAotLS0gYS9o dy9wY2kvbXNpLmMKKysrIGIvaHcvcGNpL21zaS5jCkBAIC0yODksNyArMjg5LDcgQEAgdm9pZCBt c2lfcmVzZXQoUENJRGV2aWNlICpkZXYpCiBzdGF0aWMgYm9vbCBtc2lfaXNfbWFza2VkKGNvbnN0 IFBDSURldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdmVjdG9yKQogewogICAgIHVpbnQxNl90IGZs YWdzID0gcGNpX2dldF93b3JkKGRldi0+Y29uZmlnICsgbXNpX2ZsYWdzX29mZihkZXYpKTsKLSAg ICB1aW50MzJfdCBtYXNrLCBkYXRhOworICAgIHVpbnQzMl90IG1hc2ssIGRhdGEsIGFkZHJfbG87 CiAgICAgYm9vbCBtc2k2NGJpdCA9IGZsYWdzICYgUENJX01TSV9GTEFHU182NEJJVDsKICAgICBh c3NlcnQodmVjdG9yIDwgUENJX01TSV9WRUNUT1JTX01BWCk7CiAKQEAgLTI5OCw3ICsyOTgsOCBA QCBzdGF0aWMgYm9vbCBtc2lfaXNfbWFza2VkKGNvbnN0IFBDSURldmljZSAqZGV2LCB1bnNpZ25l ZCBpbnQgdmVjdG9yKQogICAgIH0KIAogICAgIGRhdGEgPSBwY2lfZ2V0X3dvcmQoZGV2LT5jb25m aWcgKyBtc2lfZGF0YV9vZmYoZGV2LCBtc2k2NGJpdCkpOwotICAgIGlmICh4ZW5faXNfcGlycV9t c2koZGF0YSkpIHsKKyAgICBhZGRyX2xvID0gcGNpX2dldF9sb25nKGRldi0+Y29uZmlnICsgbXNp X2FkZHJlc3NfbG9fb2ZmKGRldikpOworICAgIGlmICh4ZW5faXNfcGlycV9tc2koYWRkcl9sbywg ZGF0YSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvaHcv cGNpL21zaXguYyBiL2h3L3BjaS9tc2l4LmMKaW5kZXggYzk0NGMwMi4uNGNiMDFkYiAxMDA2NDQK LS0tIGEvaHcvcGNpL21zaXguYworKysgYi9ody9wY2kvbXNpeC5jCkBAIC04Myw5ICs4MywxMSBA QCBzdGF0aWMgYm9vbCBtc2l4X3ZlY3Rvcl9tYXNrZWQoUENJRGV2aWNlICpkZXYsIHVuc2lnbmVk IGludCB2ZWN0b3IsIGJvb2wgZm1hc2spCiB7CiAgICAgdW5zaWduZWQgb2Zmc2V0ID0gdmVjdG9y ICogUENJX01TSVhfRU5UUllfU0laRTsKICAgICB1aW50OF90ICpkYXRhID0gJmRldi0+bXNpeF90 YWJsZVtvZmZzZXQgKyBQQ0lfTVNJWF9FTlRSWV9EQVRBXTsKKyAgICB1aW50OF90ICphZGRyX2xv ID0gJmRldi0+bXNpeF90YWJsZVtvZmZzZXQgKyBQQ0lfTVNJWF9FTlRSWV9MT1dFUl9BRERSXTsK ICAgICAvKiBNU0lzIG9uIFhlbiBjYW4gYmUgcmVtYXBwZWQgaW50byBwaXJxcy4gSW4gdGhvc2Ug Y2FzZXMsIG1hc2tpbmcKICAgICAgKiBhbmQgdW5tYXNraW5nIGdvIHRocm91Z2ggdGhlIFBWIGV2 dGNobiBwYXRoLiAqLwotICAgIGlmICh4ZW5fZW5hYmxlZCgpICYmIHhlbl9pc19waXJxX21zaShw Y2lfZ2V0X2xvbmcoZGF0YSkpKSB7CisgICAgaWYgKHhlbl9lbmFibGVkKCkgJiYgeGVuX2lzX3Bp cnFfbXNpKHBjaV9nZXRfbG9uZyhhZGRyX2xvKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGNpX2dldF9sb25nKGRhdGEpKSkgewogICAgICAgICByZXR1cm4gZmFs c2U7CiAgICAgfQogICAgIHJldHVybiBmbWFzayB8fCBkZXYtPm1zaXhfdGFibGVbb2Zmc2V0ICsg UENJX01TSVhfRU5UUllfVkVDVE9SX0NUUkxdICYKZGlmZiAtLWdpdCBhL2h3L3hlbi94ZW5fcHRf bXNpLmMgYi9ody94ZW4veGVuX3B0X21zaS5jCmluZGV4IGY3ZDZlNzYuLjBlNWJmODMgMTAwNjQ0 Ci0tLSBhL2h3L3hlbi94ZW5fcHRfbXNpLmMKKysrIGIvaHcveGVuL3hlbl9wdF9tc2kuYwpAQCAt OTYsNyArOTYsNyBAQCBzdGF0aWMgaW50IG1zaV9tc2l4X3NldHVwKFhlblBDSVBhc3N0aHJvdWdo U3RhdGUgKnMsCiAKICAgICBhc3NlcnQoKCFpc19tc2l4ICYmIG1zaXhfZW50cnkgPT0gMCkgfHwg aXNfbXNpeCk7CiAKLSAgICBpZiAoeGVuX2lzX3BpcnFfbXNpKGRhdGEpKSB7CisgICAgaWYgKHhl bl9pc19waXJxX21zaShhZGRyLCBkYXRhKSkgewogICAgICAgICAqcHBpcnEgPSBtc2lfZXh0X2Rl c3RfaWQoYWRkciA+PiAzMikgfCBtc2lfZGVzdF9pZChhZGRyKTsKICAgICAgICAgaWYgKCEqcHBp cnEpIHsKICAgICAgICAgICAgIC8qIHRoaXMgcHJvYmFibHkgaWRlbnRpZmllcyBhbiBtaXNjb25m aWd1cmF0aW9uIG9mIHRoZSBndWVzdCwKZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbi5o IGIvaW5jbHVkZS9ody94ZW4veGVuLmgKaW5kZXggN2VmY2RhYS4uMGQ2YzgzZSAxMDA2NDQKLS0t IGEvaW5jbHVkZS9ody94ZW4veGVuLmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuLmgKQEAgLTM0 LDcgKzM0LDcgQEAgaW50IHhlbl9wY2lfc2xvdF9nZXRfcGlycShQQ0lEZXZpY2UgKnBjaV9kZXYs IGludCBpcnFfbnVtKTsKIHZvaWQgeGVuX3BpaXgzX3NldF9pcnEodm9pZCAqb3BhcXVlLCBpbnQg aXJxX251bSwgaW50IGxldmVsKTsKIHZvaWQgeGVuX3BpaXhfcGNpX3dyaXRlX2NvbmZpZ19jbGll bnQodWludDMyX3QgYWRkcmVzcywgdWludDMyX3QgdmFsLCBpbnQgbGVuKTsKIHZvaWQgeGVuX2h2 bV9pbmplY3RfbXNpKHVpbnQ2NF90IGFkZHIsIHVpbnQzMl90IGRhdGEpOwotaW50IHhlbl9pc19w aXJxX21zaSh1aW50MzJfdCBtc2lfZGF0YSk7CitpbnQgeGVuX2lzX3BpcnFfbXNpKHVpbnQzMl90 IG1zaV9hZGRyX2xvLCB1aW50MzJfdCBtc2lfZGF0YSk7CiAKIHFlbXVfaXJxICp4ZW5faW50ZXJy dXB0X2NvbnRyb2xsZXJfaW5pdCh2b2lkKTsKIApkaWZmIC0tZ2l0IGEvc3R1YnMveGVuLWh2bS5j IGIvc3R1YnMveGVuLWh2bS5jCmluZGV4IDNjYTZjNTEuLmFlYjE1OTIgMTAwNjQ0Ci0tLSBhL3N0 dWJzL3hlbi1odm0uYworKysgYi9zdHVicy94ZW4taHZtLmMKQEAgLTMxLDcgKzMxLDcgQEAgdm9p ZCB4ZW5faHZtX2luamVjdF9tc2kodWludDY0X3QgYWRkciwgdWludDMyX3QgZGF0YSkKIHsKIH0K IAotaW50IHhlbl9pc19waXJxX21zaSh1aW50MzJfdCBtc2lfZGF0YSkKK2ludCB4ZW5faXNfcGly cV9tc2kodWludDMyX3QgbXNpX2FkZHJfbG8sIHVpbnQzMl90IG1zaV9kYXRhKQogewogICAgIHJl dHVybiAwOwogfQotLSAKMS44LjMuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=