VirtualBox

Changeset 3636

Show
Ignore:
Timestamp:
07/16/07 15:00:42 (1 year ago)
Author:
vboxsync
Message:

AMD64 -> RT_ARCH_AMD64; X86 -> RT_ARCH_X86; [OS] (except LINUX) -> RT_OS_[OS].

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/include/iprt/asm.h

    r3630 r3636  
    7676#  pragma intrinsic(_InterlockedCompareExchange) 
    7777#  pragma intrinsic(_InterlockedCompareExchange64) 
    78 #  ifdef __AMD64__ 
     78#  ifdef RT_ARCH_AMD64 
    7979#   pragma intrinsic(__stosq) 
    8080#   pragma intrinsic(__readcr8) 
     
    103103 *          inline assmebly in their AMD64 compiler. 
    104104 */ 
    105 #if defined(_MSC_VER) && defined(__AMD64__
     105#if defined(_MSC_VER) && defined(RT_ARCH_AMD64
    106106# define RT_INLINE_ASM_EXTERNAL 1 
    107107#else 
     
    174174    __asm 
    175175    { 
    176 #  ifdef __AMD64__ 
     176#  ifdef RT_ARCH_AMD64 
    177177        mov     rax, [pIdtr] 
    178178        sidt    [rax] 
     
    201201    __asm 
    202202    { 
    203 #  ifdef __AMD64__ 
     203#  ifdef RT_ARCH_AMD64 
    204204        mov     rax, [pIdtr] 
    205205        lidt    [rax] 
     
    228228    __asm 
    229229    { 
    230 #  ifdef __AMD64__ 
     230#  ifdef RT_ARCH_AMD64 
    231231        mov     rax, [pGdtr] 
    232232        sgdt    [rax] 
     
    419419    RTCCUINTREG uFlags; 
    420420# if RT_INLINE_ASM_GNU_STYLE 
    421 #  ifdef __AMD64__ 
     421#  ifdef RT_ARCH_AMD64 
    422422    __asm__ __volatile__("pushfq\n\t" 
    423423                         "popq  %0\n\t" 
     
    431431    __asm 
    432432    { 
    433 #  ifdef __AMD64__ 
     433#  ifdef RT_ARCH_AMD64 
    434434        pushfq 
    435435        pop  [uFlags] 
     
    455455{ 
    456456# if RT_INLINE_ASM_GNU_STYLE 
    457 #  ifdef __AMD64__ 
     457#  ifdef RT_ARCH_AMD64 
    458458    __asm__ __volatile__("pushq %0\n\t" 
    459459                         "popfq\n\t" 
     
    467467    __asm 
    468468    { 
    469 #  ifdef __AMD64__ 
     469#  ifdef RT_ARCH_AMD64 
    470470        push    [uFlags] 
    471471        popfq 
     
    526526{ 
    527527# if RT_INLINE_ASM_GNU_STYLE 
    528 #  ifdef __AMD64__ 
     528#  ifdef RT_ARCH_AMD64 
    529529    RTCCUINTREG uRAX, uRBX, uRCX, uRDX; 
    530530    __asm__ ("cpuid\n\t" 
     
    614614    RTCCUINTREG xDX; 
    615615# if RT_INLINE_ASM_GNU_STYLE 
    616 #  ifdef __AMD64__ 
     616#  ifdef RT_ARCH_AMD64 
    617617    RTCCUINTREG uSpill; 
    618618    __asm__ ("cpuid" 
     
    621621             : "0" (uOperator) 
    622622             : "rbx", "rcx"); 
    623 #  elif (defined(PIC) || defined(__DARWIN__)) && defined(__i386__) /* darwin: PIC by default. */ 
     623#  elif (defined(PIC) || defined(RT_OS_DARWIN)) && defined(__i386__) /* darwin: PIC by default. */ 
    624624    __asm__ ("push  %%ebx\n\t" 
    625625             "cpuid\n\t" 
     
    670670    RTCCUINTREG xCX; 
    671671# if RT_INLINE_ASM_GNU_STYLE 
    672 #  ifdef __AMD64__ 
     672#  ifdef RT_ARCH_AMD64 
    673673    RTCCUINTREG uSpill; 
    674674    __asm__ ("cpuid" 
     
    677677             : "0" (uOperator) 
    678678             : "rbx", "rdx"); 
    679 #  elif (defined(PIC) || defined(__DARWIN__)) && defined(__i386__) /* darwin: 4.0.1 compiler option / bug? */ 
     679#  elif (defined(PIC) || defined(RT_OS_DARWIN)) && defined(__i386__) /* darwin: 4.0.1 compiler option / bug? */ 
    680680    __asm__ ("push  %%ebx\n\t" 
    681681             "cpuid\n\t" 
     
    721721DECLINLINE(bool) ASMHasCpuId(void) 
    722722{ 
    723 #ifdef __AMD64__ 
     723#ifdef RT_ARCH_AMD64 
    724724    return true; /* ASSUME that all amd64 compatible CPUs have cpuid. */ 
    725 #else /* !__AMD64__ */ 
     725#else /* !RT_ARCH_AMD64 */ 
    726726    bool        fRet = false; 
    727727# if RT_INLINE_ASM_GNU_STYLE 
     
    759759# endif 
    760760    return fRet; 
    761 #endif /* !__AMD64__ */ 
     761#endif /* !RT_ARCH_AMD64 */ 
    762762} 
    763763 
     
    775775    RTCCUINTREG xBX; 
    776776# if RT_INLINE_ASM_GNU_STYLE 
    777 #  ifdef __AMD64__ 
     777#  ifdef RT_ARCH_AMD64 
    778778    RTCCUINTREG uSpill; 
    779779    __asm__ ("cpuid" 
     
    782782             : "0" (1) 
    783783             : "rcx", "rdx"); 
    784 #  elif (defined(PIC) || defined(__DARWIN__)) && defined(__i386__) 
     784#  elif (defined(PIC) || defined(RT_OS_DARWIN)) && defined(__i386__) 
    785785    RTCCUINTREG uSpill; 
    786786    __asm__ ("mov   %%ebx,%1\n\t" 
     
    833833 
    834834# elif RT_INLINE_ASM_GNU_STYLE 
    835 #  ifdef __AMD64__ 
     835#  ifdef RT_ARCH_AMD64 
    836836    __asm__ ("movq  %%cr0, %0\t\n" : "=r" (uCR0)); 
    837837#  else 
     
    841841    __asm 
    842842    { 
    843 #  ifdef __AMD64__ 
     843#  ifdef RT_ARCH_AMD64 
    844844        mov     rax, cr0 
    845845        mov     [uCR0], rax 
     
    868868 
    869869# elif RT_INLINE_ASM_GNU_STYLE 
    870 #  ifdef __AMD64__ 
     870#  ifdef RT_ARCH_AMD64 
    871871    __asm__ __volatile__("movq %0, %%cr0\n\t" :: "r" (uCR0)); 
    872872#  else 
     
    876876    __asm 
    877877    { 
    878 #  ifdef __AMD64__ 
     878#  ifdef RT_ARCH_AMD64 
    879879        mov     rax, [uCR0] 
    880880        mov     cr0, rax 
     
    903903 
    904904# elif RT_INLINE_ASM_GNU_STYLE 
    905 #  ifdef __AMD64__ 
     905#  ifdef RT_ARCH_AMD64 
    906906    __asm__ ("movq  %%cr2, %0\t\n" : "=r" (uCR2)); 
    907907#  else 
     
    911911    __asm 
    912912    { 
    913 #  ifdef __AMD64__ 
     913#  ifdef RT_ARCH_AMD64 
    914914        mov     rax, cr2 
    915915        mov     [uCR2], rax 
     
    935935{ 
    936936# if RT_INLINE_ASM_GNU_STYLE 
    937 #  ifdef __AMD64__ 
     937#  ifdef RT_ARCH_AMD64 
    938938    __asm__ __volatile__("movq %0, %%cr2\n\t" :: "r" (uCR2)); 
    939939#  else 
     
    943943    __asm 
    944944    { 
    945 #  ifdef __AMD64__ 
     945#  ifdef RT_ARCH_AMD64 
    946946        mov     rax, [uCR2] 
    947947        mov     cr2, rax 
     
    970970 
    971971# elif RT_INLINE_ASM_GNU_STYLE 
    972 #  ifdef __AMD64__ 
     972#  ifdef RT_ARCH_AMD64 
    973973    __asm__ ("movq  %%cr3, %0\t\n" : "=r" (uCR3)); 
    974974#  else 
     
    978978    __asm 
    979979    { 
    980 #  ifdef __AMD64__ 
     980#  ifdef RT_ARCH_AMD64 
    981981        mov     rax, cr3 
    982982        mov     [uCR3], rax 
     
    10061006 
    10071007# elif RT_INLINE_ASM_GNU_STYLE 
    1008 #  ifdef __AMD64__ 
     1008#  ifdef RT_ARCH_AMD64 
    10091009    __asm__ __volatile__ ("movq %0, %%cr3\n\t" : : "r" (uCR3)); 
    10101010#  else 
     
    10141014    __asm 
    10151015    { 
    1016 #  ifdef __AMD64__ 
     1016#  ifdef RT_ARCH_AMD64 
    10171017        mov     rax, [uCR3] 
    10181018        mov     cr3, rax 
     
    10401040# elif RT_INLINE_ASM_GNU_STYLE 
    10411041    RTCCUINTREG u; 
    1042 #  ifdef __AMD64__ 
     1042#  ifdef RT_ARCH_AMD64 
    10431043    __asm__ __volatile__ ("movq %%cr3, %0\n\t" 
    10441044                          "movq %0, %%cr3\n\t" 
     
    10521052    __asm 
    10531053    { 
    1054 #  ifdef __AMD64__ 
     1054#  ifdef RT_ARCH_AMD64 
    10551055        mov     rax, cr3 
    10561056        mov     cr3, rax 
     
    10791079 
    10801080# elif RT_INLINE_ASM_GNU_STYLE 
    1081 #  ifdef __AMD64__ 
     1081#  ifdef RT_ARCH_AMD64 
    10821082    __asm__ ("movq  %%cr4, %0\t\n" : "=r" (uCR4)); 
    10831083#  else 
     
    10871087    __asm 
    10881088    { 
    1089 #  ifdef __AMD64__ 
     1089#  ifdef RT_ARCH_AMD64 
    10901090        mov     rax, cr4 
    10911091        mov     [uCR4], rax 
     
    11201120 
    11211121# elif RT_INLINE_ASM_GNU_STYLE 
    1122 #  ifdef __AMD64__ 
     1122#  ifdef RT_ARCH_AMD64 
    11231123    __asm__ __volatile__ ("movq %0, %%cr4\n\t" : : "r" (uCR4)); 
    11241124#  else 
     
    11281128    __asm 
    11291129    { 
    1130 #  ifdef __AMD64__ 
     1130#  ifdef RT_ARCH_AMD64 
    11311131        mov     rax, [uCR4] 
    11321132        mov     cr4, rax 
     
    11531153DECLINLINE(RTCCUINTREG) ASMGetCR8(void) 
    11541154{ 
    1155 # ifdef __AMD64__ 
     1155# ifdef RT_ARCH_AMD64 
    11561156    RTCCUINTREG uCR8; 
    11571157#  if RT_INLINE_ASM_USES_INTRIN 
     
    11681168#  endif 
    11691169    return uCR8; 
    1170 # else /* !__AMD64__ */ 
     1170# else /* !RT_ARCH_AMD64 */ 
    11711171    return 0; 
    1172 # endif /* !__AMD64__ */ 
     1172# endif /* !RT_ARCH_AMD64 */ 
    11731173} 
    11741174#endif 
     
    12231223    RTCCUINTREG xFlags; 
    12241224# if RT_INLINE_ASM_GNU_STYLE 
    1225 #  ifdef __AMD64__ 
     1225#  ifdef RT_ARCH_AMD64 
    12261226    __asm__ __volatile__("pushfq\n\t" 
    12271227                         "cli\n\t" 
     
    12341234                         : "=m" (xFlags)); 
    12351235#  endif 
    1236 # elif RT_INLINE_ASM_USES_INTRIN && !defined(__X86__
     1236# elif RT_INLINE_ASM_USES_INTRIN && !defined(RT_ARCH_X86
    12371237    xFlags = ASMGetFlags(); 
    12381238    _disable(); 
     
    14041404    RTCCUINTREG uDR7; 
    14051405# if RT_INLINE_ASM_GNU_STYLE 
    1406 #  ifdef __AMD64__ 
     1406#  ifdef RT_ARCH_AMD64 
    14071407    __asm__ ("movq   %%dr7, %0\n\t" : "=r" (uDR7)); 
    14081408#  else 
     
    14121412    __asm 
    14131413    { 
    1414 #  ifdef __AMD64__ 
     1414#  ifdef RT_ARCH_AMD64 
    14151415        mov     rax, dr7 
    14161416        mov     [uDR7], rax 
     
    14381438    RTCCUINTREG uDR6; 
    14391439# if RT_INLINE_ASM_GNU_STYLE 
    1440 #  ifdef __AMD64__ 
     1440#  ifdef RT_ARCH_AMD64 
    14411441    __asm__ ("movq   %%dr6, %0\n\t" : "=r" (uDR6)); 
    14421442#  else 
     
    14461446    __asm 
    14471447    { 
    1448 #  ifdef __AMD64__ 
     1448#  ifdef RT_ARCH_AMD64 
    14491449        mov     rax, dr6 
    14501450        mov     [uDR6], rax 
     
    14731473# if RT_INLINE_ASM_GNU_STYLE 
    14741474    RTCCUINTREG uNewValue =  0xffff0ff0;  /* 31-16 and 4-11 are 1's, 12 and 63-31 are zero. */ 
    1475 #  ifdef __AMD64__ 
     1475#  ifdef RT_ARCH_AMD64 
    14761476    __asm__ ("movq   %%dr6, %0\n\t" 
    14771477             "movq   %1, %%dr6\n\t" 
     
    14871487    __asm 
    14881488    { 
    1489 #  ifdef __AMD64__ 
     1489#  ifdef RT_ARCH_AMD64 
    14901490        mov     rax, dr6 
    14911491        mov     [uDR6], rax 
     
    17421742    __asm 
    17431743    { 
    1744 #  ifdef __AMD64__ 
     1744#  ifdef RT_ARCH_AMD64 
    17451745        mov     rdx, [pu8] 
    17461746        mov     al, [u8] 
     
    18101810    __asm 
    18111811    { 
    1812 #  ifdef __AMD64__ 
     1812#  ifdef RT_ARCH_AMD64 
    18131813        mov     rdx, [pu16] 
    18141814        mov     ax, [u16] 
     
    18651865    __asm 
    18661866    { 
    1867 #  ifdef __AMD64__ 
     1867#  ifdef RT_ARCH_AMD64 
    18681868        mov     rdx, [pu32] 
    18691869        mov     eax, u32 
     
    19081908DECLINLINE(uint64_t) ASMAtomicXchgU64(volatile uint64_t *pu64, uint64_t u64) 
    19091909{ 
    1910 # if defined(__AMD64__
     1910# if defined(RT_ARCH_AMD64
    19111911#  if RT_INLINE_ASM_USES_INTRIN 
    19121912   u64 = _InterlockedExchange64((__int64 *)pu64, u64); 
     
    19261926    } 
    19271927#  endif 
    1928 # else /* !__AMD64__ */ 
     1928# else /* !RT_ARCH_AMD64 */ 
    19291929#  if RT_INLINE_ASM_GNU_STYLE 
    1930 #   if defined(PIC) || defined(__DARWIN__) /* darwin: 4.0.1 compiler option / bug? */ 
     1930#   if defined(PIC) || defined(RT_OS_DARWIN) /* darwin: 4.0.1 compiler option / bug? */ 
    19311931    uint32_t u32 = (uint32_t)u64; 
    19321932    __asm__ __volatile__(/*"xchgl %%esi, %5\n\t"*/ 
     
    19681968    } 
    19691969#  endif 
    1970 # endif /* !__AMD64__ */ 
     1970# endif /* !RT_ARCH_AMD64 */ 
    19711971    return u64; 
    19721972} 
     
    19871987 
    19881988 
    1989 #ifdef __AMD64__ 
     1989#ifdef RT_ARCH_AMD64 
    19901990/** 
    19911991 * Atomically Exchange an unsigned 128-bit value. 
     
    20452045} 
    20462046# endif 
    2047 #endif /* __AMD64__ */ 
     2047#endif /* RT_ARCH_AMD64 */ 
    20482048 
    20492049 
     
    20622062{ 
    20632063    uint64_t u64; 
    2064 # ifdef __AMD64__ 
     2064# ifdef RT_ARCH_AMD64 
    20652065#  if RT_INLINE_ASM_GNU_STYLE 
    20662066    __asm__ __volatile__("movq %1, %0\n\t" 
     
    20752075    } 
    20762076#  endif 
    2077 # else /* !__AMD64__ */ 
     2077# else /* !RT_ARCH_AMD64 */ 
    20782078#  if RT_INLINE_ASM_GNU_STYLE 
    2079 #   if defined(PIC) || defined(__DARWIN__) /* darwin: 4.0.1 compiler option / bug? */ 
     2079#   if defined(PIC) || defined(RT_OS_DARWIN) /* darwin: 4.0.1 compiler option / bug? */ 
    20802080    uint32_t u32EBX = 0; 
    20812081    __asm__ __volatile__("xchgl %%ebx, %3\n\t" 
     
    21092109    } 
    21102110#  endif 
    2111 # endif /* !__AMD64__ */ 
     2111# endif /* !RT_ARCH_AMD64 */ 
    21122112    return u64; 
    21132113} 
     
    22002200    __asm 
    22012201    { 
    2202 #  ifdef __AMD64__ 
     2202#  ifdef RT_ARCH_AMD64 
    22032203        mov     rdx, [pu32] 
    22042204#  else 
     
    22072207        mov     eax, [u32Old] 
    22082208        mov     ecx, [u32New] 
    2209 #  ifdef __AMD64__ 
     2209#  ifdef RT_ARCH_AMD64 
    22102210        lock cmpxchg [rdx], ecx 
    22112211#  else 
     
    22562256   return _InterlockedCompareExchange64((__int64 *)pu64, u64New, u64Old) == u64Old; 
    22572257 
    2258 # elif defined(__AMD64__
     2258# elif defined(RT_ARCH_AMD64
    22592259#  if RT_INLINE_ASM_GNU_STYLE 
    22602260    uint64_t u64Ret; 
     
    22802280    return fRet; 
    22812281#  endif 
    2282 # else /* !__AMD64__ */ 
     2282# else /* !RT_ARCH_AMD64 */ 
    22832283    uint32_t u32Ret; 
    22842284#  if RT_INLINE_ASM_GNU_STYLE 
    2285 #   if defined(PIC) || defined(__DARWIN__) /* darwin: 4.0.1 compiler option / bug? */ 
     2285#   if defined(PIC) || defined(RT_OS_DARWIN) /* darwin: 4.0.1 compiler option / bug? */ 
    22862286    uint32_t u32 = (uint32_t)u64New; 
    22872287    uint32_t u32Spill; 
     
    23262326    return !!u32Ret; 
    23272327#  endif 
    2328 # endif /* !__AMD64__ */ 
     2328# endif /* !RT_ARCH_AMD64 */ 
    23292329} 
    23302330#endif 
     
    24192419    { 
    24202420        mov     eax, 1 
    2421 #  ifdef __AMD64__ 
     2421#  ifdef RT_ARCH_AMD64 
    24222422        mov     rdx, [pu32] 
    24232423        lock xadd [rdx], eax 
     
    24732473    { 
    24742474        mov     eax, -1 
    2475 #  ifdef __AMD64__ 
     2475#  ifdef RT_ARCH_AMD64 
    24762476        mov     rdx, [pu32] 
    24772477        lock xadd [rdx], eax 
     
    25232523    { 
    25242524        mov     eax, [u32] 
    2525 #  ifdef __AMD64__ 
     2525#  ifdef RT_ARCH_AMD64 
    25262526        mov     rdx, [pu32] 
    25272527        lock    or [rdx], eax 
     
    25702570    { 
    25712571        mov     eax, [u32] 
    2572 #  ifdef __AMD64__ 
     2572#  ifdef RT_ARCH_AMD64 
    25732573        mov     rdx, [pu32] 
    25742574        lock and [rdx], eax 
     
    26142614    __asm 
    26152615    { 
    2616 #  ifdef __AMD64__ 
     2616#  ifdef RT_ARCH_AMD64 
    26172617        mov     rax, [pv] 
    26182618        invlpg  [rax] 
     
    26442644{ 
    26452645#  if RT_INLINE_ASM_USES_INTRIN 
    2646 #   ifdef __AMD64__ 
     2646#   ifdef RT_ARCH_AMD64 
    26472647    __stosq((unsigned __int64 *)pv, 0, /*PAGE_SIZE*/0x1000 / 8); 
    26482648#   else 
     
    26522652#  elif RT_INLINE_ASM_GNU_STYLE 
    26532653    RTUINTREG uDummy; 
    2654 #   ifdef __AMD64__ 
     2654#   ifdef RT_ARCH_AMD64 
    26552655    __asm__ __volatile__ ("rep stosq" 
    26562656                          : "=D" (pv), 
     
    26722672    __asm 
    26732673    { 
    2674 #   ifdef __AMD64__ 
     2674#   ifdef RT_ARCH_AMD64 
    26752675        xor     rax, rax 
    26762676        mov     ecx, 0200h 
     
    27152715    { 
    27162716        xor     eax, eax 
    2717 #  ifdef __AMD64__ 
     2717#  ifdef RT_ARCH_AMD64 
    27182718        mov     rcx, [cb] 
    27192719        shr     rcx, 2 
     
    27572757    __asm 
    27582758    { 
    2759 #  ifdef __AMD64__ 
     2759#  ifdef RT_ARCH_AMD64 
    27602760        mov     rcx, [cb] 
    27612761        shr     rcx, 2 
     
    27802780 * @returns u32F1 * u32F2. 
    27812781 */ 
    2782 #if RT_INLINE_ASM_EXTERNAL && !defined(__AMD64__
     2782#if RT_INLINE_ASM_EXTERNAL && !defined(RT_ARCH_AMD64
    27832783DECLASM(uint64_t) ASMMult2xU32RetU64(uint32_t u32F1, uint32_t u32F2); 
    27842784#else 
    27852785DECLINLINE(uint64_t) ASMMult2xU32RetU64(uint32_t u32F1, uint32_t u32F2) 
    27862786{ 
    2787 # ifdef __AMD64__ 
     2787# ifdef RT_ARCH_AMD64 
    27882788    return (uint64_t)u32F1 * u32F2; 
    2789 # else /* !__AMD64__ */ 
     2789# else /* !RT_ARCH_AMD64 */ 
    27902790    uint64_t u64; 
    27912791#  if RT_INLINE_ASM_GNU_STYLE 
     
    28042804#  endif 
    28052805    return u64; 
    2806 # endif /* !__AMD64__ */ 
     2806# endif /* !RT_ARCH_AMD64 */ 
    28072807} 
    28082808#endif 
     
    28142814 * @returns u32F1 * u32F2. 
    28152815 */ 
    2816 #if RT_INLINE_ASM_EXTERNAL && !defined(__AMD64__
     2816#if RT_INLINE_ASM_EXTERNAL && !defined(RT_ARCH_AMD64
    28172817DECLASM(int64_t) ASMMult2xS32RetS64(int32_t i32F1, int32_t i32F2); 
    28182818#else 
    28192819DECLINLINE(int64_t) ASMMult2xS32RetS64(int32_t i32F1, int32_t i32F2) 
    28202820{ 
    2821 # ifdef __AMD64__ 
     2821# ifdef RT_ARCH_AMD64 
    28222822    return (int64_t)i32F1 * i32F2; 
    2823 # else /* !__AMD64__ */ 
     2823# else /* !RT_ARCH_AMD64 */ 
    28242824    int64_t i64; 
    28252825#  if RT_INLINE_ASM_GNU_STYLE 
     
    28382838#  endif 
    28392839    return i64; 
    2840 # endif /* !__AMD64__ */ 
     2840# endif /* !RT_ARCH_AMD64 */ 
    28412841} 
    28422842#endif 
     
    28482848 * @returns u64 / u32. 
    28492849 */ 
    2850 #if RT_INLINE_ASM_EXTERNAL && !defined(__AMD64__
     2850#if RT_INLINE_ASM_EXTERNAL && !defined(RT_ARCH_AMD64
    28512851DECLASM(uint32_t) ASMDivU64ByU32RetU32(uint64_t u64, uint32_t u32); 
    28522852#else 
    28532853DECLINLINE(uint32_t) ASMDivU64ByU32RetU32(uint64_t u64, uint32_t u32) 
    28542854{ 
    2855 # ifdef __AMD64__ 
     2855# ifdef RT_ARCH_AMD64 
    28562856    return (uint32_t)(u64 / u32); 
    2857 # else /* !__AMD64__ */ 
     2857# else /* !RT_ARCH_AMD64 */ 
    28582858#  if RT_INLINE_ASM_GNU_STYLE 
    28592859    RTUINTREG uDummy; 
     
    28722872#  endif 
    28732873    return u32; 
    2874 # endif /* !__AMD64__ */ 
     2874# endif /* !RT_ARCH_AMD64 */ 
    28752875} 
    28762876#endif 
     
    28822882 * @returns u64 / u32. 
    28832883 */ 
    2884 #if RT_INLINE_ASM_EXTERNAL && !defined(__AMD64__
     2884#if RT_INLINE_ASM_EXTERNAL && !defined(RT_ARCH_AMD64
    28852885DECLASM(int32_t) ASMDivS64ByS32RetS32(int64_t i64, int32_t i32); 
    28862886#else 
    28872887DECLINLINE(int32_t) ASMDivS64ByS32RetS32(int64_t i64, int32_t i32) 
    28882888{ 
    2889 # ifdef __AMD64__ 
     2889# ifdef RT_ARCH_AMD64 
    28902890    return (int32_t)(i64 / i32); 
    2891 # else /* !__AMD64__ */ 
     2891# else /* !RT_ARCH_AMD64 */ 
    28922892#  if RT_INLINE_ASM_GNU_STYLE 
    28932893    RTUINTREG iDummy; 
     
    29062906#  endif 
    29072907    return i32; 
    2908 # endif /* !__AMD64__ */ 
     2908# endif /* !RT_ARCH_AMD64 */ 
    29092909} 
    29102910#endif 
     
    29282928{ 
    29292929# if RT_INLINE_ASM_GNU_STYLE 
    2930 #  ifdef __AMD64__ 
     2930#  ifdef RT_ARCH_AMD64 
    29312931    uint64_t u64Result, u64Spill; 
    29322932    __asm__ __volatile__("mulq %2\n\t" 
     
    30073007    __asm 
    30083008    { 
    3009 #  ifdef __AMD64__ 
     3009#  ifdef RT_ARCH_AMD64 
    30103010        mov     rax, [pvByte] 
    30113011        mov     al, [rax] 
     
    31003100    __asm 
    31013101    { 
    3102 #  ifdef __AMD64__ 
     3102#  ifdef RT_ARCH_AMD64 
    31033103        mov     rax, [pvBitmap] 
    31043104        mov     edx, [iBit] 
     
    31363136    __asm 
    31373137    { 
    3138 #  ifdef __AMD64__ 
     3138#  ifdef RT_ARCH_AMD64 
    31393139        mov     rax, [pvBitmap] 
    31403140        mov     edx, [iBit] 
     
    31733173    __asm 
    31743174    { 
    3175 #  ifdef __AMD64__ 
     3175#  ifdef RT_ARCH_AMD64 
    31763176        mov     rax, [pvBitmap] 
    31773177        mov     edx, [iBit] 
     
    32083208    __asm 
    32093209    { 
    3210 #  ifdef __AMD64__ 
     3210#  ifdef RT_ARCH_AMD64 
    32113211        mov     rax, [pvBitmap] 
    32123212        mov     edx, [iBit] 
     
    32443244    __asm 
    32453245    { 
    3246 #  ifdef __AMD64__ 
     3246#  ifdef RT_ARCH_AMD64 
    32473247        mov     rax, [pvBitmap] 
    32483248        mov     edx, [iBit] 
     
    32783278    __asm 
    32793279    { 
    3280 #  ifdef __AMD64__ 
     3280#  ifdef RT_ARCH_AMD64 
    32813281        mov     rax, [pvBitmap] 
    32823282        mov     edx, [iBit] 
     
    33223322    { 
    33233323        mov     edx, [iBit] 
    3324 #  ifdef __AMD64__ 
     3324#  ifdef RT_ARCH_AMD64 
    33253325        mov     rax, [pvBitmap] 
    33263326        bts     [rax], edx 
     
    33673367    { 
    33683368        mov     edx, [iBit] 
    3369 #  ifdef __AMD64__ 
     3369#  ifdef RT_ARCH_AMD64 
    33703370        mov     rax, [pvBitmap] 
    33713371        lock bts [rax], edx 
     
    34133413    { 
    34143414        mov     edx, [iBit] 
    3415 #  ifdef __AMD64__ 
     3415#  ifdef RT_ARCH_AMD64 
    34163416        mov     rax, [pvBitmap] 
    34173417        btr     [rax], edx 
     
    34603460    { 
    34613461        mov     edx, [iBit] 
    3462 #  ifdef __AMD64__ 
     3462#  ifdef RT_ARCH_AMD64 
    34633463        mov     rax, [pvBitmap] 
    34643464        lock btr [rax], edx 
     
    35063506    { 
    35073507        mov   edx, [iBit] 
    3508 #  ifdef __AMD64__ 
     3508#  ifdef RT_ARCH_AMD64 
    35093509        mov   rax, [pvBitmap] 
    35103510        btc   [rax], edx 
     
    35493549    { 
    35503550        mov     edx, [iBit] 
    3551 #  ifdef __AMD64__ 
     3551#  ifdef RT_ARCH_AMD64 
    35523552        mov     rax, [pvBitmap] 
    35533553        lock btc [rax], edx 
     
    35953595    { 
    35963596        mov   edx, [iBit] 
    3597 #  ifdef __AMD64__ 
     3597#  ifdef RT_ARCH_AMD64 
    35983598        mov   rax, [pvBitmap] 
    35993599        bt    [rax], edx 
     
    36743674        __asm__ __volatile__("repe; scasl\n\t" 
    36753675                             "je    1f\n\t" 
    3676 #  ifdef __AMD64__ 
     3676#  ifdef RT_ARCH_AMD64 
    36773677                             "lea   -4(%%rdi), %%rdi\n\t" 
    36783678                             "xorl  (%%rdi), %%eax\n\t" 
     
    37003700        __asm 
    37013701        { 
    3702 #  ifdef __AMD64__ 
     3702#  ifdef RT_ARCH_AMD64 
    37033703            mov     rdi, [pvBitmap] 
    37043704            mov     rbx, rdi 
     
    37143714            je      done 
    37153715 
    3716 #  ifdef __AMD64__ 
     3716#  ifdef RT_ARCH_AMD64 
    37173717            lea     rdi, [rdi - 4] 
    37183718            xor     eax, [rdi] 
     
    38273827        __asm__ __volatile__("repe; scasl\n\t" 
    38283828                             "je    1f\n\t" 
    3829 #  ifdef __AMD64__ 
     3829#  ifdef RT_ARCH_AMD64 
    38303830                             "lea   -4(%%rdi), %%rdi\n\t" 
    38313831                             "movl  (%%rdi), %%eax\n\t" 
     
    38533853        __asm 
    38543854        { 
    3855 #  ifdef __AMD64__ 
     3855#  ifdef RT_ARCH_AMD64 
    38563856            mov     rdi, [pvBitmap] 
    38573857            mov     rbx, rdi 
     
    38663866            repe    scasd 
    38673867            je      done 
    3868 #  ifdef __AMD64__ 
     3868#  ifdef RT_ARCH_AMD64 
    38693869            lea     rdi, [rdi - 4] 
    38703870            mov     eax, [rdi] 
  • trunk/include/iprt/asmdefs.mac

    r2988 r3636  
    4949; C/C++ world. 
    5050%ifdef __X86__ 
    51  %ifdef __DARWIN__ 
     51 %ifdef RT_OS_DARWIN 
    5252  %define NAME(name)    _ %+ NAME_OVERLOAD(name) 
    5353 %endif 
    54  %ifdef __OS2__ 
     54 %ifdef RT_OS_OS2 
    5555  %define NAME(name)    _ %+ NAME_OVERLOAD(name) 
    5656 %endif 
    57  %ifdef __WIN__ 
     57 %ifdef RT_OS_WINDOWS 
    5858  %define NAME(name)    _ %+ NAME_OVERLOAD(name) 
    5959 %endif 
     
    492492; @todo figure out what 64-bit Windows does (I don't recall right now). 
    493493%ifdef __X86__ 
    494  %ifdef __DARWIN__ 
     494 %ifdef RT_OS_DARWIN 
    495495  %define RTLRD_CB          16 
    496496 %else 
  • trunk/include/iprt/cdefs.h

    r3630 r3636  
    6464#define __AMD64__ 
    6565#define __X86__ 
     66#define RT_ARCH_AMD64 
     67#define RT_ARCH_X86 
    6668#define IN_RING0 
    6769#define IN_RING3 
     
    8082#endif /* __DOXYGEN__ */ 
    8183 
     84/** @def RT_ARCH_X86 
     85 * Indicates that we're compiling for the X86 architecture. 
     86 */ 
     87 
     88/** @def RT_ARCH_AMD64 
     89 * Indicates that we're compiling for the AMD64 architecture. 
     90 */ 
     91#if !defined(RT_ARCH_X86) && !defined(RT_ARCH_AMD64) 
     92# if defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) || defined(__AMD64__) 
     93#  define RT_ARCH_AMD64 
     94# elif defined(__i386__) || defined(_M_IX86) || defined(__X86__) 
     95#  define RT_ARCH_X86 
     96# else /* PORTME: append test for new archs. */ 
     97#  error "Check what predefined stuff your compiler uses to indicate architecture." 
     98# endif 
     99#elif defined(RT_ARCH_X86) && defined(RT_ARCH_AMD64) /* PORTME: append new archs. */ 
     100# error "Both RT_ARCH_X86 and RT_ARCH_AMD64 cannot be defined at the same time!" 
     101#endif 
     102 
     103 
    82104/** @def __X86__ 
    83105 * Indicates that we're compiling for the X86 architecture. 
     106 * @deprecated 
    84107 */ 
    85108 
    86109/** @def __AMD64__ 
    87110 * Indicates that we're compiling for the AMD64 architecture. 
     111 * @deprecated 
    88112 */ 
    89113#if !defined(__X86__) && !defined(__AMD64__) 
    90 # if defined(__amd64__) || defined(__x86_64__) || defined(_M_X64) 
     114# if defined(RT_ARCH_AMD64) 
    91115#  define __AMD64__ 
    92 # elif defined(__i386__) || defined(_M_IX86) 
     116# elif defined(RT_ARCH_X86) 
    93117#  define __X86__ 
    94118# else 
     
    97121#elif defined(__X86__) && defined(__AMD64__) 
    98122# error "Both __X86__ and __AMD64__ cannot be defined at the same time!" 
     123#elif defined(__X86__) && !defined(RT_ARCH_X86) 
     124# error "Both __X86__ without RT_ARCH_X86!" 
     125#elif defined(__AMD64__) && !defined(RT_ARCH_AMD64) 
     126# error "Both __AMD64__ without RT_ARCH_AMD64!" 
    99127#endif 
    100128 
     
    127155 */ 
    128156#ifndef ARCH_BITS 
    129 # if defined(__AMD64__
     157# if defined(RT_ARCH_AMD64
    130158#  define ARCH_BITS 64 
    131159# else 
     
    388416#ifdef _MSC_VER 
    389417# define RTCALL     __cdecl 
    390 #elif defined(__GNUC__) && defined(IN_RING0) && !(defined(__OS2__) || defined(__AMD64__)) /* the latter is kernel/gcc */ 
     418#elif defined(__GNUC__) && defined(IN_RING0) && !(defined(RT_OS_OS2) || defined(RT_ARCH_AMD64)) /* the latter is kernel/gcc */ 
    391419# define RTCALL     __attribute__((cdecl,regparm(0))) 
    392420#else 
     
    398426 * @param   type    The return type of the function declaration. 
    399427 */ 
    400 #if defined(_MSC_VER) || defined(__OS2__
     428#if defined(_MSC_VER) || defined(RT_OS_OS2
    401429# define DECLEXPORT(type)       __declspec(dllexport) type 
    402430#else 
     
    412440 * @param   type    The return type of the function declaration. 
    413441 */ 
    414 #if defined(_MSC_VER) || (defined(__OS2__) && !defined(__IBMC__) && !defined(__IBMCPP__)) 
     442#if defined(_MSC_VER) || (defined(RT_OS_OS2) && !defined(__IBMC__) && !defined(__IBMCPP__)) 
    415443# define DECLIMPORT(type)       __declspec(dllimport) type 
    416444#else 
     
    800828#define RT_ELEMENTS(aArray)         ( sizeof(aArray) / sizeof((aArray)[0]) ) 
    801829 
    802 #ifdef __OS2__ 
     830#ifdef RT_OS_OS2 
    803831/* Undefine RT_MAX since there is an unfortunate clash with the max  
    804832   resource type define in os2.h. */ 
     
    10051033 * compiling kernel code. 
    10061034 */ 
    1007 #if defined(__DARWIN__) \ 
     1035#if defined(RT_OS_DARWIN) \ 
    10081036  && !defined(KERNEL) \ 
    10091037  && !defined(RT_NO_BSD_PARAM_H_UNDEFING) \ 
     
    11291157 * @param   ptr 
    11301158 */ 
    1131 #if defined(__AMD64__
     1159#if defined(RT_ARCH_AMD64
    11321160# ifdef IN_RING3 
    1133 #  if defined(__DARWIN__) /* first 4GB is reserved for legacy kernel. */ 
     1161#  if defined(RT_OS_DARWIN) /* first 4GB is reserved for legacy kernel. */ 
    11341162#   define VALID_PTR(ptr)   (   (uintptr_t)(ptr) >= _4G \ 
    11351163                             && !((uintptr_t)(ptr) & 0xffff800000000000ULL) ) 
     
    11431171                                 || ((uintptr_t)(ptr) & 0xffff800000000000ULL) == 0) ) 
    11441172# endif /* !IN_RING3 */ 
    1145 #elif defined(__X86__
     1173#elif defined(RT_ARCH_X86
    11461174# define VALID_PTR(ptr)     ( (uintptr_t)(ptr) + 0x1000U >= 0x2000U ) 
    11471175#else 
  • trunk/include/iprt/err.h

    r3630 r3636  
    206206#define RTErrGetFull(rc)        (RTErrGet(rc)->pszMsgFull) 
    207207 
    208 #ifdef __WIN__ 
     208#ifdef RT_OS_WINDOWS 
    209209/** 
    210210 * Windows error code message. 
     
    231231 */ 
    232232RTDECL(PCRTWINERRMSG) RTErrWinGet(long rc); 
    233 #endif /* __WIN__ */ 
     233#endif /* RT_OS_WINDOWS */ 
    234234 
    235235#endif /* IN_RING3 */ 
  • trunk/include/iprt/file.h

    r3630 r3636  
    3939/** Platform specific text line break. 
    4040 * @deprecated Use text I/O streams and '\\n'. See iprt/stream.h. */ 
    41 #if defined(__OS2__) || defined(__WIN__
     41#if defined(RT_OS_OS2) || defined(RT_OS_WINDOWS
    4242# define RTFILE_LINEFEED    "\r\n" 
    4343#else 
  • trunk/include/iprt/log.h

    r3630 r3636  
    398398 */ 
    399399#ifdef LOG_ENABLED 
    400 # if defined(__AMD64__) || defined(LOG_USE_C99) 
     400# if defined(RT_ARCH_AMD64) || defined(LOG_USE_C99) 
    401401#  define _LogRemoveParentheseis(...)               __VA_ARGS__ 
    402402#  define _LogIt(pvInst, fFlags, iGroup, ...)       RTLogLoggerEx((PRTLOGGER)pvInst, fFlags, iGroup, __VA_ARGS__) 
     
    680680 * Write to specific logger if group enabled. 
    681681 */ 
    682 #if defined(__AMD64__) || defined(LOG_USE_C99) 
     682#if defined(RT_ARCH_AMD64) || defined(LOG_USE_C99) 
    683683# define _LogRelRemoveParentheseis(...)                __VA_ARGS__ 
    684684#  define _LogRelIt(pvInst, fFlags, iGroup, ...)       RTLogLoggerEx((PRTLOGGER)pvInst, fFlags, iGroup, __VA_ARGS__) 
  • trunk/include/iprt/mem.h

    r3630 r3636  
    154154RTDECL(void)      RTMemExecFree(void *pv); 
    155155 
    156 #if defined(IN_RING0) && defined(__AMD64__) && defined(__LINUX__) 
     156#if defined(IN_RING0) && defined(RT_ARCH_AMD64) && defined(__LINUX__) 
    157157/** 
    158158 * Donate read+write+execute memory to the exec heap. 
  • trunk/include/iprt/nocrt/fenv.h

    r3631 r3636  
    2323 
    2424#include <iprt/cdefs.h> 
    25 #ifdef __AMD64__ 
     25#ifdef RT_ARCH_AMD64 
    2626# include <iprt/nocrt/amd64/fenv.h> 
    27 #elif defined(__X86__
     27#elif defined(RT_ARCH_X86
    2828# include <iprt/nocrt/x86/fenv.h> 
    2929#else 
  • trunk/include/iprt/nocrt/limits.h

    r3631 r3636  
    4646#define INT_MIN         (-0x7fffffff - 1) 
    4747&n