From mboxrd@z Thu Jan 1 00:00:00 1970 From: Owen Smith Subject: [PATCH 1/2 v2] xenfb: Use qemu_input_handler_* calls directly Date: Mon, 3 Jul 2017 13:17:40 +0000 Message-ID: <1499087861-2132-2-git-send-email-owen.smith@citrix.com> References: <1499087861-2132-1-git-send-email-owen.smith@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499087861-2132-1-git-send-email-owen.smith@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: qemu-devel@nongnu.org Cc: anthony.perard@citrix.com, sstabellini@kernel.org, kraxel@redhat.com, Owen Smith , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org VGhlIHhlbnZrYmQgaW5wdXQgZGV2aWNlIHVzZXMgZnVuY3Rpb25zIGZyb20gaW5wdXQtbGVnYWN5 LmMKVXNlIHRoZSBhcHByb3ByaWF0ZSBxZW11X2lucHV0X2hhbmRsZXJfKiBmdW5jdGlvbnMgaW5z dGVhZApvZiBjYWxsaW5nIGZ1bmN0aW9ucyBpbiBpbnB1dC1sZWdhY3kuYyB0aGF0IGluIHR1cm4g Y2FsbAp0aGUgY29ycmVjdCBmdW5jdGlvbnMuClRoZSBidWxrIG9mIHRoaXMgcGF0Y2ggcmVtb3Zl cyB0aGUgZXh0cmEgbGF5ZXIgb2YgY2FsbHMKYnkgbW92aW5nIHRoZSByZXF1aXJlZCBzdHJ1Y3R1 cmUgbWVtYmVycyBpbnRvIHRoZSBYZW5JbnB1dApzdHJ1Y3QuCgpTaWduZWQtb2ZmLWJ5OiBPd2Vu IFNtaXRoIDxvd2VuLnNtaXRoQGNpdHJpeC5jb20+Ci0tLQogaHcvZGlzcGxheS94ZW5mYi5jIHwg MTIxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t CiAxIGZpbGUgY2hhbmdlZCwgMTEzIGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvaHcvZGlzcGxheS94ZW5mYi5jIGIvaHcvZGlzcGxheS94ZW5mYi5jCmluZGV4IGU3 NmMwZDguLjg4ODE1ZGYgMTAwNjQ0Ci0tLSBhL2h3L2Rpc3BsYXkveGVuZmIuYworKysgYi9ody9k aXNwbGF5L3hlbmZiLmMKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJxZW11L29zZGVwLmgi CiAKICNpbmNsdWRlICJody9ody5oIgorI2luY2x1ZGUgInVpL2lucHV0LmgiCiAjaW5jbHVkZSAi dWkvY29uc29sZS5oIgogI2luY2x1ZGUgImh3L3hlbi94ZW5fYmFja2VuZC5oIgogCkBAIC01NCw3 ICs1NSwxNCBAQCBzdHJ1Y3QgWGVuSW5wdXQgewogICAgIGludCBhYnNfcG9pbnRlcl93YW50ZWQ7 IC8qIFdoZXRoZXIgZ3Vlc3Qgc3VwcG9ydHMgYWJzb2x1dGUgcG9pbnRlciAqLwogICAgIGludCBi dXR0b25fc3RhdGU7ICAgICAgIC8qIExhc3Qgc2VlbiBwb2ludGVyIGJ1dHRvbiBzdGF0ZSAqLwog ICAgIGludCBleHRlbmRlZDsKLSAgICBRRU1VUHV0TW91c2VFbnRyeSAqcW1vdXNlOworICAgIC8q IGtiZCAqLworICAgIFFlbXVJbnB1dEhhbmRsZXIgaGtiZDsKKyAgICBRZW11SW5wdXRIYW5kbGVy U3RhdGUgKnFrYmQ7CisgICAgLyogbW91c2UgKi8KKyAgICBRZW11SW5wdXRIYW5kbGVyIGhtb3Vz ZTsKKyAgICBRZW11SW5wdXRIYW5kbGVyU3RhdGUgKnFtb3VzZTsKKyAgICBpbnQgYXhpc1tJTlBV VF9BWElTX19NQVhdOworICAgIGludCBidXR0b25zOwogfTsKIAogI2RlZmluZSBVUF9RVUVVRSA4 CkBAIC0yOTMsNiArMzAxLDIxIEBAIHN0YXRpYyB2b2lkIHhlbmZiX2tleV9ldmVudCh2b2lkICpv cGFxdWUsIGludCBzY2FuY29kZSkKICAgICB4ZW5mYl9zZW5kX2tleSh4ZW5mYiwgZG93biwgc2Nh bmNvZGUybGludXhbc2NhbmNvZGVdKTsKIH0KIAorc3RhdGljIHZvaWQgeGVuZmJfbGVnYWN5X2tl eV9ldmVudChEZXZpY2VTdGF0ZSAqZGV2LCBRZW11Q29uc29sZSAqc3JjLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJbnB1dEV2ZW50ICpldnQpCit7CisgICAgc3RydWN0IFhl bklucHV0ICppbiA9IChzdHJ1Y3QgWGVuSW5wdXQgKilkZXY7CisgICAgaW50IHNjYW5jb2Rlc1sz XSwgaSwgY291bnQ7CisgICAgSW5wdXRLZXlFdmVudCAqa2V5ID0gZXZ0LT51LmtleS5kYXRhOwor CisgICAgY291bnQgPSBxZW11X2lucHV0X2tleV92YWx1ZV90b19zY2FuY29kZShrZXktPmtleSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleS0+ZG93biwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjYW5jb2Rlcyk7 CisgICAgZm9yIChpID0gMDsgaSA8IGNvdW50OyArK2kpIHsKKyAgICAgICAgeGVuZmJfa2V5X2V2 ZW50KGluLCBzY2FuY29kZXNbaV0pOworICAgIH0KK30KKwogLyoKICAqIFNlbmQgYSBtb3VzZSBl dmVudCBmcm9tIHRoZSBjbGllbnQgdG8gdGhlIGd1ZXN0IE9TCiAgKgpAQCAtMzMzLDYgKzM1Niw3 MCBAQCBzdGF0aWMgdm9pZCB4ZW5mYl9tb3VzZV9ldmVudCh2b2lkICpvcGFxdWUsCiAgICAgeGVu ZmItPmJ1dHRvbl9zdGF0ZSA9IGJ1dHRvbl9zdGF0ZTsKIH0KIAorc3RhdGljIHZvaWQgeGVuZmJf bGVnYWN5X21vdXNlX2V2ZW50KERldmljZVN0YXRlICpkZXYsIFFlbXVDb25zb2xlICpzcmMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5wdXRFdmVudCAqZXZ0KQorewor ICAgIHN0YXRpYyBjb25zdCBpbnQgYm1hcFtJTlBVVF9CVVRUT05fX01BWF0gPSB7CisgICAgICAg IFtJTlBVVF9CVVRUT05fTEVGVF0gICA9IE1PVVNFX0VWRU5UX0xCVVRUT04sCisgICAgICAgIFtJ TlBVVF9CVVRUT05fTUlERExFXSA9IE1PVVNFX0VWRU5UX01CVVRUT04sCisgICAgICAgIFtJTlBV VF9CVVRUT05fUklHSFRdICA9IE1PVVNFX0VWRU5UX1JCVVRUT04sCisgICAgfTsKKyAgICBzdHJ1 Y3QgWGVuSW5wdXQgKmluID0gKHN0cnVjdCBYZW5JbnB1dCAqKWRldjsKKyAgICBJbnB1dEJ0bkV2 ZW50ICpidG47CisgICAgSW5wdXRNb3ZlRXZlbnQgKm1vdmU7CisKKyAgICBzd2l0Y2ggKGV2dC0+ dHlwZSkgeworICAgIGNhc2UgSU5QVVRfRVZFTlRfS0lORF9CVE46CisgICAgICAgIGJ0biA9IGV2 dC0+dS5idG4uZGF0YTsKKyAgICAgICAgaWYgKGJ0bi0+ZG93bikgeworICAgICAgICAgICAgaW4t PmJ1dHRvbnMgfD0gYm1hcFtidG4tPmJ1dHRvbl07CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgICBpbi0+YnV0dG9ucyAmPSB+Ym1hcFtidG4tPmJ1dHRvbl07CisgICAgICAgIH0KKyAgICAg ICAgaWYgKGJ0bi0+ZG93biAmJiBidG4tPmJ1dHRvbiA9PSBJTlBVVF9CVVRUT05fV0hFRUxfVVAp IHsKKyAgICAgICAgICAgIHhlbmZiX21vdXNlX2V2ZW50KGluLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW4tPmF4aXNbSU5QVVRfQVhJU19YXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGluLT5heGlzW0lOUFVUX0FYSVNfWV0sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluLT5idXR0b25zKTsK KyAgICAgICAgfQorICAgICAgICBpZiAoYnRuLT5kb3duICYmIGJ0bi0+YnV0dG9uID09IElOUFVU X0JVVFRPTl9XSEVFTF9ET1dOKSB7CisgICAgICAgICAgICB4ZW5mYl9tb3VzZV9ldmVudChpbiwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluLT5heGlzW0lOUFVUX0FYSVNfWF0sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbi0+YXhpc1tJTlBVVF9BWElTX1ldLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGluLT5idXR0b25zKTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNlIElO UFVUX0VWRU5UX0tJTkRfQUJTOgorICAgICAgICBtb3ZlID0gZXZ0LT51LmFicy5kYXRhOworICAg ICAgICBpbi0+YXhpc1ttb3ZlLT5heGlzXSA9IG1vdmUtPnZhbHVlOworICAgICAgICBicmVhazsK KyAgICBjYXNlIElOUFVUX0VWRU5UX0tJTkRfUkVMOgorICAgICAgICBtb3ZlID0gZXZ0LT51LnJl bC5kYXRhOworICAgICAgICBpbi0+YXhpc1ttb3ZlLT5heGlzXSArPSBtb3ZlLT52YWx1ZTsKKyAg ICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCitz dGF0aWMgdm9pZCB4ZW5mYl9sZWdhY3lfbW91c2Vfc3luYyhEZXZpY2VTdGF0ZSAqZGV2KQorewor ICAgIHN0cnVjdCBYZW5JbnB1dCAqaW4gPSAoc3RydWN0IFhlbklucHV0ICopZGV2OworCisgICAg eGVuZmJfbW91c2VfZXZlbnQoaW4sCisgICAgICAgICAgICAgICAgICAgICAgaW4tPmF4aXNbSU5Q VVRfQVhJU19YXSwKKyAgICAgICAgICAgICAgICAgICAgICBpbi0+YXhpc1tJTlBVVF9BWElTX1ld LAorICAgICAgICAgICAgICAgICAgICAgIDAsCisgICAgICAgICAgICAgICAgICAgICAgaW4tPmJ1 dHRvbnMpOworCisgICAgaWYgKCFpbi0+YWJzX3BvaW50ZXJfd2FudGVkKSB7CisgICAgICAgIGlu LT5heGlzW0lOUFVUX0FYSVNfWF0gPSAwOworICAgICAgICBpbi0+YXhpc1tJTlBVVF9BWElTX1ld ID0gMDsKKyAgICB9Cit9CisKIHN0YXRpYyBpbnQgaW5wdXRfaW5pdChzdHJ1Y3QgWGVuRGV2aWNl ICp4ZW5kZXYpCiB7CiAgICAgeGVuc3RvcmVfd3JpdGVfYmVfaW50KHhlbmRldiwgImZlYXR1cmUt YWJzLXBvaW50ZXIiLCAxKTsKQEAgLTM1Myw3ICs0NDAsNiBAQCBzdGF0aWMgaW50IGlucHV0X2lu aXRpYWxpc2Uoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgIGlmIChyYyAhPSAwKQogCXJl dHVybiByYzsKIAotICAgIHFlbXVfYWRkX2tiZF9ldmVudF9oYW5kbGVyKHhlbmZiX2tleV9ldmVu dCwgaW4pOwogICAgIHJldHVybiAwOwogfQogCkBAIC0zNjYsMjQgKzQ1Miw0MyBAQCBzdGF0aWMg dm9pZCBpbnB1dF9jb25uZWN0ZWQoc3RydWN0IFhlbkRldmljZSAqeGVuZGV2KQogICAgICAgICBp bi0+YWJzX3BvaW50ZXJfd2FudGVkID0gMDsKICAgICB9CiAKKyAgICBpZiAoaW4tPnFrYmQpIHsK KyAgICAgICAgcWVtdV9pbnB1dF9oYW5kbGVyX3VucmVnaXN0ZXIoaW4tPnFrYmQpOworICAgIH0K ICAgICBpZiAoaW4tPnFtb3VzZSkgewotICAgICAgICBxZW11X3JlbW92ZV9tb3VzZV9ldmVudF9o YW5kbGVyKGluLT5xbW91c2UpOworICAgICAgICBxZW11X2lucHV0X2hhbmRsZXJfdW5yZWdpc3Rl cihpbi0+cW1vdXNlKTsKICAgICB9CiAgICAgdHJhY2VfeGVuZmJfaW5wdXRfY29ubmVjdGVkKHhl bmRldiwgaW4tPmFic19wb2ludGVyX3dhbnRlZCk7Ci0gICAgaW4tPnFtb3VzZSA9IHFlbXVfYWRk X21vdXNlX2V2ZW50X2hhbmRsZXIoeGVuZmJfbW91c2VfZXZlbnQsIGluLAotCQkJCQkgICAgICBp bi0+YWJzX3BvaW50ZXJfd2FudGVkLAotCQkJCQkgICAgICAiWGVuIFBWRkIgTW91c2UiKTsKKwor ICAgIGluLT5oa2JkLm5hbWUgPSAibGVnYWN5LWtiZCI7CisgICAgaW4tPmhrYmQubWFzayA9IElO UFVUX0VWRU5UX01BU0tfS0VZOworICAgIGluLT5oa2JkLmV2ZW50ID0geGVuZmJfbGVnYWN5X2tl eV9ldmVudDsKKyAgICBpbi0+cWtiZCA9IHFlbXVfaW5wdXRfaGFuZGxlcl9yZWdpc3RlcigoRGV2 aWNlU3RhdGUgKilpbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmaW4tPmhrYmQpOworICAgIHFlbXVfaW5wdXRfaGFuZGxlcl9hY3RpdmF0ZShpbi0+cWtiZCk7 CisKKyAgICBpbi0+aG1vdXNlLm5hbWUgPSAiWGVuIFBWRkIgTW91c2UiOworICAgIGluLT5obW91 c2UubWFzayA9IElOUFVUX0VWRU5UX01BU0tfQlROIHwKKyAgICAgICAgKGluLT5hYnNfcG9pbnRl cl93YW50ZWQgPyBJTlBVVF9FVkVOVF9NQVNLX0FCUyA6IElOUFVUX0VWRU5UX01BU0tfUkVMKTsK KyAgICBpbi0+aG1vdXNlLmV2ZW50ID0geGVuZmJfbGVnYWN5X21vdXNlX2V2ZW50OworICAgIGlu LT5obW91c2Uuc3luYyA9IHhlbmZiX2xlZ2FjeV9tb3VzZV9zeW5jOworICAgIGluLT5xbW91c2Ug PSBxZW11X2lucHV0X2hhbmRsZXJfcmVnaXN0ZXIoKERldmljZVN0YXRlICopaW4sCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW4tPmhtb3VzZSk7CisgICAg cWVtdV9pbnB1dF9oYW5kbGVyX2FjdGl2YXRlKGluLT5xbW91c2UpOwogfQogCiBzdGF0aWMgdm9p ZCBpbnB1dF9kaXNjb25uZWN0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKIHsKICAgICBzdHJ1 Y3QgWGVuSW5wdXQgKmluID0gY29udGFpbmVyX29mKHhlbmRldiwgc3RydWN0IFhlbklucHV0LCBj LnhlbmRldik7CiAKKyAgICBpZiAoaW4tPnFrYmQpIHsKKyAgICAgICAgcWVtdV9pbnB1dF9oYW5k bGVyX3VucmVnaXN0ZXIoaW4tPnFrYmQpOworICAgICAgICBpbi0+cWtiZCA9IE5VTEw7CisgICAg fQogICAgIGlmIChpbi0+cW1vdXNlKSB7Ci0JcWVtdV9yZW1vdmVfbW91c2VfZXZlbnRfaGFuZGxl cihpbi0+cW1vdXNlKTsKKyAgICAgICAgcWVtdV9pbnB1dF9oYW5kbGVyX3VucmVnaXN0ZXIoaW4t PnFtb3VzZSk7CiAJaW4tPnFtb3VzZSA9IE5VTEw7CiAgICAgfQotICAgIHFlbXVfYWRkX2tiZF9l dmVudF9oYW5kbGVyKE5VTEwsIE5VTEwpOwogICAgIGNvbW1vbl91bmJpbmQoJmluLT5jKTsKIH0K IAotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBz Oi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK