From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andra Paraschiv Subject: [PATCH qemu-xen-traditional] xen/pt: allow QEMU to request MSI unmasking at bind time Date: Mon, 18 Jun 2018 09:35:20 +0000 Message-ID: <1529314520-79691-1-git-send-email-andraprs@amazon.com> References: <1527058885.8186.68.camel@infradead.org> 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 1fUqZX-0003U2-Hj for xen-devel@lists.xenproject.org; Mon, 18 Jun 2018 09:35:39 +0000 In-Reply-To: <1527058885.8186.68.camel@infradead.org> 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: sstabellini@kernel.org, andraprs@amazon.com, andrew.cooper3@citrix.com, jbeulich@suse.com, dwmw@amazon.co.uk, roger.pau@citrix.com List-Id: xen-devel@lists.xenproject.org V2hlbiBhIE1TSSBpbnRlcnJ1cHQgaXMgYm91bmQgdG8gYSBndWVzdCB1c2luZwp4Y19kb21haW5f dXBkYXRlX21zaV9pcnEgKFhFTl9ET01DVExfYmluZF9wdF9pcnEpIHRoZSBpbnRlcnJ1cHQgaXMK bGVmdCBtYXNrZWQgYnkgZGVmYXVsdC4KClRoaXMgY2F1c2VzIHByb2JsZW1zIHdpdGggZ3Vlc3Rz IHRoYXQgZmlyc3QgY29uZmlndXJlIGludGVycnVwdHMgYW5kCmNsZWFuIHRoZSBwZXItZW50cnkg TVNJWCB0YWJsZSBtYXNrIGJpdCBhbmQgYWZ0ZXJ3YXJkcyBlbmFibGUgTVNJWApnbG9iYWxseS4g SW4gc3VjaCBzY2VuYXJpbyB0aGUgWGVuIGludGVybmFsIG1zaXh0YmwgaGFuZGxlcnMgd291bGQg bm90CmRldGVjdCB0aGUgdW5tYXNraW5nIG9mIE1TSVggZW50cmllcyBiZWNhdXNlIHZlY3RvcnMg YXJlIG5vdCB5ZXQKcmVnaXN0ZXJlZCBzaW5jZSBNU0lYIGlzIG5vdCBlbmFibGVkLCBhbmQgdmVj dG9ycyB3b3VsZCBiZSBsZWZ0Cm1hc2tlZC4KCkludHJvZHVjZSBhIG5ldyBmbGFnIGluIHRoZSBn ZmxhZ3MgZmllbGQgdG8gc2lnbmFsIFhlbiB3aGV0aGVyIGEgTVNJCmludGVycnVwdCBzaG91bGQg YmUgdW5tYXNrZWQgYWZ0ZXIgYmVpbmcgYm91bmQuCgpUaGlzIGFsc28gcmVxdWlyZXMgdG8gdHJh Y2sgdGhlIG1hc2sgcmVnaXN0ZXIgZm9yIE1TSSBpbnRlcnJ1cHRzLCBzbwpRRU1VIGNhbiBhbHNv IG5vdGlmeSB0byBYZW4gd2hldGhlciB0aGUgTVNJIGludGVycnVwdCBzaG91bGQgYmUgYm91bmQK bWFza2VkIG9yIHVubWFza2VkCgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl ci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl LmNvbT4KUmVwb3J0ZWQtYnk6IEFuZHJlYXMgS2luemxlciA8aGZwQHBvc3Rlby5kZT4KUmV2aWV3 ZWQtYnk6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KU2lnbmVk LW9mZi1ieTogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgoKW0Jh Y2twb3J0ZWQgZnJvbSBjb21taXQgYTgwMzYzMzY2MDlkMmUxODRmYzM1NDNhNGM0MzljMGJhN2Q3 ZjNhMgogaHR0cHM6Ly9naXQucWVtdS5vcmcvP3A9cWVtdS5naXQ7YT1jb21taXQ7aD1hODAzNjMz NjYwOWQyZTE4NGZjMzU0M2E0YzQzOWMwYmE3ZDdmM2EyCiBodHRwczovL3hlbmJpdHMueGVuLm9y Zy9naXR3ZWIvP3A9cWVtdS14ZW4uZ2l0O2E9Y29tbWl0O2g9YTgwMzYzMzY2MDlkMmUxODRmYzM1 NDNhNGM0MzljMGJhN2Q3ZjNhMl0KClNpZ25lZC1vZmYtYnk6IEFuZHJhIFBhcmFzY2hpdiA8YW5k cmFwcnNAYW1hem9uLmNvbT4KLS0tCiBody9wYXNzLXRocm91Z2guYyB8IDIzICsrKysrKysrKysr KysrKysrKysrKy0tCiBody9wYXNzLXRocm91Z2guaCB8ICAxICsKIGh3L3B0LW1zaS5jICAgICAg IHwgMjUgKysrKysrKysrKysrKysrKysrKysrLS0tLQogaHcvcHQtbXNpLmggICAgICAgfCAgOSAr KysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9ody9wYXNzLXRocm91Z2guYyBiL2h3L3Bhc3MtdGhyb3VnaC5jCmlu ZGV4IDBiNzY1ODUuLmM2Y2I2MGUgMTAwNjQ0Ci0tLSBhL2h3L3Bhc3MtdGhyb3VnaC5jCisrKyBi L2h3L3Bhc3MtdGhyb3VnaC5jCkBAIC0xODgsNiArMTg4LDkgQEAgc3RhdGljIGludCBwdF93b3Jk X3JlZ193cml0ZShzdHJ1Y3QgcHRfZGV2ICpwdGRldiwKIHN0YXRpYyBpbnQgcHRfbG9uZ19yZWdf d3JpdGUoc3RydWN0IHB0X2RldiAqcHRkZXYsCiAgICAgc3RydWN0IHB0X3JlZ190YmwgKmNmZ19l bnRyeSwKICAgICB1aW50MzJfdCAqdmFsdWUsIHVpbnQzMl90IGRldl92YWx1ZSwgdWludDMyX3Qg dmFsaWRfbWFzayk7CitzdGF0aWMgaW50IHB0X21hc2tfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYg KnB0ZGV2LAorICAgIHN0cnVjdCBwdF9yZWdfdGJsICpjZmdfZW50cnksCisgICAgdWludDMyX3Qg KnZhbHVlLCB1aW50MzJfdCBkZXZfdmFsdWUsIHVpbnQzMl90IHZhbGlkX21hc2spOwogc3RhdGlj IGludCBwdF9jbWRfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAogICAgIHN0cnVjdCBw dF9yZWdfdGJsICpjZmdfZW50cnksCiAgICAgdWludDE2X3QgKnZhbHVlLCB1aW50MTZfdCBkZXZf dmFsdWUsIHVpbnQxNl90IHZhbGlkX21hc2spOwpAQCAtNzU1LDcgKzc1OCw3IEBAIHN0YXRpYyBz dHJ1Y3QgcHRfcmVnX2luZm9fdGJsIHB0X2VtdV9yZWdfbXNpX3RibFtdID0gewogICAgICAgICAu ZW11X21hc2sgICA9IDB4RkZGRkZGRkYsCiAgICAgICAgIC5pbml0ICAgICAgID0gcHRfbWFza19y ZWdfaW5pdCwKICAgICAgICAgLnUuZHcucmVhZCAgPSBwdF9sb25nX3JlZ19yZWFkLAotICAgICAg ICAudS5kdy53cml0ZSA9IHB0X2xvbmdfcmVnX3dyaXRlLAorICAgICAgICAudS5kdy53cml0ZSA9 IHB0X21hc2tfcmVnX3dyaXRlLAogICAgIH0sCiAgICAgLyogTWFzayByZWcgKGlmIFBDSV9NU0lf RkxBR1NfTUFTS19CSVQgc2V0LCBmb3IgNjQtYml0IGRldmljZXMpICovCiAgICAgewpAQCAtNzY2 LDcgKzc2OSw3IEBAIHN0YXRpYyBzdHJ1Y3QgcHRfcmVnX2luZm9fdGJsIHB0X2VtdV9yZWdfbXNp X3RibFtdID0gewogICAgICAgICAuZW11X21hc2sgICA9IDB4RkZGRkZGRkYsCiAgICAgICAgIC5p bml0ICAgICAgID0gcHRfbWFza19yZWdfaW5pdCwKICAgICAgICAgLnUuZHcucmVhZCAgPSBwdF9s b25nX3JlZ19yZWFkLAotICAgICAgICAudS5kdy53cml0ZSA9IHB0X2xvbmdfcmVnX3dyaXRlLAor ICAgICAgICAudS5kdy53cml0ZSA9IHB0X21hc2tfcmVnX3dyaXRlLAogICAgIH0sCiAgICAgLyog UGVuZGluZyByZWcgKGlmIFBDSV9NU0lfRkxBR1NfTUFTS19CSVQgc2V0LCBmb3IgMzItYml0IGRl dmljZXMpICovCiAgICAgewpAQCAtMzU3Miw2ICszNTc1LDIyIEBAIHN0YXRpYyBpbnQgcHRfbG9u Z19yZWdfd3JpdGUoc3RydWN0IHB0X2RldiAqcHRkZXYsCiAgICAgcmV0dXJuIDA7CiB9CiAKKy8q IHdyaXRlIGd1ZXN0IG1hc2sgYml0cyAqLworc3RhdGljIGludCBwdF9tYXNrX3JlZ193cml0ZShz dHJ1Y3QgcHRfZGV2ICpwdGRldiwKKyAgICAgICAgc3RydWN0IHB0X3JlZ190YmwgKmNmZ19lbnRy eSwKKyAgICAgICAgdWludDMyX3QgKnZhbHVlLCB1aW50MzJfdCBkZXZfdmFsdWUsIHVpbnQzMl90 IHZhbGlkX21hc2spCit7CisgICAgaW50IHJjOworCisgICAgcmMgPSBwdF9sb25nX3JlZ193cml0 ZShwdGRldiwgY2ZnX2VudHJ5LCB2YWx1ZSwgZGV2X3ZhbHVlLCB2YWxpZF9tYXNrKTsKKyAgICBp ZiAocmMpCisgICAgICAgIHJldHVybiByYzsKKworICAgIHB0ZGV2LT5tc2ktPm1hc2sgPSAqdmFs dWU7CisKKyAgICByZXR1cm4gMDsKK30KKwogLyogd3JpdGUgQ29tbWFuZCByZWdpc3RlciAqLwog c3RhdGljIGludCBwdF9jbWRfcmVnX3dyaXRlKHN0cnVjdCBwdF9kZXYgKnB0ZGV2LAogICAgICAg ICBzdHJ1Y3QgcHRfcmVnX3RibCAqY2ZnX2VudHJ5LApkaWZmIC0tZ2l0IGEvaHcvcGFzcy10aHJv dWdoLmggYi9ody9wYXNzLXRocm91Z2guaAppbmRleCBiYjZkZGNlLi4wYjU4MjI0IDEwMDY0NAot LS0gYS9ody9wYXNzLXRocm91Z2guaAorKysgYi9ody9wYXNzLXRocm91Z2guaApAQCAtMTkxLDYg KzE5MSw3IEBAIHN0cnVjdCBwdF9yZWdpb24gewogc3RydWN0IHB0X21zaV9pbmZvIHsKICAgICB1 aW50MzJfdCBmbGFnczsKICAgICB1aW50MzJfdCBjdHJsX29mZnNldDsgLyogc2F2ZWQgY29udHJv bCBvZmZzZXQgKi8KKyAgICB1aW50MzJfdCBtYXNrOyAgICAgLyogZ3Vlc3QgbWFzayBiaXRzICov CiAgICAgaW50IHBpcnE7ICAgICAgICAgIC8qIGd1ZXN0IHBpcnEgY29ycmVzcG9uZGluZyAqLwog ICAgIHVpbnQzMl90IGFkZHJfbG87ICAvKiBndWVzdCBtZXNzYWdlIGFkZHJlc3MgKi8KICAgICB1 aW50MzJfdCBhZGRyX2hpOyAgLyogZ3Vlc3QgbWVzc2FnZSB1cHBlciBhZGRyZXNzICovCmRpZmYg LS1naXQgYS9ody9wdC1tc2kuYyBiL2h3L3B0LW1zaS5jCmluZGV4IGM2YmFlYTkuLjhiMDY0NTAg MTAwNjQ0Ci0tLSBhL2h3L3B0LW1zaS5jCisrKyBiL2h3L3B0LW1zaS5jCkBAIC0xMzgsNiArMTM4 LDkgQEAgaW50IHB0X21zaV91cGRhdGUoc3RydWN0IHB0X2RldiAqZCkKICAgICBhZGRyID0gKHVp bnQ2NF90KWQtPm1zaS0+YWRkcl9oaSA8PCAzMiB8IGQtPm1zaS0+YWRkcl9sbzsKICAgICBnZmxh Z3MgPSBfX2dldF9tc2lfZ2ZsYWdzKGQtPm1zaS0+ZGF0YSwgYWRkcik7CiAKKyAgICAvKiBDdXJy ZW50IE1TSSBlbXVsYXRpb24gaW4gUUVNVSBvbmx5IHN1cHBvcnRzIDEgdmVjdG9yICovCisgICAg Z2ZsYWdzIHw9IChkLT5tc2ktPm1hc2sgJiAxKSA/IDAgOiAoMXUgPDwgR0xGQUdTX1NISUZUX1VO TUFTS0VEKTsKKwogICAgIFBUX0xPRygiVXBkYXRlIG1zaSB3aXRoIHBpcnEgJXggZ3ZlYyAleCBn ZmxhZ3MgJXhcbiIsCiAgICAgICAgICAgIGQtPm1zaS0+cGlycSwgZ3ZlYywgZ2ZsYWdzKTsKIApA QCAtMjc1LDcgKzI3OCw4IEBAIHZvaWQgcHRfZGlzYWJsZV9tc2lfdHJhbnNsYXRlKHN0cnVjdCBw dF9kZXYgKmRldikKICAgICB9CiB9CiAKLXN0YXRpYyBpbnQgcHRfbXNpeF91cGRhdGVfb25lKHN0 cnVjdCBwdF9kZXYgKmRldiwgaW50IGVudHJ5X25yKQorc3RhdGljIGludCBwdF9tc2l4X3VwZGF0 ZV9vbmUoc3RydWN0IHB0X2RldiAqZGV2LCBpbnQgZW50cnlfbnIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1aW50MzJfdCB2ZWNfY3RybCkKIHsKICAgICBzdHJ1Y3QgbXNpeF9lbnRy eV9pbmZvICplbnRyeSA9ICZkZXYtPm1zaXgtPm1zaXhfZW50cnlbZW50cnlfbnJdOwogICAgIGlu dCBwaXJxID0gZW50cnktPnBpcnE7CkBAIC0zMTYsNiArMzIwLDkgQEAgc3RhdGljIGludCBwdF9t c2l4X3VwZGF0ZV9vbmUoc3RydWN0IHB0X2RldiAqZGV2LCBpbnQgZW50cnlfbnIpCiAgICAgICAg IGVudHJ5LT5waXJxID0gcGlycTsKICAgICB9CiAKKyAgICBnZmxhZ3MgfD0gKHZlY19jdHJsICYg UENJX01TSVhfRU5UUllfQ1RSTF9NQVNLQklUKSA/IDAgOgorICAgICAgICAoMXUgPDwgR0xGQUdT X1NISUZUX1VOTUFTS0VEKTsKKwogICAgIFBUX0xPRygiVXBkYXRlIG1zaXggZW50cnkgJXggd2l0 aCBwaXJxICV4IGd2ZWMgJXhcbiIsCiAgICAgICAgICAgICBlbnRyeV9uciwgcGlycSwgZ3ZlYyk7 CiAKQEAgLTM0Myw3ICszNTAsNyBAQCBpbnQgcHRfbXNpeF91cGRhdGUoc3RydWN0IHB0X2RldiAq ZGV2KQogCiAgICAgZm9yICggaSA9IDA7IGkgPCBtc2l4LT50b3RhbF9lbnRyaWVzOyBpKysgKQog ICAgIHsKLSAgICAgICAgcHRfbXNpeF91cGRhdGVfb25lKGRldiwgaSk7CisgICAgICAgIHB0X21z aXhfdXBkYXRlX29uZShkZXYsIGksIG1zaXgtPm1zaXhfZW50cnlbaV0uaW9fbWVtWzNdKTsKICAg ICB9CiAKICAgICByZXR1cm4gMDsKQEAgLTQ3OSw4ICs0ODYsMTggQEAgc3RhdGljIHZvaWQgcGNp X21zaXhfd3JpdGVsKHZvaWQgKm9wYXF1ZSwgdGFyZ2V0X3BoeXNfYWRkcl90IGFkZHIsIHVpbnQz Ml90IHZhbCkKIAogICAgIGlmICggb2Zmc2V0ID09IDMgKQogICAgIHsKLSAgICAgICAgaWYgKCBt c2l4LT5lbmFibGVkICYmICEodmFsICYgMHgxKSApCi0gICAgICAgICAgICBwdF9tc2l4X3VwZGF0 ZV9vbmUoZGV2LCBlbnRyeV9ucik7CisgICAgICAgIGlmICggbXNpeC0+ZW5hYmxlZCAmJiAhKHZh bCAmIDB4MSkgKSB7CisgICAgICAgICAgICBjb25zdCB2b2xhdGlsZSB1aW50MzJfdCAqdmVjX2N0 cmw7CisKKyAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgKiBJZiBYZW4gaW50ZXJjZXB0cyB0 aGUgbWFzayBiaXQgYWNjZXNzLCBpb19tZW1bM10gbWF5IG5vdCBiZQorICAgICAgICAgICAgICog dXAtdG8tZGF0ZS4gUmVhZCBmcm9tIGhhcmR3YXJlIGRpcmVjdGx5LgorICAgICAgICAgICAgICov CisgICAgICAgICAgICB2ZWNfY3RybCA9IGRldi0+bXNpeC0+cGh5c19pb21lbV9iYXNlICsKKyAg ICAgICAgICAgICAgICBQQ0lfTVNJWF9FTlRSWV9TSVpFICogZW50cnlfbnIgKyBQQ0lfTVNJWF9F TlRSWV9WRUNUT1JfQ1RSTDsKKworICAgICAgICAgICAgcHRfbXNpeF91cGRhdGVfb25lKGRldiwg ZW50cnlfbnIsICp2ZWNfY3RybCk7CisgICAgICAgIH0KICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh L2h3L3B0LW1zaS5oIGIvaHcvcHQtbXNpLmgKaW5kZXggOTRlMGQzNS4uYTgwZDc2ZSAxMDA2NDQK LS0tIGEvaHcvcHQtbXNpLmgKKysrIGIvaHcvcHQtbXNpLmgKQEAgLTMzLDYgKzMzLDE0IEBACiAj ZGVmaW5lIFBDSV9NU0lYX1BCQSAgICAgICAgOAogI2RlZmluZSAgUENJX01TSVhfQklSICAgICAg IDB4NwogCisvKiBNU0ktWCBUYWJsZSBlbnRyeSBmb3JtYXQgKi8KKyNkZWZpbmUgUENJX01TSVhf RU5UUllfU0laRSAgICAgICAgICAgICAxNgorI2RlZmluZSAgUENJX01TSVhfRU5UUllfTE9XRVJf QUREUiAgICAgIDAKKyNkZWZpbmUgIFBDSV9NU0lYX0VOVFJZX1VQUEVSX0FERFIgICAgICA0Cisj ZGVmaW5lICBQQ0lfTVNJWF9FTlRSWV9EQVRBICAgICAgICAgICAgOAorI2RlZmluZSAgUENJX01T SVhfRU5UUllfVkVDVE9SX0NUUkwgICAgIDEyCisjZGVmaW5lICAgUENJX01TSVhfRU5UUllfQ1RS TF9NQVNLQklUICAgMQorCiAjZGVmaW5lIE1TSV9GTEFHX1VOSU5JVCAweDEwMDAKICNkZWZpbmUg UFRfTVNJX01BUFBFRCAgIDB4MjAwMAogCkBAIC03Nyw2ICs4NSw3IEBACiAjZGVmaW5lIEdGTEFH U19TSElGVF9ETSAgICAgICAgICAgICA5CiAjZGVmaW5lIEdMRkFHU19TSElGVF9ERUxJVl9NT0RF ICAgICAxMgogI2RlZmluZSBHTEZBR1NfU0hJRlRfVFJHX01PREUgICAgICAgMTUKKyNkZWZpbmUg R0xGQUdTX1NISUZUX1VOTUFTS0VEICAgICAgIDE2CiAKIHZvaWQKIG1zaV9zZXRfZW5hYmxlKHN0 cnVjdCBwdF9kZXYgKmRldiwgaW50IGVuKTsKLS0gCjIuNy4zLkFNWk4KCgoKCkFtYXpvbiBEZXZl bG9wbWVudCBDZW50ZXIgKFJvbWFuaWEpIFMuUi5MLiByZWdpc3RlcmVkIG9mZmljZTogMjdBIFNm LiBMYXphciBTdHJlZXQsIFVCQzUsIGZsb29yIDIsIElhc2ksIElhc2kgQ291bnR5LCA3MDAwNDUs IFJvbWFuaWEuIFJlZ2lzdGVyZWQgaW4gUm9tYW5pYS4gUmVnaXN0cmF0aW9uIG51bWJlciBKMjIv MjYyMS8yMDA1LgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpo dHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs