Re: [PATCH] 2/6 i386 serialize-msr

From: Pavel Machek
Date: Sat Jul 30 2005 - 05:34:15 EST


Hi!

> i386 arch cleanup. Introduce the serialize macro to serialize processor state.
> Why the microcode update needs it I am not quite sure, since wrmsr() is already
> a serializing instruction, but it is a microcode update, so I will keep the
> semantic the same, since this could be a timing workaround. As far as I can
> tell, this has always been there since the original microcode update
> source.

Can we get better name, like "serialize_cpu()"?
Pavel

> Signed-off-by: Zachary Amsden <zach@xxxxxxxxxx>
>
> Index: linux-2.6.13/arch/i386/kernel/microcode.c
> ===================================================================
> --- linux-2.6.13.orig/arch/i386/kernel/microcode.c 2005-07-29 11:14:33.000000000 -0700
> +++ linux-2.6.13/arch/i386/kernel/microcode.c 2005-07-29 11:16:18.000000000 -0700
> @@ -164,7 +164,8 @@
> }
>
> wrmsr(MSR_IA32_UCODE_REV, 0, 0);
> - __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx");
> + /* XXX needed? wrmsr should serialize unless a chip bug */
> + serialize();
> /* 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",

--
teflon -- maybe it is a trademark, but it should not be.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/