VirtualBox

Changeset 3636 in vbox


Ignore:
Timestamp:
Jul 16, 2007 1:00:42 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
22907
Message:

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

Location:
trunk/include/iprt
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • 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
    48 #if defined(__X86__) || defined(__WIN__)
     48#if defined(__X86__) || defined(RT_OS_WINDOWS)
    4949# define LONG_BIT       32
    5050# define ULONG_MAX      0xffffffffU
  • trunk/include/iprt/nocrt/math.h

    r3631 r3636  
    810810 * Include inlined implementations.
    811811 */
    812 #ifdef __AMD64__
     812#ifdef RT_ARCH_AMD64
    813813# include <iprt/nocrt/amd64/math.h>
    814 #elif defined(__X86__)
     814#elif defined(RT_ARCH_X86)
    815815# include <iprt/nocrt/x86/math.h>
    816816#endif
  • trunk/include/iprt/nocrt/setjmp.h

    r3631 r3636  
    2626__BEGIN_DECLS
    2727
    28 #ifdef __AMD64__
     28#ifdef RT_ARCH_AMD64
    2929typedef uint64_t RT_NOCRT(jmp_buf)[8];
    3030#else
  • trunk/include/iprt/nocrt/stddef.h

    r696 r3636  
    1 /* dummy - fix header */
    2 
    31#include <iprt/types.h>
  • trunk/include/iprt/path.h

    r3630 r3636  
    4444 *         never have to use this define.
    4545 */
    46 #if defined(__OS2__) || defined(__WIN__)
     46#if defined(RT_OS_OS2) || defined(RT_OS_WINDOWS)
    4747# define RTPATH_SLASH       '\\'
    4848#else
     
    6161 *         never have to use this define.
    6262 */
    63 #if defined(__OS2__) || defined(__WIN__)
     63#if defined(RT_OS_OS2) || defined(RT_OS_WINDOWS)
    6464# define RTPATH_SLASH_STR   "\\"
    6565#else
     
    7474 * @returns @param      ch      Char to check.
    7575 */
    76 #if defined(__OS2__) || defined(__WIN__)
     76#if defined(RT_OS_OS2) || defined(RT_OS_WINDOWS)
    7777# define RTPATH_IS_SLASH(ch)    ( (ch) == '\\' || (ch) == '/' )
    7878#else
     
    9292 * @returns @param      ch      Char to check.
    9393 */
    94 #if defined(__OS2__) || defined(__WIN__)
     94#if defined(RT_OS_OS2) || defined(RT_OS_WINDOWS)
    9595# define RTPATH_IS_VOLSEP(ch)   ( (ch) == ':' )
    9696#else
  • trunk/include/iprt/spinlock.h

    r3630 r3636  
    4545#  define RTSPINLOCKTMP_INITIALIZER { 0 }
    4646
    47 # elif defined(__WIN__)
     47# elif defined(RT_OS_WINDOWS)
    4848    /** The saved [R|E]FLAGS. */
    4949    RTUINTREG       uFlags;
     
    5757#  define RTSPINLOCKTMP_INITIALIZER { 0 }
    5858
    59 # elif defined(__DARWIN__)
     59# elif defined(RT_OS_DARWIN)
    6060    /** The saved [R|E]FLAGS. */
    6161    RTUINTREG       uFlags;
    6262#  define RTSPINLOCKTMP_INITIALIZER { 0 }
    6363
    64 # elif defined(__OS2__) || defined(__FREEBSD__)
     64# elif defined(RT_OS_OS2) || defined(RT_OS_FREEBSD)
    6565    /** The saved [R|E]FLAGS. (dummy) */
    6666    RTUINTREG       uFlags;
  • trunk/include/iprt/string.h

    r3630 r3636  
    2828#if defined(__LINUX__) && defined(__KERNEL__)
    2929# include <linux/string.h>
    30 #elif defined(__FREEBSD__) && defined(_KERNEL)
     30#elif defined(RT_OS_FREEBSD) && defined(_KERNEL)
    3131  /*
    3232   * Kludge for the FreeBSD kernel:
     
    4646 * IPRT instead of the operating environment.
    4747 */
    48 #if defined(__DARWIN__) && defined(KERNEL)
     48#if defined(RT_OS_DARWIN) && defined(KERNEL)
    4949__BEGIN_DECLS
    5050void *memchr(const void *pv, int ch, size_t cb);
  • trunk/include/iprt/types.h

    r3630 r3636  
    3030#ifndef IPRT_NO_CRT
    3131
    32 # if defined(__DARWIN__) && defined(KERNEL)
     32# if defined(RT_OS_DARWIN) && defined(KERNEL)
    3333    /*
    3434     * Klugde for the darwin kernel:
     
    4141#  include <sys/types.h>
    4242
    43 # elif defined(__FREEBSD__) && defined(_KERNEL)
     43# elif defined(RT_OS_FREEBSD) && defined(_KERNEL)
    4444    /*
    4545     * Kludge for the FreeBSD kernel:
     
    117117#ifndef __cplusplus
    118118# if defined(__GNUC__)
    119 #  if defined(__DARWIN__) && defined(_STDBOOL_H)
     119#  if defined(RT_OS_DARWIN) && defined(_STDBOOL_H)
    120120#   undef bool
    121121#  endif
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette