From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45273) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTdjW-0005fV-EP for qemu-devel@nongnu.org; Mon, 06 Jun 2011 13:37:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QTdjU-0001aq-HS for qemu-devel@nongnu.org; Mon, 06 Jun 2011 13:36:57 -0400 Received: from mail-pw0-f45.google.com ([209.85.160.45]:55240) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QTdjU-0001aU-00 for qemu-devel@nongnu.org; Mon, 06 Jun 2011 13:36:56 -0400 Received: by pwi6 with SMTP id 6so2388066pwi.4 for ; Mon, 06 Jun 2011 10:36:54 -0700 (PDT) MIME-Version: 1.0 Sender: hramrach@gmail.com From: Michal Suchanek Date: Mon, 6 Jun 2011 19:36:34 +0200 Message-ID: Content-Type: multipart/mixed; boundary=000e0cd2de329f706004a50e8c20 Subject: [Qemu-devel] RFC patch - option to disable PS/2 mouse List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org --000e0cd2de329f706004a50e8c20 Content-Type: text/plain; charset=UTF-8 Hello attaching a patch that allows disabling the PS/2 mouse. I use this feature to prevent Windows XP guest with recent Synaptics driver installed from crashing at boot. The Synaptics driver is somewhat misguided in that (unlike earlier versions) it installs on pretty much any PS/2 hardware (real or virtual). There is no problem with this on real hardware. You just get the Synaptics control panel running uselessly. On kvm Windows panics during boot. This patch allows Windows to boot. No PS/2 mouse is detected neither in Windows nor Linux. However, I am not sure this is the right approach to disabling the mouse. I would appreciate if somebody reviewed the patch and either pointed out issues or merged it into qemu and kvm so that I don't have to repeatedly patch my binaries. While this error can be worked around in the guest and it is not obvious which side is wrong the ability to turn off the mouse might be useful in some other situations as well. Thanks Michal --000e0cd2de329f706004a50e8c20 Content-Type: plain/text; name="nops2.patch" Content-Disposition: attachment; filename="nops2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_golp15010 SW5kZXg6IHFlbXUta3ZtLTAuMTQuMCtkZnNnLm1vZC9ody9pc2EuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBx ZW11LWt2bS0wLjE0LjArZGZzZy5tb2Qub3JpZy9ody9pc2EuaAkyMDExLTA2LTAxIDE0OjQzOjU3 LjAwMDAwMDAwMCArMDIwMAorKysgcWVtdS1rdm0tMC4xNC4wK2Rmc2cubW9kL2h3L2lzYS5oCTIw MTEtMDYtMDEgMTQ6NDQ6MjUuMDAwMDAwMDAwICswMjAwCkBAIC0zNSw2ICszNSw3IEBACiBJU0FE ZXZpY2UgKmlzYV9jcmVhdGVfc2ltcGxlKGNvbnN0IGNoYXIgKm5hbWUpOwogCiBleHRlcm4gdGFy Z2V0X3BoeXNfYWRkcl90IGlzYV9tZW1fYmFzZTsKK2V4dGVybiBpbnQgaXNhX3BzYXV4OwogCiB2 b2lkIGlzYV9tbWlvX2luaXQodGFyZ2V0X3BoeXNfYWRkcl90IGJhc2UsIHRhcmdldF9waHlzX2Fk ZHJfdCBzaXplKTsKIApJbmRleDogcWVtdS1rdm0tMC4xNC4wK2Rmc2cubW9kL2h3L3Bja2JkLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gcWVtdS1rdm0tMC4xNC4wK2Rmc2cubW9kLm9yaWcvaHcvcGNrYmQuYwky MDExLTA2LTAxIDE0OjQzOjU3LjAwMDAwMDAwMCArMDIwMAorKysgcWVtdS1rdm0tMC4xNC4wK2Rm c2cubW9kL2h3L3Bja2JkLmMJMjAxMS0wNi0wMSAxOTowMjo0Ny4wMDAwMDAwMDAgKzAyMDAKQEAg LTEyNiw2ICsxMjYsOCBAQAogI2RlZmluZSBLQkRfUEVORElOR19LQkQgICAgICAgICAxCiAjZGVm aW5lIEtCRF9QRU5ESU5HX0FVWCAgICAgICAgIDIKIAoraW50IGlzYV9wc2F1eCA9IDE7CisKIHR5 cGVkZWYgc3RydWN0IEtCRFN0YXRlIHsKICAgICB1aW50OF90IHdyaXRlX2NtZDsgLyogaWYgbm9u IHplcm8sIHdyaXRlIGRhdGEgdG8gcG9ydCA2MCBpcyBleHBlY3RlZCAqLwogICAgIHVpbnQ4X3Qg c3RhdHVzOwpAQCAtMTY5LDcgKzE3MSw3IEBACiAgICAgICAgIH0KICAgICB9CiAgICAgcWVtdV9z ZXRfaXJxKHMtPmlycV9rYmQsIGlycV9rYmRfbGV2ZWwpOwotICAgIHFlbXVfc2V0X2lycShzLT5p cnFfbW91c2UsIGlycV9tb3VzZV9sZXZlbCk7CisgICAgaWYgKHMtPm1vdXNlKSBxZW11X3NldF9p cnEocy0+aXJxX21vdXNlLCBpcnFfbW91c2VfbGV2ZWwpOwogfQogCiBzdGF0aWMgdm9pZCBrYmRf dXBkYXRlX2tiZF9pcnEodm9pZCAqb3BhcXVlLCBpbnQgbGV2ZWwpCkBAIC0yMDUsMTAgKzIwNywx MSBAQAogCiBzdGF0aWMgdm9pZCBrYmRfcXVldWUoS0JEU3RhdGUgKnMsIGludCBiLCBpbnQgYXV4 KQogewotICAgIGlmIChhdXgpCi0gICAgICAgIHBzMl9xdWV1ZShzLT5tb3VzZSwgYik7Ci0gICAg ZWxzZQorICAgIGlmIChhdXgpIHsKKyAgICAgICAgaWYgKHMtPm1vdXNlKSBwczJfcXVldWUocy0+ bW91c2UsIGIpOworICAgIH0gZWxzZSB7CiAgICAgICAgIHBzMl9xdWV1ZShzLT5rYmQsIGIpOwor ICAgIH0KIH0KIAogc3RhdGljIHZvaWQgb3V0cG9ydF93cml0ZShLQkRTdGF0ZSAqcywgdWludDMy X3QgdmFsKQpAQCAtMzExLDEyICszMTQsMTMgQEAKIHN0YXRpYyB1aW50MzJfdCBrYmRfcmVhZF9k YXRhKHZvaWQgKm9wYXF1ZSwgdWludDMyX3QgYWRkcikKIHsKICAgICBLQkRTdGF0ZSAqcyA9IG9w YXF1ZTsKLSAgICB1aW50MzJfdCB2YWw7CisgICAgdWludDMyX3QgdmFsID0gMDsKIAotICAgIGlm IChzLT5wZW5kaW5nID09IEtCRF9QRU5ESU5HX0FVWCkKLSAgICAgICAgdmFsID0gcHMyX3JlYWRf ZGF0YShzLT5tb3VzZSk7Ci0gICAgZWxzZQorICAgIGlmIChzLT5wZW5kaW5nID09IEtCRF9QRU5E SU5HX0FVWCkgeworICAgICAgICBpZiAocy0+bW91c2UpIHZhbCA9IHBzMl9yZWFkX2RhdGEocy0+ bW91c2UpOworICAgIH0gZWxzZSB7CiAgICAgICAgIHZhbCA9IHBzMl9yZWFkX2RhdGEocy0+a2Jk KTsKKyAgICB9CiAKICAgICBEUFJJTlRGKCJrYmQ6IHJlYWQgZGF0YT0weCUwMnhcbiIsIHZhbCk7 CiAgICAgcmV0dXJuIHZhbDsKQEAgLTM0MiwxMyArMzQ2LDEzIEBACiAgICAgICAgIGtiZF9xdWV1 ZShzLCB2YWwsIDApOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEtCRF9DQ01EX1dSSVRFX0FV WF9PQlVGOgotICAgICAgICBrYmRfcXVldWUocywgdmFsLCAxKTsKKyAgICAgICAgaWYgKHMtPm1v dXNlKSBrYmRfcXVldWUocywgdmFsLCAxKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBLQkRf Q0NNRF9XUklURV9PVVRQT1JUOgogICAgICAgICBvdXRwb3J0X3dyaXRlKHMsIHZhbCk7CiAgICAg ICAgIGJyZWFrOwogICAgIGNhc2UgS0JEX0NDTURfV1JJVEVfTU9VU0U6Ci0gICAgICAgIHBzMl93 cml0ZV9tb3VzZShzLT5tb3VzZSwgdmFsKTsKKyAgICAgICAgaWYgKHMtPm1vdXNlKSBwczJfd3Jp dGVfbW91c2Uocy0+bW91c2UsIHZhbCk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAg ICAgICAgIGJyZWFrOwpAQCAtNDIwLDcgKzQyNCw3IEBACiAgICAgaW50IHNfaW9fbWVtb3J5Owog CiAgICAgcy0+aXJxX2tiZCA9IGtiZF9pcnE7Ci0gICAgcy0+aXJxX21vdXNlID0gbW91c2VfaXJx OworICAgIGlmIChpc2FfcHNhdXgpIHMtPmlycV9tb3VzZSA9IG1vdXNlX2lycTsKICAgICBzLT5t YXNrID0gbWFzazsKIAogICAgIHZtc3RhdGVfcmVnaXN0ZXIoTlVMTCwgMCwgJnZtc3RhdGVfa2Jk LCBzKTsKQEAgLTQyOSw3ICs0MzMsNyBAQAogICAgIGNwdV9yZWdpc3Rlcl9waHlzaWNhbF9tZW1v cnkoYmFzZSwgc2l6ZSwgc19pb19tZW1vcnkpOwogCiAgICAgcy0+a2JkID0gcHMyX2tiZF9pbml0 KGtiZF91cGRhdGVfa2JkX2lycSwgcyk7Ci0gICAgcy0+bW91c2UgPSBwczJfbW91c2VfaW5pdChr YmRfdXBkYXRlX2F1eF9pcnEsIHMpOworICAgIGlmIChpc2FfcHNhdXgpIHMtPm1vdXNlID0gcHMy X21vdXNlX2luaXQoa2JkX3VwZGF0ZV9hdXhfaXJxLCBzKTsKICAgICBxZW11X3JlZ2lzdGVyX3Jl c2V0KGtiZF9yZXNldCwgcyk7CiB9CiAKQEAgLTQ2OSw3ICs0NzMsNyBAQAogICAgIEtCRFN0YXRl ICpzID0gJihET19VUENBU1QoSVNBS0JEU3RhdGUsIGRldiwgZGV2KS0+a2JkKTsKIAogICAgIGlz YV9pbml0X2lycShkZXYsICZzLT5pcnFfa2JkLCAxKTsKLSAgICBpc2FfaW5pdF9pcnEoZGV2LCAm cy0+aXJxX21vdXNlLCAxMik7CisgICAgaWYgKGlzYV9wc2F1eCkgaXNhX2luaXRfaXJxKGRldiwg JnMtPmlycV9tb3VzZSwgMTIpOwogCiAgICAgcmVnaXN0ZXJfaW9wb3J0X3JlYWQoMHg2MCwgMSwg MSwga2JkX3JlYWRfZGF0YSwgcyk7CiAgICAgcmVnaXN0ZXJfaW9wb3J0X3dyaXRlKDB4NjAsIDEs IDEsIGtiZF93cml0ZV9kYXRhLCBzKTsKQEAgLTQ3OSw3ICs0ODMsNyBAQAogICAgIGlzYV9pbml0 X2lvcG9ydChkZXYsIDB4NjQpOwogCiAgICAgcy0+a2JkID0gcHMyX2tiZF9pbml0KGtiZF91cGRh dGVfa2JkX2lycSwgcyk7Ci0gICAgcy0+bW91c2UgPSBwczJfbW91c2VfaW5pdChrYmRfdXBkYXRl X2F1eF9pcnEsIHMpOworICAgIGlmIChpc2FfcHNhdXgpIHMtPm1vdXNlID0gcHMyX21vdXNlX2lu aXQoa2JkX3VwZGF0ZV9hdXhfaXJxLCBzKTsKICAgICBxZW11X3JlZ2lzdGVyX3Jlc2V0KGtiZF9y ZXNldCwgcyk7CiAgICAgcmV0dXJuIDA7CiB9CkluZGV4OiBxZW11LWt2bS0wLjE0LjArZGZzZy5t b2QvdmwuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11LWt2bS0wLjE0LjArZGZzZy5tb2Qub3JpZy92bC5j CTIwMTEtMDYtMDEgMTQ6NDM6NTcuMDAwMDAwMDAwICswMjAwCisrKyBxZW11LWt2bS0wLjE0LjAr ZGZzZy5tb2QvdmwuYwkyMDExLTA2LTAxIDE0OjQ0OjI1LjAwMDAwMDAwMCArMDIwMApAQCAtMjE3 OSw2ICsyMTc5LDkgQEAKICAgICAgICAgICAgIGNhc2UgUUVNVV9PUFRJT05fcG9ydHJhaXQ6CiAg ICAgICAgICAgICAgICAgZ3JhcGhpY19yb3RhdGUgPSAxOwogICAgICAgICAgICAgICAgIGJyZWFr OworICAgICAgICAgICAgY2FzZSBRRU1VX09QVElPTl9ub3BzYXV4OgorICAgICAgICAgICAgICAg IGlzYV9wc2F1eCA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjYXNl IFFFTVVfT1BUSU9OX2tlcm5lbDoKICAgICAgICAgICAgICAgICBrZXJuZWxfZmlsZW5hbWUgPSBv cHRhcmc7CiAgICAgICAgICAgICAgICAgYnJlYWs7CkluZGV4OiBxZW11LWt2bS0wLjE0LjArZGZz Zy5tb2QvcWVtdS1vcHRpb25zLmh4Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUta3ZtLTAuMTQuMCtkZnNn Lm1vZC5vcmlnL3FlbXUtb3B0aW9ucy5oeAkyMDExLTAyLTIyIDE0OjM0OjM4LjAwMDAwMDAwMCAr MDEwMAorKysgcWVtdS1rdm0tMC4xNC4wK2Rmc2cubW9kL3FlbXUtb3B0aW9ucy5oeAkyMDExLTA2 LTAxIDE0OjUwOjM1LjAwMDAwMDAwMCArMDIwMApAQCAtMjM2Niw2ICsyMzY2LDE3IEBACiAgICAg IiAgICAgICAgICAgICAgICBhbGxvY2F0ZSBNRUdBQllURVMgZm9yIGt2bSBtbXUgc2hhZG93aW5n XG4iLAogICAgIFFFTVVfQVJDSF9JMzg2KQogCitERUYoIm5vLXBzYXV4IiwgMCwgUUVNVV9PUFRJ T05fbm9wc2F1eCwgXAorICAgICItbm8tcHNhdXggRGlzYWJsZXMgdGhlIFBTLzIgbW91c2UgcG9y dCBvbiBtYWNoaW5lcyB3aGljaCBoYXZlIGl0IGhhbmdpbmcgZnJvbSB0aGUgaTgwNDIuXG4iLAor ICAgIFFFTVVfQVJDSF9BTEwpCitTVEVYSQorQGl0ZW0gLW5vLXBzYXV4IEB2YXJ7ZGV2fQorQGZp bmRleCAtbm8tcHNhdXgKK1RoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIHRvIHNpbXVsYXRlIGEgY29t cHV0ZXIgd2l0aCBvbmx5IHRoZSBQUy8yIGtleWJvYXJkCitjb25uZWN0ZWQuIE1vc3RseSB1c2Vm dWwgZm9yIGRlYnVnZ2luZyBQUy8yIGRyaXZlciBpc3N1ZXMgb24gaTM4NiBidXQgc29tZQorb3Ro ZXIgYXJjaGl0ZWN0dXJlcyBtYXkgdXNlIHRoZSBpODA0MiBoYXJ3YXJlIGFzIHdlbGwuCitFVEVY SQorCiBIWENPTU0gVGhpcyBpcyB0aGUgbGFzdCBzdGF0ZW1lbnQuIEluc2VydCBuZXcgb3B0aW9u cyBiZWZvcmUgdGhpcyBsaW5lIQogU1RFWEkKIEBlbmQgdGFibGUK --000e0cd2de329f706004a50e8c20--