diff options
| author | David Vrabel <david.vrabel@citrix.com> | 2013-05-13 18:56:06 +0100 | 
|---|---|---|
| committer | John Stultz <john.stultz@linaro.org> | 2013-05-28 14:00:59 -0700 | 
| commit | 3565184ed0c1ea46bea5b792da5f72a83c43e49b (patch) | |
| tree | 4846a589a6aa295634ef585e5637872f15c19993 /arch/x86/lguest | |
| parent | 0a0a7e66fa269de78975ea8d4e825a66d92b8d70 (diff) | |
| download | linux-3565184ed0c1ea46bea5b792da5f72a83c43e49b.tar.bz2 | |
x86: Increase precision of x86_platform.get/set_wallclock()
All the virtualized platforms (KVM, lguest and Xen) have persistent
wallclocks that have more than one second of precision.
read_persistent_wallclock() and update_persistent_wallclock() allow
for nanosecond precision but their implementation on x86 with
x86_platform.get/set_wallclock() only allows for one second precision.
This means guests may see a wallclock time that is off by up to 1
second.
Make set_wallclock() and get_wallclock() take a struct timespec
parameter (which allows for nanosecond precision) so KVM and Xen
guests may start with a more accurate wallclock time and a Xen dom0
can maintain a more accurate wallclock for guests.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'arch/x86/lguest')
| -rw-r--r-- | arch/x86/lguest/boot.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| diff --git a/arch/x86/lguest/boot.c b/arch/x86/lguest/boot.c index 7114c63f047d..8424d5adcfa2 100644 --- a/arch/x86/lguest/boot.c +++ b/arch/x86/lguest/boot.c @@ -882,9 +882,9 @@ int lguest_setup_irq(unsigned int irq)   * It would be far better for everyone if the Guest had its own clock, but   * until then the Host gives us the time on every interrupt.   */ -static unsigned long lguest_get_wallclock(void) +static void lguest_get_wallclock(struct timespec *now)  { -	return lguest_data.time.tv_sec; +	*now = lguest_data.time;  }  /* |