Changes in kernel/arch/ia32/include/barrier.h [7a0359b:1ea99cc] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/ia32/include/barrier.h
r7a0359b r1ea99cc 36 36 #define KERN_ia32_BARRIER_H_ 37 37 38 #include <trace.h>39 40 38 /* 41 39 * NOTE: … … 52 50 #define CS_LEAVE_BARRIER() asm volatile ("" ::: "memory") 53 51 54 NO_TRACEstatic inline void cpuid_serialization(void)52 static inline void cpuid_serialization(void) 55 53 { 54 #ifndef __IN_SHARED_LIBC__ 56 55 asm volatile ( 57 56 "xorl %%eax, %%eax\n" … … 59 58 ::: "eax", "ebx", "ecx", "edx", "memory" 60 59 ); 60 #else 61 /* Must not clobber PIC register ebx */ 62 asm volatile ( 63 "movl %%ebx, %%esi\n" 64 "xorl %%eax, %%eax\n" 65 "cpuid\n" 66 "movl %%esi, %%ebx\n" 67 ::: "eax", "ecx", "edx", "esi", "memory" 68 ); 69 #endif 61 70 } 62 71
Note:
See TracChangeset
for help on using the changeset viewer.