From mboxrd@z Thu Jan 1 00:00:00 1970 From: Oleksandr Grytsov Subject: Re: [PATCH 2/2 v2] xenfb: Allow vkbd to connect without a DisplayState Date: Tue, 4 Jul 2017 12:30:48 +0300 Message-ID: References: <1499087861-2132-1-git-send-email-owen.smith@citrix.com> <1499087861-2132-3-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-3-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: Owen Smith Cc: anthony.perard@citrix.com, Stefano Stabellini , xen-devel@lists.xen.org, qemu-devel@nongnu.org, kraxel@redhat.com List-Id: xen-devel@lists.xenproject.org T24gTW9uLCBKdWwgMywgMjAxNyBhdCA0OjE3IFBNLCBPd2VuIFNtaXRoIDxvd2VuLnNtaXRoQGNp dHJpeC5jb20+IHdyb3RlOgo+IElmIHRoZSB2a2JkIGRldmljZSBtb2RlbCBpcyByZWdpc3RlcmVk IGFuZCB0aGUgdmZiIGRldmljZSBtb2RlbAo+IGlzIG5vdCByZWdpc3RlcmVkLCB0aGUgYmFja2Vu ZCB3aWxsIG5vdCB0cmFuc2l0aW9uIHRvIGNvbm5lY3RlZC4KPiBJZiB0aGVyZSBpcyBubyBEaXNw bGF5U3RhdGUsIHRoZW4gdGhlIGFic29sdXRlIGNvb3JkaW5hdGVzIGNhbm5vdAo+IGJlIHNjYWxl ZCwgYW5kIHdpbGwgcmVtYWluIGluIHRoZSByYW5nZSBbMCwgMHg3ZmZmXS4KPiBCYWNrZW5kIHdy aXRlcyAiZmVhdHVyZS1yYXctcG9pbnRlciIgdG8gaW5kaWNhdGUgdGhhdCB0aGUgYmFja2VuZAo+ IHN1cHBvcnRzIHJlcG9ydGluZyBhYnNvbHV0ZSBwb3NpdGlvbiB3aXRob3V0IHJlc2NhbGluZy4K PiBUaGUgZnJvbnRlbmQgdXNlcyAicmVxdWVzdC1yYXctcG9pbnRlciIgdG8gcmVxdWVzdCByYXcg dW5zY2FsZWQKPiBwb2ludGVyIHZhbHVlcy4gSWYgdGhlcmUgaXMgbm8gRGlzcGxheVN0YXRlLCB0 aGUgYWJzb2x1dGUgdmFsdWVzCj4gYXJlIGFsd2F5cyByYXcgdW5zY2FsZWQgdmFsdWVzLgo+Cj4g U2lnbmVkLW9mZi1ieTogT3dlbiBTbWl0aCA8b3dlbi5zbWl0aEBjaXRyaXguY29tPgo+IC0tLQo+ ICBody9kaXNwbGF5L3hlbmZiLmMgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL2h3L2Rpc3BsYXkveGVuZmIuYyBiL2h3L2Rpc3BsYXkveGVuZmIu Ywo+IGluZGV4IDg4ODE1ZGYuLmQ0MGFmNmUgMTAwNjQ0Cj4gLS0tIGEvaHcvZGlzcGxheS94ZW5m Yi5jCj4gKysrIGIvaHcvZGlzcGxheS94ZW5mYi5jCj4gQEAgLTUzLDYgKzUzLDcgQEAgc3RydWN0 IGNvbW1vbiB7Cj4gIHN0cnVjdCBYZW5JbnB1dCB7Cj4gICAgICBzdHJ1Y3QgY29tbW9uIGM7Cj4g ICAgICBpbnQgYWJzX3BvaW50ZXJfd2FudGVkOyAvKiBXaGV0aGVyIGd1ZXN0IHN1cHBvcnRzIGFi c29sdXRlIHBvaW50ZXIgKi8KPiArICAgIGludCByYXdfcG9pbnRlcl93YW50ZWQ7IC8qIFdoZXRo ZXIgZ3Vlc3Qgc3VwcG9ydHMgdW5zY2FsZWQgcG9pbnRlciAqLwo+ICAgICAgaW50IGJ1dHRvbl9z dGF0ZTsgICAgICAgLyogTGFzdCBzZWVuIHBvaW50ZXIgYnV0dG9uIHN0YXRlICovCj4gICAgICBp bnQgZXh0ZW5kZWQ7Cj4gICAgICAvKiBrYmQgKi8KPiBAQCAtMzI5LDE4ICszMzAsMjIgQEAgc3Rh dGljIHZvaWQgeGVuZmJfbW91c2VfZXZlbnQodm9pZCAqb3BhcXVlLAo+ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGludCBkeCwgaW50IGR5LCBpbnQgZHosIGludCBidXR0b25fc3RhdGUp Cj4gIHsKPiAgICAgIHN0cnVjdCBYZW5JbnB1dCAqeGVuZmIgPSBvcGFxdWU7Cj4gLSAgICBEaXNw bGF5U3VyZmFjZSAqc3VyZmFjZSA9IHFlbXVfY29uc29sZV9zdXJmYWNlKHhlbmZiLT5jLmNvbik7 Cj4gLSAgICBpbnQgZHcgPSBzdXJmYWNlX3dpZHRoKHN1cmZhY2UpOwo+IC0gICAgaW50IGRoID0g c3VyZmFjZV9oZWlnaHQoc3VyZmFjZSk7Cj4gLSAgICBpbnQgaTsKPiArICAgIGludCBpLCB4LCB5 Owo+ICsgICAgaWYgKHhlbmZiLT5jLmNvbiAmJiB4ZW5mYi0+cmF3X3BvaW50ZXJfd2FudGVkICE9 IDEpIHsKPiArICAgICAgICBEaXNwbGF5U3VyZmFjZSAqc3VyZmFjZSA9IHFlbXVfY29uc29sZV9z dXJmYWNlKHhlbmZiLT5jLmNvbik7Cj4gKyAgICAgICAgaW50IGR3ID0gc3VyZmFjZV93aWR0aChz dXJmYWNlKTsKPiArICAgICAgICBpbnQgZGggPSBzdXJmYWNlX2hlaWdodChzdXJmYWNlKTsKPiAr ICAgICAgICB4ID0gZHggKiAoZHcgLSAxKSAvIDB4N2ZmZjsKPiArICAgICAgICB5ID0gZHkgKiAo ZGggLSAxKSAvIDB4N2ZmZjsKPiArICAgIH0gZWxzZSB7Cj4gKyAgICAgICAgeCA9IGR4Owo+ICsg ICAgICAgIHkgPSBkeTsKPiArICAgIH0KPgo+ICAgICAgdHJhY2VfeGVuZmJfbW91c2VfZXZlbnQo b3BhcXVlLCBkeCwgZHksIGR6LCBidXR0b25fc3RhdGUsCj4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB4ZW5mYi0+YWJzX3BvaW50ZXJfd2FudGVkKTsKPiAgICAgIGlmICh4ZW5mYi0+YWJz X3BvaW50ZXJfd2FudGVkKQo+IC0gICAgICAgeGVuZmJfc2VuZF9wb3NpdGlvbih4ZW5mYiwKPiAt ICAgICAgICAgICAgICAgICAgICAgICAgICAgZHggKiAoZHcgLSAxKSAvIDB4N2ZmZiwKPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgZHkgKiAoZGggLSAxKSAvIDB4N2ZmZiwKPiAtICAgICAg ICAgICAgICAgICAgICAgICAgICAgZHopOwo+ICsgICAgICAgIHhlbmZiX3NlbmRfcG9zaXRpb24o eGVuZmIsIHgsIHksIGR6KTsKPiAgICAgIGVsc2UKPiAgICAgICAgIHhlbmZiX3NlbmRfbW90aW9u KHhlbmZiLCBkeCwgZHksIGR6KTsKPgo+IEBAIC00MjMsNiArNDI4LDcgQEAgc3RhdGljIHZvaWQg eGVuZmJfbGVnYWN5X21vdXNlX3N5bmMoRGV2aWNlU3RhdGUgKmRldikKPiAgc3RhdGljIGludCBp bnB1dF9pbml0KHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKPiAgewo+ICAgICAgeGVuc3RvcmVf d3JpdGVfYmVfaW50KHhlbmRldiwgImZlYXR1cmUtYWJzLXBvaW50ZXIiLCAxKTsKPiArICAgIHhl bnN0b3JlX3dyaXRlX2JlX2ludCh4ZW5kZXYsICJmZWF0dXJlLXJhdy1wb2ludGVyIiwgMSk7Cj4g ICAgICByZXR1cm4gMDsKPiAgfQo+Cj4gQEAgLTQzMiw4ICs0MzgsMTQgQEAgc3RhdGljIGludCBp bnB1dF9pbml0aWFsaXNlKHN0cnVjdCBYZW5EZXZpY2UgKnhlbmRldikKPiAgICAgIGludCByYzsK Pgo+ICAgICAgaWYgKCFpbi0+Yy5jb24pIHsKCkl0IGRvZXNuJ3QgbG9vayBsaWtlIHByb3BlciB3 YXkuIElmIEkgdW5kZXJzdGFuZCB0aGlzIGNvbmRpdGlvbgpjb3JyZWN0bHksIHlvdSBhcmUgdHJ5 aW5nIHRvCmxhdW5jaCB0aGUgdmtiZCBiYWNrZW5kIGV2ZW4gaWYgdGhlcmUgaXMgbm8gZmIgY29u ZmlndXJlZC4gSXQgbWVhbnMKdGhlIHZrYmQgYmFja2VuZAp3aWxsIGJlIGFsd2F5cyBzdGFydGVk ZXZlbiBpZiBpdCBpcyBub3QgbmVlZGVkLgoKSSdtIHdvcmtpbmcgb24gdGhlIHBhdGNoIHdoaWNo IGFsbG93cyB0byBsYXVuY2ggdmtiZCBiYWNrZW5kIHNlcGFyYXRlbHkgZnJvbSBmYi4KV2UgbmVl ZCBpdCB0byBiZSBhYmxlIHRvIGxhdW5jaCBvdXIgb3duIGJhY2tlbmQgaW4gdXNlciBzcGFjZSBb MV0uCgpJIHRoaW5rIHByb3BlciB3YXkgaXM6CjEuIEFkZCBzdGFuZGFsb25lIHZrYmQgY29uZmln dXJhdGlvbiB0byB4bC5jZmcuCjIuIFJlZGVzaWduIHhlbl9pbml0X2Rpc3BsYXkgaW4gd2F5IGl0 IGFsbG93cyB0byBzdGFydCB2a2JkIHdpdGhvdXQgdmZiLgoKVGhlIGl0ZW0gMS4gd2lsbCBiZSBp biBteSBwYXRjaC4KCj4gLSAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYsIDEsICJkcyBub3Qg c2V0ICh5ZXQpXG4iKTsKPiAtICAgICAgICByZXR1cm4gLTE7Cj4gKyAgICAgICAgY2hhciAqdmZi ID0geGVuc3RvcmVfcmVhZF9zdHIoTlVMTCwgImRldmljZS92ZmIiKTsKClRoaXMgeGVuc3RvcmVf cmVhZF9zdHIgd2lsbCBub3Qgd29yayBhcyBleHBlY3RlZC4gSSBndWVzcwp0aGlzIGxpbmUgd2ls bCB0cnkgdG8gcmVhZCBlbnRyeSBmcm9tICIobnVsbCkvZGV2aWNlL3ZmYiIgd2hpY2ggaXMKYWx3 YXlzIGRvZXNuJ3QgZXhpc3QuIFNlZSB4ZW5zdG9yZV9yZWFkX3N0ciBpbXBsZW1lbnRhdGlvbi4K Cj4gKyAgICAgICAgaWYgKHZmYiA9PSBOVUxMKSB7Cj4gKyAgICAgICAgICAgIC8qIHRoZXJlIGlz IG5vIHZmYiwgcnVuIHZrYmQgb24gaXRzIG93biAqLwo+ICsgICAgICAgIH0gZWxzZSB7Cj4gKyAg ICAgICAgICAgIGZyZWUodmZiKTsKPiArICAgICAgICAgICAgeGVuX3B2X3ByaW50Zih4ZW5kZXYs IDEsICJkcyBub3Qgc2V0ICh5ZXQpXG4iKTsKPiArICAgICAgICAgICAgcmV0dXJuIC0xOwo+ICsg ICAgICAgIH0KPiAgICAgIH0KPgo+ICAgICAgcmMgPSBjb21tb25fYmluZCgmaW4tPmMpOwo+IEBA IC00NTEsNiArNDYzLDEwIEBAIHN0YXRpYyB2b2lkIGlucHV0X2Nvbm5lY3RlZChzdHJ1Y3QgWGVu RGV2aWNlICp4ZW5kZXYpCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmluLT5hYnNf cG9pbnRlcl93YW50ZWQpID09IC0xKSB7Cj4gICAgICAgICAgaW4tPmFic19wb2ludGVyX3dhbnRl ZCA9IDA7Cj4gICAgICB9Cj4gKyAgICBpZiAoeGVuc3RvcmVfcmVhZF9mZV9pbnQoeGVuZGV2LCAi cmVxdWVzdC1yYXctcG9pbnRlciIsCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmlu LT5yYXdfcG9pbnRlcl93YW50ZWQpID09IC0xKSB7Cj4gKyAgICAgICAgaW4tPnJhd19wb2ludGVy X3dhbnRlZCA9IDA7Cj4gKyAgICB9Cj4KPiAgICAgIGlmIChpbi0+cWtiZCkgewo+ICAgICAgICAg IHFlbXVfaW5wdXRfaGFuZGxlcl91bnJlZ2lzdGVyKGluLT5xa2JkKTsKPiAtLQo+IDIuMS40Cj4K Pgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gWGVu LWRldmVsIG1haWxpbmcgbGlzdAo+IFhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCj4gaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL3hlbi1kZXZlbAoKWzFdIGh0dHA6Ly9tYXJjLmluZm8vP2w9cWVtdS1kZXZl bCZtPTE0OTI2Njg5MjQyOTg4OSZ3PTIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhl bi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=