qemu/include/hw
Geoffrey McRae 7abe7eb294 ps2: Fix mouse stream corruption due to lost data
This fixes an issue by adding bounds checking to multi-byte packets
where the PS/2 mouse data stream may become corrupted due to data being
discarded when the PS/2 ringbuffer is full.

Interrupts for Multi-byte responses are postponed until the final byte
has been queued.

These changes fix a bug where windows guests drop the mouse device
entirely requring the guest to be restarted.

Signed-off-by: Geoffrey McRae <geoff@hostfission.com>
Message-Id: <20180507150310.2FEA0381924@moya.office.hostfission.com>

[ kraxel: codestyle fixes ]

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2018-05-15 11:31:33 +02:00
..
acpi hw/arm/virt-acpi-build: Add smmuv3 node in IORT table 2018-05-04 18:52:58 +01:00
adc STM32F2xx: Add the ADC device 2016-10-04 13:28:07 +01:00
arm arm/boot: split load_dtb() from arm_load_kernel() 2018-05-10 18:10:56 +01:00
audio hw/audio/wm8750: move WM8750 declarations from i2c/i2c.h to audio/wm8750.h 2018-02-02 08:19:25 +01:00
block Include less of the generated modular QAPI headers 2018-03-02 13:45:50 -06:00
char serial-isa: Use MAX_ISA_SERIAL_PORTS instead of MAX_SERIAL_PORTS 2018-04-26 13:57:00 +01:00
core hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
cpu hw: remove "qemu/osdep.h" from header files 2017-12-18 17:07:02 +03:00
cris char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
display hw/display/vga: extract public API from i386/pc to "hw/display/vga.h" 2017-12-18 17:07:02 +03:00
dma hw/dma/i8257: Rename DMA_init() to i8257_dma_init() 2018-03-12 16:12:48 +01:00
gpio bcm2835_gpio: add bcm2835 gpio controller 2017-02-28 17:10:00 +00:00
i2c i2c: Move the bus class to i2c.h 2018-03-01 11:05:45 +00:00
i386 pc: simplify MachineClass::get_hotplug_handler handling 2018-05-10 18:10:56 +01:00
ide Include qapi/error.h exactly where needed 2018-02-09 13:50:17 +01:00
input ps2: Fix mouse stream corruption due to lost data 2018-05-15 11:31:33 +02:00
intc heathrow: remove obsolete heathow_init() function 2018-04-27 18:05:22 +10:00
ipack ipack: Update e-mail address 2016-05-18 15:04:27 +03:00
ipmi ipmi: introduce an ipmi_bmc_gen_event() API 2017-04-26 12:41:55 +10:00
isa superio: Don't use MAX_SERIAL_PORTS for serial port limit 2018-04-26 13:57:00 +01:00
kvm
lm32 intc: make HMP 'info irq' and 'info pic' commands use InterruptStatsProvider interface 2016-10-04 10:00:25 +02:00
m68k hw/char/mcf_uart: QOMify the ColdFire UART 2017-02-16 14:06:56 +01:00
mem pc-dimm: move actual plug/unplug of a memory region to MemoryDevice 2018-05-07 10:00:02 -03:00
mips mips: malta/boston: replace cpu_model with cpu_type 2017-10-27 16:04:28 +02:00
misc mac_newworld: move wiring of macio IRQs to macio_newworld_realize() 2018-05-04 15:00:37 +10:00
net imx_fec: Reserve full FSL_IMX25_FEC_SIZE page for the register file 2018-01-11 13:25:38 +00:00
nvram Clean up includes 2018-02-09 05:05:11 +01:00
pci virtio,vhost,pci,pc: features, cleanups 2018-03-20 15:48:34 +00:00
pci-bridge Clean up includes 2018-02-09 05:05:11 +01:00
pci-host uninorth: create new uninorth device 2018-05-04 15:00:37 +10:00
ppc spapr: rename "hotplug memory" terminology to "device memory" 2018-05-07 10:00:02 -03:00
riscv RISC-V: Make virt header comment title consistent 2018-05-06 10:39:38 +12:00
s390x s390x: refactor reset/reipl handling 2018-05-14 17:10:02 +02:00
scsi scsi-disk: allow customizing the SCSI version 2018-04-09 16:36:39 +02:00
sd sdcard: use the registerfields API to access the OCR register 2018-02-22 15:12:52 +00:00
sh4 char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
smbios Move include qemu/option.h from qemu-common.h to actual users 2018-02-09 13:52:16 +01:00
sparc sun4u_iommu: update to reflect IOMMU is no longer part of the APB device 2018-01-09 21:48:20 +00:00
ssi xilinx_spips: Set all of the reset values 2017-12-13 17:59:26 +00:00
timer xlnx-zynqmp-rtc: Add basic time support 2018-03-02 10:45:34 +00:00
tricore Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
unicore32 hw/unicore32: restrict hw addr defines to source file 2017-12-18 17:07:02 +03:00
usb usb: Add basic code to emulate Chipidea USB IP 2018-02-09 10:40:30 +00:00
vfio vfio-pci: Allow mmap of MSIX BAR 2018-03-13 11:17:31 -06:00
virtio virtio-net: add linkspeed and duplex settings to virtio-net 2018-03-13 23:09:49 +02:00
watchdog watchdog: wdt_aspeed: Add support for the reset width register 2017-09-04 15:21:54 +01:00
xen xen: Remove now-obsolete xen_xc_domain_add_to_physmap 2018-04-26 16:29:51 +01:00
xtensa Clean up includes 2018-02-09 05:05:11 +01:00
boards.h machine: rename MemoryHotplugState to DeviceMemoryState 2018-05-07 10:00:02 -03:00
bt.h char: rename CharDriverState Chardev 2017-01-27 18:07:59 +01:00
compat.h spapr: Introduce pseries-2.13 machine type 2018-04-27 18:05:22 +10:00
devices.h sm501: QOMify 2017-04-24 12:32:12 +01:00
elf_ops.h Add symbol table callback interface to load_elf 2018-03-07 08:30:28 +13:00
empty_slot.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
fw-path-provider.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
hotplug.h qdev: hotplug: drop HotplugHandler.post_plug callback 2016-11-15 17:20:37 +02:00
hw.h migration: Split qemu-file.h 2017-06-01 18:49:22 +02:00
ide.h xen-platform: add missing disk unplug option 2017-01-27 15:23:29 -08:00
irq.h hw/core/split-irq: Device that splits IRQ lines 2018-03-02 11:03:45 +00:00
loader-fit.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
loader.h Add symbol table callback interface to load_elf 2018-03-07 08:30:28 +13:00
nmi.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
or-irq.h include/hw/or-irq.h: Add missing include guard 2018-03-02 11:03:45 +00:00
pcmcia.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
platform-bus.h platform-bus-device: use device plug callback instead of machine_done notifier 2018-05-10 18:10:56 +01:00
ptimer.h include/hw/ptimer.h: Add documentation comments 2017-07-11 17:44:27 +03:00
qdev-core.h qdev: Add new qdev_init_gpio_in_named_with_opaque() 2018-03-02 11:03:45 +00:00
qdev-dma.h qdev: Remove hex8/32/64 property types 2014-02-14 21:12:04 +01:00
qdev-properties.h net: Remove the deprecated "vlan" parameter 2018-05-14 15:47:14 +08:00
qdev.h
register.h hw: register: Run post_write hook on reset 2018-03-01 11:05:43 +00:00
registerfields.h Use #include "..." for our own headers, <...> for others 2018-02-09 05:05:11 +01:00
stream.h Clean up decorations and whitespace around header guards 2016-07-12 16:20:46 +02:00
sysbus.h sysbus: Remove ignored return value of FindSysbusDeviceFunc 2016-09-27 17:03:34 -03:00
usb.h usb: Remove legacy -usbdevice options (host, serial, disk and net) 2018-01-26 07:15:08 +01:00