qemu/hw/input
Pavel Dovgalyuk a1f2ed2ad8 ps2: prevent changing irq state on save and load
Commit 2858ab09e6 changed
PS/2 keyboard/mouse buffers to the standard size. However, its state
may change when migrating from the old buffer size and therefore irq needs
updating. But this change made wrong, because it throws the whole queue
if there are too much data instead of cropping it.

That commit also updates irq (because the queue state may change).
But updating the irq may change the VM state (and determinism of
the execution). E.g., when replaying the execution, one may save
the VM state and the state of the interrupt controller will be updated
at the moment of saving, instead of using the recorded update events.

This patch makes the queue update deterministic: it removes the update_irq
call and crops the queue to prevent losing the characters and changing
the required irq status.

Signed-off-by: Pavel Dovgalyuk <Pavel.Dovgaluk@ispras.ru>
Message-Id: <20180511081601.14610.39946.stgit@pasha-VirtualBox>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-10-02 18:47:55 +02:00
..
Makefile.objs hw: make virtio devices configurable via default-configs/ 2018-06-01 15:14:31 +02:00
adb-internal.h Split adb.c into adb.c, adb-mouse.c and adb-kbd.c 2017-12-21 20:11:28 +01:00
adb-kbd.c adb: add property to disable direct reg 3 writes 2018-06-16 16:32:33 +10:00
adb-mouse.c adb: add property to disable direct reg 3 writes 2018-06-16 16:32:33 +10:00
adb.c adb: add property to disable direct reg 3 writes 2018-06-16 16:32:33 +10:00
hid.c hw/input/hid: Add support for several keys. 2017-12-18 17:07:02 +03:00
lm832x.c hw/i2c: Use DeviceClass::realize instead of I2CSlaveClass::init 2018-06-01 15:14:31 +02:00
milkymist-softusb.c memory: Rename memory_region_init_ram() to memory_region_init_ram_nomigrate() 2017-07-14 17:59:42 +01:00
pckbd.c hw/input/pckbd: Use qemu_log_mask(GUEST_ERROR) instead of fprintf 2018-06-26 17:50:40 +01:00
pl050.c hw: explicitly include qemu/log.h 2016-05-19 16:42:29 +02:00
ps2.c ps2: prevent changing irq state on save and load 2018-10-02 18:47:55 +02:00
pxa2xx_keypad.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
stellaris_input.c arm: Clean up includes 2016-01-29 15:07:23 +00:00
trace-events hw/input/tsc2005: Convert a fprintf() call to trace events 2018-06-29 15:04:18 +01:00
tsc210x.c Replace all occurances of __FUNCTION__ with __func__ 2018-01-22 09:46:18 +01:00
tsc2005.c hw/input/tsc2005: Convert a fprintf() call to trace events 2018-06-29 15:04:18 +01:00
virtio-input-hid.c hw: convert virtio-input-hid device to keycodemapdb 2018-01-29 09:35:44 +01:00
virtio-input-host.c virtio-input: support absolute axis config in pass-through 2016-04-13 17:26:12 +02:00
virtio-input.c virtio-input: fix eventq batching 2017-03-27 12:14:45 +02:00