#
4e0c6529 |
| 21-Aug-2013 |
Alex Bligh <alex@alex.org.uk> |
aio / timers: add ppoll support with qemu_poll_ns
Add qemu_poll_ns which works like g_poll but takes a nanosecond timeout.
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnocz
aio / timers: add ppoll support with qemu_poll_ns
Add qemu_poll_ns which works like g_poll but takes a nanosecond timeout.
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
043a7e1f |
| 21-Aug-2013 |
Alex Bligh <alex@alex.org.uk> |
aio / timers: Consistent treatment of disabled clocks for deadlines
Make treatment of disabled clocks consistent in deadline calculation
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by:
aio / timers: Consistent treatment of disabled clocks for deadlines
Make treatment of disabled clocks consistent in deadline calculation
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
02a03a9f |
| 21-Aug-2013 |
Alex Bligh <alex@alex.org.uk> |
aio / timers: add qemu-timer.c utility functions
Add utility functions to qemu-timer.c for nanosecond timing.
Add qemu_clock_deadline_ns to calculate deadlines to nanosecond accuracy.
Add utility
aio / timers: add qemu-timer.c utility functions
Add utility functions to qemu-timer.c for nanosecond timing.
Add qemu_clock_deadline_ns to calculate deadlines to nanosecond accuracy.
Add utility function qemu_soonest_timeout to calculate soonest deadline.
Add qemu_timeout_ns_to_ms to convert a timeout in nanoseconds back to milliseconds for when ppoll is not used.
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
58ac56b9 |
| 21-Aug-2013 |
Alex Bligh <alex@alex.org.uk> |
aio / timers: Rename qemu_new_clock and expose clock types
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi
aio / timers: Rename qemu_new_clock and expose clock types
Rename qemu_new_clock to qemu_clock_new.
Expose clock types.
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
e93379b0 |
| 21-Aug-2013 |
Alex Bligh <alex@alex.org.uk> |
aio / timers: Rename qemu_timer_* functions
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired Rename qemu_timer_expire_time_ns to timer_expire_time_ns Ren
aio / timers: Rename qemu_timer_* functions
Rename four functions in preparation for new API.
Rename qemu_timer_expired to timer_expired Rename qemu_timer_expire_time_ns to timer_expire_time_ns Rename qemu_timer_pending to timer_pending Rename qemu_timer_expired_ns to timer_expired_ns
Signed-off-by: Alex Bligh <alex@alex.org.uk> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
#
0727b867 |
| 20-Feb-2013 |
Paolo Bonzini <pbonzini@redhat.com> |
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
These are needed for any of the Win32 alarm timer implementations. They are not tied to mmtimer exclusively.
Jacob tested this patch with
qemu-timer: move timeBeginPeriod/timeEndPeriod to os-win32
These are needed for any of the Win32 alarm timer implementations. They are not tied to mmtimer exclusively.
Jacob tested this patch with both mmtimer and Win32 timers.
Cc: qemu-stable@nongnu.org Tested-by: Jacob Kroon <jacob.kroon@gmail.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Weil <sw@weilnetz.de>
show more ...
|
#
9c17d615 |
| 17-Dec-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
softmmu: move include files to include/sysemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
1de7afc9 |
| 17-Dec-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
misc: move include files to include/qemu/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
83c9089e |
| 17-Dec-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
monitor: move include files to include/monitor/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
28ecbaee |
| 28-Nov-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
ui: move files to ui/ and include/ui/
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
7fa22f2b |
| 24-Oct-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
net: do not include net.h everywhere
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
253ecf83 |
| 04-Nov-2012 |
Stefan Weil <sw@weilnetz.de> |
qemu-timer: Fix compilation for non-POSIX hosts
A compiler warning is caused by the unused local function reinit_timers on non-POSIX hosts. Include that function only for POSIX hosts.
Signed-off-by
qemu-timer: Fix compilation for non-POSIX hosts
A compiler warning is caused by the unused local function reinit_timers on non-POSIX hosts. Include that function only for POSIX hosts.
Signed-off-by: Stefan Weil <sw@weilnetz.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
show more ...
|
#
30ea8339 |
| 02-Nov-2012 |
Anthony Liguori <aliguori@us.ibm.com> |
build: pthread_atfork() needs include of pthread.h
Cc: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
#
c8122c35 |
| 02-Nov-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
qemu-timer: reinitialize timers after fork
Timers are not inherited by the child of a fork(2), so just use pthread_atfork to reinstate them after daemonize.
Signed-off-by: Paolo Bonzini <pbonzini@r
qemu-timer: reinitialize timers after fork
Timers are not inherited by the child of a fork(2), so just use pthread_atfork to reinstate them after daemonize.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
f563a5d7 |
| 31-Oct-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
Merge remote-tracking branch 'origin/master' into threadpool
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
744ca8e3 |
| 29-Oct-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
qemu-timer: make initialization functions idempotent
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
#
1e9737da |
| 22-Oct-2012 |
Richard Henderson <rth@twiddle.net> |
qemu-timer: Check for usable fields for SIGEV_THREAD_ID
Older glibc (RHEL 5.x, Debian 5.x) does not have the _sigev_un._tid member in its structure definition, while the accompanying kernel headers
qemu-timer: Check for usable fields for SIGEV_THREAD_ID
Older glibc (RHEL 5.x, Debian 5.x) does not have the _sigev_un._tid member in its structure definition, while the accompanying kernel headers do define SIGEV_THREAD_ID. We need configure to check for both before using it.
Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
show more ...
|
#
144b97c2 |
| 19-Sep-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
qemu-timer: simplify qemu_run_timers
ptimer_head is an invariant pointer to clock->active_timers. Remove it, and just reference clock->active_timers directly.
Signed-off-by: Paolo Bonzini <pbonzini
qemu-timer: simplify qemu_run_timers
ptimer_head is an invariant pointer to clock->active_timers. Remove it, and just reference clock->active_timers directly.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha@gmail.com>
show more ...
|
#
de188751 |
| 03-Sep-2012 |
Paolo Bonzini <pbonzini@redhat.com> |
qemu-timer: properly arm alarm timer for timers set by device initialization
QEMU will hang when fed the following command-line
qemu-system-mips -kernel vmlinux-2.6.32-5-4kc-malta -append "consol
qemu-timer: properly arm alarm timer for timers set by device initialization
QEMU will hang when fed the following command-line
qemu-system-mips -kernel vmlinux-2.6.32-5-4kc-malta -append "console=ttyS0" -nographic -net none
The -net none is important otherwise it seems some events are generated causing the things to work. When it doesn't work, the guest hangs when measuring the CPU frequency, after the following line:
[ 0.000000] NR_IRQS:256
Pressing a key on the serial port unblocks it, hinting that the problem is due to the recent elimination of the 1 second timeout in the main loop.
The problem is that because init_timer_alarm sets the timer's pending flag to true, the alarm timer is never armed until after the first time through the main loop. Thus the bug started when QEMU started testing the pending flag in qemu_mod_timer (commit 1828be3, more alarm timer cleanup, 2010-03-10).
But actually, it isn't true at all that a timer is pending when the alarm timer is created, and the real bug has been latent forever: the fix is to remove the bogus setting of pending flag.
Reported-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com> Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com> Tested-by: Aurelien Jarno <aurelien@aurel32.net> Tested-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
show more ...
|
#
8227421e |
| 29-May-2012 |
Stefano Stabellini <stefano.stabellini@eu.citrix.com> |
qemu_rearm_alarm_timer: do not call rearm if the next deadline is INT64_MAX
qemu_rearm_alarm_timer partially duplicates the code in qemu_next_alarm_deadline to figure out if it needs to rearm the ti
qemu_rearm_alarm_timer: do not call rearm if the next deadline is INT64_MAX
qemu_rearm_alarm_timer partially duplicates the code in qemu_next_alarm_deadline to figure out if it needs to rearm the timer. If it calls qemu_next_alarm_deadline, it always rearms the timer even if the next deadline is INT64_MAX.
This patch simplifies the behavior of qemu_rearm_alarm_timer and removes the duplicated code, always calling qemu_next_alarm_deadline and only rearming the timer if the deadline is less than INT64_MAX.
Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Reviewed-by: Stefan Weil <sw@weilnetz.de> Tested-by: Andreas Färber <andreas.faerber@web.de> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
show more ...
|
#
c8057f95 |
| 02-Aug-2012 |
Peter Maydell <peter.maydell@linaro.org> |
Support 'help' as a synonym for '?' in command line options
For command line options which permit '?' meaning 'please list the permitted values', add support for 'help' as a synonym, by abstracting
Support 'help' as a synonym for '?' in command line options
For command line options which permit '?' meaning 'please list the permitted values', add support for 'help' as a synonym, by abstracting the check out into a helper function.
This change means that in some cases where we were being lazy in our string parsing, "?junk" will now be rejected as an invalid option rather than being (undocumentedly) treated the same way as "?".
Update the documentation to use 'help' rather than '?', since '?' is a shell metacharacter and thus prone to fail confusingly if there is a single character filename in the current working directory and the '?' has not been escaped. It's therefore better to steer users towards 'help', though '?' is retained for backwards compatibility.
We do not, however, update the output of the system emulator's -help (or any documentation autogenerated from the qemu-options.hx which is the source of the -help text) because libvirt parses our -help output and will break. At a later date when QEMU provides a better interface so libvirt can avoid having to do this, we can update the -help text too.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
52ef651f |
| 08-May-2012 |
Stefan Weil <sw@weilnetz.de> |
qemu-timer: Fix wrong error message
Function timeSetEvent returns 0 when it fails, but it does not set an error code which can be retrieved by GetLastError.
Therefore calling GetLastError is useles
qemu-timer: Fix wrong error message
Function timeSetEvent returns 0 when it fails, but it does not set an error code which can be retrieved by GetLastError.
Therefore calling GetLastError is useless.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
show more ...
|
#
165ceac0 |
| 05-May-2012 |
Andreas Faerber <andreas.faerber@web.de> |
qemu-timer: Move include for __FreeBSD_version to header
sys/param.h is needed for __FreeBSD_version. Pointed out by Juergen, thanks.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de> Cc: Jue
qemu-timer: Move include for __FreeBSD_version to header
sys/param.h is needed for __FreeBSD_version. Pointed out by Juergen, thanks.
Signed-off-by: Andreas Faerber <andreas.faerber@web.de> Cc: Juergen Lock <nox@jelal.kn-bremen.de> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
show more ...
|
#
40f08e87 |
| 27-Apr-2012 |
Stefan Weil <sw@weilnetz.de> |
qemu-timer: Fix limits for w32 mmtimer
timeSetEvent only accepts delays in the range which is returned by timeGetDevCaps.
The lower limit is typically 1 (= 1 ms), so the constant value of 1 in the
qemu-timer: Fix limits for w32 mmtimer
timeSetEvent only accepts delays in the range which is returned by timeGetDevCaps.
The lower limit is typically 1 (= 1 ms), so the constant value of 1 in the old code usually worked.
The upper limit can be as low as 10000 ms, so the latest changes in QEMU's timer handling which introduced timeout values above that limit could result in failures of timeSetEvent when the timer was re-armed.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
show more ...
|
#
9a14b298 |
| 20-Apr-2012 |
Stefan Weil <sw@weilnetz.de> |
qemu-timer: Optimize data structures
Remove all holes which were found by pahole on Linux x86_64 (and replace "struct QEMUTimer" by "QEMUTimer").
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Si
qemu-timer: Optimize data structures
Remove all holes which were found by pahole on Linux x86_64 (and replace "struct QEMUTimer" by "QEMUTimer").
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Stefan Weil <sw@weilnetz.de>
show more ...
|