2.6.27.7 built for Geode: Clock drift

From: Harald Dunkel
Date: Tue Dec 02 2008 - 13:36:50 EST


Hi folks,

If I build a kernel for AMD Geode, then I see a clock drift of appr.
30 min. to 1 hour per day. If I build the same kernel for i486, then
the clock drift is gone. Running ntp makes no difference.

Hardware is a Linutop PC. /proc/cpuinfo says

processor : 0
vendor_id : AuthenticAMD
cpu family : 5
model : 10
model name : Geode(TM) Integrated Processor by AMD PCS
stepping : 2
cpu MHz : 0.000
cache size : 128 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu de pse tsc msr cx8 sep pge cmov clflush mmx mmxext 3dnowext 3dnow
bogomips : 429.05
clflush size : 32
power management:

BTW, the CPU is running with 500 MHz (AFAIK). 0.000 MHz is surely not
correct. /proc/cpuinfo reports the same for both kernels.

Attached is the diff of the config files. Please mail if you are
interested in the complete config files, or if I can help to track
this down.


Regards

Harri
--- config-2.6.27.7-486 2008-12-02 03:36:11.000000000 +0100
+++ config-2.6.27.7-geode 2008-11-23 10:46:54.000000000 +0100
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.27.7
-# Mon Dec 1 22:42:26 2008
+# Sun Nov 23 05:01:04 2008
#
# CONFIG_64BIT is not set
CONFIG_X86_32=y
@@ -56,7 +56,7 @@
CONFIG_EXPERIMENTAL=y
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
-CONFIG_LOCALVERSION="-486"
+CONFIG_LOCALVERSION="-geode"
# CONFIG_LOCALVERSION_AUTO is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
@@ -197,7 +197,7 @@
# CONFIG_PARAVIRT_DEBUG is not set
# CONFIG_MEMTEST is not set
# CONFIG_M386 is not set
-CONFIG_M486=y
+# CONFIG_M486 is not set
# CONFIG_M586 is not set
# CONFIG_M586TSC is not set
# CONFIG_M586MMX is not set
@@ -215,7 +215,7 @@
# CONFIG_MWINCHIP2 is not set
# CONFIG_MWINCHIP3D is not set
# CONFIG_MGEODEGX1 is not set
-# CONFIG_MGEODE_LX is not set
+CONFIG_MGEODE_LX=y
# CONFIG_MCYRIXIII is not set
# CONFIG_MVIAC3_2 is not set
# CONFIG_MVIAC7 is not set
@@ -227,15 +227,16 @@
CONFIG_X86_CMPXCHG=y
CONFIG_X86_L1_CACHE_SHIFT=7
CONFIG_X86_XADD=y
-# CONFIG_X86_PPRO_FENCE is not set
-CONFIG_X86_F00F_BUG=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
-CONFIG_X86_ALIGNMENT_16=y
CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_TSC=y
CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_X86_DEBUGCTLMSR=y
CONFIG_HPET_TIMER=y
CONFIG_HPET_EMULATE_RTC=y
CONFIG_DMI=y
@@ -423,6 +424,7 @@
# CONFIG_MCA_PROC_FS is not set
CONFIG_SCx200=m
CONFIG_SCx200HR_TIMER=m
+CONFIG_GEODE_MFGPT_TIMER=y
# CONFIG_OLPC is not set
CONFIG_K8_NB=y
# CONFIG_PCCARD is not set
@@ -1919,6 +1921,7 @@
CONFIG_ADVANTECH_WDT=m
CONFIG_ALIM1535_WDT=m
CONFIG_ALIM7101_WDT=m
+CONFIG_GEODE_WDT=m
CONFIG_SC520_WDT=m
CONFIG_EUROTECH_WDT=m
CONFIG_IB700_WDT=m