lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 25 Jan 2009 17:00:19 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Florian Fainelli <florian.fainelli@...ecomint.eu>
Cc:	john stultz <johnstul@...ibm.com>,
	Miklos Vajna <vmiklos@...galware.org>,
	linux-kernel@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
	Ingo Molnar <mingo@...hat.com>,
	"H. Peter Anvin" <hpa@...or.com>,
	"Rafael J. Wysocki" <rjw@...k.pl>,
	Gabriel C <nix.or.die@...glemail.com>,
	CSÉCSY László <boobaa@...galware.org>,
	r.schwebel@...gutronix.de, sven@...gus.net
Subject: Re: System clock runs too fast after 2.6.27 -> 2.6.28.1 upgrade


* Florian Fainelli <florian.fainelli@...ecomint.eu> wrote:

> Le Sunday 25 January 2009 16:03:49 Ingo Molnar, vous avez écrit :
> > * Florian Fainelli <florian.fainelli@...ecomint.eu> wrote:
> > > Le Saturday 24 January 2009 10:14:04 Ingo Molnar, vous avez écrit :
> > > > * john stultz <johnstul@...ibm.com> wrote:
> > > > > On Fri, Jan 23, 2009 at 3:04 AM, Ingo Molnar <mingo@...e.hu> wrote:
> > > > > > * john stultz <johnstul@...ibm.com> wrote:
> > > > > >> I'd think this would ideally be more of a subarch in the config
> > > > > >> selection like the AMD Elan is, so folks know it really is not
> > > > > >> just a extra-support feature and in fact limits what hardware you
> > > > > >> can use the resulting kernel on.
> > > > > >
> > > > > > a better solution is that if RDC is set [it is unset by default] we
> > > > > > should turn PIT_TICK_RATE into a variable, defaulting it to
> > > > > > 1193182. If a real RDC or ELAN system is running, that variable is
> > > > > > changed during early bootup, in the init functions for those
> > > > > > platforms.
> > > > >
> > > > > Took a quick look at this, and I don't see any detection code for
> > > > > either RDC. The X86_ELAN config also has no conditionals, but maybe
> > > > > the elan cpufreq code can help here.
> > > >
> > > > i'd suggest to just remove the #ifdef for now (it's causing problems)
> > > > and add the variable - we can add the quirks for those two platforms
> > > > later on, separately from your patch(es).
> > >
> > > Fine with me. Ingo, is there any infrastructure yet to get an early
> > > quirk set the PIT tick rate accordingly ?
> >
> > Not yet but it should be easy - do you have the time to implement it?
> 
> Not until a week, sorry.

ok - i've done the interim patch below. Please send a quirk patch for 
RDC's non-standard PIT frequency.

	Ingo

------------------->
>From e1b4d1143651fb3838be1117785b6e0386fa151f Mon Sep 17 00:00:00 2001
From: Ingo Molnar <mingo@...e.hu>
Date: Sun, 25 Jan 2009 16:57:00 +0100
Subject: [PATCH] x86: use standard PIT frequency

the RDC and ELAN platforms use slighly different PIT clocks, resulting in
a timex.h hack that changes PIT_TICK_RATE during build time. But if a
tester enables any of these platform support .config options, the PIT
will be miscalibrated on standard PC platforms.

So use one frequency - in a subsequent patch we'll add a quirk to allow
x86 platforms to define different PIT frequencies.

Signed-off-by: Ingo Molnar <mingo@...e.hu>
---
 arch/x86/include/asm/timex.h |   13 ++++---------
 1 files changed, 4 insertions(+), 9 deletions(-)

diff --git a/arch/x86/include/asm/timex.h b/arch/x86/include/asm/timex.h
index 1287dc1..b5c9d45 100644
--- a/arch/x86/include/asm/timex.h
+++ b/arch/x86/include/asm/timex.h
@@ -1,18 +1,13 @@
-/* x86 architecture timex specifications */
 #ifndef _ASM_X86_TIMEX_H
 #define _ASM_X86_TIMEX_H
 
 #include <asm/processor.h>
 #include <asm/tsc.h>
 
-#ifdef CONFIG_X86_ELAN
-#  define PIT_TICK_RATE 1189200 /* AMD Elan has different frequency! */
-#elif defined(CONFIG_X86_RDC321X)
-#  define PIT_TICK_RATE 1041667 /* Underlying HZ for R8610 */
-#else
-#  define PIT_TICK_RATE 1193182 /* Underlying HZ */
-#endif
-#define CLOCK_TICK_RATE	PIT_TICK_RATE
+/* The PIT ticks at this frequency (in HZ): */
+#define PIT_TICK_RATE		1193182
+
+#define CLOCK_TICK_RATE		PIT_TICK_RATE
 
 #define ARCH_HAS_READ_CURRENT_TIMER
 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ