qemu/hw
Gerd Hoffmann fec5e8c92b vga: make display updates thread safe.
The vga code clears the dirty bits *after* reading the framebuffer
memory.  So if the guest framebuffer updates hits the race window
between vga reading the framebuffer and vga clearing the dirty bits
vga will miss that update

Fix it by using the new memory_region_copy_and_clear_dirty()
memory_region_copy_get_dirty() functions.  That way we clear the
dirty bitmap before reading the framebuffer.  Any guest display
updates happening in parallel will be properly tracked in the
dirty bitmap then and the next display refresh will pick them up.

Problem triggers with mttcg only.  Before mttcg was merged tcg
never ran in parallel to vga emulation.  Using kvm will hide the
problem too, due to qemu operating on a userspace copy of the
kernel's dirty bitmap.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Message-id: 20170421091632.30900-5-kraxel@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2017-04-24 10:12:28 +02:00
..
9pfs 9pfs: local: set the path of the export root to "." 2017-04-18 14:01:43 +01:00
acpi tco: do not generate an NMI 2017-04-05 17:23:52 +02:00
adc
alpha hw: Default -drive to if=ide explicitly where it works 2017-02-21 13:10:53 +01:00
arm qdev patches for 2017-04-21 2017-04-21 11:42:03 +01:00
audio
block xen: do not build backends for targets that do not support xen 2017-03-19 11:12:12 +01:00
bt
char hw/char/exynos4210_uart: Constify static array and few arguments 2017-04-20 17:39:17 +01:00
core migration/next for 20170421 2017-04-21 15:59:27 +01:00
cpu
cris
display vga: make display updates thread safe. 2017-04-24 10:12:28 +02:00
dma dma/rc4030: fix a mixed declarations and code warning 2017-03-20 11:20:35 +00:00
gpio bcm2835_gpio: add bcm2835 gpio controller 2017-02-28 17:10:00 +00:00
i2c
i386 intel_iommu: enable remote IOTLB 2017-04-20 15:22:41 -03:00
ide ide: ahci: call cleanup function in ahci unit 2017-03-15 20:50:14 -04:00
input virtio-input: fix eventq batching 2017-03-27 12:14:45 +02:00
intc s390x/flic: cache flic in s390_get_flic 2017-04-21 09:32:09 +02:00
ipack
ipmi ipmi: Fix macro issues 2017-04-02 21:17:47 +02:00
isa tco: do not generate an NMI 2017-04-05 17:23:52 +02:00
lm32
m68k hw/m68k: QOMify the ColdFire interrupt controller 2017-02-18 22:23:31 +01:00
mem
microblaze
mips hw/mips: MIPS Boston board support 2017-02-24 10:37:21 +00:00
misc hw/misc/exynos4210_pmu: Reorder local variables for readability 2017-04-20 17:39:17 +01:00
moxie
net cadence_gem: Make the revision a property 2017-04-20 17:39:17 +01:00
nios2 nios2: iic: Convert CPU prop to qom link 2017-03-18 18:22:54 +00:00
nvram hw/block: Request permissions 2017-02-28 20:40:36 +01:00
openrisc target/openrisc: Rename the cpu from or32 to or1k 2017-02-14 08:14:58 +11:00
pci pci: Only unmap bus_master_enabled_region if was added previously 2017-04-04 18:32:25 +03:00
pci-bridge
pci-host versatile: remove cannot_destroy_with_object_finalize_yet 2017-04-21 07:18:34 +02:00
pcmcia
ppc pseries: Enforce homogeneous threads-per-core 2017-04-03 13:46:18 +10:00
s390x s390x: register I/O adapters per ISC during init 2017-04-21 09:32:09 +02:00
scsi * MTTCG fix for win32 2017-03-27 17:34:50 +01:00
sd Block layer patches 2017-03-01 23:09:46 +00:00
sh4 hw: Default -drive to if=ide explicitly where it works 2017-02-21 13:10:53 +01:00
smbios
sparc sparc/sparc64: grab BQL before calling cpu_check_irqs 2017-03-09 10:41:38 +00:00
sparc64 sparc/sparc64: grab BQL before calling cpu_check_irqs 2017-03-09 10:41:38 +00:00
ssi aspeed/smc: use a modulo to check segment limits 2017-02-10 17:40:30 +00:00
timer hw/arm/exynos: Convert fprintf to qemu_log_mask/error_report 2017-04-20 17:39:17 +01:00
tpm
tricore
unicore32
usb usb-host: switch to LIBUSB_API_VERSION 2017-04-03 14:41:23 +01:00
vfio memory: add section range info for IOMMU notifier 2017-04-20 15:22:41 -03:00
virtio migration/next for 20170421 2017-04-21 15:59:27 +01:00
watchdog wdt: Add Aspeed watchdog device model 2017-02-07 18:29:59 +00:00
xen xen: do not build backends for targets that do not support xen 2017-03-19 11:12:12 +01:00
xenpv
xtensa target/xtensa: xtfpga: load DTB only when FDT support is enabled 2017-03-11 14:59:03 -08:00
Makefile.objs