From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Durrant Subject: [PATCH 07/18] xen: add event channel interface for XenDevice-s Date: Wed, 21 Nov 2018 15:12:00 +0000 Message-ID: <20181121151211.15997-8-paul.durrant__7810.47075656733$1542813064$gmane$org@citrix.com> References: <20181121151211.15997-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 1gPUAy-0007If-AB for xen-devel@lists.xenproject.org; Wed, 21 Nov 2018 15:12:24 +0000 In-Reply-To: <20181121151211.15997-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: qemu-block@nongnu.org, qemu-devel@nongnu.org, xen-devel@lists.xenproject.org Cc: Anthony Perard , Paul Durrant , Stefano Stabellini List-Id: xen-devel@lists.xenproject.org VGhlIGxlZ2FjeSBQViBiYWNrZW5kIGluZnJhc3RydWN0dXJlIHByb3ZpZGVzIGZ1bmN0aW9ucyB0 byBiaW5kLCB1bmJpbmQKYW5kIHNlbmQgbm90aWZpY2F0aW9ucyB0byBldmVudCBjaGFubm5lbHMu IFNpbWlsYXIgZnVuY3Rpb25hbGl0eSB3aWxsIGJlCnJlcXVpcmVkIGJ5IFhlbkRldmljZSBpbXBs ZW1lbnRhdGlvbnMgc28gdGhpcyBwYXRjaCBhZGRzIHRoZSBuZWNlc3NhcnkKc3VwcG9ydC4KClNp Z25lZC1vZmYtYnk6IFBhdWwgRHVycmFudCA8cGF1bC5kdXJyYW50QGNpdHJpeC5jb20+Ci0tLQpD YzogU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogQW50aG9u eSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5jb20+Ci0tLQogaHcveGVuL3hlbi1idXMu YyAgICAgICAgIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBpbmNsdWRlL2h3L3hlbi94ZW4tYnVzLmggfCAxNiArKysrKysrKysKIDIgZmlsZXMg Y2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9ody94ZW4veGVuLWJ1cy5j IGIvaHcveGVuL3hlbi1idXMuYwppbmRleCA3YTE1MmQyYTJmLi42NGM4YWY1NGIwIDEwMDY0NAot LS0gYS9ody94ZW4veGVuLWJ1cy5jCisrKyBiL2h3L3hlbi94ZW4tYnVzLmMKQEAgLTU3OSw2ICs1 NzksNjUgQEAgZG9uZToKICAgICBnX2ZyZWUoeGVuZ250dGFiX3NlZ3MpOwogfQogCitzdHJ1Y3Qg WGVuRXZlbnRDaGFubmVsIHsKKyAgICB1bnNpZ25lZCBpbnQgbG9jYWxfcG9ydDsKKyAgICBYZW5F dmVudEhhbmRsZXIgaGFuZGxlcjsKKyAgICB2b2lkICpvcGFxdWU7CisgICAgTm90aWZpZXIgbm90 aWZpZXI7Cit9OworCitzdGF0aWMgdm9pZCBldmVudF9ub3RpZnkoTm90aWZpZXIgKm4sIHZvaWQg KmRhdGEpCit7CisgICAgWGVuRXZlbnRDaGFubmVsICpjaGFubmVsID0gY29udGFpbmVyX29mKG4s IFhlbkV2ZW50Q2hhbm5lbCwgbm90aWZpZXIpOworICAgIHVuc2lnbmVkIGxvbmcgcG9ydCA9ICh1 bnNpZ25lZCBsb25nKWRhdGE7CisKKyAgICBpZiAocG9ydCA9PSBjaGFubmVsLT5sb2NhbF9wb3J0 KSB7CisgICAgICAgIGNoYW5uZWwtPmhhbmRsZXIoY2hhbm5lbC0+b3BhcXVlKTsKKyAgICB9Cit9 CisKK1hlbkV2ZW50Q2hhbm5lbCAqeGVuX2RldmljZV9iaW5kX2V2ZW50X2NoYW5uZWwoWGVuRGV2 aWNlICp4ZW5kZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBwb3J0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBYZW5FdmVudEhhbmRsZXIgaGFuZGxlciwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqb3BhcXVlLCBFcnJvciAqKmVycnAp Cit7CisgICAgWGVuRXZlbnRDaGFubmVsICpjaGFubmVsID0gZ19uZXcwKFhlbkV2ZW50Q2hhbm5l bCwgMSk7CisKKyAgICBjaGFubmVsLT5sb2NhbF9wb3J0ID0geGVuZXZ0Y2huX2JpbmRfaW50ZXJk b21haW4oeGVuZGV2LT54ZWgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHhlbmRldi0+ZnJvbnRlbmRfaWQsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcnQpOworICAgIGlmICh4ZW5kZXYt PmxvY2FsX3BvcnQgPCAwKSB7CisgICAgICAgIGVycm9yX3NldGdfZXJybm8oZXJycCwgZXJybm8s ICJ4ZW5ldnRjaG5fYmluZF9pbnRlcmRvbWFpbiBmYWlsZWQiKTsKKworICAgICAgICBnX2ZyZWUo Y2hhbm5lbCk7CisgICAgICAgIHJldHVybiBOVUxMOworICAgIH0KKworICAgIGNoYW5uZWwtPmhh bmRsZXIgPSBoYW5kbGVyOworICAgIGNoYW5uZWwtPm9wYXF1ZSA9IG9wYXF1ZTsKKyAgICBjaGFu bmVsLT5ub3RpZmllci5ub3RpZnkgPSBldmVudF9ub3RpZnk7CisKKyAgICBub3RpZmllcl9saXN0 X2FkZCgmeGVuZGV2LT5ldmVudF9ub3RpZmllcnMsICZjaGFubmVsLT5ub3RpZmllcik7CisKKyAg ICByZXR1cm4gY2hhbm5lbDsKK30KKwordm9pZCB4ZW5fZGV2aWNlX25vdGlmeV9ldmVudF9jaGFu bmVsKFhlbkRldmljZSAqeGVuZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFhlbkV2ZW50Q2hhbm5lbCAqY2hhbm5lbCkKK3sKKyAgICB4ZW5ldnRjaG5fbm90aWZ5KHhl bmRldi0+eGVoLCBjaGFubmVsLT5sb2NhbF9wb3J0KTsKK30KKwordm9pZCB4ZW5fZGV2aWNlX3Vu YmluZF9ldmVudF9jaGFubmVsKFhlbkRldmljZSAqeGVuZGV2LAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFhlbkV2ZW50Q2hhbm5lbCAqY2hhbm5lbCkKK3sKKyAgICBub3Rp Zmllcl9yZW1vdmUoJmNoYW5uZWwtPm5vdGlmaWVyKTsKKworICAgIHhlbmV2dGNobl91bmJpbmQo eGVuZGV2LT54ZWgsIGNoYW5uZWwtPmxvY2FsX3BvcnQpOworCisgICAgZ19mcmVlKGNoYW5uZWwp OworfQorCiBzdGF0aWMgdm9pZCB4ZW5fZGV2aWNlX3VucmVhbGl6ZShEZXZpY2VTdGF0ZSAqZGV2 LCBFcnJvciAqKmVycnApCiB7CiAgICAgWGVuRGV2aWNlICp4ZW5kZXYgPSBYRU5fREVWSUNFKGRl dik7CkBAIC02MDIsNiArNjYxLDExIEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfdW5yZWFsaXpl KERldmljZVN0YXRlICpkZXYsIEVycm9yICoqZXJycCkKICAgICB4ZW5fZGV2aWNlX2Zyb250ZW5k X2Rlc3Ryb3koeGVuZGV2KTsKICAgICB4ZW5fZGV2aWNlX2JhY2tlbmRfZGVzdHJveSh4ZW5kZXYp OwogCisgICAgaWYgKHhlbmRldi0+eGVoKSB7CisgICAgICAgIHFlbXVfc2V0X2ZkX2hhbmRsZXIo eGVuZXZ0Y2huX2ZkKHhlbmRldi0+eGVoKSwgTlVMTCwgTlVMTCwgTlVMTCk7CisgICAgICAgIHhl bmV2dGNobl9jbG9zZSh4ZW5kZXYtPnhlaCk7CisgICAgfQorCiAgICAgaWYgKHhlbmRldi0+eGd0 aCkgewogICAgICAgICB4ZW5nbnR0YWJfY2xvc2UoeGVuZGV2LT54Z3RoKTsKICAgICB9CkBAIC02 MTYsNiArNjgwLDE2IEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfZXhpdChOb3RpZmllciAqbiwg dm9pZCAqZGF0YSkKICAgICB4ZW5fZGV2aWNlX3VucmVhbGl6ZShERVZJQ0UoeGVuZGV2KSwgJmVy cm9yX2Fib3J0KTsKIH0KIAorc3RhdGljIHZvaWQgeGVuX2RldmljZV9ldmVudCh2b2lkICpvcGFx dWUpCit7CisgICAgWGVuRGV2aWNlICp4ZW5kZXYgPSBvcGFxdWU7CisgICAgdW5zaWduZWQgbG9u ZyBwb3J0ID0geGVuZXZ0Y2huX3BlbmRpbmcoeGVuZGV2LT54ZWgpOworCisgICAgbm90aWZpZXJf bGlzdF9ub3RpZnkoJnhlbmRldi0+ZXZlbnRfbm90aWZpZXJzLCAodm9pZCAqKXBvcnQpOworCisg ICAgeGVuZXZ0Y2huX3VubWFzayh4ZW5kZXYtPnhlaCwgcG9ydCk7Cit9CisKIHN0YXRpYyB2b2lk IHhlbl9kZXZpY2VfcmVhbGl6ZShEZXZpY2VTdGF0ZSAqZGV2LCBFcnJvciAqKmVycnApCiB7CiAg ICAgWGVuRGV2aWNlICp4ZW5kZXYgPSBYRU5fREVWSUNFKGRldik7CkBAIC02NTYsNiArNzMwLDE2 IEBAIHN0YXRpYyB2b2lkIHhlbl9kZXZpY2VfcmVhbGl6ZShEZXZpY2VTdGF0ZSAqZGV2LCBFcnJv ciAqKmVycnApCiAgICAgeGVuZGV2LT5mZWF0dXJlX2dyYW50X2NvcHkgPQogICAgICAgICAoeGVu Z250dGFiX2dyYW50X2NvcHkoeGVuZGV2LT54Z3RoLCAwLCBOVUxMKSA9PSAwKTsKIAorICAgIHhl bmRldi0+eGVoID0geGVuZXZ0Y2huX29wZW4oTlVMTCwgMCk7CisgICAgaWYgKCF4ZW5kZXYtPnhl aCkgeworICAgICAgICBlcnJvcl9zZXRnX2Vycm5vKGVycnAsIGVycm5vLCAiZmFpbGVkIHhlbmV2 dGNobl9vcGVuIik7CisgICAgICAgIGdvdG8gdW5yZWFsaXplOworICAgIH0KKworICAgIG5vdGlm aWVyX2xpc3RfaW5pdCgmeGVuZGV2LT5ldmVudF9ub3RpZmllcnMpOworICAgIHFlbXVfc2V0X2Zk X2hhbmRsZXIoeGVuZXZ0Y2huX2ZkKHhlbmRldi0+eGVoKSwgeGVuX2RldmljZV9ldmVudCwgTlVM TCwKKyAgICAgICAgICAgICAgICAgICAgICAgIHhlbmRldik7CisKICAgICB4ZW5fZGV2aWNlX2Jh Y2tlbmRfY3JlYXRlKHhlbmRldiwgJmxvY2FsX2Vycik7CiAgICAgaWYgKGxvY2FsX2Vycikgewog ICAgICAgICBlcnJvcl9wcm9wYWdhdGUoZXJycCwgbG9jYWxfZXJyKTsKZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvaHcveGVuL3hlbi1idXMuaCBiL2luY2x1ZGUvaHcveGVuL3hlbi1idXMuaAppbmRleCBk YjE0ZDQ5MDI3Li4zODZmNmJmYzkzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW4tYnVz LmgKKysrIGIvaW5jbHVkZS9ody94ZW4veGVuLWJ1cy5oCkBAIC0yNCw2ICsyNCw5IEBAIHR5cGVk ZWYgc3RydWN0IFhlbkRldmljZSB7CiAgICAgWGVuV2F0Y2ggKmZyb250ZW5kX3N0YXRlX3dhdGNo OwogICAgIHhlbmdudHRhYl9oYW5kbGUgKnhndGg7CiAgICAgYm9vbCBmZWF0dXJlX2dyYW50X2Nv cHk7CisgICAgeGVuZXZ0Y2huX2hhbmRsZSAqeGVoOworICAgIHhlbmV2dGNobl9wb3J0X29yX2Vy cm9yX3QgbG9jYWxfcG9ydDsKKyAgICBOb3RpZmllckxpc3QgZXZlbnRfbm90aWZpZXJzOwogfSBY ZW5EZXZpY2U7CiAKIHR5cGVkZWYgY2hhciAqKCpYZW5EZXZpY2VHZXROYW1lKShYZW5EZXZpY2Ug KnhlbmRldiwgRXJyb3IgKiplcnJwKTsKQEAgLTEwMiw0ICsxMDUsMTcgQEAgdm9pZCB4ZW5fZGV2 aWNlX2NvcHlfZ3JhbnRfcmVmcyhYZW5EZXZpY2UgKnhlbmRldiwgYm9vbCB0b19kb21haW4sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhlbkRldmljZUdyYW50Q29weVNlZ21lbnQg c2Vnc1tdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgbnJf c2VncywgRXJyb3IgKiplcnJwKTsKIAordHlwZWRlZiBzdHJ1Y3QgWGVuRXZlbnRDaGFubmVsIFhl bkV2ZW50Q2hhbm5lbDsKKwordHlwZWRlZiB2b2lkICgqWGVuRXZlbnRIYW5kbGVyKSh2b2lkICpv cGFxdWUpOworCitYZW5FdmVudENoYW5uZWwgKnhlbl9kZXZpY2VfYmluZF9ldmVudF9jaGFubmVs KFhlbkRldmljZSAqeGVuZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1bnNpZ25lZCBpbnQgcG9ydCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWGVuRXZlbnRIYW5kbGVyIGhhbmRsZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKm9wYXF1ZSwgRXJyb3Ig KiplcnJwKTsKK3ZvaWQgeGVuX2RldmljZV9ub3RpZnlfZXZlbnRfY2hhbm5lbChYZW5EZXZpY2Ug KnhlbmRldiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYZW5FdmVudENo YW5uZWwgKmNoYW5uZWwpOwordm9pZCB4ZW5fZGV2aWNlX3VuYmluZF9ldmVudF9jaGFubmVsKFhl bkRldmljZSAqeGVuZGV2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhl bkV2ZW50Q2hhbm5lbCAqY2hhbm5lbCk7CisKICNlbmRpZiAvKiBIV19YRU5fQlVTX0ggKi8KLS0g CjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0 dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=