patch-2.4.1 linux/arch/i386/kernel/setup.c
Next file: linux/arch/i386/kernel/signal.c
Previous file: linux/arch/i386/kernel/pci-irq.c
Back to the patch index
Back to the overall index
- Lines: 69
- Date:
Sun Jan 28 19:01:13 2001
- Orig file:
v2.4.0/linux/arch/i386/kernel/setup.c
- Orig date:
Sun Dec 31 10:26:18 2000
diff -u --recursive --new-file v2.4.0/linux/arch/i386/kernel/setup.c linux/arch/i386/kernel/setup.c
@@ -147,6 +147,7 @@
extern unsigned long cpu_khz;
static int disable_x86_serial_nr __initdata = 1;
+static int disable_x86_fxsr __initdata = 0;
/*
* This is set up by the setup-routine at boot-time
@@ -518,7 +519,7 @@
e820.nr_map = 0;
add_memory_region(0, LOWMEMSIZE(), E820_RAM);
- add_memory_region(HIGH_MEMORY, (mem_size << 10) - HIGH_MEMORY, E820_RAM);
+ add_memory_region(HIGH_MEMORY, mem_size << 10, E820_RAM);
}
printk("BIOS-provided physical RAM map:\n");
print_memory_map(who);
@@ -1400,9 +1401,6 @@
wrmsr (0x1107, lo, hi);
set_bit(X86_FEATURE_CX8, &c->x86_capability);
- rdmsr (0x80000001, lo, hi);
- if (hi & (1<<31))
- set_bit(X86_FEATURE_3DNOW, &c->x86_capability);
get_model_name(c);
display_cacheinfo(c);
@@ -1796,6 +1794,13 @@
}
__setup("serialnumber", x86_serial_nr_setup);
+int __init x86_fxsr_setup(char * s)
+{
+ disable_x86_fxsr = 1;
+ return 1;
+}
+__setup("nofxsr", x86_fxsr_setup);
+
/* Standard macro to see if a specific flag is changeable */
static inline int flag_is_changeable_p(u32 flag)
@@ -1866,7 +1871,8 @@
/* Detect Cyrix with disabled CPUID */
if ( c->x86 == 4 && test_cyrix_52div() ) {
strcpy(c->x86_vendor_id, "CyrixInstead");
- }
+ c->x86_vendor = X86_VENDOR_CYRIX;
+ } else
/* Detect NexGen with old hypercode */
if ( deep_magic_nexgen_probe() ) {
@@ -2000,10 +2006,16 @@
*/
/* TSC disabled? */
-#ifdef CONFIG_TSC
+#ifndef CONFIG_X86_TSC
if ( tsc_disable )
clear_bit(X86_FEATURE_TSC, &c->x86_capability);
#endif
+
+ /* FXSR disabled? */
+ if (disable_x86_fxsr) {
+ clear_bit(X86_FEATURE_FXSR, &c->x86_capability);
+ clear_bit(X86_FEATURE_XMM, &c->x86_capability);
+ }
/* Disable the PN if appropriate */
squash_the_stupid_serial_number(c);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)