diff options
author | Zachary Amsden <zach@vmware.com> | 2005-09-04 00:56:37 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@evo.osdl.org> | 2005-09-05 09:06:11 +0200 |
commit | 245067d1674d451855692fcd4647daf9fd47f82d (patch) | |
tree | 9e82ee9ce5c1899e0da06622716dffda02e94b15 /include/asm-i386 | |
parent | [PATCH] i386: inline asm cleanup (diff) | |
download | linux-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.h | 5 |
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) { |