| Branch: | Revision:

root / qemu-timer.h @ a74cdab4

History | View | Annotate | Download (8.7 kB)

# Date Author Comment
2821d0f3 04/27/2011 02:30 pm Stefan Weil

qemu-timer: Remove unneeded include statement (w32)

mmsystem.h is not needed in qemu-timer.h, so remove it.

Signed-off-by: Stefan Weil <>

852f771e 04/22/2011 10:41 pm Juan Quintela

vmstate: port pmtimer

It was a half conversion. Finish it.
enabled can only get values of 0, 1 or 2, was declared as an int but
sent as an unint8_t, change its type.

Signed-off-by: Juan Quintela <>

70c3b557 04/15/2011 11:14 pm Blue Swirl

Move clock related functions to qemu-timer.h

Move declarations for clock related functions from sysemu.h to qemu-timer.h.

Signed-off-by: Blue Swirl <>

ab33fcda 04/15/2011 10:27 am Paolo Bonzini

enable vm_clock to "warp" in the iothread+icount case

The previous patch however is not enough, because if the virtual CPU
goes to sleep waiting for a future timer interrupt to wake it up, qemu
deadlocks. The timer interrupt never comes because time is driven by...

cb842c90 04/15/2011 10:27 am Paolo Bonzini

qemu_next_deadline should not consider host-time timers

It is purely for icount-based virtual timers. And now that we got the
code right, rename the function to clarify the intended scope.

Signed-off-by: Paolo Bonzini <>
Tested-by: Edgar E. Iglesias <>...

0ce1b948 03/21/2011 10:23 am Paolo Bonzini

add more helper functions with explicit milli/nanosecond resolution

The code doesn't make much sense right now, but it will as
soon as timers will be able to scale their resolution arbitrarily.

Signed-off-by: Paolo Bonzini <>

4a998740 03/21/2011 10:23 am Paolo Bonzini

add a generic scaling mechanism for timers

This enables rt_clock timers to use nanosecond resolution, just by
using the _ns functions; there is really no reason to forbid that.

Migrated timers are all using vm_clock (of course; but I checked that
anyway) so the timers in the savevm files are already in nanosecond...

6d5ad9bf 03/21/2011 10:23 am Paolo Bonzini

remove qemu_get_clock

These patches are already not doing a great service to out-of-tree
modifications to QEMU. However, at least we can warn them by getting
rid of the old confusing functions, or otherwise causing compilation
errors. This patch removes qemu_get_clock; the previous one changed...

338b922e 10/30/2010 12:41 am malc

Mov muldiv64 to qemu-common.h (Thus unbreaking gus)

Signed-off-by: malc <>

c57c846a 10/23/2010 06:24 pm Blue Swirl

qemu-timer: move commonly used timer code to qemu-timer-common

Move timer init functions to a new file, qemu-timer-common.c. Make other
critical timer functions inlined to preserve performance in
qemu-timer.c, also move muldiv64() (used by the inline functions)...

14a6063a 04/27/2010 06:50 am Richard Henderson

Implement cpu_get_real_ticks for Alpha.

Signed-off-by: Richard Henderson <>
Signed-off-by: Aurelien Jarno <>

2d8ebcf9 04/17/2010 07:25 pm Richard Henderson

Fix --enable-profiler compilation.

There's a header file inclusion ordering problem between cpu-all.h
and qemu-timer.h, such that cpu_get_real_ticks is not defined when
we attempt to use it in profile_getclock.

Signed-off-by: Richard Henderson <>...

4a9590f3 04/03/2010 01:26 pm Alexander Graf

Make cpu_get_real_ticks use mfspr

PowerPC CPUs have had two ways to read the time base for quite some time now.
They provide it using the mfspr instruction or - if a special bit is set in
that opcode - using mftb. For timekeeping we're currently using mftb....

29e922b6 03/29/2010 10:24 pm Blue Swirl

Compile qemu-timer only once

Arrange various declarations so that also non-CPU code can access
them, adjust users.

Move CPU specific code to cpus.c.

Signed-off-by: Blue Swirl <>

db1a4972 03/17/2010 06:16 pm Paolo Bonzini

split out qemu-timer.c

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

41c872b6 02/10/2010 12:56 am Paolo Bonzini

add qemu_get_clock_ns

Some places use get_clock directly because they want to access the
rt_clock with nanosecond precision. Add a function to do exactly that
instead of using internal interfaces.

Signed-off-by: Paolo Bonzini <>
Signed-off-by: Anthony Liguori <>

21d5d12b 10/05/2009 05:32 pm Jan Kiszka


Despite its name QEMU_CLOCK_REALTIME is (normally) not using
CLOCK_REALTIME / the host system time as base. In order to allow also
non-trivial RTC emulations (MC146818) to follow the host time instead of
the virtual guest time, introduce the new clock type QEMU_CLOCK_HOST. It...

274dfed8 09/11/2009 07:10 pm Anthony Liguori

Make get_ticks_per_sec() a static inline

ticks_per_sec is a constant. There's no need to store it as a variable as it
never changes since our time is based on units.

Convert get_ticks_per_sec() to a static inline and move the constant into
qemu-timer.h. Remove all references to QEMU_TIMER_BASE so that we consistently...

6ee093c9 09/11/2009 06:19 pm Juan Quintela

Unexport ticks_per_sec variable. Create get_ticks_per_sec() function

Signed-off-by: Juan Quintela <>
Signed-off-by: Anthony Liguori <>

2430ffe4 08/10/2009 09:05 pm Stefano Stabellini

variable timer intervals

This patch introduces dynamic timer intervals: we slow down the refresh
rate when there in no much activity but we get back to a fast refresh
rate when the activity resume.

Please note that qemu_timer_expired is not an inline function any more...

87ecb68b 11/17/2007 07:14 pm pbrook

Break up vl.h.

git-svn-id: svn:// c046a42c-6fe2-441c-8c8c-71466251a162