Changeset 39cea6a in mainline for arch/ia32/src/cpu/cpu.c
- Timestamp:
- 2006-04-13T17:38:03Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e185136
- Parents:
- 897ad60
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/cpu/cpu.c
r897ad60 r39cea6a 88 88 } 89 89 90 91 92 93 90 void cpu_arch_init(void) 94 91 { 95 __u32 help=0; 92 cpuid_feature_info fi; 93 cpuid_extended_feature_info efi; 94 cpu_info_t info; 95 __u32 help = 0; 96 96 97 97 CPU->arch.tss = tss_p; 98 CPU-> fpu_owner=NULL;98 CPU->arch.tss->iomap_base = &CPU->arch.tss->iomap[0] - ((__u8 *) CPU->arch.tss); 99 99 100 cpuid_feature_info fi; 101 cpuid_extended_feature_info efi; 100 CPU->fpu_owner = NULL; 102 101 103 cpu_info_t info;104 102 cpuid(1, &info); 105 103 106 fi.word =info.cpuid_edx;107 efi.word =info.cpuid_ecx;104 fi.word = info.cpuid_edx; 105 efi.word = info.cpuid_ecx; 108 106 109 if(fi.bits.fxsr) fpu_fxsr(); 110 else fpu_fsr(); 107 if (fi.bits.fxsr) 108 fpu_fxsr(); 109 else 110 fpu_fsr(); 111 111 112 if(fi.bits.sse) asm volatile ( 113 "mov %%cr4,%0;\n" 114 "or %1,%0;\n" 115 "mov %0,%%cr4;\n" 116 :"+r"(help) 117 :"i"(CR4_OSFXSR_MASK|(1<<10)) 118 ); 119 112 if (fi.bits.sse) { 113 asm volatile ( 114 "mov %%cr4,%0\n" 115 "or %1,%0\n" 116 "mov %0,%%cr4\n" 117 : "+r" (help) 118 : "i" (CR4_OSFXSR_MASK|(1<<10)) 119 ); 120 } 120 121 } 121 122 122 123 123 void cpu_identify(void)
Note:
See TracChangeset
for help on using the changeset viewer.