|
@@ -164,7 +164,8 @@ static void collect_cpu_info (void *unused)
|
|
|
}
|
|
|
|
|
|
wrmsr(MSR_IA32_UCODE_REV, 0, 0);
|
|
|
- __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx");
|
|
|
+ /* see notes above for revision 1.07. Apparent chip bug */
|
|
|
+ serialize_cpu();
|
|
|
/* get the current revision from MSR 0x8B */
|
|
|
rdmsr(MSR_IA32_UCODE_REV, val[0], uci->rev);
|
|
|
pr_debug("microcode: collect_cpu_info : sig=0x%x, pf=0x%x, rev=0x%x\n",
|
|
@@ -377,7 +378,9 @@ static void do_update_one (void * unused)
|
|
|
(unsigned long) uci->mc->bits >> 16 >> 16);
|
|
|
wrmsr(MSR_IA32_UCODE_REV, 0, 0);
|
|
|
|
|
|
- __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx");
|
|
|
+ /* see notes above for revision 1.07. Apparent chip bug */
|
|
|
+ serialize_cpu();
|
|
|
+
|
|
|
/* get the current revision from MSR 0x8B */
|
|
|
rdmsr(MSR_IA32_UCODE_REV, val[0], val[1]);
|
|
|
|