version 1.144, 2018/01/07 16:10:16 |
version 1.145, 2018/01/11 09:18:16 |
Line 623 cpu_init(struct cpu_info *ci) |
|
Line 623 cpu_init(struct cpu_info *ci) |
|
lcr4(cr4); |
lcr4(cr4); |
} |
} |
|
|
|
/* |
|
* Changing CR4 register may change cpuid values. For example, setting |
|
* CR4_OSXSAVE sets CPUID2_OSXSAVE. The CPUID2_OSXSAVE is in |
|
* ci_feat_val[1], so update it. |
|
* XXX Other than ci_feat_val[1] might be changed. |
|
*/ |
|
if (cpuid_level >= 1) { |
|
u_int descs[4]; |
|
|
|
x86_cpuid(1, descs); |
|
ci->ci_feat_val[1] = descs[2]; |
|
} |
|
|
if (x86_fpu_save >= FPU_SAVE_FXSAVE) { |
if (x86_fpu_save >= FPU_SAVE_FXSAVE) { |
fpuinit_mxcsr_mask(); |
fpuinit_mxcsr_mask(); |
} |
} |