[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v2 27/49] vga: do not use virtual clock for blin
From: |
Pavel Dovgalyuk |
Subject: |
[Qemu-devel] [RFC PATCH v2 27/49] vga: do not use virtual clock for blinking cursor |
Date: |
Thu, 17 Jul 2014 15:04:30 +0400 |
User-agent: |
StGit/0.16 |
This patch changes virtual clock to realtime one in vga_draw_text and
vga_update_display functions. Display update process depends on realtime
clock. If we read virtual clock there, virtual machine becomes
non-deterministic, because every read to virtual clock is written to the
replay log.
Signed-off-by: Pavel Dovgalyuk <address@hidden>
---
hw/display/vga.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/display/vga.c b/hw/display/vga.c
index 4b089a3..02d3be3 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -1304,7 +1304,7 @@ static void vga_draw_text(VGACommonState *s, int
full_update)
uint32_t *ch_attr_ptr;
vga_draw_glyph8_func *vga_draw_glyph8;
vga_draw_glyph9_func *vga_draw_glyph9;
- int64_t now = qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL);
+ int64_t now = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
/* compute font data address (in plane 2) */
v = s->sr[VGA_SEQ_CHARACTER_MAP];
@@ -1906,7 +1906,7 @@ static void vga_update_display(void *opaque)
}
if (graphic_mode != s->graphic_mode) {
s->graphic_mode = graphic_mode;
- s->cursor_blink_time = qemu_clock_get_ms(QEMU_CLOCK_VIRTUAL);
+ s->cursor_blink_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME);
full_update = 1;
}
switch(graphic_mode) {
- [Qemu-devel] [RFC PATCH v2 42/49] replay: network packets record/replay, (continued)
- [Qemu-devel] [RFC PATCH v2 42/49] replay: network packets record/replay, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 44/49] replay: serial port, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 43/49] replay: audio data record/replay, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 45/49] replay: USB passthrough, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 46/49] replay: replay_info command, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 47/49] replay: replay_break command, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 49/49] gdbstub: reverse debugging, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 48/49] replay: replay_seek_step command, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 25/49] target-i386: instructions counting code for replay, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 17/49] target-i386: update fp status fix, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 27/49] vga: do not use virtual clock for blinking cursor,
Pavel Dovgalyuk <=
- [Qemu-devel] [RFC PATCH v2 15/49] softmmu: fixing usage of cpu_st/ld* from helpers, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 32/49] replay: checkpoints, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 26/49] replay: interrupts and exceptions, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 19/49] replay: global variables and function stubs, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 36/49] pl031: vmstate in replay mode, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 35/49] replay: thread pool, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 28/49] replay: asynchronous events infrastructure, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 37/49] replay: initialization and deinitialization, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 11/49] piix: do not raise irq while loading vmstate, Pavel Dovgalyuk, 2014/07/17
- [Qemu-devel] [RFC PATCH v2 41/49] tap-win32: destroy the thread at exit, Pavel Dovgalyuk, 2014/07/17