summary refs log tree commit diff stats
path: root/qemu-common.h
diff options
context:
space:
mode:
authorJan Kiszka <jan.kiszka@siemens.com>2012-01-23 20:15:11 +0100
committerAnthony Liguori <aliguori@us.ibm.com>2012-02-01 14:45:01 -0600
commit4e4fa398db69e22dcad23114eb7e33b4d89b10c4 (patch)
tree81164d18007857c81ed538a4a610578a40d28829 /qemu-common.h
parent67ed96f9f25ddd69e23c455d44d389054addf165 (diff)
downloadfocaccia-qemu-4e4fa398db69e22dcad23114eb7e33b4d89b10c4.tar.gz
focaccia-qemu-4e4fa398db69e22dcad23114eb7e33b4d89b10c4.zip
qdev: Introduce lost tick policy property
Potentially tick-generating timer devices will gain a common property:
lock_tick_policy. It allows to encode 4 different ways how to deal with
tick events the guest did not process in time:

discard - ignore lost ticks (e.g. if the guest compensates for them
          already)
delay   - replay all lost ticks in a row once the guest accepts them
          again
merge   - if multiple ticks are lost, all of them are merged into one
          which is replayed once the guest accepts it again
slew    - lost ticks are gradually replayed at a higher frequency than
          the original tick

Not all timer device will need to support all modes. However, all need
to accept the configuration via this common property.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'qemu-common.h')
-rw-r--r--qemu-common.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/qemu-common.h b/qemu-common.h
index 6ab7dfb1b9..8b69a9eea5 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -250,6 +250,13 @@ typedef struct QEMUSGList QEMUSGList;
 
 typedef uint64_t pcibus_t;
 
+typedef enum LostTickPolicy {
+    LOST_TICK_DISCARD,
+    LOST_TICK_DELAY,
+    LOST_TICK_MERGE,
+    LOST_TICK_SLEW,
+} LostTickPolicy;
+
 void tcg_exec_init(unsigned long tb_size);
 bool tcg_enabled(void);