VirtualBox

Changeset 41247 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
May 10, 2012 8:07:11 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
77897
Message:

More dtrace library stuff. On 64-bit solaris dtrace can now grok the library files (point it to them using the -L parameter).

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/cpumctx.h

    r41218 r41247  
    2727#define ___VBox_vmm_cpumctx_h
    2828
    29 #include <iprt/types.h>
    30 #include <iprt/x86.h>
     29#ifndef VBOX_FOR_DTRACE_LIB
     30# include <iprt/x86.h>
     31#else
     32# pragma D depends_on library x86.d
     33#endif
    3134
    3235
     
    8285 */
    8386#ifdef VBOX_FOR_DTRACE_LIB
    84 # define CPUM_UNION_NAME    u
     87# define CPUM_UNION_NAME(a_Nm)  a_Nm
    8588#elif defined(VBOX_WITHOUT_UNNAMED_UNIONS)
    86 # define CPUM_UNION_NAME    u
     89# define CPUM_UNION_NAME(a_Nm)  a_Nm
    8790#else
    88 # define CPUM_UNION_NAME
     91# define CPUM_UNION_NAME(a_Nm)
    8992#endif
    9093
     
    103106        uint32_t        edi;
    104107        uint64_t        rdi;
    105     } CPUM_UNION_NAME;
     108    } CPUM_UNION_NAME(rdi);
    106109    union
    107110    {
     
    109112        uint32_t        esi;
    110113        uint64_t        rsi;
    111     } CPUM_UNION_NAME;
     114    } CPUM_UNION_NAME(rsi);
    112115    union
    113116    {
     
    115118        uint32_t        ebp;
    116119        uint64_t        rbp;
    117     } CPUM_UNION_NAME;
     120    } CPUM_UNION_NAME(rbp);
    118121    union
    119122    {
     
    121124        uint32_t        eax;
    122125        uint64_t        rax;
    123     } CPUM_UNION_NAME;
     126    } CPUM_UNION_NAME(rax);
    124127    union
    125128    {
     
    127130        uint32_t        ebx;
    128131        uint64_t        rbx;
    129     } CPUM_UNION_NAME;
     132    } CPUM_UNION_NAME(rbx);
    130133    union
    131134    {
     
    133136        uint32_t        edx;
    134137        uint64_t        rdx;
    135     } CPUM_UNION_NAME;
     138    } CPUM_UNION_NAME(rdx);
    136139    union
    137140    {
     
    139142        uint32_t        ecx;
    140143        uint64_t        rcx;
    141     } CPUM_UNION_NAME;
     144    } CPUM_UNION_NAME(rcx);
    142145    union
    143146    {
     
    145148        uint32_t        esp;
    146149        uint64_t        rsp;
    147     } CPUM_UNION_NAME;
     150    } CPUM_UNION_NAME(rsp);
    148151    /* Note: lss esp, [] in the switcher needs some space, so we reserve it here instead of relying on the exact esp & ss layout as before. */
    149152    uint32_t            lss_esp;
     
    166169        X86EFLAGS       eflags;
    167170        X86RFLAGS       rflags;
    168     } CPUM_UNION_NAME;
     171    } CPUM_UNION_NAME(rflags);
    169172    union
    170173    {
     
    172175        uint32_t        eip;
    173176        uint64_t        rip;
    174     } CPUM_UNION_NAME;
     177    } CPUM_UNION_NAME(rip);
    175178
    176179    uint64_t            r8;
     
    221224        uint32_t        edi;
    222225        uint64_t        rdi;
    223     } CPUM_UNION_NAME;
     226    } CPUM_UNION_NAME(rdi);
    224227    union
    225228    {
     
    228231        uint32_t        esi;
    229232        uint64_t        rsi;
    230     } CPUM_UNION_NAME;
     233    } CPUM_UNION_NAME(rsi);
    231234    union
    232235    {
     
    234237        uint32_t        ebp;
    235238        uint64_t        rbp;
    236     } CPUM_UNION_NAME;
     239    } CPUM_UNION_NAME(rbp);
    237240    union
    238241    {
     
    241244        uint32_t        eax;
    242245        uint64_t        rax;
    243     } CPUM_UNION_NAME;
     246    } CPUM_UNION_NAME(rax);
    244247    union
    245248    {
     
    248251        uint32_t        ebx;
    249252        uint64_t        rbx;
    250     } CPUM_UNION_NAME;
     253    } CPUM_UNION_NAME(rbx);
    251254    union
    252255    {
     
    255258        uint32_t        edx;
    256259        uint64_t        rdx;
    257     } CPUM_UNION_NAME;
     260    } CPUM_UNION_NAME(rdx);
    258261    union
    259262    {
     
    262265        uint32_t        ecx;
    263266        uint64_t        rcx;
    264     } CPUM_UNION_NAME;
     267    } CPUM_UNION_NAME(rcx);
    265268    union
    266269    {
     
    268271        uint32_t        esp;
    269272        uint64_t        rsp;
    270     } CPUM_UNION_NAME;
     273    } CPUM_UNION_NAME(rsp);
    271274    /** @note lss esp, [] in the switcher needs some space, so we reserve it here
    272275     *        instead of relying on the exact esp & ss layout as before (prevented
     
    291294        X86EFLAGS       eflags;
    292295        X86RFLAGS       rflags;
    293     } CPUM_UNION_NAME;
     296    } CPUM_UNION_NAME(rflags);
    294297    union
    295298    {
     
    297300        uint32_t        eip;
    298301        uint64_t        rip;
    299     } CPUM_UNION_NAME;
     302    } CPUM_UNION_NAME(rip);
    300303
    301304    uint64_t            r8;
     
    423426        uint32_t        edi;
    424427        uint64_t        rdi;
    425     } CPUM_UNION_NAME;
     428    } CPUM_UNION_NAME(rdi);
    426429    union
    427430    {
    428431        uint32_t        esi;
    429432        uint64_t        rsi;
    430     } CPUM_UNION_NAME;
     433    } CPUM_UNION_NAME(rsi);
    431434    union
    432435    {
    433436        uint32_t        ebp;
    434437        uint64_t        rbp;
    435     } CPUM_UNION_NAME;
     438    } CPUM_UNION_NAME(rbp);
    436439    union
    437440    {
    438441        uint32_t        eax;
    439442        uint64_t        rax;
    440     } CPUM_UNION_NAME;
     443    } CPUM_UNION_NAME(rax);
    441444    union
    442445    {
    443446        uint32_t        ebx;
    444447        uint64_t        rbx;
    445     } CPUM_UNION_NAME;
     448    } CPUM_UNION_NAME(rbx);
    446449    union
    447450    {
    448451        uint32_t        edx;
    449452        uint64_t        rdx;
    450     } CPUM_UNION_NAME;
     453    } CPUM_UNION_NAME(rdx);
    451454    union
    452455    {
    453456        uint32_t        ecx;
    454457        uint64_t        rcx;
    455     } CPUM_UNION_NAME;
     458    } CPUM_UNION_NAME(rcx);
    456459    /** @note We rely on the exact layout, because we use lss esp, [] in the
    457460     *        switcher. */
     
    477480        X86EFLAGS       eflags;
    478481        X86RFLAGS       rflags;
    479     } CPUM_UNION_NAME;
     482    } CPUM_UNION_NAME(rflags);
    480483    union
    481484    {
    482485        uint32_t        eip;
    483486        uint64_t        rip;
    484     } CPUM_UNION_NAME;
     487    } CPUM_UNION_NAME(rip);
    485488
    486489    uint64_t            r8;
  • trunk/include/VBox/vmm/vm.h

    r41218 r41247  
    2727#define ___VBox_vmm_vm_h
    2828
    29 #include <VBox/types.h>
    30 #include <VBox/vmm/cpum.h>
    31 #include <VBox/vmm/stam.h>
    32 #include <VBox/vmm/vmapi.h>
    33 #include <VBox/vmm/vmm.h>
    34 #include <VBox/sup.h>
     29#ifndef VBOX_FOR_DTRACE_LIB
     30# include <VBox/types.h>
     31# include <VBox/vmm/cpum.h>
     32# include <VBox/vmm/stam.h>
     33# include <VBox/vmm/vmapi.h>
     34# include <VBox/vmm/vmm.h>
     35# include <VBox/sup.h>
     36#else
     37# pragma D depends_on library vbox-types.d
     38#endif
     39
    3540
    3641
     
    903908    /** @} */
    904909
     910#ifndef VBOX_FOR_DTRACE_LIB /** @todo VBoxCPP expression evaluation */
    905911#if HC_ARCH_BITS != 64
    906912    /** Padding - the unions must be aligned on a 64 bytes boundary and the unions
    907913     *  must start at the same offset on both 64-bit and 32-bit hosts. */
    908914    uint8_t                     abAlignment1[HC_ARCH_BITS == 32 ? 32 : 0];
     915#endif
    909916#endif
    910917
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