From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Gao Subject: [PATCH v3 2/3] xen/pt: Pass the whole msi addr/data to Xen Date: Fri, 17 Nov 2017 14:24:24 +0800 Message-ID: <1510899865-40323-3-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 1eFa6b-0002WC-Lm for xen-devel@lists.xenproject.org; Fri, 17 Nov 2017 06:26:25 +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: Anthony Perard , xen-devel@lists.xenproject.org, Stefano Stabellini , Lan Tianyu , Chao Gao List-Id: xen-devel@lists.xenproject.org UHJldmlvdXNseSwgc29tZSBmaWVsZHMgKHJlc2VydmVkIG9yIHVuYWx0ZXJhYmxlKSBhcmUgZmls dGVyZWQgYnkKUWVtdS4gVGhpcyBmaWVsZHMgYXJlIHVzZWxlc3MgZm9yIHRoZSBsZWdhY3kgaW50 ZXJydXB0IGZvcm1hdC4KSG93ZXZlciwgdGhlc2UgZmllbGRzIGFyZSBtYXkgbWVhbmluZ2Z1bCAo Zm9yIGludGVsIHBsYXRmb3JtKQpmb3IgdGhlIGludGVycnVwdCBvZiByZW1hcHBpbmcgZm9ybWF0 LiBJdCBpcyBiZXR0ZXIgdG8gcGFzcyB0aGUgd2hvbGUKbXNpIGFkZHIvZGF0YSB0byBYZW4gd2l0 aG91dCBhbnkgZmlsdGVyaW5nLgoKVGhlIG1haW4gcmVhc29uIHdoeSB3ZSB3YW50IHRoaXMgaXMg UUVNVSBkb2Vzbid0IGhhdmUgdGhlIGtub3dsZWRnZQp0byBkZWNpZGUgdGhlIGludGVycnVwdCBm b3JtYXQgYWZ0ZXIgd2UgaW50cm9kdWNlIHZJT01NVSBpbnNpZGUgWGVuLgpQYXNzaW5nIHRoZSB3 aG9sZSBtc2kgbWVzc2FnZSBkb3duIGFuZCBsZXQgYXJjaC1zcGVjaWZpYyB2SU9NTVUgdG8KZGVj aWRlIHRoZSBpbnRlcnJ1cHQgZm9ybWF0LgoKU2lnbmVkLW9mZi1ieTogQ2hhbyBHYW8gPGNoYW8u Z2FvQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogTGFuIFRpYW55dSA8dGlhbnl1LmxhbkBpbnRl bC5jb20+Ci0tLQp2MzoKIC0gbmV3Ci0tLQogaHcveGVuL3hlbl9wdF9tc2kuYyB8IDQ3ICsrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgMTIgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvaHcveGVu L3hlbl9wdF9tc2kuYyBiL2h3L3hlbi94ZW5fcHRfbXNpLmMKaW5kZXggNmQxZTNiZC4uZjdkNmU3 NiAxMDA2NDQKLS0tIGEvaHcveGVuL3hlbl9wdF9tc2kuYworKysgYi9ody94ZW4veGVuX3B0X21z aS5jCkBAIC00NywyNSArNDcsNiBAQCBzdGF0aWMgaW5saW5lIHVpbnQzMl90IG1zaV9leHRfZGVz dF9pZCh1aW50MzJfdCBhZGRyX2hpKQogICAgIHJldHVybiBhZGRyX2hpICYgMHhmZmZmZmYwMDsK IH0KIAotc3RhdGljIHVpbnQzMl90IG1zaV9nZmxhZ3ModWludDMyX3QgZGF0YSwgdWludDY0X3Qg YWRkcikKLXsKLSAgICB1aW50MzJfdCByZXN1bHQgPSAwOwotICAgIGludCByaCwgZG0sIGRlc3Rf aWQsIGRlbGl2X21vZGUsIHRyaWdfbW9kZTsKLQotICAgIHJoID0gKGFkZHIgPj4gTVNJX0FERFJf UkVESVJFQ1RJT05fU0hJRlQpICYgMHgxOwotICAgIGRtID0gKGFkZHIgPj4gTVNJX0FERFJfREVT VF9NT0RFX1NISUZUKSAmIDB4MTsKLSAgICBkZXN0X2lkID0gbXNpX2Rlc3RfaWQoYWRkcik7Ci0g ICAgZGVsaXZfbW9kZSA9IChkYXRhID4+IE1TSV9EQVRBX0RFTElWRVJZX01PREVfU0hJRlQpICYg MHg3OwotICAgIHRyaWdfbW9kZSA9IChkYXRhID4+IE1TSV9EQVRBX1RSSUdHRVJfU0hJRlQpICYg MHgxOwotCi0gICAgcmVzdWx0ID0gZGVzdF9pZCB8IChyaCA8PCBYRU5fUFRfR0ZMQUdTX1NISUZU X1JIKQotICAgICAgICB8IChkbSA8PCBYRU5fUFRfR0ZMQUdTX1NISUZUX0RNKQotICAgICAgICB8 IChkZWxpdl9tb2RlIDw8IFhFTl9QVF9HRkxBR1NTSElGVF9ERUxJVl9NT0RFKQotICAgICAgICB8 ICh0cmlnX21vZGUgPDwgWEVOX1BUX0dGTEFHU1NISUZUX1RSR19NT0RFKTsKLQotICAgIHJldHVy biByZXN1bHQ7Ci19Ci0KIHN0YXRpYyBpbmxpbmUgdWludDY0X3QgbXNpX2FkZHI2NChYZW5QVE1T SSAqbXNpKQogewogICAgIHJldHVybiAodWludDY0X3QpbXNpLT5hZGRyX2hpIDw8IDMyIHwgbXNp LT5hZGRyX2xvOwpAQCAtMTYwLDIzICsxNDEsMjAgQEAgc3RhdGljIGludCBtc2lfbXNpeF91cGRh dGUoWGVuUENJUGFzc3Rocm91Z2hTdGF0ZSAqcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJvb2wgbWFza2VkKQogewogICAgIFBDSURldmljZSAqZCA9ICZzLT5kZXY7Ci0gICAgdWludDhf dCBndmVjID0gbXNpX3ZlY3RvcihkYXRhKTsKLSAgICB1aW50MzJfdCBnZmxhZ3MgPSBtc2lfZ2Zs YWdzKGRhdGEsIGFkZHIpOworICAgIHVpbnQzMl90IGdmbGFncyA9IG1hc2tlZCA/IDAgOiAoMXUg PDwgWEVOX1BUX0dGTEFHU1NISUZUX1VOTUFTS0VEKTsKICAgICBpbnQgcmMgPSAwOwogICAgIHVp bnQ2NF90IHRhYmxlX2FkZHIgPSAwOwogCi0gICAgWEVOX1BUX0xPRyhkLCAiVXBkYXRpbmcgTVNJ JXMgd2l0aCBwaXJxICVkIGd2ZWMgJSN4IGdmbGFncyAlI3giCi0gICAgICAgICAgICAgICAiIChl bnRyeTogJSN4KVxuIiwKLSAgICAgICAgICAgICAgIGlzX21zaXggPyAiLVgiIDogIiIsIHBpcnEs IGd2ZWMsIGdmbGFncywgbXNpeF9lbnRyeSk7CisgICAgWEVOX1BUX0xPRyhkLCAiVXBkYXRpbmcg TVNJJXMgd2l0aCBwaXJxICVkIGd2ZWMgJSN4IGFkZHIgJSJQUkl4NjQKKyAgICAgICAgICAgICAg ICIgZGF0YSAlI3ggZ2ZsYWdzICUjeCAoZW50cnk6ICUjeClcbiIsCisgICAgICAgICAgICAgICBp c19tc2l4ID8gIi1YIiA6ICIiLCBwaXJxLCBhZGRyLCBkYXRhLCBnZmxhZ3MsIG1zaXhfZW50cnkp OwogCiAgICAgaWYgKGlzX21zaXgpIHsKICAgICAgICAgdGFibGVfYWRkciA9IHMtPm1zaXgtPm1t aW9fYmFzZV9hZGRyOwogICAgIH0KIAotICAgIGdmbGFncyB8PSBtYXNrZWQgPyAwIDogKDF1IDw8 IFhFTl9QVF9HRkxBR1NTSElGVF9VTk1BU0tFRCk7Ci0KLSAgICByYyA9IHhjX2RvbWFpbl91cGRh dGVfbXNpX2lycSh4ZW5feGMsIHhlbl9kb21pZCwgZ3ZlYywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwaXJxLCBnZmxhZ3MsIHRhYmxlX2FkZHIpOworICAgIHJjID0geGNfZG9t YWluX3VwZGF0ZV9tc2lfaXJxKHhlbl94YywgeGVuX2RvbWlkLCBwaXJxLCBhZGRyLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEsIGdmbGFncywgdGFibGVfYWRkcik7CiAK ICAgICBpZiAocmMpIHsKICAgICAgICAgWEVOX1BUX0VSUihkLCAiVXBkYXRpbmcgb2YgTVNJJXMg ZmFpbGVkLiAoZXJyOiAlZClcbiIsCkBAIC0xOTksOCArMTc3LDYgQEAgc3RhdGljIGludCBtc2lf bXNpeF9kaXNhYmxlKFhlblBDSVBhc3N0aHJvdWdoU3RhdGUgKnMsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBpc19iaW5kZWQpCiB7CiAgICAgUENJRGV2aWNlICpkID0gJnMtPmRl djsKLSAgICB1aW50OF90IGd2ZWMgPSBtc2lfdmVjdG9yKGRhdGEpOwotICAgIHVpbnQzMl90IGdm bGFncyA9IG1zaV9nZmxhZ3MoZGF0YSwgYWRkcik7CiAgICAgaW50IHJjID0gMDsKIAogICAgIGlm IChwaXJxID09IFhFTl9QVF9VTkFTU0lHTkVEX1BJUlEpIHsKQEAgLTIwOCwxMiArMTg0LDEzIEBA IHN0YXRpYyBpbnQgbXNpX21zaXhfZGlzYWJsZShYZW5QQ0lQYXNzdGhyb3VnaFN0YXRlICpzLAog ICAgIH0KIAogICAgIGlmIChpc19iaW5kZWQpIHsKLSAgICAgICAgWEVOX1BUX0xPRyhkLCAiVW5i aW5kIE1TSSVzIHdpdGggcGlycSAlZCwgZ3ZlYyAlI3hcbiIsCi0gICAgICAgICAgICAgICAgICAg aXNfbXNpeCA/ICItWCIgOiAiIiwgcGlycSwgZ3ZlYyk7Ci0gICAgICAgIHJjID0geGNfZG9tYWlu X3VuYmluZF9tc2lfaXJxKHhlbl94YywgeGVuX2RvbWlkLCBndmVjLCBwaXJxLCBnZmxhZ3MpOwor ICAgICAgICBYRU5fUFRfTE9HKGQsICJVbmJpbmQgTVNJJXMgd2l0aCBwaXJxICVkLCBhZGRyICUi UFJJeDY0IiwgZGF0YSAlI3hcbiIsCisgICAgICAgICAgICAgICAgICAgaXNfbXNpeCA/ICItWCIg OiAiIiwgcGlycSwgYWRkciwgZGF0YSk7CisgICAgICAgIHJjID0geGNfZG9tYWluX3VuYmluZF9t c2lfaXJxKHhlbl94YywgeGVuX2RvbWlkLCBwaXJxLCBhZGRyLCBkYXRhKTsKICAgICAgICAgaWYg KHJjKSB7Ci0gICAgICAgICAgICBYRU5fUFRfRVJSKGQsICJVbmJpbmRpbmcgb2YgTVNJJXMgZmFp bGVkLiAoZXJyOiAlZCwgcGlycTogJWQsIGd2ZWM6ICUjeClcbiIsCi0gICAgICAgICAgICAgICAg ICAgICAgIGlzX21zaXggPyAiLVgiIDogIiIsIGVycm5vLCBwaXJxLCBndmVjKTsKKyAgICAgICAg ICAgIFhFTl9QVF9FUlIoZCwgIlVuYmluZGluZyBvZiBNU0klcyBmYWlsZWQuIChlcnI6ICVkLCBw aXJxOiAlZCwgIgorICAgICAgICAgICAgICAgICAgICAgICAiYWRkcjogJSJQUkl4NjQiLCBkYXRh OiAlI3gpXG4iLAorICAgICAgICAgICAgICAgICAgICAgICBpc19tc2l4ID8gIi1YIiA6ICIiLCBl cnJubywgcGlycSwgYWRkciwgZGF0YSk7CiAgICAgICAgICAgICByZXR1cm4gcmM7CiAgICAgICAg IH0KICAgICB9Ci0tIAoxLjguMy4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu Lm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==