Changes in kernel/arch/ia32/src/cpu/cpu.c [4a537dd:add04f7] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/src/cpu/cpu.c
r4a537dd radd04f7 92 92 void cpu_arch_init(void) 93 93 { 94 cpuid_feature_info fi; 94 95 cpuid_extended_feature_info efi; 95 96 cpu_info_t info; … … 101 102 CPU->fpu_owner = NULL; 102 103 103 cpuid( INTEL_CPUID_STANDARD, &info);104 cpuid(1, &info); 104 105 105 CPU->arch.fi.word = info.cpuid_edx;106 fi.word = info.cpuid_edx; 106 107 efi.word = info.cpuid_ecx; 107 108 108 if ( CPU->arch.fi.bits.fxsr)109 if (fi.bits.fxsr) 109 110 fpu_fxsr(); 110 111 else 111 112 fpu_fsr(); 112 113 113 if ( CPU->arch.fi.bits.sse) {114 if (fi.bits.sse) { 114 115 asm volatile ( 115 116 "mov %%cr4, %[help]\n" … … 121 122 } 122 123 123 if (CPU->arch.fi.bits.sep) { 124 /* Setup fast SYSENTER/SYSEXIT syscalls */ 125 syscall_setup_cpu(); 126 } 124 /* Setup fast SYSENTER/SYSEXIT syscalls */ 125 syscall_setup_cpu(); 127 126 } 128 127 … … 133 132 CPU->arch.vendor = VendorUnknown; 134 133 if (has_cpuid()) { 135 cpuid( INTEL_CPUID_LEVEL, &info);134 cpuid(0, &info); 136 135 137 136 /* … … 151 150 CPU->arch.vendor = VendorIntel; 152 151 153 cpuid( INTEL_CPUID_STANDARD, &info);152 cpuid(1, &info); 154 153 CPU->arch.family = (info.cpuid_eax >> 8) & 0x0f; 155 154 CPU->arch.model = (info.cpuid_eax >> 4) & 0x0f;
Note:
See TracChangeset
for help on using the changeset viewer.