From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH 3/3] msi: Handle remappable format interrupt request Date: Thu, 29 Jun 2017 01:49:54 -0400 Message-ID: <1498715394-16402-4-git-send-email-tianyu.lan@intel.com> References: <1498715394-16402-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: In-Reply-To: <1498715394-16402-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.xensource.com 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 dWIuYyAgICAgICB8IDIgKy0KIHhlbi1odm0uYyAgICAgICAgICAgIHwgOCArKysrKysrLQogNiBm aWxlcyBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2h3L3BjaS9tc2kuYyBiL2h3L3BjaS9tc2kuYwppbmRleCBhODdiMjI3Li4zNzEzZWE2IDEw MDY0NAotLS0gYS9ody9wY2kvbXNpLmMKKysrIGIvaHcvcGNpL21zaS5jCkBAIC0yODksNyArMjg5 LDcgQEAgdm9pZCBtc2lfcmVzZXQoUENJRGV2aWNlICpkZXYpCiBzdGF0aWMgYm9vbCBtc2lfaXNf bWFza2VkKGNvbnN0IFBDSURldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgdmVjdG9yKQogewogICAg IHVpbnQxNl90IGZsYWdzID0gcGNpX2dldF93b3JkKGRldi0+Y29uZmlnICsgbXNpX2ZsYWdzX29m ZihkZXYpKTsKLSAgICB1aW50MzJfdCBtYXNrLCBkYXRhOworICAgIHVpbnQzMl90IG1hc2ssIGRh dGEsIGFkZHJfbG87CiAgICAgYm9vbCBtc2k2NGJpdCA9IGZsYWdzICYgUENJX01TSV9GTEFHU182 NEJJVDsKICAgICBhc3NlcnQodmVjdG9yIDwgUENJX01TSV9WRUNUT1JTX01BWCk7CiAKQEAgLTI5 OCw3ICsyOTgsOCBAQCBzdGF0aWMgYm9vbCBtc2lfaXNfbWFza2VkKGNvbnN0IFBDSURldmljZSAq ZGV2LCB1bnNpZ25lZCBpbnQgdmVjdG9yKQogICAgIH0KIAogICAgIGRhdGEgPSBwY2lfZ2V0X3dv cmQoZGV2LT5jb25maWcgKyBtc2lfZGF0YV9vZmYoZGV2LCBtc2k2NGJpdCkpOwotICAgIGlmICh4 ZW5faXNfcGlycV9tc2koZGF0YSkpIHsKKyAgICBhZGRyX2xvID0gcGNpX2dldF9sb25nKGRldi0+ Y29uZmlnICsgbXNpX2FkZHJlc3NfbG9fb2ZmKGRldikpOworICAgIGlmICh4ZW5faXNfcGlycV9t c2koYWRkcl9sbywgZGF0YSkpIHsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIApkaWZm IC0tZ2l0IGEvaHcvcGNpL21zaXguYyBiL2h3L3BjaS9tc2l4LmMKaW5kZXggMGVjMWNiMS4uNmRk YTgzYyAxMDA2NDQKLS0tIGEvaHcvcGNpL21zaXguYworKysgYi9ody9wY2kvbXNpeC5jCkBAIC04 MSw5ICs4MSwxMSBAQCBzdGF0aWMgYm9vbCBtc2l4X3ZlY3Rvcl9tYXNrZWQoUENJRGV2aWNlICpk ZXYsIHVuc2lnbmVkIGludCB2ZWN0b3IsIGJvb2wgZm1hc2spCiB7CiAgICAgdW5zaWduZWQgb2Zm c2V0ID0gdmVjdG9yICogUENJX01TSVhfRU5UUllfU0laRTsKICAgICB1aW50OF90ICpkYXRhID0g JmRldi0+bXNpeF90YWJsZVtvZmZzZXQgKyBQQ0lfTVNJWF9FTlRSWV9EQVRBXTsKKyAgICB1aW50 OF90ICphZGRyX2xvID0gJmRldi0+bXNpeF90YWJsZVtvZmZzZXQgKyBQQ0lfTVNJWF9FTlRSWV9M T1dFUl9BRERSXTsKICAgICAvKiBNU0lzIG9uIFhlbiBjYW4gYmUgcmVtYXBwZWQgaW50byBwaXJx cy4gSW4gdGhvc2UgY2FzZXMsIG1hc2tpbmcKICAgICAgKiBhbmQgdW5tYXNraW5nIGdvIHRocm91 Z2ggdGhlIFBWIGV2dGNobiBwYXRoLiAqLwotICAgIGlmICh4ZW5fZW5hYmxlZCgpICYmIHhlbl9p c19waXJxX21zaShwY2lfZ2V0X2xvbmcoZGF0YSkpKSB7CisgICAgaWYgKHhlbl9lbmFibGVkKCkg JiYgeGVuX2lzX3BpcnFfbXNpKHBjaV9nZXRfbG9uZyhhZGRyX2xvKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcGNpX2dldF9sb25nKGRhdGEpKSkgewogICAgICAg ICByZXR1cm4gZmFsc2U7CiAgICAgfQogICAgIHJldHVybiBmbWFzayB8fCBkZXYtPm1zaXhfdGFi bGVbb2Zmc2V0ICsgUENJX01TSVhfRU5UUllfVkVDVE9SX0NUUkxdICYKZGlmZiAtLWdpdCBhL2h3 L3hlbi94ZW5fcHRfbXNpLmMgYi9ody94ZW4veGVuX3B0X21zaS5jCmluZGV4IDI2YTY5ZDkuLjY4 ZGEwZTQgMTAwNjQ0Ci0tLSBhL2h3L3hlbi94ZW5fcHRfbXNpLmMKKysrIGIvaHcveGVuL3hlbl9w dF9tc2kuYwpAQCAtMTE0LDcgKzExNCw3IEBAIHN0YXRpYyBpbnQgbXNpX21zaXhfc2V0dXAoWGVu UENJUGFzc3Rocm91Z2hTdGF0ZSAqcywKIAogICAgIGFzc2VydCgoIWlzX21zaXggJiYgbXNpeF9l bnRyeSA9PSAwKSB8fCBpc19tc2l4KTsKIAotICAgIGlmICh4ZW5faXNfcGlycV9tc2koZGF0YSkp IHsKKyAgICBpZiAoeGVuX2lzX3BpcnFfbXNpKGFkZHIsIGRhdGEpKSB7CiAgICAgICAgICpwcGly cSA9IG1zaV9leHRfZGVzdF9pZChhZGRyID4+IDMyKSB8IG1zaV9kZXN0X2lkKGFkZHIpOwogICAg ICAgICBpZiAoISpwcGlycSkgewogICAgICAgICAgICAgLyogdGhpcyBwcm9iYWJseSBpZGVudGlm aWVzIGFuIG1pc2NvbmZpZ3VyYXRpb24gb2YgdGhlIGd1ZXN0LApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9ody94ZW4veGVuLmggYi9pbmNsdWRlL2h3L3hlbi94ZW4uaAppbmRleCBhOGYzYWZiLi5iMWVm NDFlIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW4uaAorKysgYi9pbmNsdWRlL2h3L3hl bi94ZW4uaApAQCAtMzMsNyArMzMsNyBAQCBpbnQgeGVuX3BjaV9zbG90X2dldF9waXJxKFBDSURl dmljZSAqcGNpX2RldiwgaW50IGlycV9udW0pOwogdm9pZCB4ZW5fcGlpeDNfc2V0X2lycSh2b2lk ICpvcGFxdWUsIGludCBpcnFfbnVtLCBpbnQgbGV2ZWwpOwogdm9pZCB4ZW5fcGlpeF9wY2lfd3Jp dGVfY29uZmlnX2NsaWVudCh1aW50MzJfdCBhZGRyZXNzLCB1aW50MzJfdCB2YWwsIGludCBsZW4p Owogdm9pZCB4ZW5faHZtX2luamVjdF9tc2kodWludDY0X3QgYWRkciwgdWludDMyX3QgZGF0YSk7 Ci1pbnQgeGVuX2lzX3BpcnFfbXNpKHVpbnQzMl90IG1zaV9kYXRhKTsKK2ludCB4ZW5faXNfcGly cV9tc2kodWludDMyX3QgbXNpX2FkZHJfbG8sIHVpbnQzMl90IG1zaV9kYXRhKTsKIAogcWVtdV9p cnEgKnhlbl9pbnRlcnJ1cHRfY29udHJvbGxlcl9pbml0KHZvaWQpOwogCmRpZmYgLS1naXQgYS94 ZW4taHZtLXN0dWIuYyBiL3hlbi1odm0tc3R1Yi5jCmluZGV4IGM1MDAzMjUuLmEzYTNiYjMgMTAw NjQ0Ci0tLSBhL3hlbi1odm0tc3R1Yi5jCisrKyBiL3hlbi1odm0tc3R1Yi5jCkBAIC0zMSw3ICsz MSw3IEBAIHZvaWQgeGVuX2h2bV9pbmplY3RfbXNpKHVpbnQ2NF90IGFkZHIsIHVpbnQzMl90IGRh dGEpCiB7CiB9CiAKLWludCB4ZW5faXNfcGlycV9tc2kodWludDMyX3QgbXNpX2RhdGEpCitpbnQg eGVuX2lzX3BpcnFfbXNpKHVpbnQzMl90IG1zaV9hZGRyX2xvLCB1aW50MzJfdCBtc2lfZGF0YSkK IHsKICAgICByZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3hlbi1odm0uYyBiL3hlbi1odm0uYwpp bmRleCAwODkyMzYxLi45ZjFhN2JkIDEwMDY0NAotLS0gYS94ZW4taHZtLmMKKysrIGIveGVuLWh2 bS5jCkBAIC0xNDYsOCArMTQ2LDE0IEBAIHZvaWQgeGVuX3BpaXhfcGNpX3dyaXRlX2NvbmZpZ19j bGllbnQodWludDMyX3QgYWRkcmVzcywgdWludDMyX3QgdmFsLCBpbnQgbGVuKQogICAgIH0KIH0K IAotaW50IHhlbl9pc19waXJxX21zaSh1aW50MzJfdCBtc2lfZGF0YSkKK2ludCB4ZW5faXNfcGly cV9tc2kodWludDMyX3QgbXNpX2FkZHJfbG8sIHVpbnQzMl90IG1zaV9kYXRhKQogeworICAgIC8q IElmIHRoZSBNU0kgYWRkcmVzcyBpcyBjb25maWd1cmVkIGluIHJlbWFwcGluZyBmb3JtYXQsIHRo ZSBNU0kgd2lsbCBub3QKKyAgICAgKiBiZSByZW1hcHBlZCBpbnRvIGEgcGlycS4KKyAgICAgKi8K KyAgICBpZiAobXNpX2FkZHJfbG8gJiBNU0lfQUREUl9JRl9NQVNLKSB7CisgICAgICAgIHJldHVy biAwOworICAgIH0KICAgICAvKiBJZiB2ZWN0b3IgaXMgMCwgdGhlIG1zaSBpcyByZW1hcHBlZCBp bnRvIGEgcGlycSwgcGFzc2VkIGFzCiAgICAgICogZGVzdF9pZC4KICAgICAgKi8KLS0gCjEuOC4z LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMu eGVuLm9yZy94ZW4tZGV2ZWwK