From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH v5 11/11] viridian: add implementation of the HvSendSyntheticClusterIpi hypercall Date: Mon, 11 Mar 2019 13:41:32 +0000 Message-ID: <20190311134132.20536-12-paul.durrant@citrix.com> References: <20190311134132.20536-1-paul.durrant@citrix.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 1h3LR5-00020v-3S for xen-devel@lists.xenproject.org; Mon, 11 Mar 2019 13:57:47 +0000 In-Reply-To: <20190311134132.20536-1-paul.durrant@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: Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Tim Deegan , Julien Grall , Paul Durrant , Jan Beulich , =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= List-Id: xen-devel@lists.xenproject.org VGhpcyBwYXRjaCBhZGRzIGFuIGltcGxlbWVudGF0aW9uIG9mIHRoZSBoeXBlcmNhbGwgYXMgZG9j dW1lbnRlZCBpbiB0aGUKc3BlY2lmaWNhdGlvbiBbMV0sIHNlY3Rpb24gMTAuNS4yLiBUaGlzIGVu bGlnaHRlbm1lbnQsIGFzIHdpdGggb3RoZXJzLCBpcwphZHZlcnRpc2VkIGJ5IENQVUlEIGxlYWYg MHg0MDAwMDAwNCBhbmQgaXMgdW5kZXIgY29udHJvbCBvZiBhIG5ldwonaGNhbGxfaXBpJyBvcHRp b24gaW4gbGlieGwuCgpJZiB1c2VkLCB0aGlzIGVubGlnaHRlbm1lbnQgc2hvdWxkIG1lYW4gdGhl IGd1ZXN0IG9ubHkgdGFrZXMgYSBzaW5nbGUgVk1FWElUCnRvIGlzc3VlIElQSXMgdG8gbXVsdGlw bGUgdkNQVXMgcmF0aGVyIHRoYW4gdGhlIG11bHRpcGxlIFZNRVhJVHMgdGhhdCB3b3VsZApyZXN1 bHQgZnJvbSB1c2luZyB0aGUgZW11bGF0ZWQgbG9jYWwgQVBJQy4KClsxXSBodHRwczovL2dpdGh1 Yi5jb20vTWljcm9zb2Z0RG9jcy9WaXJ0dWFsaXphdGlvbi1Eb2N1bWVudGF0aW9uL3Jhdy9saXZl L3RsZnMvSHlwZXJ2aXNvciUyMFRvcCUyMExldmVsJTIwRnVuY3Rpb25hbCUyMFNwZWNpZmljYXRp b24lMjB2NS4wQy5wZGYKClNpZ25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50 QGNpdHJpeC5jb20+CkFja2VkLWJ5OiBXZWkgTGl1IDx3ZWkubGl1MkBjaXRyaXguY29tPgotLS0K Q2M6IElhbiBKYWNrc29uIDxpYW4uamFja3NvbkBldS5jaXRyaXguY29tPgpDYzogQW5kcmV3IENv b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KQ2M6IEdlb3JnZSBEdW5sYXAgPEdlb3Jn ZS5EdW5sYXBAZXUuY2l0cml4LmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv bT4KQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBLb25yYWQgUnpl c3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+CkNjOiBTdGVmYW5vIFN0YWJlbGxp bmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+CkNjOiBUaW0gRGVlZ2FuIDx0aW1AeGVuLm9yZz4K Q2M6ICJSb2dlciBQYXUgTW9ubsOpIiA8cm9nZXIucGF1QGNpdHJpeC5jb20+Cgp2NDoKIC0gQWRk cmVzcyBjb21tZW50cyBmcm9tIEphbgoKdjM6CiAtIE5ldyBpbiB2MwotLS0KIGRvY3MvbWFuL3hs LmNmZy41LnBvZC5pbiAgICAgICAgICAgICB8ICA2ICsrKwogdG9vbHMvbGlieGwvbGlieGwuaCAg ICAgICAgICAgICAgICAgIHwgIDYgKysrCiB0b29scy9saWJ4bC9saWJ4bF9kb20uYyAgICAgICAg ICAgICAgfCAgMyArKwogdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRsICAgICAgICAgIHwgIDEg KwogeGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi92aXJpZGlhbi5jIHwgNjMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogeGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaCAgICAgIHwg IDcgKysrLQogNiBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvZG9jcy9tYW4veGwuY2ZnLjUucG9kLmluIGIvZG9jcy9tYW4veGwuY2Zn LjUucG9kLmluCmluZGV4IDM1NWM2NTQ2OTMuLmM3ZDcwZTYxOGIgMTAwNjQ0Ci0tLSBhL2RvY3Mv bWFuL3hsLmNmZy41LnBvZC5pbgorKysgYi9kb2NzL21hbi94bC5jZmcuNS5wb2QuaW4KQEAgLTIx NzUsNiArMjE3NSwxMiBAQCB0aWNrcyBhbmQgaGVuY2UgZW5hYmxpbmcgdGhpcyBncm91cCB3aWxs IGVuc3VyZSB0aGF0IHRpY2tzIHdpbGwgYmUKIGNvbnNpc3RlbnQgd2l0aCB1c2Ugb2YgYW4gZW5s aWdodGVuZWQgdGltZSBzb3VyY2UgKEI8dGltZV9yZWZfY291bnQ+IG9yCiBCPHJlZmVyZW5jZV90 c2M+KS4KIAorPWl0ZW0gQjxoY2FsbF9pcGk+CisKK1RoaXMgc2V0IGluY29ycG9yYXRlcyB1c2Ug b2YgYSBoeXBlcmNhbGwgZm9yIGludGVycHJvY2Vzc29yIGludGVycnVwdHMuCitUaGlzIGVubGln aHRlbm1lbnQgbWF5IGltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgV2luZG93cyBndWVzdHMgd2l0aCBt dWx0aXBsZQordmlydHVhbCBDUFVzLgorCiA9aXRlbSBCPGRlZmF1bHRzPgogCiBUaGlzIGlzIGEg c3BlY2lhbCB2YWx1ZSB0aGF0IGVuYWJsZXMgdGhlIGRlZmF1bHQgc2V0IG9mIGdyb3Vwcywgd2hp Y2gKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsLmggYi90b29scy9saWJ4bC9saWJ4bC5o CmluZGV4IGM4ZjIxOWIwZDMuLjQ4MjQ5OWE2YzAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnhsL2xp YnhsLmgKKysrIGIvdG9vbHMvbGlieGwvbGlieGwuaApAQCAtMzMwLDYgKzMzMCwxMiBAQAogICov CiAjZGVmaW5lIExJQlhMX0hBVkVfVklSSURJQU5fU1RJTUVSIDEKIAorLyoKKyAqIExJQlhMX0hB VkVfVklSSURJQU5fSENBTExfSVBJIGluZGljYXRlcyB0aGF0IHRoZSAnaGNhbGxfaXBpJyB2YWx1 ZQorICogaXMgcHJlc2VudCBpbiB0aGUgdmlyaWRpYW4gZW5saWdodGVubWVudCBlbnVtZXJhdGlv bi4KKyAqLworI2RlZmluZSBMSUJYTF9IQVZFX1ZJUklESUFOX0hDQUxMX0lQSSAxCisKIC8qCiAg KiBMSUJYTF9IQVZFX0JVSUxESU5GT19IVk1fQUNQSV9MQVBUT1BfU0xBVEUgaW5kaWNhdGVzIHRo YXQKICAqIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvIGhhcyB0aGUgdS5odm0uYWNwaV9sYXB0b3Bf c2xhdGUgZmllbGQuCmRpZmYgLS1naXQgYS90b29scy9saWJ4bC9saWJ4bF9kb20uYyBiL3Rvb2xz L2xpYnhsL2xpYnhsX2RvbS5jCmluZGV4IDJlZTBmODJlZTcuLjg3OWM4MDYxMzkgMTAwNjQ0Ci0t LSBhL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5jCisrKyBiL3Rvb2xzL2xpYnhsL2xpYnhsX2RvbS5j CkBAIC0zMjQsNiArMzI0LDkgQEAgc3RhdGljIGludCBodm1fc2V0X3ZpcmlkaWFuX2ZlYXR1cmVz KGxpYnhsX19nYyAqZ2MsIHVpbnQzMl90IGRvbWlkLAogICAgIGlmIChsaWJ4bF9iaXRtYXBfdGVz dCgmZW5saWdodGVubWVudHMsIExJQlhMX1ZJUklESUFOX0VOTElHSFRFTk1FTlRfU1RJTUVSKSkK ICAgICAgICAgbWFzayB8PSBIVk1QVl90aW1lX3JlZl9jb3VudCB8IEhWTVBWX3N5bmljIHwgSFZN UFZfc3RpbWVyOwogCisgICAgaWYgKGxpYnhsX2JpdG1hcF90ZXN0KCZlbmxpZ2h0ZW5tZW50cywg TElCWExfVklSSURJQU5fRU5MSUdIVEVOTUVOVF9IQ0FMTF9JUEkpKQorICAgICAgICBtYXNrIHw9 IEhWTVBWX2hjYWxsX2lwaTsKKwogICAgIGlmIChtYXNrICE9IDAgJiYKICAgICAgICAgeGNfaHZt X3BhcmFtX3NldChDVFgtPnhjaCwKICAgICAgICAgICAgICAgICAgICAgICAgICBkb21pZCwKZGlm ZiAtLWdpdCBhL3Rvb2xzL2xpYnhsL2xpYnhsX3R5cGVzLmlkbCBiL3Rvb2xzL2xpYnhsL2xpYnhs X3R5cGVzLmlkbAppbmRleCAxY2NlMjQ5ZGU0Li5jYjQ3MDJmZDdhIDEwMDY0NAotLS0gYS90b29s cy9saWJ4bC9saWJ4bF90eXBlcy5pZGwKKysrIGIvdG9vbHMvbGlieGwvbGlieGxfdHlwZXMuaWRs CkBAIC0yMzcsNiArMjM3LDcgQEAgbGlieGxfdmlyaWRpYW5fZW5saWdodGVubWVudCA9IEVudW1l cmF0aW9uKCJ2aXJpZGlhbl9lbmxpZ2h0ZW5tZW50IiwgWwogICAgICg2LCAiY3Jhc2hfY3RsIiks CiAgICAgKDcsICJzeW5pYyIpLAogICAgICg4LCAic3RpbWVyIiksCisgICAgKDksICJoY2FsbF9p cGkiKSwKICAgICBdKQogCiBsaWJ4bF9oZHR5cGUgPSBFbnVtZXJhdGlvbigiaGR0eXBlIiwgWwpk aWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2h2bS92aXJpZGlhbi92aXJpZGlhbi5jIGIveGVuL2Fy Y2gveDg2L2h2bS92aXJpZGlhbi92aXJpZGlhbi5jCmluZGV4IGVjNzljZDlmMTUuLjljNDE5ZDhj ZjMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vdmlyaWRpYW4vdmlyaWRpYW4uYworKysg Yi94ZW4vYXJjaC94ODYvaHZtL3ZpcmlkaWFuL3ZpcmlkaWFuLmMKQEAgLTI4LDYgKzI4LDcgQEAK ICNkZWZpbmUgSHZGbHVzaFZpcnR1YWxBZGRyZXNzU3BhY2UgMHgwMDAyCiAjZGVmaW5lIEh2Rmx1 c2hWaXJ0dWFsQWRkcmVzc0xpc3QgIDB4MDAwMwogI2RlZmluZSBIdk5vdGlmeUxvbmdTcGluV2Fp dCAgICAgICAweDAwMDgKKyNkZWZpbmUgSHZTZW5kU3ludGhldGljQ2x1c3RlcklwaSAgMHgwMDBi CiAjZGVmaW5lIEh2R2V0UGFydGl0aW9uSWQgICAgICAgICAgIDB4MDA0NgogI2RlZmluZSBIdkV4 dENhbGxRdWVyeUNhcGFiaWxpdGllcyAweDgwMDEKIApAQCAtOTUsNiArOTYsNyBAQCB0eXBlZGVm IHVuaW9uIF9IVl9DUkFTSF9DVExfUkVHX0NPTlRFTlRTCiAjZGVmaW5lIENQVUlENEFfSENBTExf UkVNT1RFX1RMQl9GTFVTSCAoMSA8PCAyKQogI2RlZmluZSBDUFVJRDRBX01TUl9CQVNFRF9BUElD ICAgICAgICAgKDEgPDwgMykKICNkZWZpbmUgQ1BVSUQ0QV9SRUxBWF9USU1FUl9JTlQgICAgICAg ICgxIDw8IDUpCisjZGVmaW5lIENQVUlENEFfU1lOVEhFVElDX0NMVVNURVJfSVBJICAoMSA8PCAx MCkKIAogLyogVmlyaWRpYW4gQ1BVSUQgbGVhZiA2OiBJbXBsZW1lbnRhdGlvbiBIVyBmZWF0dXJl cyBkZXRlY3RlZCBhbmQgaW4gdXNlICovCiAjZGVmaW5lIENQVUlENkFfQVBJQ19PVkVSTEFZICAg ICgxIDw8IDApCkBAIC0yMDYsNiArMjA4LDggQEAgdm9pZCBjcHVpZF92aXJpZGlhbl9sZWF2ZXMo Y29uc3Qgc3RydWN0IHZjcHUgKnYsIHVpbnQzMl90IGxlYWYsCiAgICAgICAgICAgICByZXMtPmEg fD0gQ1BVSUQ0QV9IQ0FMTF9SRU1PVEVfVExCX0ZMVVNIOwogICAgICAgICBpZiAoICFjcHVfaGFz X3ZteF9hcGljX3JlZ192aXJ0ICkKICAgICAgICAgICAgIHJlcy0+YSB8PSBDUFVJRDRBX01TUl9C QVNFRF9BUElDOworICAgICAgICBpZiAoIHZpcmlkaWFuX2ZlYXR1cmVfbWFzayhkKSAmIEhWTVBW X2hjYWxsX2lwaSApCisgICAgICAgICAgICByZXMtPmEgfD0gQ1BVSUQ0QV9TWU5USEVUSUNfQ0xV U1RFUl9JUEk7CiAKICAgICAgICAgLyoKICAgICAgICAgICogVGhpcyB2YWx1ZSBpcyB0aGUgcmVj b21tZW5kZWQgbnVtYmVyIG9mIGF0dGVtcHRzIHRvIHRyeSB0bwpAQCAtNjQyLDYgKzY0Niw2NSBA QCBpbnQgdmlyaWRpYW5faHlwZXJjYWxsKHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQogICAg ICAgICBicmVhazsKICAgICB9CiAKKyAgICBjYXNlIEh2U2VuZFN5bnRoZXRpY0NsdXN0ZXJJcGk6 CisgICAgeworICAgICAgICBzdHJ1Y3QgdmNwdSAqdjsKKyAgICAgICAgdWludDMyX3QgdmVjdG9y OworICAgICAgICB1aW50NjRfdCB2Y3B1X21hc2s7CisKKyAgICAgICAgc3RhdHVzID0gSFZfU1RB VFVTX0lOVkFMSURfUEFSQU1FVEVSOworCisgICAgICAgIC8qIEdldCBpbnB1dCBwYXJhbWV0ZXJz LiAqLworICAgICAgICBpZiAoIGlucHV0LmZhc3QgKQorICAgICAgICB7CisgICAgICAgICAgICBp ZiAoIGlucHV0X3BhcmFtc19ncGEgPj4gMzIgKQorICAgICAgICAgICAgICAgIGJyZWFrOworCisg ICAgICAgICAgICB2ZWN0b3IgPSBpbnB1dF9wYXJhbXNfZ3BhOworICAgICAgICAgICAgdmNwdV9t YXNrID0gb3V0cHV0X3BhcmFtc19ncGE7CisgICAgICAgIH0KKyAgICAgICAgZWxzZQorICAgICAg ICB7CisgICAgICAgICAgICBzdHJ1Y3QgeworICAgICAgICAgICAgICAgIHVpbnQzMl90IHZlY3Rv cjsKKyAgICAgICAgICAgICAgICB1aW50OF90IHRhcmdldF92dGw7CisgICAgICAgICAgICAgICAg dWludDhfdCByZXNlcnZlZF96ZXJvWzNdOworICAgICAgICAgICAgICAgIHVpbnQ2NF90IHZjcHVf bWFzazsKKyAgICAgICAgICAgIH0gaW5wdXRfcGFyYW1zOworCisgICAgICAgICAgICBpZiAoIGh2 bV9jb3B5X2Zyb21fZ3Vlc3RfcGh5cygmaW5wdXRfcGFyYW1zLCBpbnB1dF9wYXJhbXNfZ3BhLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKGlucHV0X3Bh cmFtcykpICE9CisgICAgICAgICAgICAgICAgIEhWTVRSQU5TX29rYXkgKQorICAgICAgICAgICAg ICAgIGJyZWFrOworCisgICAgICAgICAgICBpZiAoIGlucHV0X3BhcmFtcy50YXJnZXRfdnRsIHx8 CisgICAgICAgICAgICAgICAgIGlucHV0X3BhcmFtcy5yZXNlcnZlZF96ZXJvWzBdIHx8CisgICAg ICAgICAgICAgICAgIGlucHV0X3BhcmFtcy5yZXNlcnZlZF96ZXJvWzFdIHx8CisgICAgICAgICAg ICAgICAgIGlucHV0X3BhcmFtcy5yZXNlcnZlZF96ZXJvWzJdICkKKyAgICAgICAgICAgICAgICBi cmVhazsKKworICAgICAgICAgICAgdmVjdG9yID0gaW5wdXRfcGFyYW1zLnZlY3RvcjsKKyAgICAg ICAgICAgIHZjcHVfbWFzayA9IGlucHV0X3BhcmFtcy52Y3B1X21hc2s7CisgICAgICAgIH0KKwor ICAgICAgICBpZiAoIHZlY3RvciA8IDB4MTAgfHwgdmVjdG9yID4gMHhmZiApCisgICAgICAgICAg ICBicmVhazsKKworICAgICAgICBmb3JfZWFjaF92Y3B1ICggY3VycmQsIHYgKQorICAgICAgICB7 CisgICAgICAgICAgICBpZiAoIHYtPnZjcHVfaWQgPj0gKHNpemVvZih2Y3B1X21hc2spICogOCkg KQorICAgICAgICAgICAgICAgIGJyZWFrOworCisgICAgICAgICAgICBpZiAoICEodmNwdV9tYXNr ICYgKDF1bCA8PCB2LT52Y3B1X2lkKSkgKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisg ICAgICAgICAgICB2bGFwaWNfc2V0X2lycSh2Y3B1X3ZsYXBpYyh2KSwgdmVjdG9yLCAwKTsKKyAg ICAgICAgfQorCisgICAgICAgIHN0YXR1cyA9IEhWX1NUQVRVU19TVUNDRVNTOworICAgICAgICBi cmVhazsKKyAgICB9CisKICAgICBkZWZhdWx0OgogICAgICAgICBncHJpbnRrKFhFTkxPR19XQVJO SU5HLCAidW5pbXBsZW1lbnRlZCBoeXBlcmNhbGwgJTA0eFxuIiwKICAgICAgICAgICAgICAgICBp bnB1dC5jYWxsX2NvZGUpOwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJh bXMuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9odm0vcGFyYW1zLmgKaW5kZXggZTA2YjA5NDJkMC4u MzY4MzJlNGI5NCAxMDA2NDQKLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2h2bS9wYXJhbXMuaAor KysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaHZtL3BhcmFtcy5oCkBAIC0xNTQsNiArMTU0LDEwIEBA CiAjZGVmaW5lIF9IVk1QVl9zdGltZXIgOAogI2RlZmluZSBIVk1QVl9zdGltZXIgKDEgPDwgX0hW TVBWX3N0aW1lcikKIAorLyogVXNlIFN5bnRoZXRpYyBDbHVzdGVyIElQSSBIeXBlcmNhbGwgKi8K KyNkZWZpbmUgX0hWTVBWX2hjYWxsX2lwaSA5CisjZGVmaW5lIEhWTVBWX2hjYWxsX2lwaSAoMSA8 PCBfSFZNUFZfaGNhbGxfaXBpKQorCiAjZGVmaW5lIEhWTVBWX2ZlYXR1cmVfbWFzayBcCiAgICAg ICAgIChIVk1QVl9iYXNlX2ZyZXEgfCBcCiAgICAgICAgICBIVk1QVl9ub19mcmVxIHwgXApAQCAt MTYzLDcgKzE2Nyw4IEBACiAgICAgICAgICBIVk1QVl9hcGljX2Fzc2lzdCB8IFwKICAgICAgICAg IEhWTVBWX2NyYXNoX2N0bCB8IFwKICAgICAgICAgIEhWTVBWX3N5bmljIHwgXAotICAgICAgICAg SFZNUFZfc3RpbWVyKQorICAgICAgICAgSFZNUFZfc3RpbWVyIHwgXAorICAgICAgICAgSFZNUFZf aGNhbGxfaXBpKQogCiAjZW5kaWYKIAotLSAKMi4yMC4xCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2 ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWls bWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==