From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v3 05/15] x86/IRQ: consolidate use of ->arch.cpu_mask Date: Fri, 17 May 2019 04:47:18 -0600 Message-ID: <5CDE91360200007800230075@prv1-mh.provo.novell.com> References: <5CC6DD090200007800229E80@prv1-mh.provo.novell.com> <5CDE8F5B020000780023005F@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRaOW-0005Vn-IA for xen-devel@lists.xenproject.org; Fri, 17 May 2019 10:47:20 +0000 In-Reply-To: <5CDE8F5B020000780023005F@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org TWl4ZWQgbWVhbmluZyB3YXMgaW1wbGllZCBzbyBmYXIgYnkgZGlmZmVyZW50IHBpZWNlcyBvZiBj b2RlIC0KZGlzYWdyZWVtZW50IHdhcyBpbiBwYXJ0aWN1bGFyIGFib3V0IHdoZXRoZXIgdG8gZXhw ZWN0IG9mZmxpbmUgQ1BVcycKYml0cyB0byBwb3NzaWJseSBiZSBzZXQuIFN3aXRjaCB0byBhIG1v c3RseSBjb25zaXN0ZW50IG1lYW5pbmcKKGV4Y2VwdGlvbiBiZWluZyBoaWdoIHByaW9yaXR5IGlu dGVycnVwdHMsIHdoaWNoIHdvdWxkIHBlcmhhcHMgYmV0dGVyCmJlIHN3aXRjaGVkIHRvIHRoZSBz YW1lIG1vZGVsIGFzIHdlbGwgaW4gZHVlIGNvdXJzZSkuIFVzZSB0aGUgZmllbGQgdG8KcmVjb3Jk IHRoZSB2ZWN0b3IgYWxsb2NhdGlvbiBtYXNrLCBpLmUuIHBvdGVudGlhbGx5IGluY2x1ZGluZyBi aXRzIG9mCm9mZmxpbmUgKHBhcmtlZCkgQ1BVcy4gVGhpcyBpbXBsaWVzIHRoYXQgYmVmb3JlIHBh c3NpbmcgdGhlIG1hc2sgdG8KY2VydGFpbiBmdW5jdGlvbnMgKG1vc3Qgbm90YWJseSBjcHVfbWFz a190b19hcGljaWQoKSkgaXQgbmVlZHMgdG8gYmUKZnVydGhlciByZWR1Y2VkIHRvIHRoZSBvbmxp bmUgc3Vic2V0LgoKVGhlIGV4Y2VwdGlvbiBvZiBoaWdoIHByaW9yaXR5IGludGVycnVwdHMgaXMg YWxzbyB3aHkgZm9yIHRoZSBtb21lbnQKX2JpbmRfaXJxX3ZlY3RvcigpIGlzIGxlZnQgYXMgaXMs IGRlc3BpdGUgbG9va2luZyB3cm9uZzogSXQncyB1c2VkCmV4Y2x1c2l2ZWx5IGZvciBJUlEwLCB3 aGljaCBpc24ndCBzdXBwb3NlZCB0byBtb3ZlIG9mZiBDUFUwIGF0IGFueSB0aW1lLgoKVGhlIHBy aW9yIGxhY2sgb2YgcmVzdHJpY3RpbmcgdG8gb25saW5lIENQVXMgaW4gc2V0X2Rlc2NfYWZmaW5p dHkoKQpiZWZvcmUgY2FsbGluZyBjcHVfbWFza190b19hcGljaWQoKSBpbiBwYXJ0aWN1bGFyIGFs bG93ZWQgKGluIHgyQVBJQwpjbHVzdGVyZWQgbW9kZSkgb2ZmbGluZWQgQ1BVcyB0byBlbmQgdXAg ZW5hYmxlZCBpbiBhbiBJUlEncyBkZXN0aW5hdGlvbgpmaWVsZC4gKEkgd29uZGVyIHdoZXRoZXIg dmVjdG9yX2FsbG9jYXRpb25fY3B1bWFza19mbGF0KCkgc2hvdWxkbid0CmZvbGxvdyBhIHNpbWls YXIgbW9kZWwsIHVzaW5nIGNwdV9wcmVzZW50X21hcCBpbiBmYXZvciBvZgpjcHVfb25saW5lX21h cC4pCgpGb3IgSU8tQVBJQyBjb2RlIGl0IHdhcyBkZWZpbml0ZWx5IHdyb25nIHRvIHBvdGVudGlh bGx5IHN0b3JlLCBhcyBhCmZhbGxiYWNrLCBUQVJHRVRfQ1BVUyAoaS5lLiBhbGwgb25saW5lIG9u ZXMpIGludG8gdGhlIGZpZWxkLCBhcyB0aGF0CndvdWxkIGhhdmUgY2F1c2VkIHByb2JsZW1zIHdo ZW4gZGV0ZXJtaW5pbmcgb24gd2hpY2ggQ1BVcyB0byByZWxlYXNlCnZlY3RvcnMgd2hlbiB0aGV5 J3ZlIGdvbmUgb3V0IG9mIHVzZS4gRGlzYWJsZSBpbnRlcnJ1cHRzIGluc3RlYWQgd2hlbgpubyB2 YWxpZCB0YXJnZXQgQ1BVIGNhbiBiZSBlc3RhYmxpc2hlZCAod2hpY2ggY29kZSBlbHNld2hlcmUg c2hvdWxkCmd1YXJhbnRlZSB0byBuZXZlciBoYXBwZW4pLCBhbmQgbG9nIGEgbWVzc2FnZSBpbiBz dWNoIGFuIHVubGlrZWx5IGV2ZW50LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp dHJpeC5jb20+Ci0tLQp2MjogTmV3LgoKLS0tIGEveGVuL2FyY2gveDg2L2lvX2FwaWMuYworKysg Yi94ZW4vYXJjaC94ODYvaW9fYXBpYy5jCkBAIC02ODAsNyArNjgwLDcgQEAgdm9pZCAvKl9faW5p dCovIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg ICAgICAgICAgICBpcnEgPSBwaW5fMl9pcnEoaXJxX2VudHJ5LCBpb2FwaWMsIHBpbik7CiAgICAg ICAgICAgICBkZXNjID0gaXJxX3RvX2Rlc2MoaXJxKTsKLSAgICAgICAgICAgIEJVR19PTihjcHVt YXNrX2VtcHR5KGRlc2MtPmFyY2guY3B1X21hc2spKTsKKyAgICAgICAgICAgIEJVR19PTighY3B1 bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssICZjcHVfb25saW5lX21hcCkpOwog ICAgICAgICAgICAgc2V0X2lvYXBpY19hZmZpbml0eV9pcnEoZGVzYywgZGVzYy0+YXJjaC5jcHVf bWFzayk7CiAgICAgICAgIH0KIApAQCAtMjE5NCw3ICsyMTk0LDYgQEAgaW50IGlvX2FwaWNfc2V0 X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLAogewogICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9 IGlycV90b19kZXNjKGlycSk7CiAgICAgc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7 Ci0gICAgY3B1bWFza190IG1hc2s7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICBpbnQg dmVjdG9yOwogCkBAIC0yMjI5LDExICsyMjI4LDE3IEBAIGludCBpb19hcGljX3NldF9wY2lfcm91 dGluZyAoaW50IGlvYXBpYywKICAgICAgICAgcmV0dXJuIHZlY3RvcjsKICAgICBlbnRyeS52ZWN0 b3IgPSB2ZWN0b3I7CiAKLSAgICBjcHVtYXNrX2NvcHkoJm1hc2ssIFRBUkdFVF9DUFVTKTsKLSAg ICAvKiBEb24ndCBjaGFuY2UgZW5kaW5nIHVwIHdpdGggYW4gZW1wdHkgbWFzay4gKi8KLSAgICBp ZiAoY3B1bWFza19pbnRlcnNlY3RzKCZtYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrKSkKLSAgICAg ICAgY3B1bWFza19hbmQoJm1hc2ssICZtYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrKTsKLSAgICBT RVRfREVTVChlbnRyeSwgbG9naWNhbCwgY3B1X21hc2tfdG9fYXBpY2lkKCZtYXNrKSk7CisgICAg aWYgKGNwdW1hc2tfaW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9tYXNrLCBUQVJHRVRfQ1BVUykp IHsKKyAgICAgICAgY3B1bWFza190ICptYXNrID0gdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNrKTsK KworICAgICAgICBjcHVtYXNrX2FuZChtYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrLCBUQVJHRVRf Q1BVUyk7CisgICAgICAgIFNFVF9ERVNUKGVudHJ5LCBsb2dpY2FsLCBjcHVfbWFza190b19hcGlj aWQobWFzaykpOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJJUlEl ZDogbm8gdGFyZ2V0IENQVSAoJSpwYiB2cyAlKnBiKVxuIiwKKyAgICAgICAgICAgICAgIGlycSwg bnJfY3B1X2lkcywgY3B1bWFza19iaXRzKGRlc2MtPmFyY2guY3B1X21hc2spLAorICAgICAgICAg ICAgICAgbnJfY3B1X2lkcywgY3B1bWFza19iaXRzKFRBUkdFVF9DUFVTKSk7CisgICAgICAgIGRl c2MtPnN0YXR1cyB8PSBJUlFfRElTQUJMRUQ7CisgICAgfQogCiAgICAgYXBpY19wcmludGsoQVBJ Q19ERUJVRywgS0VSTl9ERUJVRyAiSU9BUElDWyVkXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICIK IAkJIiglZC0lZCAtPiAlI3ggLT4gSVJRICVkIE1vZGU6JWkgQWN0aXZlOiVpKVxuIiwgaW9hcGlj LApAQCAtMjQxOSw3ICsyNDI0LDIxIEBAIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWduZWQg bG9uZyBwaHkKICAgICAvKiBTZXQgdGhlIHZlY3RvciBmaWVsZCB0byB0aGUgcmVhbCB2ZWN0b3Ih ICovCiAgICAgcnRlLnZlY3RvciA9IGRlc2MtPmFyY2gudmVjdG9yOwogCi0gICAgU0VUX0RFU1Qo cnRlLCBsb2dpY2FsLCBjcHVfbWFza190b19hcGljaWQoZGVzYy0+YXJjaC5jcHVfbWFzaykpOwor ICAgIGlmICggY3B1bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9D UFVTKSApCisgICAgeworICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlzX2NwdShzY3JhdGNo X2NwdW1hc2spOworCisgICAgICAgIGNwdW1hc2tfYW5kKG1hc2ssIGRlc2MtPmFyY2guY3B1X21h c2ssIFRBUkdFVF9DUFVTKTsKKyAgICAgICAgU0VUX0RFU1QocnRlLCBsb2dpY2FsLCBjcHVfbWFz a190b19hcGljaWQobWFzaykpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBncHJp bnRrKFhFTkxPR19FUlIsICJJUlElZDogbm8gdGFyZ2V0IENQVSAoJSpwYiB2cyAlKnBiKVxuIiwK KyAgICAgICAgICAgICAgIGlycSwgbnJfY3B1X2lkcywgY3B1bWFza19iaXRzKGRlc2MtPmFyY2gu Y3B1X21hc2spLAorICAgICAgICAgICAgICAgbnJfY3B1X2lkcywgY3B1bWFza19iaXRzKFRBUkdF VF9DUFVTKSk7CisgICAgICAgIGRlc2MtPnN0YXR1cyB8PSBJUlFfRElTQUJMRUQ7CisgICAgICAg IHJ0ZS5tYXNrID0gMTsKKyAgICB9CiAKICAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBw aW4sIDAsIHJ0ZSk7CiAgICAgCi0tLSBhL3hlbi9hcmNoL3g4Ni9pcnEuYworKysgYi94ZW4vYXJj aC94ODYvaXJxLmMKQEAgLTQ3MSwxMSArNDcxLDEzIEBAIHN0YXRpYyBpbnQgX19hc3NpZ25faXJx X3ZlY3RvcigKICAgICAgKi8KICAgICBzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1Rf RFlOQU1JQ19WRUNUT1IsIGN1cnJlbnRfb2Zmc2V0ID0gMDsKICAgICBpbnQgY3B1LCBlcnIsIG9s ZF92ZWN0b3I7Ci0gICAgY3B1bWFza190IHRtcF9tYXNrOwogICAgIHZtYXNrX3QgKmlycV91c2Vk X3ZlY3RvcnMgPSBOVUxMOwogCiAgICAgb2xkX3ZlY3RvciA9IGlycV90b192ZWN0b3IoaXJxKTsK LSAgICBpZiAob2xkX3ZlY3RvciA+IDApIHsKKyAgICBpZiAoIG9sZF92ZWN0b3IgPiAwICkKKyAg ICB7CisgICAgICAgIGNwdW1hc2tfdCB0bXBfbWFzazsKKwogICAgICAgICBjcHVtYXNrX2FuZCgm dG1wX21hc2ssIG1hc2ssICZjcHVfb25saW5lX21hcCk7CiAgICAgICAgIGlmIChjcHVtYXNrX2lu dGVyc2VjdHMoJnRtcF9tYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrKSkgewogICAgICAgICAgICAg ZGVzYy0+YXJjaC52ZWN0b3IgPSBvbGRfdmVjdG9yOwpAQCAtNDk4LDcgKzUwMCw5IEBAIHN0YXRp YyBpbnQgX19hc3NpZ25faXJxX3ZlY3RvcigKICAgICBlbHNlCiAgICAgICAgIGlycV91c2VkX3Zl Y3RvcnMgPSBpcnFfZ2V0X3VzZWRfdmVjdG9yX21hc2soaXJxKTsKIAotICAgIGZvcl9lYWNoX2Nw dShjcHUsIG1hc2spIHsKKyAgICBmb3JfZWFjaF9jcHUoY3B1LCBtYXNrKQorICAgIHsKKyAgICAg ICAgY29uc3QgY3B1bWFza190ICp2ZWNfbWFzazsKICAgICAgICAgaW50IG5ld19jcHU7CiAgICAg ICAgIGludCB2ZWN0b3IsIG9mZnNldDsKIApAQCAtNTA2LDggKzUxMCw3IEBAIHN0YXRpYyBpbnQg X19hc3NpZ25faXJxX3ZlY3RvcigKICAgICAgICAgaWYgKCFjcHVfb25saW5lKGNwdSkpCiAgICAg ICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBjcHVtYXNrX2FuZCgmdG1wX21hc2ssIHZlY3Rv cl9hbGxvY2F0aW9uX2NwdW1hc2soY3B1KSwKLSAgICAgICAgICAgICAgICAgICAgJmNwdV9vbmxp bmVfbWFwKTsKKyAgICAgICAgdmVjX21hc2sgPSB2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrKGNw dSk7CiAKICAgICAgICAgdmVjdG9yID0gY3VycmVudF92ZWN0b3I7CiAgICAgICAgIG9mZnNldCA9 IGN1cnJlbnRfb2Zmc2V0OwpAQCAtNTI4LDcgKzUzMSw3IEBAIG5leHQ6CiAgICAgICAgICAgICAm JiB0ZXN0X2JpdCh2ZWN0b3IsIGlycV91c2VkX3ZlY3RvcnMpICkKICAgICAgICAgICAgIGdvdG8g bmV4dDsKIAotICAgICAgICBmb3JfZWFjaF9jcHUobmV3X2NwdSwgJnRtcF9tYXNrKQorICAgICAg ICBmb3JfZWFjaF9jcHUobmV3X2NwdSwgdmVjX21hc2spCiAgICAgICAgICAgICBpZiAocGVyX2Nw dSh2ZWN0b3JfaXJxLCBuZXdfY3B1KVt2ZWN0b3JdID49IDApCiAgICAgICAgICAgICAgICAgZ290 byBuZXh0OwogICAgICAgICAvKiBGb3VuZCBvbmUhICovCkBAIC01NDcsMTIgKzU1MCwxMiBAQCBu ZXh0OgogICAgICAgICAgICAgICAgIHJlbGVhc2Vfb2xkX3ZlYyhkZXNjKTsKICAgICAgICAgfQog Ci0gICAgICAgIHRyYWNlX2lycV9tYXNrKFRSQ19IV19JUlFfQVNTSUdOX1ZFQ1RPUiwgaXJxLCB2 ZWN0b3IsICZ0bXBfbWFzayk7CisgICAgICAgIHRyYWNlX2lycV9tYXNrKFRSQ19IV19JUlFfQVNT SUdOX1ZFQ1RPUiwgaXJxLCB2ZWN0b3IsIHZlY19tYXNrKTsKIAotICAgICAgICBmb3JfZWFjaF9j cHUobmV3X2NwdSwgJnRtcF9tYXNrKQorICAgICAgICBmb3JfZWFjaF9jcHUobmV3X2NwdSwgdmVj X21hc2spCiAgICAgICAgICAgICBwZXJfY3B1KHZlY3Rvcl9pcnEsIG5ld19jcHUpW3ZlY3Rvcl0g PSBpcnE7CiAgICAgICAgIGRlc2MtPmFyY2gudmVjdG9yID0gdmVjdG9yOwotICAgICAgICBjcHVt YXNrX2NvcHkoZGVzYy0+YXJjaC5jcHVfbWFzaywgJnRtcF9tYXNrKTsKKyAgICAgICAgY3B1bWFz a19jb3B5KGRlc2MtPmFyY2guY3B1X21hc2ssIHZlY19tYXNrKTsKIAogICAgICAgICBkZXNjLT5h cmNoLnVzZWQgPSBJUlFfVVNFRDsKICAgICAgICAgQVNTRVJUKChkZXNjLT5hcmNoLnVzZWRfdmVj dG9ycyA9PSBOVUxMKQpAQCAtNzgzLDYgKzc4Niw3IEBAIHVuc2lnbmVkIGludCBzZXRfZGVzY19h ZmZpbml0eShzdHJ1Y3QgaXIKIAogICAgIGNwdW1hc2tfY29weShkZXNjLT5hZmZpbml0eSwgbWFz ayk7CiAgICAgY3B1bWFza19hbmQoJmRlc3RfbWFzaywgbWFzaywgZGVzYy0+YXJjaC5jcHVfbWFz ayk7CisgICAgY3B1bWFza19hbmQoJmRlc3RfbWFzaywgJmRlc3RfbWFzaywgJmNwdV9vbmxpbmVf bWFwKTsKIAogICAgIHJldHVybiBjcHVfbWFza190b19hcGljaWQoJmRlc3RfbWFzayk7CiB9Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9p cnEuaApAQCAtMzIsNiArMzIsMTIgQEAgc3RydWN0IGlycV9kZXNjOwogc3RydWN0IGFyY2hfaXJx X2Rlc2MgewogICAgICAgICBzMTYgdmVjdG9yOyAgICAgICAgICAgICAgICAgIC8qIHZlY3RvciBp dHNlbGYgaXMgb25seSA4IGJpdHMsICovCiAgICAgICAgIHMxNiBvbGRfdmVjdG9yOyAgICAgICAg ICAgICAgLyogYnV0IHdlIHVzZSAtMSBmb3IgdW5hc3NpZ25lZCAgKi8KKyAgICAgICAgLyoKKyAg ICAgICAgICogRXhjZXB0IGZvciBoaWdoIHByaW9yaXR5IGludGVycnVwdHMgQGNwdV9tYXNrIG1h eSBoYXZlIGJpdHMgc2V0IGZvcgorICAgICAgICAgKiBvZmZsaW5lIENQVXMuICBDb25zdW1lcnMg bmVlZCB0byBiZSBjYXJlZnVsIHRvIG1hc2sgdGhpcyBkb3duIHRvCisgICAgICAgICAqIG9ubGlu ZSBvbmVzIGFzIG5lY2Vzc2FyeS4gIFRoZXJlIGlzIHN1cHBvc2VkIHRvIGFsd2F5cyBiZSBhIG5v bi0KKyAgICAgICAgICogZW1wdHkgaW50ZXJzZWN0aW9uIHdpdGggY3B1X29ubGluZV9tYXAuCisg ICAgICAgICAqLwogICAgICAgICBjcHVtYXNrX3Zhcl90IGNwdV9tYXNrOwogICAgICAgICBjcHVt YXNrX3Zhcl90IG9sZF9jcHVfbWFzazsKICAgICAgICAgY3B1bWFza192YXJfdCBwZW5kaW5nX21h c2s7CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 852C4C04AB4 for ; Fri, 17 May 2019 10:47:35 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 604282087E for ; Fri, 17 May 2019 10:47:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 604282087E Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRaOX-0005Vy-Rg; Fri, 17 May 2019 10:47:21 +0000 Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1hRaOW-0005Vn-IA for xen-devel@lists.xenproject.org; Fri, 17 May 2019 10:47:20 +0000 X-Inumbo-ID: 2423d8cb-7891-11e9-8980-bc764e045a96 Received: from prv1-mh.provo.novell.com (unknown [137.65.248.33]) by us1-rack-dfw2.inumbo.com (Halon) with ESMTPS id 2423d8cb-7891-11e9-8980-bc764e045a96; Fri, 17 May 2019 10:47:18 +0000 (UTC) Received: from INET-PRV1-MTA by prv1-mh.provo.novell.com with Novell_GroupWise; Fri, 17 May 2019 04:47:17 -0600 Message-Id: <5CDE91360200007800230075@prv1-mh.provo.novell.com> X-Mailer: Novell GroupWise Internet Agent 18.1.0 Date: Fri, 17 May 2019 04:47:18 -0600 From: "Jan Beulich" To: "xen-devel" References: <5CC6DD090200007800229E80@prv1-mh.provo.novell.com> <5CDE8F5B020000780023005F@prv1-mh.provo.novell.com> In-Reply-To: <5CDE8F5B020000780023005F@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Disposition: inline Subject: [Xen-devel] [PATCH v3 05/15] x86/IRQ: consolidate use of ->arch.cpu_mask X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Andrew Cooper , Wei Liu , Roger Pau Monne Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Message-ID: <20190517104718.uoYRx7ndAxXdEbQagdofcUBO2ma1yt0k3yxEyDpFq8M@z> TWl4ZWQgbWVhbmluZyB3YXMgaW1wbGllZCBzbyBmYXIgYnkgZGlmZmVyZW50IHBpZWNlcyBvZiBj b2RlIC0KZGlzYWdyZWVtZW50IHdhcyBpbiBwYXJ0aWN1bGFyIGFib3V0IHdoZXRoZXIgdG8gZXhw ZWN0IG9mZmxpbmUgQ1BVcycKYml0cyB0byBwb3NzaWJseSBiZSBzZXQuIFN3aXRjaCB0byBhIG1v c3RseSBjb25zaXN0ZW50IG1lYW5pbmcKKGV4Y2VwdGlvbiBiZWluZyBoaWdoIHByaW9yaXR5IGlu dGVycnVwdHMsIHdoaWNoIHdvdWxkIHBlcmhhcHMgYmV0dGVyCmJlIHN3aXRjaGVkIHRvIHRoZSBz YW1lIG1vZGVsIGFzIHdlbGwgaW4gZHVlIGNvdXJzZSkuIFVzZSB0aGUgZmllbGQgdG8KcmVjb3Jk IHRoZSB2ZWN0b3IgYWxsb2NhdGlvbiBtYXNrLCBpLmUuIHBvdGVudGlhbGx5IGluY2x1ZGluZyBi aXRzIG9mCm9mZmxpbmUgKHBhcmtlZCkgQ1BVcy4gVGhpcyBpbXBsaWVzIHRoYXQgYmVmb3JlIHBh c3NpbmcgdGhlIG1hc2sgdG8KY2VydGFpbiBmdW5jdGlvbnMgKG1vc3Qgbm90YWJseSBjcHVfbWFz a190b19hcGljaWQoKSkgaXQgbmVlZHMgdG8gYmUKZnVydGhlciByZWR1Y2VkIHRvIHRoZSBvbmxp bmUgc3Vic2V0LgoKVGhlIGV4Y2VwdGlvbiBvZiBoaWdoIHByaW9yaXR5IGludGVycnVwdHMgaXMg YWxzbyB3aHkgZm9yIHRoZSBtb21lbnQKX2JpbmRfaXJxX3ZlY3RvcigpIGlzIGxlZnQgYXMgaXMs IGRlc3BpdGUgbG9va2luZyB3cm9uZzogSXQncyB1c2VkCmV4Y2x1c2l2ZWx5IGZvciBJUlEwLCB3 aGljaCBpc24ndCBzdXBwb3NlZCB0byBtb3ZlIG9mZiBDUFUwIGF0IGFueSB0aW1lLgoKVGhlIHBy aW9yIGxhY2sgb2YgcmVzdHJpY3RpbmcgdG8gb25saW5lIENQVXMgaW4gc2V0X2Rlc2NfYWZmaW5p dHkoKQpiZWZvcmUgY2FsbGluZyBjcHVfbWFza190b19hcGljaWQoKSBpbiBwYXJ0aWN1bGFyIGFs bG93ZWQgKGluIHgyQVBJQwpjbHVzdGVyZWQgbW9kZSkgb2ZmbGluZWQgQ1BVcyB0byBlbmQgdXAg ZW5hYmxlZCBpbiBhbiBJUlEncyBkZXN0aW5hdGlvbgpmaWVsZC4gKEkgd29uZGVyIHdoZXRoZXIg dmVjdG9yX2FsbG9jYXRpb25fY3B1bWFza19mbGF0KCkgc2hvdWxkbid0CmZvbGxvdyBhIHNpbWls YXIgbW9kZWwsIHVzaW5nIGNwdV9wcmVzZW50X21hcCBpbiBmYXZvciBvZgpjcHVfb25saW5lX21h cC4pCgpGb3IgSU8tQVBJQyBjb2RlIGl0IHdhcyBkZWZpbml0ZWx5IHdyb25nIHRvIHBvdGVudGlh bGx5IHN0b3JlLCBhcyBhCmZhbGxiYWNrLCBUQVJHRVRfQ1BVUyAoaS5lLiBhbGwgb25saW5lIG9u ZXMpIGludG8gdGhlIGZpZWxkLCBhcyB0aGF0CndvdWxkIGhhdmUgY2F1c2VkIHByb2JsZW1zIHdo ZW4gZGV0ZXJtaW5pbmcgb24gd2hpY2ggQ1BVcyB0byByZWxlYXNlCnZlY3RvcnMgd2hlbiB0aGV5 J3ZlIGdvbmUgb3V0IG9mIHVzZS4gRGlzYWJsZSBpbnRlcnJ1cHRzIGluc3RlYWQgd2hlbgpubyB2 YWxpZCB0YXJnZXQgQ1BVIGNhbiBiZSBlc3RhYmxpc2hlZCAod2hpY2ggY29kZSBlbHNld2hlcmUg c2hvdWxkCmd1YXJhbnRlZSB0byBuZXZlciBoYXBwZW4pLCBhbmQgbG9nIGEgbWVzc2FnZSBpbiBz dWNoIGFuIHVubGlrZWx5IGV2ZW50LgoKU2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVs aWNoQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUm9nZXIgUGF1IE1vbm7DqSA8cm9nZXIucGF1QGNp dHJpeC5jb20+Ci0tLQp2MjogTmV3LgoKLS0tIGEveGVuL2FyY2gveDg2L2lvX2FwaWMuYworKysg Yi94ZW4vYXJjaC94ODYvaW9fYXBpYy5jCkBAIC02ODAsNyArNjgwLDcgQEAgdm9pZCAvKl9faW5p dCovIHNldHVwX2lvYXBpY19kZXN0KHZvaWQpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAg ICAgICAgICAgICBpcnEgPSBwaW5fMl9pcnEoaXJxX2VudHJ5LCBpb2FwaWMsIHBpbik7CiAgICAg ICAgICAgICBkZXNjID0gaXJxX3RvX2Rlc2MoaXJxKTsKLSAgICAgICAgICAgIEJVR19PTihjcHVt YXNrX2VtcHR5KGRlc2MtPmFyY2guY3B1X21hc2spKTsKKyAgICAgICAgICAgIEJVR19PTighY3B1 bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssICZjcHVfb25saW5lX21hcCkpOwog ICAgICAgICAgICAgc2V0X2lvYXBpY19hZmZpbml0eV9pcnEoZGVzYywgZGVzYy0+YXJjaC5jcHVf bWFzayk7CiAgICAgICAgIH0KIApAQCAtMjE5NCw3ICsyMTk0LDYgQEAgaW50IGlvX2FwaWNfc2V0 X3BjaV9yb3V0aW5nIChpbnQgaW9hcGljLAogewogICAgIHN0cnVjdCBpcnFfZGVzYyAqZGVzYyA9 IGlycV90b19kZXNjKGlycSk7CiAgICAgc3RydWN0IElPX0FQSUNfcm91dGVfZW50cnkgZW50cnk7 Ci0gICAgY3B1bWFza190IG1hc2s7CiAgICAgdW5zaWduZWQgbG9uZyBmbGFnczsKICAgICBpbnQg dmVjdG9yOwogCkBAIC0yMjI5LDExICsyMjI4LDE3IEBAIGludCBpb19hcGljX3NldF9wY2lfcm91 dGluZyAoaW50IGlvYXBpYywKICAgICAgICAgcmV0dXJuIHZlY3RvcjsKICAgICBlbnRyeS52ZWN0 b3IgPSB2ZWN0b3I7CiAKLSAgICBjcHVtYXNrX2NvcHkoJm1hc2ssIFRBUkdFVF9DUFVTKTsKLSAg ICAvKiBEb24ndCBjaGFuY2UgZW5kaW5nIHVwIHdpdGggYW4gZW1wdHkgbWFzay4gKi8KLSAgICBp ZiAoY3B1bWFza19pbnRlcnNlY3RzKCZtYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrKSkKLSAgICAg ICAgY3B1bWFza19hbmQoJm1hc2ssICZtYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrKTsKLSAgICBT RVRfREVTVChlbnRyeSwgbG9naWNhbCwgY3B1X21hc2tfdG9fYXBpY2lkKCZtYXNrKSk7CisgICAg aWYgKGNwdW1hc2tfaW50ZXJzZWN0cyhkZXNjLT5hcmNoLmNwdV9tYXNrLCBUQVJHRVRfQ1BVUykp IHsKKyAgICAgICAgY3B1bWFza190ICptYXNrID0gdGhpc19jcHUoc2NyYXRjaF9jcHVtYXNrKTsK KworICAgICAgICBjcHVtYXNrX2FuZChtYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrLCBUQVJHRVRf Q1BVUyk7CisgICAgICAgIFNFVF9ERVNUKGVudHJ5LCBsb2dpY2FsLCBjcHVfbWFza190b19hcGlj aWQobWFzaykpOworICAgIH0gZWxzZSB7CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJJUlEl ZDogbm8gdGFyZ2V0IENQVSAoJSpwYiB2cyAlKnBiKVxuIiwKKyAgICAgICAgICAgICAgIGlycSwg bnJfY3B1X2lkcywgY3B1bWFza19iaXRzKGRlc2MtPmFyY2guY3B1X21hc2spLAorICAgICAgICAg ICAgICAgbnJfY3B1X2lkcywgY3B1bWFza19iaXRzKFRBUkdFVF9DUFVTKSk7CisgICAgICAgIGRl c2MtPnN0YXR1cyB8PSBJUlFfRElTQUJMRUQ7CisgICAgfQogCiAgICAgYXBpY19wcmludGsoQVBJ Q19ERUJVRywgS0VSTl9ERUJVRyAiSU9BUElDWyVkXTogU2V0IFBDSSByb3V0aW5nIGVudHJ5ICIK IAkJIiglZC0lZCAtPiAlI3ggLT4gSVJRICVkIE1vZGU6JWkgQWN0aXZlOiVpKVxuIiwgaW9hcGlj LApAQCAtMjQxOSw3ICsyNDI0LDIxIEBAIGludCBpb2FwaWNfZ3Vlc3Rfd3JpdGUodW5zaWduZWQg bG9uZyBwaHkKICAgICAvKiBTZXQgdGhlIHZlY3RvciBmaWVsZCB0byB0aGUgcmVhbCB2ZWN0b3Ih ICovCiAgICAgcnRlLnZlY3RvciA9IGRlc2MtPmFyY2gudmVjdG9yOwogCi0gICAgU0VUX0RFU1Qo cnRlLCBsb2dpY2FsLCBjcHVfbWFza190b19hcGljaWQoZGVzYy0+YXJjaC5jcHVfbWFzaykpOwor ICAgIGlmICggY3B1bWFza19pbnRlcnNlY3RzKGRlc2MtPmFyY2guY3B1X21hc2ssIFRBUkdFVF9D UFVTKSApCisgICAgeworICAgICAgICBjcHVtYXNrX3QgKm1hc2sgPSB0aGlzX2NwdShzY3JhdGNo X2NwdW1hc2spOworCisgICAgICAgIGNwdW1hc2tfYW5kKG1hc2ssIGRlc2MtPmFyY2guY3B1X21h c2ssIFRBUkdFVF9DUFVTKTsKKyAgICAgICAgU0VUX0RFU1QocnRlLCBsb2dpY2FsLCBjcHVfbWFz a190b19hcGljaWQobWFzaykpOworICAgIH0KKyAgICBlbHNlCisgICAgeworICAgICAgICBncHJp bnRrKFhFTkxPR19FUlIsICJJUlElZDogbm8gdGFyZ2V0IENQVSAoJSpwYiB2cyAlKnBiKVxuIiwK KyAgICAgICAgICAgICAgIGlycSwgbnJfY3B1X2lkcywgY3B1bWFza19iaXRzKGRlc2MtPmFyY2gu Y3B1X21hc2spLAorICAgICAgICAgICAgICAgbnJfY3B1X2lkcywgY3B1bWFza19iaXRzKFRBUkdF VF9DUFVTKSk7CisgICAgICAgIGRlc2MtPnN0YXR1cyB8PSBJUlFfRElTQUJMRUQ7CisgICAgICAg IHJ0ZS5tYXNrID0gMTsKKyAgICB9CiAKICAgICBfX2lvYXBpY193cml0ZV9lbnRyeShhcGljLCBw aW4sIDAsIHJ0ZSk7CiAgICAgCi0tLSBhL3hlbi9hcmNoL3g4Ni9pcnEuYworKysgYi94ZW4vYXJj aC94ODYvaXJxLmMKQEAgLTQ3MSwxMSArNDcxLDEzIEBAIHN0YXRpYyBpbnQgX19hc3NpZ25faXJx X3ZlY3RvcigKICAgICAgKi8KICAgICBzdGF0aWMgaW50IGN1cnJlbnRfdmVjdG9yID0gRklSU1Rf RFlOQU1JQ19WRUNUT1IsIGN1cnJlbnRfb2Zmc2V0ID0gMDsKICAgICBpbnQgY3B1LCBlcnIsIG9s ZF92ZWN0b3I7Ci0gICAgY3B1bWFza190IHRtcF9tYXNrOwogICAgIHZtYXNrX3QgKmlycV91c2Vk X3ZlY3RvcnMgPSBOVUxMOwogCiAgICAgb2xkX3ZlY3RvciA9IGlycV90b192ZWN0b3IoaXJxKTsK LSAgICBpZiAob2xkX3ZlY3RvciA+IDApIHsKKyAgICBpZiAoIG9sZF92ZWN0b3IgPiAwICkKKyAg ICB7CisgICAgICAgIGNwdW1hc2tfdCB0bXBfbWFzazsKKwogICAgICAgICBjcHVtYXNrX2FuZCgm dG1wX21hc2ssIG1hc2ssICZjcHVfb25saW5lX21hcCk7CiAgICAgICAgIGlmIChjcHVtYXNrX2lu dGVyc2VjdHMoJnRtcF9tYXNrLCBkZXNjLT5hcmNoLmNwdV9tYXNrKSkgewogICAgICAgICAgICAg ZGVzYy0+YXJjaC52ZWN0b3IgPSBvbGRfdmVjdG9yOwpAQCAtNDk4LDcgKzUwMCw5IEBAIHN0YXRp YyBpbnQgX19hc3NpZ25faXJxX3ZlY3RvcigKICAgICBlbHNlCiAgICAgICAgIGlycV91c2VkX3Zl Y3RvcnMgPSBpcnFfZ2V0X3VzZWRfdmVjdG9yX21hc2soaXJxKTsKIAotICAgIGZvcl9lYWNoX2Nw dShjcHUsIG1hc2spIHsKKyAgICBmb3JfZWFjaF9jcHUoY3B1LCBtYXNrKQorICAgIHsKKyAgICAg ICAgY29uc3QgY3B1bWFza190ICp2ZWNfbWFzazsKICAgICAgICAgaW50IG5ld19jcHU7CiAgICAg ICAgIGludCB2ZWN0b3IsIG9mZnNldDsKIApAQCAtNTA2LDggKzUxMCw3IEBAIHN0YXRpYyBpbnQg X19hc3NpZ25faXJxX3ZlY3RvcigKICAgICAgICAgaWYgKCFjcHVfb25saW5lKGNwdSkpCiAgICAg ICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBjcHVtYXNrX2FuZCgmdG1wX21hc2ssIHZlY3Rv cl9hbGxvY2F0aW9uX2NwdW1hc2soY3B1KSwKLSAgICAgICAgICAgICAgICAgICAgJmNwdV9vbmxp bmVfbWFwKTsKKyAgICAgICAgdmVjX21hc2sgPSB2ZWN0b3JfYWxsb2NhdGlvbl9jcHVtYXNrKGNw dSk7CiAKICAgICAgICAgdmVjdG9yID0gY3VycmVudF92ZWN0b3I7CiAgICAgICAgIG9mZnNldCA9 IGN1cnJlbnRfb2Zmc2V0OwpAQCAtNTI4LDcgKzUzMSw3IEBAIG5leHQ6CiAgICAgICAgICAgICAm JiB0ZXN0X2JpdCh2ZWN0b3IsIGlycV91c2VkX3ZlY3RvcnMpICkKICAgICAgICAgICAgIGdvdG8g bmV4dDsKIAotICAgICAgICBmb3JfZWFjaF9jcHUobmV3X2NwdSwgJnRtcF9tYXNrKQorICAgICAg ICBmb3JfZWFjaF9jcHUobmV3X2NwdSwgdmVjX21hc2spCiAgICAgICAgICAgICBpZiAocGVyX2Nw dSh2ZWN0b3JfaXJxLCBuZXdfY3B1KVt2ZWN0b3JdID49IDApCiAgICAgICAgICAgICAgICAgZ290 byBuZXh0OwogICAgICAgICAvKiBGb3VuZCBvbmUhICovCkBAIC01NDcsMTIgKzU1MCwxMiBAQCBu ZXh0OgogICAgICAgICAgICAgICAgIHJlbGVhc2Vfb2xkX3ZlYyhkZXNjKTsKICAgICAgICAgfQog Ci0gICAgICAgIHRyYWNlX2lycV9tYXNrKFRSQ19IV19JUlFfQVNTSUdOX1ZFQ1RPUiwgaXJxLCB2 ZWN0b3IsICZ0bXBfbWFzayk7CisgICAgICAgIHRyYWNlX2lycV9tYXNrKFRSQ19IV19JUlFfQVNT SUdOX1ZFQ1RPUiwgaXJxLCB2ZWN0b3IsIHZlY19tYXNrKTsKIAotICAgICAgICBmb3JfZWFjaF9j cHUobmV3X2NwdSwgJnRtcF9tYXNrKQorICAgICAgICBmb3JfZWFjaF9jcHUobmV3X2NwdSwgdmVj X21hc2spCiAgICAgICAgICAgICBwZXJfY3B1KHZlY3Rvcl9pcnEsIG5ld19jcHUpW3ZlY3Rvcl0g PSBpcnE7CiAgICAgICAgIGRlc2MtPmFyY2gudmVjdG9yID0gdmVjdG9yOwotICAgICAgICBjcHVt YXNrX2NvcHkoZGVzYy0+YXJjaC5jcHVfbWFzaywgJnRtcF9tYXNrKTsKKyAgICAgICAgY3B1bWFz a19jb3B5KGRlc2MtPmFyY2guY3B1X21hc2ssIHZlY19tYXNrKTsKIAogICAgICAgICBkZXNjLT5h cmNoLnVzZWQgPSBJUlFfVVNFRDsKICAgICAgICAgQVNTRVJUKChkZXNjLT5hcmNoLnVzZWRfdmVj dG9ycyA9PSBOVUxMKQpAQCAtNzgzLDYgKzc4Niw3IEBAIHVuc2lnbmVkIGludCBzZXRfZGVzY19h ZmZpbml0eShzdHJ1Y3QgaXIKIAogICAgIGNwdW1hc2tfY29weShkZXNjLT5hZmZpbml0eSwgbWFz ayk7CiAgICAgY3B1bWFza19hbmQoJmRlc3RfbWFzaywgbWFzaywgZGVzYy0+YXJjaC5jcHVfbWFz ayk7CisgICAgY3B1bWFza19hbmQoJmRlc3RfbWFzaywgJmRlc3RfbWFzaywgJmNwdV9vbmxpbmVf bWFwKTsKIAogICAgIHJldHVybiBjcHVfbWFza190b19hcGljaWQoJmRlc3RfbWFzayk7CiB9Ci0t LSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaXJxLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9p cnEuaApAQCAtMzIsNiArMzIsMTIgQEAgc3RydWN0IGlycV9kZXNjOwogc3RydWN0IGFyY2hfaXJx X2Rlc2MgewogICAgICAgICBzMTYgdmVjdG9yOyAgICAgICAgICAgICAgICAgIC8qIHZlY3RvciBp dHNlbGYgaXMgb25seSA4IGJpdHMsICovCiAgICAgICAgIHMxNiBvbGRfdmVjdG9yOyAgICAgICAg ICAgICAgLyogYnV0IHdlIHVzZSAtMSBmb3IgdW5hc3NpZ25lZCAgKi8KKyAgICAgICAgLyoKKyAg ICAgICAgICogRXhjZXB0IGZvciBoaWdoIHByaW9yaXR5IGludGVycnVwdHMgQGNwdV9tYXNrIG1h eSBoYXZlIGJpdHMgc2V0IGZvcgorICAgICAgICAgKiBvZmZsaW5lIENQVXMuICBDb25zdW1lcnMg bmVlZCB0byBiZSBjYXJlZnVsIHRvIG1hc2sgdGhpcyBkb3duIHRvCisgICAgICAgICAqIG9ubGlu ZSBvbmVzIGFzIG5lY2Vzc2FyeS4gIFRoZXJlIGlzIHN1cHBvc2VkIHRvIGFsd2F5cyBiZSBhIG5v bi0KKyAgICAgICAgICogZW1wdHkgaW50ZXJzZWN0aW9uIHdpdGggY3B1X29ubGluZV9tYXAuCisg ICAgICAgICAqLwogICAgICAgICBjcHVtYXNrX3Zhcl90IGNwdV9tYXNrOwogICAgICAgICBjcHVt YXNrX3Zhcl90IG9sZF9jcHVfbWFzazsKICAgICAgICAgY3B1bWFza192YXJfdCBwZW5kaW5nX21h c2s7CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRw czovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs