[patch -mm 24/28] x86_64: hpet restore vread

Thomas Gleixner
2007-06-23T13:29:23Z

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: x86-64-hpet-restore-vread.patch --]
[-- Type: text/plain, Size: 1198 bytes --]

>From sebastien.dugue@bull.net

It seems the hpet clocksource's vread method was lost in the x86_64 conversion
to clockevents. So here it is.

Signed-off-by: Sébastien Dugué <sebastien.dugue@bull.net>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

arch/i386/kernel/hpet.c | 10 ++++++++++
1 file changed, 10 insertions(+)

Index: linux-2.6.22-rc4-mm/arch/i386/kernel/hpet.c
===================================================================
--- linux-2.6.22-rc4-mm.orig/arch/i386/kernel/hpet.c 2007-06-23 14:39:00.000000000 +0200
+++ linux-2.6.22-rc4-mm/arch/i386/kernel/hpet.c 2007-06-23 14:39:00.000000000 +0200
@@ -255,6 +255,13 @@ static cycle_t read_hpet(void)
return (cycle_t)hpet_readl(HPET_COUNTER);
}

+#ifdef CONFIG_X86_64
+static cycle_t __vsyscall_fn vread_hpet(void)
+{
+ return readl((const void __iomem *)fix_to_virt(VSYSCALL_HPET) + 0xf0);
+}
+#endif
+
static struct clocksource clocksource_hpet = {
.name = "hpet",
.rating = 250,
@@ -263,6 +270,9 @@ static struct clocksource clocksource_hp
.shift = HPET_SHIFT,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
.resume = hpet_start_counter,
+#ifdef CONFIG_X86_64
+ .vread = vread_hpet,
+#endif
};

/*

--