Changeset 1ea99cc in mainline for kernel/arch/ia32/include/barrier.h


Ignore:
Timestamp:
2009-08-20T20:47:35Z (15 years ago)
Author:
Jiri Svoboda <jiri@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b50b5af2
Parents:
24edc18
Message:

Merge changes from original Subversion dynload branch.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/include/barrier.h

    r24edc18 r1ea99cc  
    5252static inline void cpuid_serialization(void)
    5353{
     54#ifndef __IN_SHARED_LIBC__
    5455        asm volatile (
    5556                "xorl %%eax, %%eax\n"
     
    5758                ::: "eax", "ebx", "ecx", "edx", "memory"
    5859        );
     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
    5970}
    6071
Note: See TracChangeset for help on using the changeset viewer.