Sorry for the duplicate message above (mail server was taking hours to
post, and I got impatient...)
Changing PS2_QUEUE_SIZE to 15 and the "reserved space" to 8 fixes the
problem for me:
diff --git a/hw/ps2.c b/hw/ps2.c
index fb77005..51a3ab8 100644
--- a/hw/ps2.c
+++ b/hw/ps2.c
@@ -70,7 +70,7 @@
#define MOUSE_STATUS_ENABLED 0x20
#define MOUSE_STATUS_SCALE21 0x10
-#define PS2_QUEUE_SIZE 256
+#define PS2_QUEUE_SIZE 15
typedef struct {
uint8_t data[PS2_QUEUE_SIZE];
@@ -346,7 +346,7 @@ static void ps2_mouse_event(void *opaque,
s->mouse_buttons = buttons_state;
if (!(s->mouse_status & MOUSE_STATUS_REMOTE) &&
- (s->common.queue.count < (PS2_QUEUE_SIZE - 16))) {
+ (s->common.queue.count < (PS2_QUEUE_SIZE - 8))) {
for(;;) {
/* if not remote, send event. Multiple events are sent if
too big deltas */
Both keyboard and mouse remain responsive after reboot, no matter how
much I type / move the mouse during reboot.
Any comments?