aboutsummaryrefslogtreecommitdiffstats
path: root/xenolinux-2.4.23-sparse/include/asm-xeno/bugs.h
blob: c46b6a0b1516d0c9e48bd76d96a34b09acb1fc61 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/*
 *  include/asm-i386/bugs.h
 *
 *  Copyright (C) 1994  Linus Torvalds
 *
 *  Cyrix stuff, June 1998 by:
 *	- Rafael R. Reilova (moved everything from head.S),
 *        <rreilova@ececs.uc.edu>
 *	- Channing Corn (tests & fixes),
 *	- Andrew D. Balsa (code cleanup).
 *
 *  Pentium III FXSR, SSE support
 *	Gareth Hughes <gareth@valinux.com>, May 2000
 */

/*
 * This is included by init/main.c to check for architecture-dependent bugs.
 *
 * Needs:
 *	void check_bugs(void);
 */

#include <linux/config.h>
#include <asm/processor.h>
#include <asm/i387.h>
#include <asm/msr.h>


static void __init check_fpu(void)
{
    boot_cpu_data.fdiv_bug = 0;
}

static void __init check_hlt(void)
{
    boot_cpu_data.hlt_works_ok = 1;
}

static void __init check_bugs(void)
{
	extern void __init boot_init_fpu(void);

	identify_cpu(&boot_cpu_data);
	boot_init_fpu();
#ifndef CONFIG_SMP
	printk("CPU: ");
	print_cpu_info(&boot_cpu_data);
#endif
	check_fpu();
	check_hlt();
    system_utsname.machine[1] = '0' + 
        (boot_cpu_data.x86 > 6 ? 6 : boot_cpu_data.x86);
}