Changeset 41247 in vbox for trunk/include/VBox/vmm
- Timestamp:
- May 10, 2012 8:07:11 PM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77897
- Location:
- trunk/include/VBox/vmm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/cpumctx.h
r41218 r41247 27 27 #define ___VBox_vmm_cpumctx_h 28 28 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 31 34 32 35 … … 82 85 */ 83 86 #ifdef VBOX_FOR_DTRACE_LIB 84 # define CPUM_UNION_NAME u87 # define CPUM_UNION_NAME(a_Nm) a_Nm 85 88 #elif defined(VBOX_WITHOUT_UNNAMED_UNIONS) 86 # define CPUM_UNION_NAME u89 # define CPUM_UNION_NAME(a_Nm) a_Nm 87 90 #else 88 # define CPUM_UNION_NAME 91 # define CPUM_UNION_NAME(a_Nm) 89 92 #endif 90 93 … … 103 106 uint32_t edi; 104 107 uint64_t rdi; 105 } CPUM_UNION_NAME ;108 } CPUM_UNION_NAME(rdi); 106 109 union 107 110 { … … 109 112 uint32_t esi; 110 113 uint64_t rsi; 111 } CPUM_UNION_NAME ;114 } CPUM_UNION_NAME(rsi); 112 115 union 113 116 { … … 115 118 uint32_t ebp; 116 119 uint64_t rbp; 117 } CPUM_UNION_NAME ;120 } CPUM_UNION_NAME(rbp); 118 121 union 119 122 { … … 121 124 uint32_t eax; 122 125 uint64_t rax; 123 } CPUM_UNION_NAME ;126 } CPUM_UNION_NAME(rax); 124 127 union 125 128 { … … 127 130 uint32_t ebx; 128 131 uint64_t rbx; 129 } CPUM_UNION_NAME ;132 } CPUM_UNION_NAME(rbx); 130 133 union 131 134 { … … 133 136 uint32_t edx; 134 137 uint64_t rdx; 135 } CPUM_UNION_NAME ;138 } CPUM_UNION_NAME(rdx); 136 139 union 137 140 { … … 139 142 uint32_t ecx; 140 143 uint64_t rcx; 141 } CPUM_UNION_NAME ;144 } CPUM_UNION_NAME(rcx); 142 145 union 143 146 { … … 145 148 uint32_t esp; 146 149 uint64_t rsp; 147 } CPUM_UNION_NAME ;150 } CPUM_UNION_NAME(rsp); 148 151 /* 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. */ 149 152 uint32_t lss_esp; … … 166 169 X86EFLAGS eflags; 167 170 X86RFLAGS rflags; 168 } CPUM_UNION_NAME ;171 } CPUM_UNION_NAME(rflags); 169 172 union 170 173 { … … 172 175 uint32_t eip; 173 176 uint64_t rip; 174 } CPUM_UNION_NAME ;177 } CPUM_UNION_NAME(rip); 175 178 176 179 uint64_t r8; … … 221 224 uint32_t edi; 222 225 uint64_t rdi; 223 } CPUM_UNION_NAME ;226 } CPUM_UNION_NAME(rdi); 224 227 union 225 228 { … … 228 231 uint32_t esi; 229 232 uint64_t rsi; 230 } CPUM_UNION_NAME ;233 } CPUM_UNION_NAME(rsi); 231 234 union 232 235 { … … 234 237 uint32_t ebp; 235 238 uint64_t rbp; 236 } CPUM_UNION_NAME ;239 } CPUM_UNION_NAME(rbp); 237 240 union 238 241 { … … 241 244 uint32_t eax; 242 245 uint64_t rax; 243 } CPUM_UNION_NAME ;246 } CPUM_UNION_NAME(rax); 244 247 union 245 248 { … … 248 251 uint32_t ebx; 249 252 uint64_t rbx; 250 } CPUM_UNION_NAME ;253 } CPUM_UNION_NAME(rbx); 251 254 union 252 255 { … … 255 258 uint32_t edx; 256 259 uint64_t rdx; 257 } CPUM_UNION_NAME ;260 } CPUM_UNION_NAME(rdx); 258 261 union 259 262 { … … 262 265 uint32_t ecx; 263 266 uint64_t rcx; 264 } CPUM_UNION_NAME ;267 } CPUM_UNION_NAME(rcx); 265 268 union 266 269 { … … 268 271 uint32_t esp; 269 272 uint64_t rsp; 270 } CPUM_UNION_NAME ;273 } CPUM_UNION_NAME(rsp); 271 274 /** @note lss esp, [] in the switcher needs some space, so we reserve it here 272 275 * instead of relying on the exact esp & ss layout as before (prevented … … 291 294 X86EFLAGS eflags; 292 295 X86RFLAGS rflags; 293 } CPUM_UNION_NAME ;296 } CPUM_UNION_NAME(rflags); 294 297 union 295 298 { … … 297 300 uint32_t eip; 298 301 uint64_t rip; 299 } CPUM_UNION_NAME ;302 } CPUM_UNION_NAME(rip); 300 303 301 304 uint64_t r8; … … 423 426 uint32_t edi; 424 427 uint64_t rdi; 425 } CPUM_UNION_NAME ;428 } CPUM_UNION_NAME(rdi); 426 429 union 427 430 { 428 431 uint32_t esi; 429 432 uint64_t rsi; 430 } CPUM_UNION_NAME ;433 } CPUM_UNION_NAME(rsi); 431 434 union 432 435 { 433 436 uint32_t ebp; 434 437 uint64_t rbp; 435 } CPUM_UNION_NAME ;438 } CPUM_UNION_NAME(rbp); 436 439 union 437 440 { 438 441 uint32_t eax; 439 442 uint64_t rax; 440 } CPUM_UNION_NAME ;443 } CPUM_UNION_NAME(rax); 441 444 union 442 445 { 443 446 uint32_t ebx; 444 447 uint64_t rbx; 445 } CPUM_UNION_NAME ;448 } CPUM_UNION_NAME(rbx); 446 449 union 447 450 { 448 451 uint32_t edx; 449 452 uint64_t rdx; 450 } CPUM_UNION_NAME ;453 } CPUM_UNION_NAME(rdx); 451 454 union 452 455 { 453 456 uint32_t ecx; 454 457 uint64_t rcx; 455 } CPUM_UNION_NAME ;458 } CPUM_UNION_NAME(rcx); 456 459 /** @note We rely on the exact layout, because we use lss esp, [] in the 457 460 * switcher. */ … … 477 480 X86EFLAGS eflags; 478 481 X86RFLAGS rflags; 479 } CPUM_UNION_NAME ;482 } CPUM_UNION_NAME(rflags); 480 483 union 481 484 { 482 485 uint32_t eip; 483 486 uint64_t rip; 484 } CPUM_UNION_NAME ;487 } CPUM_UNION_NAME(rip); 485 488 486 489 uint64_t r8; -
trunk/include/VBox/vmm/vm.h
r41218 r41247 27 27 #define ___VBox_vmm_vm_h 28 28 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 35 40 36 41 … … 903 908 /** @} */ 904 909 910 #ifndef VBOX_FOR_DTRACE_LIB /** @todo VBoxCPP expression evaluation */ 905 911 #if HC_ARCH_BITS != 64 906 912 /** Padding - the unions must be aligned on a 64 bytes boundary and the unions 907 913 * must start at the same offset on both 64-bit and 32-bit hosts. */ 908 914 uint8_t abAlignment1[HC_ARCH_BITS == 32 ? 32 : 0]; 915 #endif 909 916 #endif 910 917
Note:
See TracChangeset
for help on using the changeset viewer.