summaryrefslogtreecommitdiffstats
path: root/include/asm-i386
diff options
context:
space:
mode:
authorZachary Amsden <zach@vmware.com>2005-09-04 00:56:37 +0200
committerLinus Torvalds <torvalds@evo.osdl.org>2005-09-05 09:06:11 +0200
commit245067d1674d451855692fcd4647daf9fd47f82d (patch)
tree9e82ee9ce5c1899e0da06622716dffda02e94b15 /include/asm-i386
parent[PATCH] i386: inline asm cleanup (diff)
downloadlinux-245067d1674d451855692fcd4647daf9fd47f82d.tar.xz
linux-245067d1674d451855692fcd4647daf9fd47f82d.zip
[PATCH] i386: cleanup serialize msr
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. Signed-off-by: Zachary Amsden <zach@vmware.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-i386')
-rw-r--r--include/asm-i386/processor.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/asm-i386/processor.h b/include/asm-i386/processor.h
index 7e17d3b4f65a..a0489b222702 100644
--- a/include/asm-i386/processor.h
+++ b/include/asm-i386/processor.h
@@ -277,6 +277,11 @@ static inline void clear_in_cr4 (unsigned long mask)
outb((data), 0x23); \
} while (0)
+static inline void serialize_cpu(void)
+{
+ __asm__ __volatile__ ("cpuid" : : : "ax", "bx", "cx", "dx");
+}
+
static inline void __monitor(const void *eax, unsigned long ecx,
unsigned long edx)
{