linux-stable/arch/x86/kernel
Ingo Molnar f97586b610 x86: do not crash on non-Geode PCs in TSC probe
with this fix Geode kernels can be booted (and QA-ed) on generic PCs.

otherwise it crashes and burns during early bootup:

Detected 2160.212 MHz processor.
general protection fault: 0000 [#1]
PREEMPT SMP
Modules linked in:
CPU:    0
EIP:    0060:[<c09071f6>]    Not tainted VLI
EFLAGS: 00010002   (2.6.23-rc9 #90)
EIP is at tsc_init+0xa6/0x150
eax: 00000001   ebx: c1dce000   ecx: 00001900   edx: 00000001
esi: 00051000   edi: 00051000   ebp: c08fdfc4   esp: c08fdfa4
ds: 007b   es: 007b   fs: 00d8  gs: 0000  ss: 0068
Process swapper (pid: 0, ti=c08fc000 task=c082a180 task.ti=c08fc000)
Stack: c076b870 00000870 000000d4 0000001d c0831e80 c1dce000 00051000 00051000
       c08fdfcc c09053f8 c08fdff8 c09045ff 000001e2 c09040a0 00051000 00000020
       0004e500 c0932140 00020800 00099800 c08ed000 01409007 00000000
Call Trace:
 [<c010517a>] show_trace_log_lvl+0x1a/0x30
 [<c0105246>] show_stack_log_lvl+0xb6/0x100
 [<c0105732>] show_registers+0x212/0x3a0
 [<c0105aa4>] die+0x104/0x220
 [<c0105f5f>] do_general_protection+0x1ef/0x2b0
 [<c06699f2>] error_code+0x72/0x78
 [<c09053f8>] time_init+0x8/0x20
 [<c09045ff>] start_kernel+0x1af/0x320
 [<00000000>] 0x0
 =======================
Code: 31 d2 b8 00 00 09 3d f7 35 2c 70 9b c0 a3 04 95 8f c0 e8 ce 4e 99 ff b8 e0 45 93 c0 e8 94 b1 c5 ff e8 7f 3d 80 ff b9 00 19 00 00 <0f> 32 f6 c4 01 74 07 83 25 24 ce 82 c0 fd 8b 0d 20 ce 82 c0 b8
EIP: [<c09071f6>] tsc_init+0xa6/0x150 SS:ESP 0068:c08fdfa4
Kernel panic - not syncing: Attempted to kill the idle task!

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2007-10-17 20:15:37 +02:00
..
acpi
cpu i386: fix section mismatch warning in intel.c 2007-10-17 20:15:26 +02:00
cpufreq
.gitignore
alternative.c x86: call free_init_pages() with irqs enabled in alternative_instructions() 2007-10-17 20:15:33 +02:00
aperture_64.c
apic_32.c
apic_64.c x86: C1E late detection fix. Really switch off lapic timer 2007-10-17 20:15:13 +02:00
apm_32.c
asm-offsets.c
asm-offsets_32.c
asm-offsets_64.c
audit_64.c
bootflag.c
bugs_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
cpuid.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
crash_32.c
crash_64.c
crash_dump_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
crash_dump_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
doublefault_32.c
e820_32.c
e820_64.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
early-quirks_64.c
early_printk.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
efi_32.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
efi_stub_32.S
entry_32.S lockdep: i386: connect the sysexit hook 2007-10-11 22:11:12 +02:00
entry_64.S x86: return correct error code from child_rip in x86_64 entry.S 2007-10-17 20:15:29 +02:00
genapic_64.c
genapic_flat_64.c
geode_32.c x86: Geode Multi-Function General Purpose Timers support 2007-10-12 23:04:06 +02:00
head64.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
head_32.S
head_64.S
hpet.c x86: HPET force enable for ICH5 2007-10-12 23:04:24 +02:00
i386_ksyms_32.c
i387_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i387_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i8237.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i8253.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
i8259_32.c x86: kill 8253pit.h 2007-10-12 23:04:23 +02:00
i8259_64.c x86_64: convert to clock events 2007-10-12 23:04:07 +02:00
init_task_32.c
init_task_64.c
io_apic_32.c Convert cpu_sibling_map to be a per cpu variable 2007-10-16 09:42:50 -07:00
io_apic_64.c
ioport_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
ioport_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
irq_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
irq_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
k8.c
kprobes_32.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
kprobes_64.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
ldt_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
ldt_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
machine_kexec_32.c add-vmcore: add a prefix "VMCOREINFO_" to the vmcoreinfo macros 2007-10-17 08:42:54 -07:00
machine_kexec_64.c add-vmcore: add a prefix "VMCOREINFO_" to the vmcoreinfo macros 2007-10-17 08:42:54 -07:00
Makefile
Makefile_32 x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
Makefile_64 x86_64: remove now unused code 2007-10-12 23:04:23 +02:00
mca_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
mce_64.c Remove workaround for unimmunized rcu_dereference from mce_log() 2007-10-17 08:42:46 -07:00
mce_amd_64.c x86: Convert cpu_core_map to be a per cpu variable 2007-10-16 09:42:50 -07:00
mce_intel_64.c
mfgpt_32.c x86: Geode MFGPT clock event device support 2007-10-12 23:04:06 +02:00
microcode.c
module_32.c
module_64.c
mpparse_32.c
mpparse_64.c
msr.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
nmi_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
nmi_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
numaq_32.c
paravirt_32.c
pci-calgary_64.c x86-64: update calgary iommu to sg helpers 2007-10-16 11:26:02 +02:00
pci-dma_32.c dma_free_coherent() needs irqs enabled (sigh) 2007-10-12 15:03:15 -07:00
pci-dma_64.c dma_free_coherent() needs irqs enabled (sigh) 2007-10-12 15:03:15 -07:00
pci-gart_64.c x86-64: update pci-gart iommu to sg helpers 2007-10-16 11:26:02 +02:00
pci-nommu_64.c x86-64: update nommu to sg helpers 2007-10-16 11:26:02 +02:00
pci-swiotlb_64.c
pcspeaker.c
pmtimer_64.c
process_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
process_64.c kprobes: support kretprobe blacklist 2007-10-16 09:43:10 -07:00
ptrace_32.c Consolidate PTRACE_DETACH 2007-10-16 09:42:49 -07:00
ptrace_64.c Consolidate PTRACE_DETACH 2007-10-16 09:42:49 -07:00
quirks.c x86: HPET add another ICH7 PCI id 2007-10-12 23:04:24 +02:00
reboot_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
reboot_64.c
reboot_fixups_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
relocate_kernel_32.S
relocate_kernel_64.S
scx200_32.c long vs. unsigned long - low-hanging fruits in drivers 2007-10-14 12:41:51 -07:00
setup64.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
setup_32.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
setup_64.c [x86] remove uses of magic macros for boot_params access 2007-10-16 17:38:31 -07:00
sigframe_32.h
signal_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
signal_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
smp_32.c i386: export i386 smp_call_function_mask() to modules 2007-10-17 20:15:21 +02:00
smp_64.c
smpboot_32.c x86: enable NMI watchdog on nosmp 2007-10-17 20:15:35 +02:00
smpboot_64.c Convert cpu_sibling_map to be a per cpu variable 2007-10-16 09:42:50 -07:00
smpcommon_32.c
srat_32.c
stacktrace.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
summit_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
suspend_64.c
suspend_asm_64.S
sys_i386_32.c remove include/asm-*/ipc.h 2007-10-17 08:42:55 -07:00
sys_x86_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
syscall_64.c
syscall_table_32.S
sysenter_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
tce_64.c
time_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
time_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
topology.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
trampoline_32.S
trampoline_64.S
traps_32.c i386: fix section mismatch warning in intel.c 2007-10-17 20:15:26 +02:00
traps_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
tsc_32.c x86: do not crash on non-Geode PCs in TSC probe 2007-10-17 20:15:37 +02:00
tsc_64.c x86: unify timex.h variants 2007-10-12 23:04:23 +02:00
tsc_sync.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
verify_cpu_64.S
vm86_32.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
vmi_32.c
vmiclock_32.c
vmlinux.lds.S
vmlinux_32.lds.S
vmlinux_64.lds.S
vsmp_64.c
vsyscall-int80_32.S
vsyscall-note_32.S
vsyscall-sigreturn_32.S
vsyscall-sysenter_32.S
vsyscall_32.lds.S
vsyscall_32.S
vsyscall_64.c Delete filenames in comments. 2007-10-13 10:01:23 -07:00
x8664_ksyms_64.c