From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lan Tianyu Subject: [PATCH V2 2/3] xen-pt: bind/unbind interrupt remapping format MSI Date: Wed, 9 Aug 2017 16:51:21 -0400 Message-ID: <1502311882-11038-3-git-send-email-tianyu.lan@intel.com> References: <1502311882-11038-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.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dfdfk-00051C-6j for xen-devel@lists.xenproject.org; Thu, 10 Aug 2017 02:58:08 +0000 In-Reply-To: <1502311882-11038-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, ehabkost@redhat.com, mst@redhat.com, marcel@redhat.com, anthony.perard@citrix.com, pbonzini@redhat.com, Chao Gao , rth@twiddle.net List-Id: xen-devel@lists.xenproject.org RnJvbTogQ2hhbyBHYW8gPGNoYW8uZ2FvQGludGVsLmNvbT4KCklmIGEgdklPTU1VIGlzIGV4cG9z ZWQgdG8gZ3Vlc3QsIGd1ZXN0IHdpbGwgY29uZmlndXJlIHRoZSBtc2kgdG8gcmVtYXBwaW5nCmZv cm1hdC4gVGhlIG9yaWdpbmFsIGNvZGUgaXNuJ3Qgc3VpdGFibGUgdG8gdGhlIG5ldyBmb3JtYXQu IEEgbmV3IHBhaXIKYmluZC91bmJpbmQgaW50ZXJmYWNlcyBhcmUgYWRkZWQgZm9yIHRoaXMgdXNh Z2UuIFRoaXMgcGF0Y2ggcmVjb2duaXplcwp0aGlzIGNhc2UgYW5kIHVzZXMgbmV3IGludGVyZmFj ZXMgdG8gYmluZC91bmJpbmQgbXNpLgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8uZ2Fv QGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRlbC5j b20+Ci0tLQogY29uZmlndXJlICAgICAgICAgICAgICAgICAgICAgfCAgNCArKystCiBody94ZW4v eGVuX3B0X21zaS5jICAgICAgICAgICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0KIGluY2x1ZGUvaHcvaTM4Ni9hcGljLW1zaWRlZi5oIHwgIDEgKwogaW5j bHVkZS9ody94ZW4veGVuX2NvbW1vbi5oICAgfCAyNSArKysrKysrKysrKysrKysrKysrKysrCiA0 IGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBkZDczY2NlLi45MmI1NmQzIDEwMDc1 NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC0yMTA4LDEzICsyMTA4LDE1IEBA IEVPRgogICAgIGVsaWYKICAgICAgICAgY2F0ID4gJFRNUEMgPDxFT0YgJiYKICN1bmRlZiBYQ19X QU5UX0NPTVBBVF9NQVBfRk9SRUlHTl9BUEkKKyNpbmNsdWRlIDx4ZW5jdHJsLmg+CiAjaW5jbHVk ZSA8eGVuZm9yZWlnbm1lbW9yeS5oPgogaW50IG1haW4odm9pZCkgeworICB4Y19pbnRlcmZhY2Ug KnhjID0gTlVMTDsKICAgeGVuZm9yZWlnbm1lbW9yeV9oYW5kbGUgKnhmbWVtOwogCiAgIHhmbWVt ID0geGVuZm9yZWlnbm1lbW9yeV9vcGVuKDAsIDApOwogICB4ZW5mb3JlaWdubWVtb3J5X21hcDIo eGZtZW0sIDAsIDAsIDAsIDAsIDAsIDAsIDApOwotCisgIHhjX2RvbWFpbl91cGRhdGVfbXNpX2ly cV9yZW1hcHBpbmcoeGMsIDAsIDAsIDAsIDAsIDAsIDApOwogICByZXR1cm4gMDsKIH0KIEVPRgpk aWZmIC0tZ2l0IGEvaHcveGVuL3hlbl9wdF9tc2kuYyBiL2h3L3hlbi94ZW5fcHRfbXNpLmMKaW5k ZXggZmY5YTc5Zi4uNWM1ZDE1YSAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9wdF9tc2kuYworKysg Yi9ody94ZW4veGVuX3B0X21zaS5jCkBAIC0xNjMsMTYgKzE2MywyMyBAQCBzdGF0aWMgaW50IG1z aV9tc2l4X3VwZGF0ZShYZW5QQ0lQYXNzdGhyb3VnaFN0YXRlICpzLAogICAgIGludCByYyA9IDA7 CiAgICAgdWludDY0X3QgdGFibGVfYWRkciA9IDA7CiAKLSAgICBYRU5fUFRfTE9HKGQsICJVcGRh dGluZyBNU0klcyB3aXRoIHBpcnEgJWQgZ3ZlYyAlI3ggZ2ZsYWdzICUjeCIKLSAgICAgICAgICAg ICAgICIgKGVudHJ5OiAlI3gpXG4iLAotICAgICAgICAgICAgICAgaXNfbXNpeCA/ICItWCIgOiAi IiwgcGlycSwgZ3ZlYywgZ2ZsYWdzLCBtc2l4X2VudHJ5KTsKLQogICAgIGlmIChpc19tc2l4KSB7 CiAgICAgICAgIHRhYmxlX2FkZHIgPSBzLT5tc2l4LT5tbWlvX2Jhc2VfYWRkcjsKICAgICB9CiAK LSAgICByYyA9IHhjX2RvbWFpbl91cGRhdGVfbXNpX2lycSh4ZW5feGMsIHhlbl9kb21pZCwgZ3Zl YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaXJxLCBnZmxhZ3MsIHRhYmxl X2FkZHIpOworICAgIGlmIChhZGRyICYgTVNJX0FERFJfSUZfTUFTSykgeworICAgICAgICBYRU5f UFRfTE9HKGQsICJVcGRhdGluZyBNU0klcyB3aXRoIGFkZHIgJSMiIFBSSXg2NCAiIGRhdGEgJSN4 XG4iLAorICAgICAgICAgICAgICAgICAgIGlzX21zaXggPyAiLVgiIDogIiIsIGFkZHIsIGRhdGEp OworICAgICAgICByYyA9IHhjX2RvbWFpbl91cGRhdGVfbXNpX2lycV9yZW1hcHBpbmcoeGVuX3hj LCB4ZW5fZG9taWQsIHBpcnEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkLT5kZXZmbiwgZGF0YSwgYWRkciwgdGFibGVfYWRkcik7CisgICAgfSBlbHNlIHsK KyAgICAgICAgWEVOX1BUX0xPRyhkLCAiVXBkYXRpbmcgTVNJJXMgd2l0aCBwaXJxICVkIGd2ZWMg JSN4IGdmbGFncyAlI3giCisgICAgICAgICAgICAgICAgICAgIiAoZW50cnk6ICUjeClcbiIsCisg ICAgICAgICAgICAgICAgICAgaXNfbXNpeCA/ICItWCIgOiAiIiwgcGlycSwgZ3ZlYywgZ2ZsYWdz LCBtc2l4X2VudHJ5KTsKKworICAgICAgICByYyA9IHhjX2RvbWFpbl91cGRhdGVfbXNpX2lycSh4 ZW5feGMsIHhlbl9kb21pZCwgZ3ZlYywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGlycSwgZ2ZsYWdzLCB0YWJsZV9hZGRyKTsKKyAgICB9CiAKICAgICBpZiAocmMpIHsK ICAgICAgICAgWEVOX1BUX0VSUihkLCAiVXBkYXRpbmcgb2YgTVNJJXMgZmFpbGVkLiAoZXJyOiAl ZClcbiIsCkBAIC0yMDQsMTMgKzIxMSwzMCBAQCBzdGF0aWMgaW50IG1zaV9tc2l4X2Rpc2FibGUo WGVuUENJUGFzc3Rocm91Z2hTdGF0ZSAqcywKICAgICB9CiAKICAgICBpZiAoaXNfYmluZGVkKSB7 Ci0gICAgICAgIFhFTl9QVF9MT0coZCwgIlVuYmluZCBNU0klcyB3aXRoIHBpcnEgJWQsIGd2ZWMg JSN4XG4iLAotICAgICAgICAgICAgICAgICAgIGlzX21zaXggPyAiLVgiIDogIiIsIHBpcnEsIGd2 ZWMpOwotICAgICAgICByYyA9IHhjX2RvbWFpbl91bmJpbmRfbXNpX2lycSh4ZW5feGMsIHhlbl9k b21pZCwgZ3ZlYywgcGlycSwgZ2ZsYWdzKTsKLSAgICAgICAgaWYgKHJjKSB7Ci0gICAgICAgICAg ICBYRU5fUFRfRVJSKGQsICJVbmJpbmRpbmcgb2YgTVNJJXMgZmFpbGVkLiAoZXJyOiAlZCwgcGly cTogJWQsIGd2ZWM6ICUjeClcbiIsCi0gICAgICAgICAgICAgICAgICAgICAgIGlzX21zaXggPyAi LVgiIDogIiIsIGVycm5vLCBwaXJxLCBndmVjKTsKLSAgICAgICAgICAgIHJldHVybiByYzsKKyAg ICAgICAgaWYgKGFkZHIgJiBNU0lfQUREUl9JRl9NQVNLKSB7CisgICAgICAgICAgICBYRU5fUFRf TE9HKGQsICJVbmJpbmRpbmcgb2YgTVNJJXMgLiAoIHBpcnE6ICVkLCBkYXRhOiAleCwgIgorICAg ICAgICAgICAgICAgICAgICAgICAiYWRkcjogJSMiIFBSSXg2NCAiKVxuIiwKKyAgICAgICAgICAg ICAgICAgICAgICAgaXNfbXNpeCA/ICItWCIgOiAiIiwgcGlycSwgZGF0YSwgYWRkcik7CisgICAg ICAgICAgICByYyA9IHhjX2RvbWFpbl91bmJpbmRfbXNpX2lycV9yZW1hcHBpbmcoeGVuX3hjLCB4 ZW5fZG9taWQsIHBpcnEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZC0+ZGV2Zm4sIGRhdGEsIGFkZHIpOworICAgICAgICAgICAgaWYgKHJjKSB7 CisgICAgICAgICAgICAgICAgWEVOX1BUX0VSUihkLCAiVW5iaW5kaW5nIG9mIE1TSSVzIC4gKGVy cm9yOiAlZCwgcGlycTogJWQsICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYXRhOiAl eCwgYWRkcjogJSMiIFBSSXg2NCAiKVxuIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlz X21zaXggPyAiLVgiIDogIiIsIHJjLCBwaXJxLCBkYXRhLCBhZGRyKTsKKyAgICAgICAgICAgICAg ICByZXR1cm4gcmM7CisgICAgICAgICAgICB9CisKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICAgIFhFTl9QVF9MT0coZCwgIlVuYmluZCBNU0klcyB3aXRoIHBpcnEgJWQsIGd2ZWMgJSN4XG4i LAorICAgICAgICAgICAgICAgICAgICAgICBpc19tc2l4ID8gIi1YIiA6ICIiLCBwaXJxLCBndmVj KTsKKyAgICAgICAgICAgIHJjID0geGNfZG9tYWluX3VuYmluZF9tc2lfaXJxKHhlbl94YywgeGVu X2RvbWlkLCBndmVjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGlycSwgZ2ZsYWdzKTsKKyAgICAgICAgICAgIGlmIChyYykgeworICAgICAgICAgICAgICAgIFhF Tl9QVF9FUlIoZCwgIlVuYmluZGluZyBvZiBNU0klcyBmYWlsZWQuIChlcnI6ICVkLCBwaXJxOiAl ZCwgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgImd2ZWM6ICUjeClcbiIsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICBpc19tc2l4ID8gIi1YIiA6ICIiLCBlcnJubywgcGlycSwgZ3Zl Yyk7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJjOworICAgICAgICAgICAgfQogICAgICAgICB9 CiAgICAgfQogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2h3L2kzODYvYXBpYy1tc2lkZWYuaCBiL2lu Y2x1ZGUvaHcvaTM4Ni9hcGljLW1zaWRlZi5oCmluZGV4IDQyMGI0MTEuLmEyYjUyZDkgMTAwNjQ0 Ci0tLSBhL2luY2x1ZGUvaHcvaTM4Ni9hcGljLW1zaWRlZi5oCisrKyBiL2luY2x1ZGUvaHcvaTM4 Ni9hcGljLW1zaWRlZi5oCkBAIC0yNyw1ICsyNyw2IEBACiAjZGVmaW5lIE1TSV9BRERSX0RFU1Rf SURfU0hJRlQgICAgICAgICAgMTIKICNkZWZpbmUgTVNJX0FERFJfREVTVF9JRFhfU0hJRlQgICAg ICAgICA0CiAjZGVmaW5lICBNU0lfQUREUl9ERVNUX0lEX01BU0sgICAgICAgICAgMHgwMDBmZjAw MAorI2RlZmluZSAgTVNJX0FERFJfSUZfTUFTSyAgICAgICAgICAgICAgIDB4MDAwMDAwMTAKIAog I2VuZGlmIC8qIEhXX0FQSUNfTVNJREVGX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVu L3hlbl9jb21tb24uaCBiL2luY2x1ZGUvaHcveGVuL3hlbl9jb21tb24uaAppbmRleCA4NmM3ZjI2 Li40NTRhYjZkIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fY29tbW9uLmgKKysrIGIv aW5jbHVkZS9ody94ZW4veGVuX2NvbW1vbi5oCkBAIC02ODAsNCArNjgwLDI5IEBAIHN0YXRpYyBp bmxpbmUgaW50IHhlbmdudHRhYl9ncmFudF9jb3B5KHhlbmdudHRhYl9oYW5kbGUgKnhndCwgdWlu dDMyX3QgY291bnQsCiB9CiAjZW5kaWYKIAorLyogWGVuIGJlZm9yZSA0LjEwICovCisjaWYgQ09O RklHX1hFTl9DVFJMX0lOVEVSRkFDRV9WRVJTSU9OIDwgNDEwMDAKKworc3RhdGljIGlubGluZSBp bnQgeGNfZG9tYWluX3VwZGF0ZV9tc2lfaXJxX3JlbWFwcGluZyh4Y19pbnRlcmZhY2UgKnhjLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50 MzJfdCBkb21pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdWludDMyX3QgcGlycSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qgc291cmNlX2lkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MzJfdCBkYXRhLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRf dCBhZGRyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50NjRfdCBndGFibGUpCit7CisgICAgcmV0dXJuIC1FTk9TWVM7Cit9CisKK3N0YXRp YyBpbmxpbmUgaW50IHhjX2RvbWFpbl91bmJpbmRfbXNpX2lycV9yZW1hcHBpbmcoeGNfaW50ZXJm YWNlICp4YywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdWludDMyX3QgZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHBpcnEsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzMl90IHNvdXJjZV9pZCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMyX3Qg ZGF0YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdWludDY0X3QgYWRkcikKK3sKKyAgICByZXR1cm4gLUVOT1NZUzsKK30KKyNlbmRpZgorCiAj ZW5kaWYgLyogUUVNVV9IV19YRU5fQ09NTU9OX0ggKi8KLS0gCjEuOC4zLjEKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2 ZWwK