From mboxrd@z Thu Jan 1 00:00:00 1970 From: Roger Pau Monne Subject: [PATCH 1/2] vpci/msi: split code to bind pirq Date: Tue, 8 May 2018 10:25:16 +0100 Message-ID: <20180508092516.6958-1-roger.pau@citrix.com> References: <20180508092359.6829-1-roger.pau@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fFysS-0003gH-67 for xen-devel@lists.xenproject.org; Tue, 08 May 2018 09:25:44 +0000 In-Reply-To: <20180508092359.6829-1-roger.pau@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Andrew Cooper , Jan Beulich , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org QW5kIHB1dCBpdCBpbiBhIHNlcGFyYXRlIHVwZGF0ZSBmdW5jdGlvbi4gVGhpcyBpcyByZXF1aXJl ZCBpbiBvcmRlciB0bwppbXByb3ZlIGJpbmRpbmcgb2YgTVNJIFBJUlFzIHdoZW4gdXNpbmcgdlBD SS4KCk5vIGZ1bmN0aW9uYWwgY2hhbmdlLgoKU2lnbmVkLW9mZi1ieTogUm9nZXIgUGF1IE1vbm7D qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+Ci0tLQpDYzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1 c2UuY29tPgpDYzogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0t CiB4ZW4vYXJjaC94ODYvaHZtL3Ztc2kuYyB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgMjggZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92bXNpLmMgYi94ZW4vYXJj aC94ODYvaHZtL3Ztc2kuYwppbmRleCA5MDBkNGY2N2Q0Li42ZTE5ODUxNDM5IDEwMDY0NAotLS0g YS94ZW4vYXJjaC94ODYvaHZtL3Ztc2kuYworKysgYi94ZW4vYXJjaC94ODYvaHZtL3Ztc2kuYwpA QCAtNjYzLDYgKzY2Myw0MiBAQCB2b2lkIHZwY2lfbXNpX2FyY2hfbWFzayhzdHJ1Y3QgdnBjaV9t c2kgKm1zaSwgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsCiAgICAgdnBjaV9tYXNrX3BpcnEo cGRldi0+ZG9tYWluLCBtc2ktPmFyY2gucGlycSArIGVudHJ5LCBtYXNrKTsKIH0KIAorc3RhdGlj IGludCB2cGNpX21zaV91cGRhdGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVpbnQzMl90 IGRhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBhZGRyZXNzLCB1bnNp Z25lZCBpbnQgdmVjdG9ycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGlu dCBwaXJxLCB1aW50MzJfdCBtYXNrKQoreworICAgIHVuc2lnbmVkIGludCBpOworCisgICAgQVNT RVJUKHBjaWRldnNfbG9ja2VkKCkpOworCisgICAgZm9yICggaSA9IDA7IGkgPCB2ZWN0b3JzOyBp KysgKQorICAgIHsKKyAgICAgICAgdWludDhfdCB2ZWN0b3IgPSBNQVNLX0VYVFIoZGF0YSwgTVNJ X0RBVEFfVkVDVE9SX01BU0spOworICAgICAgICB1aW50OF90IHZlY3Rvcl9tYXNrID0gMHhmZiA+ PiAoOCAtIGZscyh2ZWN0b3JzKSArIDEpOworICAgICAgICBzdHJ1Y3QgeGVuX2RvbWN0bF9iaW5k X3B0X2lycSBiaW5kID0geworICAgICAgICAgICAgLm1hY2hpbmVfaXJxID0gcGlycSArIGksCisg ICAgICAgICAgICAuaXJxX3R5cGUgPSBQVF9JUlFfVFlQRV9NU0ksCisgICAgICAgICAgICAudS5t c2kuZ3ZlYyA9ICh2ZWN0b3IgJiB+dmVjdG9yX21hc2spIHwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgKCh2ZWN0b3IgKyBpKSAmIHZlY3Rvcl9tYXNrKSwKKyAgICAgICAgICAgIC51Lm1zaS5n ZmxhZ3MgPSBtc2lfZ2ZsYWdzKGRhdGEsIGFkZHJlc3MsIChtYXNrID4+IGkpICYgMSksCisgICAg ICAgIH07CisgICAgICAgIGludCByYyA9IHB0X2lycV9jcmVhdGVfYmluZChwZGV2LT5kb21haW4s ICZiaW5kKTsKKworICAgICAgICBpZiAoIHJjICkKKyAgICAgICAgeworICAgICAgICAgICAgZ2Rw cmludGsoWEVOTE9HX0VSUiwKKyAgICAgICAgICAgICAgICAgICAgICIlMDR4OiUwMng6JTAyeC4l dTogZmFpbGVkIHRvIGJpbmQgUElSUSAldTogJWRcbiIsCisgICAgICAgICAgICAgICAgICAgICBw ZGV2LT5zZWcsIHBkZXYtPmJ1cywgUENJX1NMT1QocGRldi0+ZGV2Zm4pLAorICAgICAgICAgICAg ICAgICAgICAgUENJX0ZVTkMocGRldi0+ZGV2Zm4pLCBwaXJxICsgaSwgcmMpOworICAgICAgICAg ICAgd2hpbGUgKCBiaW5kLm1hY2hpbmVfaXJxLS0gKQorICAgICAgICAgICAgICAgIHB0X2lycV9k ZXN0cm95X2JpbmQocGRldi0+ZG9tYWluLCAmYmluZCk7CisgICAgICAgICAgICByZXR1cm4gcmM7 CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4gMDsKK30KKwogc3RhdGljIGludCB2cGNp X21zaV9lbmFibGUoY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVpbnQzMl90IGRhdGEsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBhZGRyZXNzLCB1bnNpZ25lZCBpbnQg bnIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkcl90IHRhYmxlX2Jhc2UsIHVpbnQz Ml90IG1hc2spCkBAIC02NzQsNyArNzEwLDcgQEAgc3RhdGljIGludCB2cGNpX21zaV9lbmFibGUo Y29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsIHVpbnQzMl90IGRhdGEsCiAgICAgICAgIC50YWJs ZV9iYXNlID0gdGFibGVfYmFzZSwKICAgICAgICAgLmVudHJ5X25yID0gbnIsCiAgICAgfTsKLSAg ICB1bnNpZ25lZCBpbnQgaSwgdmVjdG9ycyA9IHRhYmxlX2Jhc2UgPyAxIDogbnI7CisgICAgdW5z aWduZWQgdmVjdG9ycyA9IHRhYmxlX2Jhc2UgPyAxIDogbnI7CiAgICAgaW50IHJjLCBwaXJxID0g SU5WQUxJRF9QSVJROwogCiAgICAgLyogR2V0IGEgUElSUS4gKi8KQEAgLTY5MCwzNiArNzI2LDE3 IEBAIHN0YXRpYyBpbnQgdnBjaV9tc2lfZW5hYmxlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2 LCB1aW50MzJfdCBkYXRhLAogICAgICAgICByZXR1cm4gcmM7CiAgICAgfQogCi0gICAgZm9yICgg aSA9IDA7IGkgPCB2ZWN0b3JzOyBpKysgKQorICAgIHBjaWRldnNfbG9jaygpOworICAgIHJjID0g dnBjaV9tc2lfdXBkYXRlKHBkZXYsIGRhdGEsIGFkZHJlc3MsIHZlY3RvcnMsIHBpcnEsIG1hc2sp OworICAgIGlmICggcmMgKQogICAgIHsKLSAgICAgICAgdWludDhfdCB2ZWN0b3IgPSBNQVNLX0VY VFIoZGF0YSwgTVNJX0RBVEFfVkVDVE9SX01BU0spOwotICAgICAgICB1aW50OF90IHZlY3Rvcl9t YXNrID0gMHhmZiA+PiAoOCAtIGZscyh2ZWN0b3JzKSArIDEpOwotICAgICAgICBzdHJ1Y3QgeGVu X2RvbWN0bF9iaW5kX3B0X2lycSBiaW5kID0gewotICAgICAgICAgICAgLm1hY2hpbmVfaXJxID0g cGlycSArIGksCi0gICAgICAgICAgICAuaXJxX3R5cGUgPSBQVF9JUlFfVFlQRV9NU0ksCi0gICAg ICAgICAgICAudS5tc2kuZ3ZlYyA9ICh2ZWN0b3IgJiB+dmVjdG9yX21hc2spIHwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgKCh2ZWN0b3IgKyBpKSAmIHZlY3Rvcl9tYXNrKSwKLSAgICAgICAg ICAgIC51Lm1zaS5nZmxhZ3MgPSBtc2lfZ2ZsYWdzKGRhdGEsIGFkZHJlc3MsIChtYXNrID4+IGkp ICYgMSksCi0gICAgICAgIH07Ci0KLSAgICAgICAgcGNpZGV2c19sb2NrKCk7Ci0gICAgICAgIHJj ID0gcHRfaXJxX2NyZWF0ZV9iaW5kKHBkZXYtPmRvbWFpbiwgJmJpbmQpOwotICAgICAgICBpZiAo IHJjICkKLSAgICAgICAgewotICAgICAgICAgICAgZ2RwcmludGsoWEVOTE9HX0VSUiwKLSAgICAg ICAgICAgICAgICAgICAgICIlMDR4OiUwMng6JTAyeC4ldTogZmFpbGVkIHRvIGJpbmQgUElSUSAl dTogJWRcbiIsCi0gICAgICAgICAgICAgICAgICAgICBwZGV2LT5zZWcsIHBkZXYtPmJ1cywgUENJ X1NMT1QocGRldi0+ZGV2Zm4pLAotICAgICAgICAgICAgICAgICAgICAgUENJX0ZVTkMocGRldi0+ ZGV2Zm4pLCBwaXJxICsgaSwgcmMpOwotICAgICAgICAgICAgd2hpbGUgKCBiaW5kLm1hY2hpbmVf aXJxLS0gKQotICAgICAgICAgICAgICAgIHB0X2lycV9kZXN0cm95X2JpbmQocGRldi0+ZG9tYWlu LCAmYmluZCk7Ci0gICAgICAgICAgICBzcGluX2xvY2soJnBkZXYtPmRvbWFpbi0+ZXZlbnRfbG9j ayk7Ci0gICAgICAgICAgICB1bm1hcF9kb21haW5fcGlycShwZGV2LT5kb21haW4sIHBpcnEpOwot ICAgICAgICAgICAgc3Bpbl91bmxvY2soJnBkZXYtPmRvbWFpbi0+ZXZlbnRfbG9jayk7Ci0gICAg ICAgICAgICBwY2lkZXZzX3VubG9jaygpOwotICAgICAgICAgICAgcmV0dXJuIHJjOwotICAgICAg ICB9CisgICAgICAgIHNwaW5fbG9jaygmcGRldi0+ZG9tYWluLT5ldmVudF9sb2NrKTsKKyAgICAg ICAgdW5tYXBfZG9tYWluX3BpcnEocGRldi0+ZG9tYWluLCBwaXJxKTsKKyAgICAgICAgc3Bpbl91 bmxvY2soJnBkZXYtPmRvbWFpbi0+ZXZlbnRfbG9jayk7CiAgICAgICAgIHBjaWRldnNfdW5sb2Nr KCk7CisgICAgICAgIHJldHVybiByYzsKICAgICB9CisgICAgcGNpZGV2c191bmxvY2soKTsKIAog ICAgIHJldHVybiBwaXJxOwogfQotLSAKMi4xNy4wCgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxA bGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFu L2xpc3RpbmZvL3hlbi1kZXZlbA==