Index: /trunk/include/iprt/x86.h
===================================================================
--- /trunk/include/iprt/x86.h	(revision 41267)
+++ /trunk/include/iprt/x86.h	(revision 41268)
@@ -47,4 +47,5 @@
  */
 
+#ifndef VBOX_FOR_DTRACE_LIB
 /**
  * EFLAGS Bits.
@@ -101,4 +102,5 @@
 /** Pointer to const EFLAGS bits. */
 typedef const X86EFLAGSBITS *PCX86EFLAGSBITS;
+#endif /* !VBOX_FOR_DTRACE_LIB */
 
 /**
@@ -109,6 +111,8 @@
     /** The plain unsigned view. */
     uint32_t        u;
+#ifndef VBOX_FOR_DTRACE_LIB
     /** The bitfield view. */
     X86EFLAGSBITS   Bits;
+#endif
     /** The 8-bit view. */
     uint8_t         au8[4];
@@ -132,6 +136,8 @@
     /** The plain unsigned view. */
     uint64_t        u;
+#ifndef VBOX_FOR_DTRACE_LIB
     /** The bitfield view. */
     X86EFLAGSBITS   Bits;
+#endif
     /** The 8-bit view. */
     uint8_t         au8[8];
@@ -2207,4 +2213,5 @@
  */
 
+#ifndef VBOX_FOR_DTRACE_LIB
 /**
  * Descriptor attributes.
@@ -2233,5 +2240,5 @@
     unsigned    u1Granularity : 1;
 } X86DESCATTRBITS;
-
+#endif /* !VBOX_FOR_DTRACE_LIB */
 
 #pragma pack(1)
@@ -2240,6 +2247,8 @@
     /** Unsigned integer view. */
     uint32_t           u;
+#ifndef VBOX_FOR_DTRACE_LIB
     /** Normal view. */
     X86DESCATTRBITS    n;
+#endif
 } X86DESCATTR;
 #pragma pack()
Index: /trunk/src/VBox/VMM/testcase/tstVMStruct.h
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstVMStruct.h	(revision 41267)
+++ /trunk/src/VBox/VMM/testcase/tstVMStruct.h	(revision 41268)
@@ -50,5 +50,4 @@
 #endif
     GEN_CHECK_OFF(CPUM, GuestEntry);
-
 
     GEN_CHECK_SIZE(CPUMCPU); // has .mac
@@ -140,10 +139,59 @@
 #endif
 
-
-#ifndef VBOX_FOR_DTRACE_LIB
     GEN_CHECK_SIZE(CPUMCTX);
+    GEN_CHECK_OFF(CPUMCTX, fpu);
+    GEN_CHECK_OFF(CPUMCTX, rdi);
+    GEN_CHECK_OFF(CPUMCTX, rsi);
+    GEN_CHECK_OFF(CPUMCTX, rbp);
+    GEN_CHECK_OFF(CPUMCTX, rax);
+    GEN_CHECK_OFF(CPUMCTX, rbx);
+    GEN_CHECK_OFF(CPUMCTX, rdx);
+    GEN_CHECK_OFF(CPUMCTX, rcx);
+    GEN_CHECK_OFF(CPUMCTX, rsp);
+    GEN_CHECK_OFF(CPUMCTX, lss_esp);
+    GEN_CHECK_OFF(CPUMCTX, ss);
+    GEN_CHECK_OFF(CPUMCTX, gs);
+    GEN_CHECK_OFF(CPUMCTX, fs);
+    GEN_CHECK_OFF(CPUMCTX, es);
+    GEN_CHECK_OFF(CPUMCTX, ds);
+    GEN_CHECK_OFF(CPUMCTX, cs);
+    GEN_CHECK_OFF(CPUMCTX, rflags);
+    GEN_CHECK_OFF(CPUMCTX, rip);
+    GEN_CHECK_OFF(CPUMCTX, r8);
+    GEN_CHECK_OFF(CPUMCTX, r9);
+    GEN_CHECK_OFF(CPUMCTX, r10);
+    GEN_CHECK_OFF(CPUMCTX, r11);
+    GEN_CHECK_OFF(CPUMCTX, r12);
+    GEN_CHECK_OFF(CPUMCTX, r13);
+    GEN_CHECK_OFF(CPUMCTX, r14);
+    GEN_CHECK_OFF(CPUMCTX, r15);
+    GEN_CHECK_OFF(CPUMCTX, esHid);
+    GEN_CHECK_OFF(CPUMCTX, csHid);
+    GEN_CHECK_OFF(CPUMCTX, ssHid);
+    GEN_CHECK_OFF(CPUMCTX, dsHid);
+    GEN_CHECK_OFF(CPUMCTX, fsHid);
+    GEN_CHECK_OFF(CPUMCTX, gsHid);
+    GEN_CHECK_OFF(CPUMCTX, cr0);
+    GEN_CHECK_OFF(CPUMCTX, cr2);
+    GEN_CHECK_OFF(CPUMCTX, cr3);
+    GEN_CHECK_OFF(CPUMCTX, cr4);
+    GEN_CHECK_OFF(CPUMCTX, dr);
+    GEN_CHECK_OFF(CPUMCTX, gdtr);
+    GEN_CHECK_OFF(CPUMCTX, idtr);
+    GEN_CHECK_OFF(CPUMCTX, ldtr);
+    GEN_CHECK_OFF(CPUMCTX, tr);
+    GEN_CHECK_OFF(CPUMCTX, SysEnter);
+    GEN_CHECK_OFF(CPUMCTX, msrEFER);
+    GEN_CHECK_OFF(CPUMCTX, msrSTAR);
+    GEN_CHECK_OFF(CPUMCTX, msrPAT);
+    GEN_CHECK_OFF(CPUMCTX, msrLSTAR);
+    GEN_CHECK_OFF(CPUMCTX, msrCSTAR);
+    GEN_CHECK_OFF(CPUMCTX, msrSFMASK);
+    GEN_CHECK_OFF(CPUMCTX, msrKERNELGSBASE);
+    GEN_CHECK_OFF(CPUMCTX, ldtrHid);
+    GEN_CHECK_OFF(CPUMCTX, trHid);
+
     GEN_CHECK_SIZE(CPUMCTXMSRS);
     GEN_CHECK_SIZE(CPUMCTXCORE);
-#endif
 
 #ifndef VBOX_FOR_DTRACE_LIB
Index: /trunk/src/VBox/VMM/testcase/tstVMStructDTrace.cpp
===================================================================
--- /trunk/src/VBox/VMM/testcase/tstVMStructDTrace.cpp	(revision 41267)
+++ /trunk/src/VBox/VMM/testcase/tstVMStructDTrace.cpp	(revision 41268)
@@ -127,4 +127,10 @@
            "}\n"
            "\n"
+           "dtrace:::BEGIN\n"
+           "{\n"
+           "    printf(\"Success!\\n\");\n"
+           "    exit(0);\n"
+           "}\n"
+           "\n"
            );
 
