Changeset 41259 in vbox for trunk/src/VBox/VMM
- Timestamp:
- May 11, 2012 8:18:18 PM (13 years ago)
- Location:
- trunk/src/VBox/VMM
- Files:
-
- 5 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/Makefile.kmk
r41247 r41259 576 576 $(VMMLibDTrace_0_OUTDIR)/vm.d \ 577 577 $(VMMLibDTrace_0_OUTDIR)/cpumctx.d \ 578 $(VMMLibDTrace_0_OUTDIR)/CPUMInternal.d \ 578 579 $(VMMLibDTrace_0_OUTDIR)/x86.d \ 579 580 … … 595 596 -D 'AssertCompile(a_Expr)=' \ 596 597 -D 'AssertCompileSize(a_Stuct, a_Size)=' \ 597 $$(addprefix -D ,$$(DEFS) $$(DEFS.$$(KBUILD_TARGET)) $$(DEFS.$(KBUILD_TARGET_ARCH))) $$< $$@ 598 -D 'bool=uint8_t' \ 599 $$(foreach def,\ 600 $$(DEFS) \ 601 $$(DEFS.$$(KBUILD_TARGET)) \ 602 $$(DEFS.$(KBUILD_TARGET_ARCH)) \ 603 $$(VMM_COMMON_DEFS) \ 604 $$(ARCH_BITS_DEFS)\ 605 ,-D '$$(def)') \ 606 $$< \ 607 $$@ 598 608 endef 599 609 $(evalcall2 def_vmm_lib_dtrace_preprocess,vm.d,$(PATH_ROOT)/include/VBox/vmm/vm.h) 600 610 $(evalcall2 def_vmm_lib_dtrace_preprocess,cpumctx.d,$(PATH_ROOT)/include/VBox/vmm/cpumctx.h) 611 $(evalcall2 def_vmm_lib_dtrace_preprocess,CPUMInternal.d,$(PATH_CURRENT)/include/CPUMInternal.h) 601 612 $(evalcall2 def_vmm_lib_dtrace_preprocess,x86.d,$(PATH_ROOT)/include/iprt/x86.h) 602 613 -
trunk/src/VBox/VMM/dtrace/lib/vbox-types.d
r41247 r41259 48 48 typedef struct SUPDRVSESSION *PSUPDRVSESSION; 49 49 typedef struct UVM *PUVM; 50 typedef uint32_t CPUMCPUVENDOR; 51 typedef struct CPUMCTXCORE *PCPUMCTXCORE; 52 50 53 typedef struct VBOXGDTR 51 54 { -
trunk/src/VBox/VMM/include/CPUMInternal.h
r40234 r41259 5 5 6 6 /* 7 * Copyright (C) 2006-20 07Oracle Corporation7 * Copyright (C) 2006-2012 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 19 19 #define ___CPUMInternal_h 20 20 21 #include <VBox/cdefs.h> 22 #include <VBox/types.h> 23 #include <iprt/x86.h> 21 #ifndef VBOX_FOR_DTRACE_LIB 22 # include <VBox/cdefs.h> 23 # include <VBox/types.h> 24 # include <iprt/x86.h> 25 #else 26 # pragma D depends_on library x86.d 27 # pragma D depends_on library cpumctx.d 28 #endif 29 24 30 25 31 … … 77 83 78 84 /* Sanity check. */ 85 #ifndef VBOX_FOR_DTRACE_LIB 79 86 #if defined(VBOX_WITH_HYBRID_32BIT_KERNEL) && (HC_ARCH_BITS != 32 || R0_ARCH_BITS != 32) 80 87 # error "VBOX_WITH_HYBRID_32BIT_KERNEL is only for 32 bit builds." 88 #endif 81 89 #endif 82 90 … … 99 107 /** General purpose register ++ 100 108 * { */ 101 / /uint64_t rax; - scratch109 /*uint64_t rax; - scratch*/ 102 110 uint64_t rbx; 103 / /uint64_t rcx; - scratch104 / /uint64_t rdx; - scratch111 /*uint64_t rcx; - scratch*/ 112 /*uint64_t rdx; - scratch*/ 105 113 uint64_t rdi; 106 114 uint64_t rsi; 107 115 uint64_t rbp; 108 116 uint64_t rsp; 109 / /uint64_t r8; - scratch110 / /uint64_t r9; - scratch117 /*uint64_t r8; - scratch*/ 118 /*uint64_t r9; - scratch*/ 111 119 uint64_t r10; 112 120 uint64_t r11; … … 115 123 uint64_t r14; 116 124 uint64_t r15; 117 / /uint64_t rip; - scratch125 /*uint64_t rip; - scratch*/ 118 126 uint64_t rflags; 119 127 #endif 120 128 121 129 #if HC_ARCH_BITS == 32 122 / /uint32_t eax; - scratch130 /*uint32_t eax; - scratch*/ 123 131 uint32_t ebx; 124 / /uint32_t ecx; - scratch125 / /uint32_t edx; - scratch132 /*uint32_t ecx; - scratch*/ 133 /*uint32_t edx; - scratch*/ 126 134 uint32_t edi; 127 135 uint32_t esi; 128 136 uint32_t ebp; 129 137 X86EFLAGS eflags; 130 / /uint32_t eip; - scratch138 /*uint32_t eip; - scratch*/ 131 139 /* lss pair! */ 132 140 uint32_t esp; … … 154 162 * @{ */ 155 163 uint32_t cr0; 156 / /uint32_t cr2; - scratch164 /*uint32_t cr2; - scratch*/ 157 165 uint32_t cr3; 158 166 uint32_t cr4; … … 200 208 * @{ */ 201 209 uint64_t cr0; 202 / /uint64_t cr2; - scratch210 /*uint64_t cr2; - scratch*/ 203 211 uint64_t cr3; 204 212 uint64_t cr4; … … 294 302 } CR4; 295 303 304 #if 1 /*ndef VBOX_FOR_DTRACE_LIB*/ /* DTrace turns a 'bool' into a uint32_t. Ditto for uint8_t. Stupid, stupid DTrace! */ 296 305 /** Synthetic CPU type? */ 297 306 bool fSyntheticCpu; … … 302 311 bool fPendingRestore; 303 312 uint8_t abPadding[HC_ARCH_BITS == 64 ? 5 : 1]; 313 #else 314 uint8_t abPadding[(HC_ARCH_BITS == 64 ? 5 : 1) + 3]; 315 #endif 304 316 305 317 /** The standard set of CpuId leaves. */ … … 400 412 /** Align the structure on a 64-byte boundary. */ 401 413 uint8_t abPadding2[HC_ARCH_BITS == 32 ? 34 : 26]; 402 } CPUMCPU , *PCPUMCPU;414 } CPUMCPU; 403 415 /** Pointer to the CPUMCPU instance data residing in the shared VMCPU structure. */ 404 416 typedef CPUMCPU *PCPUMCPU; 405 417 418 #ifndef VBOX_FOR_DTRACE_LIB 406 419 RT_C_DECLS_BEGIN 407 420 … … 430 443 431 444 RT_C_DECLS_END 445 #endif /* !VBOX_FOR_DTRACE_LIB */ 432 446 433 447 /** @} */ -
trunk/src/VBox/VMM/testcase/Makefile.kmk
r41155 r41259 25 25 ifdef VBOX_WITH_RAW_MODE 26 26 PROGRAMS += tstVMStructRC tstAsmStructsRC 27 endif 28 if !defined(VBOX_ONLY_EXTPACKS) \ 29 && ( defined(VBOX_WITH_DTRACE_R3) \ 30 || defined(VBOX_WITH_DTRACE_R0) \ 31 || defined(VBOX_WITH_DTRACE_RC)) 32 PROGRAMS += tstVMStructDTrace 33 INSTALLS += VMMLibDTraceStructTest 27 34 endif 28 35 ifndef VBOX_ONLY_EXTPACKS_USE_IMPLIBS … … 298 305 endif 299 306 307 308 # 309 # Generate VM structure tests. 310 # 311 if !defined(VBOX_ONLY_EXTPACKS) \ 312 && ( defined(VBOX_WITH_DTRACE_R3) \ 313 || defined(VBOX_WITH_DTRACE_R0) \ 314 || defined(VBOX_WITH_DTRACE_RC)) 315 tstVMStructDTrace_TEMPLATE= VBOXR3AUTOTST 316 tstVMStructDTrace_DEFS = IN_VMM_R3 IN_DIS 317 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86) 318 tstVMStructDTrace_DEFS += \ 319 VBOX_WITH_2X_4GB_ADDR_SPACE VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R3 \ 320 VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_R3 321 endif 322 ifdef VBOX_WITH_RAW_MODE 323 tstVMStructDTrace_DEFS += VBOX_WITH_RAW_MODE 324 endif 325 tstVMStructDTrace_INCS = \ 326 $(VBOX_PATH_VMM_SRC)/include \ 327 $(VBOX_PATH_VMM_SRC)/PATM \ 328 $(VBOX_VMM_TESTCASE_OUT_DIR) 329 tstVMStructDTrace_SOURCES = tstVMStructDTrace.cpp 330 ifdef VBOX_WITH_R0_LOGGING 331 tstVMStructDTrace_DEFS += VBOX_WITH_R0_LOGGING 332 endif 333 ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 334 tstVMStructDTrace_DEFS += VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 335 endif 336 337 338 VMMLibDTraceStructTest_INST = $(VBOX_INST_DTRACE_TST)$(KBUILD_TARGET_ARCH)/ 339 VMMLibDTraceStructTest_SOURCES = \ 340 $(tstVMStructDTrace_0_OUTDIR)/vbox-vm-struct-test.d 341 342 $$(tstVMStructDTrace_0_OUTDIR)/vbox-vm-struct-test.d: \ 343 $$(tstVMStructDTrace_1_STAGE_TARGET) | $$(dir $$@) 344 $(QUIET)$(RM) -f $@ 345 $< > $@ 346 347 endif 348 349 300 350 include $(KBUILD_PATH)/subfooter.kmk 301 351 -
trunk/src/VBox/VMM/testcase/tstVMStruct.h
r41248 r41259 1 1 /* $Id$ */ 2 2 /** @file 3 * tstVMMStructRC - Generate structure member and size checks from the 4 * RC perspective. 3 * tstVMMStruct - Statements for generating VM and VMCPU offset and size tests. 5 4 * 6 * This is built using the VBOXRC template but linked into a host7 * ring-3 executable, rather hacky.5 * This is used by tstVMStructRC.cpp and tstVMStructDTrace.cpp. Tests that 6 * are not yet available in DTrace are blocked by VBOX_FOR_DTRACE_LIB. 8 7 */ 9 8 10 9 /* 11 * Copyright (C) 2006-201 0Oracle Corporation10 * Copyright (C) 2006-2012 Oracle Corporation 12 11 * 13 12 * This file is part of VirtualBox Open Source Edition (OSE), as … … 21 20 22 21 23 /* 24 * Sanity checks. 25 */ 26 #ifndef IN_RC 27 # error Incorrect template! 28 #endif 29 #if defined(IN_RING3) || defined(IN_RING0) 30 # error Incorrect template! 31 #endif 32 33 #include <VBox/types.h> 34 #include <iprt/assert.h> 35 AssertCompileSize(uint8_t, 1); 36 AssertCompileSize(uint16_t, 2); 37 AssertCompileSize(uint32_t, 4); 38 AssertCompileSize(uint64_t, 8); 39 AssertCompileSize(RTRCPTR, 4); 40 #ifdef VBOX_WITH_64_BITS_GUESTS 41 AssertCompileSize(RTGCPTR, 8); 22 #ifndef VBOX_FOR_DTRACE_LIB 23 GEN_CHECK_SIZE(CFGM); 24 #endif 25 26 GEN_CHECK_SIZE(X86CPUIDFEATECX); 27 28 GEN_CHECK_SIZE(CPUM); // has .mac 29 GEN_CHECK_OFF(CPUM, offCPUMCPU0); 30 GEN_CHECK_OFF(CPUM, fHostUseFlags); 31 GEN_CHECK_OFF(CPUM, CPUFeatures); 32 GEN_CHECK_OFF(CPUM, CPUFeaturesExt); 33 GEN_CHECK_OFF(CPUM, CPUFeaturesExt); 34 GEN_CHECK_OFF(CPUM, enmHostCpuVendor); 35 GEN_CHECK_OFF(CPUM, enmGuestCpuVendor); 36 GEN_CHECK_OFF(CPUM, CR4); 37 #ifndef VBOX_FOR_DTRACE_LIB 38 GEN_CHECK_OFF(CPUM, fSyntheticCpu); 39 GEN_CHECK_OFF(CPUM, u8PortableCpuIdLevel); 40 GEN_CHECK_OFF(CPUM, fPendingRestore); 41 #endif 42 GEN_CHECK_OFF(CPUM, aGuestCpuIdStd); 43 GEN_CHECK_OFF(CPUM, aGuestCpuIdExt); 44 GEN_CHECK_OFF(CPUM, aGuestCpuIdCentaur); 45 GEN_CHECK_OFF(CPUM, aGuestCpuIdHyper); 46 GEN_CHECK_OFF(CPUM, GuestCpuIdDef); 47 #ifdef VBOX_WITH_VMMR0_DISABLE_LAPIC_NMI 48 GEN_CHECK_OFF(CPUM, pvApicBase); 49 GEN_CHECK_OFF(CPUM, fApicDisVectors); 50 #endif 51 GEN_CHECK_OFF(CPUM, GuestEntry); 52 53 54 GEN_CHECK_SIZE(CPUMCPU); // has .mac 55 GEN_CHECK_OFF(CPUMCPU, Hyper); 56 GEN_CHECK_OFF(CPUMCPU, Host); 57 #ifdef VBOX_WITH_CRASHDUMP_MAGIC 58 GEN_CHECK_OFF(CPUMCPU, aMagic); 59 GEN_CHECK_OFF(CPUMCPU, uMagic); 60 #endif 61 GEN_CHECK_OFF(CPUMCPU, Guest); 62 GEN_CHECK_OFF(CPUMCPU, GuestMsrs); 63 GEN_CHECK_OFF(CPUMCPU, pHyperCoreR3); 64 GEN_CHECK_OFF(CPUMCPU, pHyperCoreR0); 65 GEN_CHECK_OFF(CPUMCPU, pHyperCoreRC); 66 GEN_CHECK_OFF(CPUMCPU, fUseFlags); 67 GEN_CHECK_OFF(CPUMCPU, fChanged); 68 GEN_CHECK_OFF(CPUMCPU, offCPUM); 69 GEN_CHECK_OFF(CPUMCPU, u32RetCode); 70 GEN_CHECK_OFF(CPUMCPU, fRawEntered); 71 GEN_CHECK_OFF(CPUMCPU, fRemEntered); 72 73 GEN_CHECK_SIZE(CPUMHOSTCTX); 74 GEN_CHECK_OFF(CPUMHOSTCTX, fpu); 75 #if HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBRID_32BIT_KERNEL) 76 GEN_CHECK_OFF(CPUMHOSTCTX, rbx); 77 GEN_CHECK_OFF(CPUMHOSTCTX, rdi); 78 GEN_CHECK_OFF(CPUMHOSTCTX, rsi); 79 GEN_CHECK_OFF(CPUMHOSTCTX, rbp); 80 GEN_CHECK_OFF(CPUMHOSTCTX, rsp); 81 GEN_CHECK_OFF(CPUMHOSTCTX, r10); 82 GEN_CHECK_OFF(CPUMHOSTCTX, r11); 83 GEN_CHECK_OFF(CPUMHOSTCTX, r12); 84 GEN_CHECK_OFF(CPUMHOSTCTX, r13); 85 GEN_CHECK_OFF(CPUMHOSTCTX, r14); 86 GEN_CHECK_OFF(CPUMHOSTCTX, r15); 87 GEN_CHECK_OFF(CPUMHOSTCTX, rflags); 88 #endif 89 #if HC_ARCH_BITS == 32 90 GEN_CHECK_OFF(CPUMHOSTCTX, ebx); 91 GEN_CHECK_OFF(CPUMHOSTCTX, edi); 92 GEN_CHECK_OFF(CPUMHOSTCTX, esi); 93 GEN_CHECK_OFF(CPUMHOSTCTX, ebp); 94 GEN_CHECK_OFF(CPUMHOSTCTX, eflags); 95 GEN_CHECK_OFF(CPUMHOSTCTX, esp); 96 #endif 97 GEN_CHECK_OFF(CPUMHOSTCTX, ss); 98 GEN_CHECK_OFF(CPUMHOSTCTX, gs); 99 GEN_CHECK_OFF(CPUMHOSTCTX, fs); 100 GEN_CHECK_OFF(CPUMHOSTCTX, es); 101 GEN_CHECK_OFF(CPUMHOSTCTX, ds); 102 GEN_CHECK_OFF(CPUMHOSTCTX, cs); 103 #if HC_ARCH_BITS == 32 && !defined(VBOX_WITH_HYBRID_32BIT_KERNEL) 104 GEN_CHECK_OFF(CPUMHOSTCTX, cr0); 105 GEN_CHECK_OFF(CPUMHOSTCTX, cr3); 106 GEN_CHECK_OFF(CPUMHOSTCTX, cr4); 107 GEN_CHECK_OFF(CPUMHOSTCTX, dr0); 108 GEN_CHECK_OFF(CPUMHOSTCTX, dr1); 109 GEN_CHECK_OFF(CPUMHOSTCTX, dr2); 110 GEN_CHECK_OFF(CPUMHOSTCTX, dr3); 111 GEN_CHECK_OFF(CPUMHOSTCTX, dr6); 112 GEN_CHECK_OFF(CPUMHOSTCTX, dr7); 113 GEN_CHECK_OFF(CPUMHOSTCTX, gdtr); 114 GEN_CHECK_OFF(CPUMHOSTCTX, idtr); 115 GEN_CHECK_OFF(CPUMHOSTCTX, ldtr); 116 GEN_CHECK_OFF(CPUMHOSTCTX, tr); 117 GEN_CHECK_OFF(CPUMHOSTCTX, SysEnter); 118 GEN_CHECK_OFF(CPUMHOSTCTX, efer); 119 #elif HC_ARCH_BITS == 64 || defined(VBOX_WITH_HYBRID_32BIT_KERNEL) 120 GEN_CHECK_OFF(CPUMHOSTCTX, cr0); 121 GEN_CHECK_OFF(CPUMHOSTCTX, cr3); 122 GEN_CHECK_OFF(CPUMHOSTCTX, cr4); 123 GEN_CHECK_OFF(CPUMHOSTCTX, cr8); 124 GEN_CHECK_OFF(CPUMHOSTCTX, dr0); 125 GEN_CHECK_OFF(CPUMHOSTCTX, dr1); 126 GEN_CHECK_OFF(CPUMHOSTCTX, dr2); 127 GEN_CHECK_OFF(CPUMHOSTCTX, dr3); 128 GEN_CHECK_OFF(CPUMHOSTCTX, dr6); 129 GEN_CHECK_OFF(CPUMHOSTCTX, dr7); 130 GEN_CHECK_OFF(CPUMHOSTCTX, gdtr); 131 GEN_CHECK_OFF(CPUMHOSTCTX, idtr); 132 GEN_CHECK_OFF(CPUMHOSTCTX, ldtr); 133 GEN_CHECK_OFF(CPUMHOSTCTX, tr); 134 GEN_CHECK_OFF(CPUMHOSTCTX, SysEnter); 135 GEN_CHECK_OFF(CPUMHOSTCTX, FSbase); 136 GEN_CHECK_OFF(CPUMHOSTCTX, GSbase); 137 GEN_CHECK_OFF(CPUMHOSTCTX, efer); 42 138 #else 43 AssertCompileSize(RTGCPTR, 4); 44 #endif 45 AssertCompileSize(RTGCPHYS, 8); 46 AssertCompileSize(RTHCPHYS, 8); 47 48 49 /******************************************************************************* 50 * Header Files * 51 *******************************************************************************/ 52 #define IN_TSTVMSTRUCTGC 1 53 #include <VBox/vmm/cfgm.h> 54 #include <VBox/vmm/cpum.h> 55 #include <VBox/vmm/mm.h> 56 #include <VBox/vmm/pgm.h> 57 #include <VBox/vmm/selm.h> 58 #include <VBox/vmm/trpm.h> 59 #include <VBox/vmm/vmm.h> 60 #include <VBox/vmm/stam.h> 61 #include "PDMInternal.h" 62 #include <VBox/vmm/pdm.h> 63 #include "CFGMInternal.h" 64 #include "CPUMInternal.h" 65 #include "MMInternal.h" 66 #include "PGMInternal.h" 67 #include "SELMInternal.h" 68 #include "TRPMInternal.h" 69 #include "TMInternal.h" 70 #include "IOMInternal.h" 71 #include "REMInternal.h" 72 #include "HWACCMInternal.h" 73 #include "PATMInternal.h" 74 #include "VMMInternal.h" 75 #include "DBGFInternal.h" 76 #include "STAMInternal.h" 77 #include "CSAMInternal.h" 78 #include "EMInternal.h" 79 #include "IEMInternal.h" 80 #include "REMInternal.h" 81 #include <VBox/vmm/vm.h> 82 #include <VBox/param.h> 83 #include <iprt/x86.h> 84 #include <iprt/assert.h> 85 86 /* we don't use iprt here because we're pretending to be in GC! */ 87 #include <stdio.h> 88 89 #define GEN_CHECK_SIZE(s) printf(" CHECK_SIZE(%s, %u);\n", #s, (unsigned)sizeof(s)) 90 #define GEN_CHECK_OFF(s, m) printf(" CHECK_OFF(%s, %u, %s);\n", #s, (unsigned)RT_OFFSETOF(s, m), #m) 91 92 int main() 93 { 94 GEN_CHECK_SIZE(CFGM); 95 96 GEN_CHECK_SIZE(CPUM); // has .mac 97 GEN_CHECK_SIZE(CPUMCPU); // has .mac 98 GEN_CHECK_SIZE(CPUMHOSTCTX); 139 # error HC_ARCH_BITS not defined 140 #endif 141 142 143 #ifndef VBOX_FOR_DTRACE_LIB 99 144 GEN_CHECK_SIZE(CPUMCTX); 100 145 GEN_CHECK_SIZE(CPUMCTXMSRS); 101 146 GEN_CHECK_SIZE(CPUMCTXCORE); 147 #endif 148 149 #ifndef VBOX_FOR_DTRACE_LIB 102 150 GEN_CHECK_SIZE(STAMRATIOU32); 103 151 GEN_CHECK_SIZE(AVLOHCPHYSNODECORE); … … 143 191 GEN_CHECK_OFF(EMCPU, enmState); 144 192 GEN_CHECK_OFF(EMCPU, fForceRAW); 145 GEN_CHECK_OFF (EMCPU, u.achPaddingFatalLongJump);193 GEN_CHECK_OFF_DOT(EMCPU, u.achPaddingFatalLongJump); 146 194 GEN_CHECK_OFF(EMCPU, DisState); 147 195 GEN_CHECK_OFF(EMCPU, StatForcedActions); … … 283 331 GEN_CHECK_OFF(MMLOOKUPHYPER, cb); 284 332 GEN_CHECK_OFF(MMLOOKUPHYPER, enmType); 285 GEN_CHECK_OFF (MMLOOKUPHYPER, u.Locked.pvR3);286 GEN_CHECK_OFF (MMLOOKUPHYPER, u.Locked.pvR0);287 GEN_CHECK_OFF (MMLOOKUPHYPER, u.Locked.paHCPhysPages);288 GEN_CHECK_OFF (MMLOOKUPHYPER, u.HCPhys.pvR3);289 GEN_CHECK_OFF (MMLOOKUPHYPER, u.HCPhys.HCPhys);290 GEN_CHECK_OFF (MMLOOKUPHYPER, u.GCPhys.GCPhys);333 GEN_CHECK_OFF_DOT(MMLOOKUPHYPER, u.Locked.pvR3); 334 GEN_CHECK_OFF_DOT(MMLOOKUPHYPER, u.Locked.pvR0); 335 GEN_CHECK_OFF_DOT(MMLOOKUPHYPER, u.Locked.paHCPhysPages); 336 GEN_CHECK_OFF_DOT(MMLOOKUPHYPER, u.HCPhys.pvR3); 337 GEN_CHECK_OFF_DOT(MMLOOKUPHYPER, u.HCPhys.HCPhys); 338 GEN_CHECK_OFF_DOT(MMLOOKUPHYPER, u.GCPhys.GCPhys); 291 339 GEN_CHECK_OFF(MMLOOKUPHYPER, pszDesc); 292 340 … … 300 348 GEN_CHECK_OFF(PDM, pDrvs); 301 349 GEN_CHECK_OFF(PDM, aPciBuses); 302 GEN_CHECK_OFF (PDM, aPciBuses[0].iBus);303 GEN_CHECK_OFF (PDM, aPciBuses[0].pDevInsR3);304 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnSetIrqR3);305 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnRegisterR3);306 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnIORegionRegisterR3);307 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnSaveExecR3);308 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnLoadExecR3);309 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnFakePCIBIOSR3);310 GEN_CHECK_OFF (PDM, aPciBuses[0].pDevInsR0);311 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnSetIrqR0);312 GEN_CHECK_OFF (PDM, aPciBuses[0].pDevInsRC);313 GEN_CHECK_OFF (PDM, aPciBuses[0].pfnSetIrqRC);350 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].iBus); 351 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pDevInsR3); 352 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnSetIrqR3); 353 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnRegisterR3); 354 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnIORegionRegisterR3); 355 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnSaveExecR3); 356 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnLoadExecR3); 357 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnFakePCIBIOSR3); 358 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pDevInsR0); 359 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnSetIrqR0); 360 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pDevInsRC); 361 GEN_CHECK_OFF_DOT(PDM, aPciBuses[0].pfnSetIrqRC); 314 362 GEN_CHECK_OFF(PDM, Pic); 315 GEN_CHECK_OFF (PDM, Pic.pDevInsR3);316 GEN_CHECK_OFF (PDM, Pic.pfnSetIrqR3);317 GEN_CHECK_OFF (PDM, Pic.pfnGetInterruptR3);318 GEN_CHECK_OFF (PDM, Pic.pDevInsR0);319 GEN_CHECK_OFF (PDM, Pic.pfnSetIrqR0);320 GEN_CHECK_OFF (PDM, Pic.pfnGetInterruptR0);321 GEN_CHECK_OFF (PDM, Pic.pDevInsRC);322 GEN_CHECK_OFF (PDM, Pic.pfnSetIrqRC);323 GEN_CHECK_OFF (PDM, Pic.pfnGetInterruptRC);363 GEN_CHECK_OFF_DOT(PDM, Pic.pDevInsR3); 364 GEN_CHECK_OFF_DOT(PDM, Pic.pfnSetIrqR3); 365 GEN_CHECK_OFF_DOT(PDM, Pic.pfnGetInterruptR3); 366 GEN_CHECK_OFF_DOT(PDM, Pic.pDevInsR0); 367 GEN_CHECK_OFF_DOT(PDM, Pic.pfnSetIrqR0); 368 GEN_CHECK_OFF_DOT(PDM, Pic.pfnGetInterruptR0); 369 GEN_CHECK_OFF_DOT(PDM, Pic.pDevInsRC); 370 GEN_CHECK_OFF_DOT(PDM, Pic.pfnSetIrqRC); 371 GEN_CHECK_OFF_DOT(PDM, Pic.pfnGetInterruptRC); 324 372 GEN_CHECK_OFF(PDM, Apic); 325 GEN_CHECK_OFF (PDM, Apic.pDevInsR3);326 GEN_CHECK_OFF (PDM, Apic.pfnGetInterruptR3);327 GEN_CHECK_OFF (PDM, Apic.pfnSetBaseR3);328 GEN_CHECK_OFF (PDM, Apic.pfnGetBaseR3);329 GEN_CHECK_OFF (PDM, Apic.pfnSetTPRR3);330 GEN_CHECK_OFF (PDM, Apic.pfnWriteMSRR3);331 GEN_CHECK_OFF (PDM, Apic.pfnReadMSRR3);332 GEN_CHECK_OFF (PDM, Apic.pfnGetTPRR3);333 GEN_CHECK_OFF (PDM, Apic.pfnBusDeliverR3);334 GEN_CHECK_OFF (PDM, Apic.pDevInsR0);335 GEN_CHECK_OFF (PDM, Apic.pfnGetInterruptR0);336 GEN_CHECK_OFF (PDM, Apic.pfnSetBaseR0);337 GEN_CHECK_OFF (PDM, Apic.pfnGetBaseR0);338 GEN_CHECK_OFF (PDM, Apic.pfnSetTPRR0);339 GEN_CHECK_OFF (PDM, Apic.pfnGetTPRR0);340 GEN_CHECK_OFF (PDM, Apic.pfnWriteMSRR0);341 GEN_CHECK_OFF (PDM, Apic.pfnReadMSRR0);342 GEN_CHECK_OFF (PDM, Apic.pfnBusDeliverR0);343 GEN_CHECK_OFF (PDM, Apic.pDevInsRC);344 GEN_CHECK_OFF (PDM, Apic.pfnGetInterruptRC);345 GEN_CHECK_OFF (PDM, Apic.pfnSetBaseRC);346 GEN_CHECK_OFF (PDM, Apic.pfnGetBaseRC);347 GEN_CHECK_OFF (PDM, Apic.pfnSetTPRRC);348 GEN_CHECK_OFF (PDM, Apic.pfnGetTPRRC);349 GEN_CHECK_OFF (PDM, Apic.pfnWriteMSRRC);350 GEN_CHECK_OFF (PDM, Apic.pfnReadMSRRC);351 GEN_CHECK_OFF (PDM, Apic.pfnBusDeliverRC);373 GEN_CHECK_OFF_DOT(PDM, Apic.pDevInsR3); 374 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetInterruptR3); 375 GEN_CHECK_OFF_DOT(PDM, Apic.pfnSetBaseR3); 376 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetBaseR3); 377 GEN_CHECK_OFF_DOT(PDM, Apic.pfnSetTPRR3); 378 GEN_CHECK_OFF_DOT(PDM, Apic.pfnWriteMSRR3); 379 GEN_CHECK_OFF_DOT(PDM, Apic.pfnReadMSRR3); 380 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetTPRR3); 381 GEN_CHECK_OFF_DOT(PDM, Apic.pfnBusDeliverR3); 382 GEN_CHECK_OFF_DOT(PDM, Apic.pDevInsR0); 383 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetInterruptR0); 384 GEN_CHECK_OFF_DOT(PDM, Apic.pfnSetBaseR0); 385 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetBaseR0); 386 GEN_CHECK_OFF_DOT(PDM, Apic.pfnSetTPRR0); 387 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetTPRR0); 388 GEN_CHECK_OFF_DOT(PDM, Apic.pfnWriteMSRR0); 389 GEN_CHECK_OFF_DOT(PDM, Apic.pfnReadMSRR0); 390 GEN_CHECK_OFF_DOT(PDM, Apic.pfnBusDeliverR0); 391 GEN_CHECK_OFF_DOT(PDM, Apic.pDevInsRC); 392 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetInterruptRC); 393 GEN_CHECK_OFF_DOT(PDM, Apic.pfnSetBaseRC); 394 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetBaseRC); 395 GEN_CHECK_OFF_DOT(PDM, Apic.pfnSetTPRRC); 396 GEN_CHECK_OFF_DOT(PDM, Apic.pfnGetTPRRC); 397 GEN_CHECK_OFF_DOT(PDM, Apic.pfnWriteMSRRC); 398 GEN_CHECK_OFF_DOT(PDM, Apic.pfnReadMSRRC); 399 GEN_CHECK_OFF_DOT(PDM, Apic.pfnBusDeliverRC); 352 400 GEN_CHECK_OFF(PDM, IoApic); 353 GEN_CHECK_OFF (PDM, IoApic.pDevInsR3);354 GEN_CHECK_OFF (PDM, IoApic.pfnSetIrqR3);355 GEN_CHECK_OFF (PDM, IoApic.pDevInsR0);356 GEN_CHECK_OFF (PDM, IoApic.pfnSetIrqR0);357 GEN_CHECK_OFF (PDM, IoApic.pDevInsRC);358 GEN_CHECK_OFF (PDM, IoApic.pfnSetIrqRC);401 GEN_CHECK_OFF_DOT(PDM, IoApic.pDevInsR3); 402 GEN_CHECK_OFF_DOT(PDM, IoApic.pfnSetIrqR3); 403 GEN_CHECK_OFF_DOT(PDM, IoApic.pDevInsR0); 404 GEN_CHECK_OFF_DOT(PDM, IoApic.pfnSetIrqR0); 405 GEN_CHECK_OFF_DOT(PDM, IoApic.pDevInsRC); 406 GEN_CHECK_OFF_DOT(PDM, IoApic.pfnSetIrqRC); 359 407 GEN_CHECK_OFF(PDM, pDmac); 360 408 GEN_CHECK_OFF(PDM, pRtc); … … 442 490 GEN_CHECK_OFF(PDMQUEUE, enmType); 443 491 GEN_CHECK_OFF(PDMQUEUE, u); 444 GEN_CHECK_OFF (PDMQUEUE, u.Dev.pfnCallback);445 GEN_CHECK_OFF (PDMQUEUE, u.Dev.pDevIns);446 GEN_CHECK_OFF (PDMQUEUE, u.Drv.pfnCallback);447 GEN_CHECK_OFF (PDMQUEUE, u.Drv.pDrvIns);448 GEN_CHECK_OFF (PDMQUEUE, u.Int.pfnCallback);449 GEN_CHECK_OFF (PDMQUEUE, u.Ext.pfnCallback);450 GEN_CHECK_OFF (PDMQUEUE, u.Ext.pvUser);492 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Dev.pfnCallback); 493 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Dev.pDevIns); 494 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Drv.pfnCallback); 495 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Drv.pDrvIns); 496 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Int.pfnCallback); 497 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Ext.pfnCallback); 498 GEN_CHECK_OFF_DOT(PDMQUEUE, u.Ext.pvUser); 451 499 GEN_CHECK_OFF(PDMQUEUE, pVMR3); 452 500 GEN_CHECK_OFF(PDMQUEUE, pVMR0); … … 468 516 GEN_CHECK_OFF(PDMQUEUE, aFreeItems); 469 517 GEN_CHECK_OFF(PDMQUEUE, aFreeItems[1]); 470 GEN_CHECK_OFF (PDMQUEUE, aFreeItems[0].pItemR3);471 GEN_CHECK_OFF (PDMQUEUE, aFreeItems[0].pItemR0);472 GEN_CHECK_OFF (PDMQUEUE, aFreeItems[1].pItemRC);518 GEN_CHECK_OFF_DOT(PDMQUEUE, aFreeItems[0].pItemR3); 519 GEN_CHECK_OFF_DOT(PDMQUEUE, aFreeItems[0].pItemR0); 520 GEN_CHECK_OFF_DOT(PDMQUEUE, aFreeItems[1].pItemRC); 473 521 GEN_CHECK_SIZE(PDMDEVHLPTASK); 474 522 GEN_CHECK_OFF(PDMDEVHLPTASK, Core); … … 476 524 GEN_CHECK_OFF(PDMDEVHLPTASK, enmOp); 477 525 GEN_CHECK_OFF(PDMDEVHLPTASK, u); 478 GEN_CHECK_OFF (PDMDEVHLPTASK, u.SetIRQ.iIrq);479 GEN_CHECK_OFF (PDMDEVHLPTASK, u.SetIRQ.iLevel);526 GEN_CHECK_OFF_DOT(PDMDEVHLPTASK, u.SetIRQ.iIrq); 527 GEN_CHECK_OFF_DOT(PDMDEVHLPTASK, u.SetIRQ.iLevel); 480 528 481 529 GEN_CHECK_SIZE(PGM); … … 607 655 GEN_CHECK_OFF(PGM, fNoMorePhysWrites); 608 656 GEN_CHECK_OFF(PGM, ChunkR3Map); 609 GEN_CHECK_OFF (PGM, ChunkR3Map.pTree);610 GEN_CHECK_OFF (PGM, ChunkR3Map.Tlb);611 GEN_CHECK_OFF (PGM, ChunkR3Map.c);612 GEN_CHECK_OFF (PGM, ChunkR3Map.cMax);613 GEN_CHECK_OFF (PGM, ChunkR3Map.iNow);657 GEN_CHECK_OFF_DOT(PGM, ChunkR3Map.pTree); 658 GEN_CHECK_OFF_DOT(PGM, ChunkR3Map.Tlb); 659 GEN_CHECK_OFF_DOT(PGM, ChunkR3Map.c); 660 GEN_CHECK_OFF_DOT(PGM, ChunkR3Map.cMax); 661 GEN_CHECK_OFF_DOT(PGM, ChunkR3Map.iNow); 614 662 GEN_CHECK_OFF(PGM, PhysTlbHC); 615 GEN_CHECK_OFF (PGM, PhysTlbHC.aEntries[0]);616 GEN_CHECK_OFF (PGM, PhysTlbHC.aEntries[1]);617 GEN_CHECK_OFF (PGM, PhysTlbHC.aEntries[1].GCPhys);618 GEN_CHECK_OFF (PGM, PhysTlbHC.aEntries[1].pMap);619 GEN_CHECK_OFF (PGM, PhysTlbHC.aEntries[1].pPage);620 GEN_CHECK_OFF (PGM, PhysTlbHC.aEntries[1].pv);663 GEN_CHECK_OFF_DOT(PGM, PhysTlbHC.aEntries[0]); 664 GEN_CHECK_OFF_DOT(PGM, PhysTlbHC.aEntries[1]); 665 GEN_CHECK_OFF_DOT(PGM, PhysTlbHC.aEntries[1].GCPhys); 666 GEN_CHECK_OFF_DOT(PGM, PhysTlbHC.aEntries[1].pMap); 667 GEN_CHECK_OFF_DOT(PGM, PhysTlbHC.aEntries[1].pPage); 668 GEN_CHECK_OFF_DOT(PGM, PhysTlbHC.aEntries[1].pv); 621 669 GEN_CHECK_OFF(PGM, HCPhysZeroPg); 622 670 GEN_CHECK_OFF(PGM, pvZeroPgR3); … … 625 673 GEN_CHECK_OFF(PGM, cHandyPages); 626 674 GEN_CHECK_OFF(PGM, aHandyPages); 627 GEN_CHECK_OFF (PGM, aHandyPages[1]);628 GEN_CHECK_OFF (PGM, aHandyPages[1].HCPhysGCPhys);629 GEN_CHECK_OFF (PGM, aHandyPages[1].idPage);630 GEN_CHECK_OFF (PGM, aHandyPages[1].idSharedPage);675 GEN_CHECK_OFF_DOT(PGM, aHandyPages[1]); 676 GEN_CHECK_OFF_DOT(PGM, aHandyPages[1].HCPhysGCPhys); 677 GEN_CHECK_OFF_DOT(PGM, aHandyPages[1].idPage); 678 GEN_CHECK_OFF_DOT(PGM, aHandyPages[1].idSharedPage); 631 679 GEN_CHECK_OFF(PGM, cAllPages); 632 680 GEN_CHECK_OFF(PGM, cPrivatePages); … … 656 704 GEN_CHECK_OFF(PGMMAPPING, pszDesc); 657 705 GEN_CHECK_OFF(PGMMAPPING, cPTs); 658 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].HCPhysPT);659 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].pPTR3);660 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].pPTR0);661 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].pPTRC);662 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].HCPhysPaePT0);663 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].HCPhysPaePT1);664 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].paPaePTsR3);665 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].paPaePTsRC);666 GEN_CHECK_OFF (PGMMAPPING, aPTs[1].paPaePTsR0);706 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].HCPhysPT); 707 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].pPTR3); 708 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].pPTR0); 709 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].pPTRC); 710 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].HCPhysPaePT0); 711 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].HCPhysPaePT1); 712 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].paPaePTsR3); 713 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].paPaePTsRC); 714 GEN_CHECK_OFF_DOT(PGMMAPPING, aPTs[1].paPaePTsR0); 667 715 GEN_CHECK_SIZE(PGMPHYSHANDLER); 668 716 GEN_CHECK_OFF(PGMPHYSHANDLER, Core); … … 692 740 GEN_CHECK_OFF(PGMVIRTHANDLER, aPhysToVirt); 693 741 GEN_CHECK_SIZE(PGMPAGE); 694 GEN_CHECK_OFF (PGMPAGE, s.cReadLocksY);695 GEN_CHECK_OFF (PGMPAGE, s.cWriteLocksY);696 GEN_CHECK_OFF (PGMPAGE, s.u16TrackingY);742 GEN_CHECK_OFF_DOT(PGMPAGE, s.cReadLocksY); 743 GEN_CHECK_OFF_DOT(PGMPAGE, s.cWriteLocksY); 744 GEN_CHECK_OFF_DOT(PGMPAGE, s.u16TrackingY); 697 745 GEN_CHECK_SIZE(PGMRAMRANGE); 698 746 GEN_CHECK_OFF(PGMRAMRANGE, pNextR3); … … 825 873 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, pvPage); 826 874 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, cRefs); 827 GEN_CHECK_OFF (PGMRCDYNMAPENTRY, uPte.pLegacy);828 GEN_CHECK_OFF (PGMRCDYNMAPENTRY, uPte.pPae);875 GEN_CHECK_OFF_DOT(PGMRCDYNMAPENTRY, uPte.pLegacy); 876 GEN_CHECK_OFF_DOT(PGMRCDYNMAPENTRY, uPte.pPae); 829 877 GEN_CHECK_OFF(PGMMAPSETENTRY, pvPage); 830 878 GEN_CHECK_OFF(PGMMAPSETENTRY, iPage); … … 849 897 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, enmKind); 850 898 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u); 851 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalRegister.GCPhys);852 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalRegister.cb);853 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalRegister.enmType);854 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalRegister.fHasHCHandler);855 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalDeregister.GCPhys);856 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalDeregister.cb);857 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalDeregister.enmType);858 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalDeregister.fHasHCHandler);859 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalDeregister.fRestoreAsRAM);860 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalModify.GCPhysOld);861 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalModify.GCPhysNew);862 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalModify.cb);863 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalModify.enmType);864 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalModify.fHasHCHandler);865 GEN_CHECK_OFF (REMHANDLERNOTIFICATION, u.PhysicalModify.fRestoreAsRAM);899 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalRegister.GCPhys); 900 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalRegister.cb); 901 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalRegister.enmType); 902 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalRegister.fHasHCHandler); 903 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalDeregister.GCPhys); 904 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalDeregister.cb); 905 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalDeregister.enmType); 906 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalDeregister.fHasHCHandler); 907 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalDeregister.fRestoreAsRAM); 908 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalModify.GCPhysOld); 909 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalModify.GCPhysNew); 910 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalModify.cb); 911 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalModify.enmType); 912 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalModify.fHasHCHandler); 913 GEN_CHECK_OFF_DOT(REMHANDLERNOTIFICATION, u.PhysicalModify.fRestoreAsRAM); 866 914 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, idxSelf); 867 915 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, idxNext); … … 914 962 GEN_CHECK_OFF(TM, u64VirtualRawPrev); 915 963 GEN_CHECK_OFF(TM, VirtualGetRawDataR3); 916 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.pu64Prev);917 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.pfnBad);918 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.pfnRediscover);919 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.c1nsSteps);920 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.cBadPrev);921 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.cExpired);922 GEN_CHECK_OFF (TM, VirtualGetRawDataR3.cUpdateRaces);964 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.pu64Prev); 965 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.pfnBad); 966 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.pfnRediscover); 967 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.c1nsSteps); 968 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.cBadPrev); 969 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.cExpired); 970 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR3.cUpdateRaces); 923 971 GEN_CHECK_OFF(TM, VirtualGetRawDataR0); 924 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.pu64Prev);925 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.pfnBad);926 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.pfnRediscover);927 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.c1nsSteps);928 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.cBadPrev);929 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.cExpired);930 GEN_CHECK_OFF (TM, VirtualGetRawDataR0.cUpdateRaces);972 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.pu64Prev); 973 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.pfnBad); 974 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.pfnRediscover); 975 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.c1nsSteps); 976 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.cBadPrev); 977 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.cExpired); 978 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataR0.cUpdateRaces); 931 979 GEN_CHECK_OFF(TM, VirtualGetRawDataRC); 932 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.pu64Prev);933 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.pfnBad);934 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.pfnRediscover);935 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.c1nsSteps);936 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.cBadPrev);937 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.cExpired);938 GEN_CHECK_OFF (TM, VirtualGetRawDataRC.cUpdateRaces);980 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.pu64Prev); 981 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.pfnBad); 982 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.pfnRediscover); 983 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.c1nsSteps); 984 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.cBadPrev); 985 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.cExpired); 986 GEN_CHECK_OFF_DOT(TM, VirtualGetRawDataRC.cUpdateRaces); 939 987 GEN_CHECK_OFF(TM, pfnVirtualGetRawR3); 940 988 GEN_CHECK_OFF(TM, pfnVirtualGetRawR0); … … 950 998 GEN_CHECK_OFF(TM, u64VirtualSyncCatchUpGiveUpThreshold); 951 999 GEN_CHECK_OFF(TM, aVirtualSyncCatchUpPeriods); 952 GEN_CHECK_OFF (TM, aVirtualSyncCatchUpPeriods[0].u64Start);953 GEN_CHECK_OFF (TM, aVirtualSyncCatchUpPeriods[0].u32Percentage);954 GEN_CHECK_OFF (TM, aVirtualSyncCatchUpPeriods[1].u64Start);955 GEN_CHECK_OFF (TM, aVirtualSyncCatchUpPeriods[1].u32Percentage);1000 GEN_CHECK_OFF_DOT(TM, aVirtualSyncCatchUpPeriods[0].u64Start); 1001 GEN_CHECK_OFF_DOT(TM, aVirtualSyncCatchUpPeriods[0].u32Percentage); 1002 GEN_CHECK_OFF_DOT(TM, aVirtualSyncCatchUpPeriods[1].u64Start); 1003 GEN_CHECK_OFF_DOT(TM, aVirtualSyncCatchUpPeriods[1].u32Percentage); 956 1004 GEN_CHECK_OFF(TM, pTimer); 957 1005 GEN_CHECK_OFF(TM, u32TimerMillies); … … 969 1017 GEN_CHECK_OFF(TMTIMER, enmClock); 970 1018 GEN_CHECK_OFF(TMTIMER, enmType); 971 GEN_CHECK_OFF (TMTIMER, u.Dev.pfnTimer);972 GEN_CHECK_OFF (TMTIMER, u.Dev.pDevIns);973 GEN_CHECK_OFF (TMTIMER, u.Drv.pfnTimer);974 GEN_CHECK_OFF (TMTIMER, u.Drv.pDrvIns);975 GEN_CHECK_OFF (TMTIMER, u.Internal.pfnTimer);976 GEN_CHECK_OFF (TMTIMER, u.External.pfnTimer);1019 GEN_CHECK_OFF_DOT(TMTIMER, u.Dev.pfnTimer); 1020 GEN_CHECK_OFF_DOT(TMTIMER, u.Dev.pDevIns); 1021 GEN_CHECK_OFF_DOT(TMTIMER, u.Drv.pfnTimer); 1022 GEN_CHECK_OFF_DOT(TMTIMER, u.Drv.pDrvIns); 1023 GEN_CHECK_OFF_DOT(TMTIMER, u.Internal.pfnTimer); 1024 GEN_CHECK_OFF_DOT(TMTIMER, u.External.pfnTimer); 977 1025 GEN_CHECK_OFF(TMTIMER, enmState); 978 1026 GEN_CHECK_OFF(TMTIMER, offScheduleNext); … … 1005 1053 GEN_CHECK_OFF(VMM, enmSwitcher); 1006 1054 GEN_CHECK_OFF(VMM, aoffSwitchers); 1007 GEN_CHECK_OFF (VMM, aoffSwitchers[1]);1055 GEN_CHECK_OFF_DOT(VMM, aoffSwitchers[1]); 1008 1056 GEN_CHECK_OFF(VMM, pfnHostToGuestR0); 1009 1057 GEN_CHECK_OFF(VMM, pfnGuestToHostRC); … … 1050 1098 GEN_CHECK_OFF(VMMCPU, u64CallRing3Arg); 1051 1099 GEN_CHECK_OFF(VMMCPU, CallRing3JmpBufR0); 1052 GEN_CHECK_OFF (VMMCPU, CallRing3JmpBufR0.SpCheck);1053 GEN_CHECK_OFF (VMMCPU, CallRing3JmpBufR0.SpResume);1100 GEN_CHECK_OFF_DOT(VMMCPU, CallRing3JmpBufR0.SpCheck); 1101 GEN_CHECK_OFF_DOT(VMMCPU, CallRing3JmpBufR0.SpResume); 1054 1102 1055 1103 GEN_CHECK_SIZE(RTPINGPONG); … … 1076 1124 GEN_CHECK_OFF(CSAM, pPDGCBitmapHC); 1077 1125 GEN_CHECK_OFF(CSAM, savedstate); 1078 GEN_CHECK_OFF (CSAM, savedstate.pSSM);1079 GEN_CHECK_OFF (CSAM, savedstate.cPageRecords);1080 GEN_CHECK_OFF (CSAM, savedstate.cPatchPageRecords);1126 GEN_CHECK_OFF_DOT(CSAM, savedstate.pSSM); 1127 GEN_CHECK_OFF_DOT(CSAM, savedstate.cPageRecords); 1128 GEN_CHECK_OFF_DOT(CSAM, savedstate.cPatchPageRecords); 1081 1129 GEN_CHECK_OFF(CSAM, cDirtyPages); 1082 1130 GEN_CHECK_OFF(CSAM, pvDirtyBasePage); 1083 GEN_CHECK_OFF (CSAM, pvDirtyBasePage[1]);1084 GEN_CHECK_OFF (CSAM, pvDirtyBasePage[CSAM_MAX_DIRTY_PAGES - 1]);1131 GEN_CHECK_OFF_DOT(CSAM, pvDirtyBasePage[1]); 1132 GEN_CHECK_OFF_DOT(CSAM, pvDirtyBasePage[CSAM_MAX_DIRTY_PAGES - 1]); 1085 1133 GEN_CHECK_OFF(CSAM, pvDirtyFaultPage); 1086 GEN_CHECK_OFF (CSAM, pvDirtyFaultPage[1]);1087 GEN_CHECK_OFF (CSAM, pvDirtyFaultPage[CSAM_MAX_DIRTY_PAGES - 1]);1134 GEN_CHECK_OFF_DOT(CSAM, pvDirtyFaultPage[1]); 1135 GEN_CHECK_OFF_DOT(CSAM, pvDirtyFaultPage[CSAM_MAX_DIRTY_PAGES - 1]); 1088 1136 GEN_CHECK_OFF(CSAM, pvCallInstruction); 1089 1137 GEN_CHECK_OFF(CSAM, iCallInstruction); … … 1125 1173 GEN_CHECK_OFF(PATM, pvFaultMonitor); 1126 1174 GEN_CHECK_OFF(PATM, mmio); 1127 GEN_CHECK_OFF (PATM, mmio.GCPhys);1128 GEN_CHECK_OFF (PATM, mmio.pCachedData);1175 GEN_CHECK_OFF_DOT(PATM, mmio.GCPhys); 1176 GEN_CHECK_OFF_DOT(PATM, mmio.pCachedData); 1129 1177 GEN_CHECK_OFF(PATM, savedstate); 1130 GEN_CHECK_OFF (PATM, savedstate.pSSM);1131 GEN_CHECK_OFF (PATM, savedstate.cPatches);1178 GEN_CHECK_OFF_DOT(PATM, savedstate.pSSM); 1179 GEN_CHECK_OFF_DOT(PATM, savedstate.cPatches); 1132 1180 GEN_CHECK_OFF(PATM, StatNrOpcodeRead); 1133 1181 GEN_CHECK_OFF(PATM, StatU32FunctionMaxSlotsUsed); … … 1145 1193 GEN_CHECK_OFF(PATMGCSTATE, GCPtrInhibitInterrupts); 1146 1194 GEN_CHECK_OFF(PATMGCSTATE, Restore); 1147 GEN_CHECK_OFF (PATMGCSTATE, Restore.uEAX);1148 GEN_CHECK_OFF (PATMGCSTATE, Restore.uECX);1149 GEN_CHECK_OFF (PATMGCSTATE, Restore.uEDI);1150 GEN_CHECK_OFF (PATMGCSTATE, Restore.eFlags);1151 GEN_CHECK_OFF (PATMGCSTATE, Restore.uFlags);1195 GEN_CHECK_OFF_DOT(PATMGCSTATE, Restore.uEAX); 1196 GEN_CHECK_OFF_DOT(PATMGCSTATE, Restore.uECX); 1197 GEN_CHECK_OFF_DOT(PATMGCSTATE, Restore.uEDI); 1198 GEN_CHECK_OFF_DOT(PATMGCSTATE, Restore.eFlags); 1199 GEN_CHECK_OFF_DOT(PATMGCSTATE, Restore.uFlags); 1152 1200 GEN_CHECK_SIZE(PATMTREES); 1153 1201 GEN_CHECK_OFF(PATMTREES, PatchTree); … … 1185 1233 GEN_CHECK_OFF(PATCHINFO, nrPatch2GuestRecs); 1186 1234 GEN_CHECK_OFF(PATCHINFO, unused); 1187 GEN_CHECK_OFF (PATCHINFO, unused.pPatchLocStartHC);1188 GEN_CHECK_OFF (PATCHINFO, unused.pPatchLocEndHC);1189 GEN_CHECK_OFF (PATCHINFO, unused.pGuestLoc);1190 GEN_CHECK_OFF (PATCHINFO, unused.opsize);1235 GEN_CHECK_OFF_DOT(PATCHINFO, unused.pPatchLocStartHC); 1236 GEN_CHECK_OFF_DOT(PATCHINFO, unused.pPatchLocEndHC); 1237 GEN_CHECK_OFF_DOT(PATCHINFO, unused.pGuestLoc); 1238 GEN_CHECK_OFF_DOT(PATCHINFO, unused.opsize); 1191 1239 GEN_CHECK_OFF(PATCHINFO, pTempInfo); 1192 1240 GEN_CHECK_OFF(PATCHINFO, pTrampolinePatchesHead); … … 1203 1251 GEN_CHECK_OFF(PATMPATCHPAGE, cMaxPatches); 1204 1252 GEN_CHECK_OFF(PATMPATCHPAGE, aPatch); 1205 1206 return (0); 1207 } 1208 1253 #endif 1254 1255 1256 GEN_CHECK_SIZE(VM); 1257 GEN_CHECK_OFF(VM, enmVMState); 1258 GEN_CHECK_OFF(VM, fGlobalForcedActions); 1259 GEN_CHECK_OFF(VM, paVMPagesR3); 1260 GEN_CHECK_OFF(VM, pSession); 1261 GEN_CHECK_OFF(VM, pUVM); 1262 GEN_CHECK_OFF(VM, pVMR3); 1263 GEN_CHECK_OFF(VM, pVMR0); 1264 GEN_CHECK_OFF(VM, pVMRC); 1265 GEN_CHECK_OFF(VM, hSelf); 1266 GEN_CHECK_OFF(VM, cCpus); 1267 GEN_CHECK_OFF(VM, uCpuExecutionCap); 1268 GEN_CHECK_OFF(VM, cbSelf); 1269 GEN_CHECK_OFF(VM, offVMCPU); 1270 GEN_CHECK_OFF(VM, pfnVMMGCGuestToHostAsmGuestCtx); 1271 GEN_CHECK_OFF(VM, pfnVMMGCGuestToHostAsmHyperCtx); 1272 GEN_CHECK_OFF(VM, pfnVMMGCGuestToHostAsm); 1273 GEN_CHECK_OFF(VM, fRecompileUser); 1274 GEN_CHECK_OFF(VM, fRecompileSupervisor); 1275 GEN_CHECK_OFF(VM, fPATMEnabled); 1276 GEN_CHECK_OFF(VM, fCSAMEnabled); 1277 GEN_CHECK_OFF(VM, fHWACCMEnabled); 1278 GEN_CHECK_OFF(VM, fHwVirtExtForced); 1279 GEN_CHECK_OFF(VM, fFaultTolerantMaster); 1280 GEN_CHECK_OFF(VM, fUseLargePages); 1281 GEN_CHECK_OFF(VM, hTraceBufRC); 1282 GEN_CHECK_OFF(VM, uPadding3); 1283 GEN_CHECK_OFF(VM, hTraceBufR3); 1284 GEN_CHECK_OFF(VM, hTraceBufR0); 1285 GEN_CHECK_OFF(VM, StatTotalQemuToGC); 1286 GEN_CHECK_OFF(VM, StatTotalGCToQemu); 1287 GEN_CHECK_OFF(VM, StatTotalInGC); 1288 GEN_CHECK_OFF(VM, StatTotalInQemu); 1289 GEN_CHECK_OFF(VM, StatSwitcherToGC); 1290 GEN_CHECK_OFF(VM, StatSwitcherToHC); 1291 GEN_CHECK_OFF(VM, StatSwitcherSaveRegs); 1292 GEN_CHECK_OFF(VM, StatSwitcherSysEnter); 1293 GEN_CHECK_OFF(VM, StatSwitcherDebug); 1294 GEN_CHECK_OFF(VM, StatSwitcherCR0); 1295 GEN_CHECK_OFF(VM, StatSwitcherCR4); 1296 GEN_CHECK_OFF(VM, StatSwitcherJmpCR3); 1297 GEN_CHECK_OFF(VM, StatSwitcherRstrRegs); 1298 GEN_CHECK_OFF(VM, StatSwitcherLgdt); 1299 GEN_CHECK_OFF(VM, StatSwitcherLidt); 1300 GEN_CHECK_OFF(VM, StatSwitcherLldt); 1301 GEN_CHECK_OFF(VM, StatSwitcherTSS); 1302 GEN_CHECK_OFF(VM, cpum); 1303 GEN_CHECK_OFF(VM, vmm); 1304 GEN_CHECK_OFF(VM, pgm); 1305 GEN_CHECK_OFF(VM, hwaccm); 1306 GEN_CHECK_OFF(VM, trpm); 1307 GEN_CHECK_OFF(VM, selm); 1308 GEN_CHECK_OFF(VM, mm); 1309 GEN_CHECK_OFF(VM, pdm); 1310 GEN_CHECK_OFF(VM, iom); 1311 GEN_CHECK_OFF(VM, patm); 1312 GEN_CHECK_OFF(VM, csam); 1313 GEN_CHECK_OFF(VM, em); 1314 GEN_CHECK_OFF(VM, tm); 1315 GEN_CHECK_OFF(VM, dbgf); 1316 GEN_CHECK_OFF(VM, ssm); 1317 GEN_CHECK_OFF(VM, ftm); 1318 GEN_CHECK_OFF(VM, rem); 1319 GEN_CHECK_OFF(VM, vm); 1320 GEN_CHECK_OFF(VM, cfgm); 1321 GEN_CHECK_OFF(VM, aCpus); 1322 1323 1324 GEN_CHECK_SIZE(VMCPU); 1325 GEN_CHECK_OFF(VMCPU, fLocalForcedActions); 1326 GEN_CHECK_OFF(VMCPU, enmState); 1327 GEN_CHECK_OFF(VMCPU, pUVCpu); 1328 GEN_CHECK_OFF(VMCPU, pVMR3); 1329 GEN_CHECK_OFF(VMCPU, pVMR0); 1330 GEN_CHECK_OFF(VMCPU, pVMRC); 1331 GEN_CHECK_OFF(VMCPU, idCpu); 1332 GEN_CHECK_OFF(VMCPU, hNativeThread); 1333 GEN_CHECK_OFF(VMCPU, hNativeThreadR0); 1334 GEN_CHECK_OFF(VMCPU, idHostCpu); 1335 GEN_CHECK_OFF(VMCPU, fTraceGroups); 1336 GEN_CHECK_OFF(VMCPU, uAdHoc); 1337 GEN_CHECK_OFF(VMCPU, aStatAdHoc); 1338 GEN_CHECK_OFF(VMCPU, cpum); 1339 GEN_CHECK_OFF(VMCPU, hwaccm); 1340 GEN_CHECK_OFF(VMCPU, em); 1341 GEN_CHECK_OFF(VMCPU, iem); 1342 GEN_CHECK_OFF(VMCPU, trpm); 1343 GEN_CHECK_OFF(VMCPU, tm); 1344 GEN_CHECK_OFF(VMCPU, vmm); 1345 GEN_CHECK_OFF(VMCPU, pdm); 1346 GEN_CHECK_OFF(VMCPU, iom); 1347 GEN_CHECK_OFF(VMCPU, dbgf); 1348 GEN_CHECK_OFF(VMCPU, pgm); 1349 -
trunk/src/VBox/VMM/testcase/tstVMStructRC.cpp
r40170 r41259 87 87 #include <stdio.h> 88 88 89 #define GEN_CHECK_SIZE(s) printf(" CHECK_SIZE(%s, %u);\n", #s, (unsigned)sizeof(s))90 #define GEN_CHECK_OFF(s, m) printf(" CHECK_OFF(%s, %u, %s);\n", #s, (unsigned)RT_OFFSETOF(s, m), #m)91 89 92 90 int main() 93 91 { 94 GEN_CHECK_SIZE(CFGM); 95 96 GEN_CHECK_SIZE(CPUM); // has .mac 97 GEN_CHECK_SIZE(CPUMCPU); // has .mac 98 GEN_CHECK_SIZE(CPUMHOSTCTX); 99 GEN_CHECK_SIZE(CPUMCTX); 100 GEN_CHECK_SIZE(CPUMCTXMSRS); 101 GEN_CHECK_SIZE(CPUMCTXCORE); 102 GEN_CHECK_SIZE(STAMRATIOU32); 103 GEN_CHECK_SIZE(AVLOHCPHYSNODECORE); 104 GEN_CHECK_SIZE(AVLOGCPHYSNODECORE); 105 GEN_CHECK_SIZE(AVLROGCPHYSNODECORE); 106 GEN_CHECK_SIZE(AVLOGCPTRNODECORE); 107 GEN_CHECK_SIZE(AVLROGCPTRNODECORE); 108 GEN_CHECK_SIZE(AVLOIOPORTNODECORE); 109 GEN_CHECK_SIZE(AVLROIOPORTNODECORE); 110 111 GEN_CHECK_SIZE(DBGF); 112 GEN_CHECK_OFF(DBGF, offVM); 113 GEN_CHECK_OFF(DBGF, fAttached); 114 GEN_CHECK_OFF(DBGF, fStoppedInHyper); 115 GEN_CHECK_OFF(DBGF, PingPong); 116 GEN_CHECK_OFF(DBGF, DbgEvent); 117 GEN_CHECK_OFF(DBGF, enmVMMCmd); 118 GEN_CHECK_OFF(DBGF, VMMCmdData); 119 GEN_CHECK_OFF(DBGF, pInfoFirst); 120 GEN_CHECK_OFF(DBGF, InfoCritSect); 121 GEN_CHECK_OFF(DBGF, SymbolTree); 122 GEN_CHECK_OFF(DBGF, pSymbolSpace); 123 GEN_CHECK_OFF(DBGF, fSymInited); 124 GEN_CHECK_OFF(DBGF, cHwBreakpoints); 125 GEN_CHECK_OFF(DBGF, cBreakpoints); 126 GEN_CHECK_OFF(DBGF, aHwBreakpoints); 127 GEN_CHECK_OFF(DBGF, aBreakpoints); 128 GEN_CHECK_OFF(DBGF, hAsDbLock); 129 GEN_CHECK_OFF(DBGF, hRegDbLock); 130 GEN_CHECK_OFF(DBGF, RegSetSpace); 131 GEN_CHECK_OFF(DBGF, pCurOS); 132 GEN_CHECK_SIZE(DBGFEVENT); 133 134 GEN_CHECK_SIZE(DBGFCPU); 135 GEN_CHECK_OFF(DBGFCPU, iActiveBp); 136 GEN_CHECK_OFF(DBGFCPU, fSingleSteppingRaw); 137 GEN_CHECK_OFF(DBGFCPU, pGuestRegSet); 138 GEN_CHECK_OFF(DBGFCPU, pHyperRegSet); 139 140 GEN_CHECK_SIZE(EM); 141 GEN_CHECK_OFF(EM, offVM); 142 GEN_CHECK_OFF(EMCPU, pCtx); 143 GEN_CHECK_OFF(EMCPU, enmState); 144 GEN_CHECK_OFF(EMCPU, fForceRAW); 145 GEN_CHECK_OFF(EMCPU, u.achPaddingFatalLongJump); 146 GEN_CHECK_OFF(EMCPU, DisState); 147 GEN_CHECK_OFF(EMCPU, StatForcedActions); 148 GEN_CHECK_OFF(EMCPU, StatTotalClis); 149 GEN_CHECK_OFF(EMCPU, pStatsR3); 150 GEN_CHECK_OFF(EMCPU, pStatsR0); 151 GEN_CHECK_OFF(EMCPU, pStatsRC); 152 GEN_CHECK_OFF(EMCPU, pCliStatTree); 153 154 GEN_CHECK_SIZE(IEMCPU); 155 GEN_CHECK_OFF(IEMCPU, pCtxR0); 156 GEN_CHECK_OFF(IEMCPU, pCtxR3); 157 GEN_CHECK_OFF(IEMCPU, pCtxRC); 158 GEN_CHECK_OFF(IEMCPU, offVM); 159 GEN_CHECK_OFF(IEMCPU, offVMCpu); 160 GEN_CHECK_OFF(IEMCPU, enmCpuMode); 161 GEN_CHECK_OFF(IEMCPU, fPrefixes); 162 GEN_CHECK_OFF(IEMCPU, abOpcode); 163 GEN_CHECK_OFF(IEMCPU, cActiveMappings); 164 GEN_CHECK_OFF(IEMCPU, iNextMapping); 165 GEN_CHECK_OFF(IEMCPU, aMemMappings); 166 GEN_CHECK_OFF(IEMCPU, aMemMappings[1]); 167 GEN_CHECK_OFF(IEMCPU, aBounceBuffers); 168 GEN_CHECK_OFF(IEMCPU, aBounceBuffers[1]); 169 GEN_CHECK_OFF(IEMCPU, aMemBbMappings); 170 GEN_CHECK_OFF(IEMCPU, aMemBbMappings[1]); 171 172 GEN_CHECK_SIZE(IOM); 173 GEN_CHECK_OFF(IOM, pTreesRC); 174 GEN_CHECK_OFF(IOM, pTreesR3); 175 GEN_CHECK_OFF(IOM, pTreesR0); 176 GEN_CHECK_OFF(IOM, pMMIORangeLastR3); 177 GEN_CHECK_OFF(IOM, pMMIOStatsLastR3); 178 GEN_CHECK_OFF(IOM, pMMIORangeLastR0); 179 GEN_CHECK_OFF(IOM, pMMIOStatsLastR0); 180 GEN_CHECK_OFF(IOM, pMMIORangeLastRC); 181 GEN_CHECK_OFF(IOM, pMMIOStatsLastRC); 182 GEN_CHECK_OFF(IOM, pRangeLastReadR0); 183 GEN_CHECK_OFF(IOM, pRangeLastReadRC); 184 185 GEN_CHECK_SIZE(IOMCPU); 186 GEN_CHECK_OFF(IOMCPU, DisState); 187 GEN_CHECK_OFF(IOMCPU, Dummy[0]); 188 189 GEN_CHECK_SIZE(IOMMMIORANGE); 190 GEN_CHECK_OFF(IOMMMIORANGE, GCPhys); 191 GEN_CHECK_OFF(IOMMMIORANGE, cb); 192 GEN_CHECK_OFF(IOMMMIORANGE, cRefs); 193 GEN_CHECK_OFF(IOMMMIORANGE, fFlags); 194 GEN_CHECK_OFF(IOMMMIORANGE, pszDesc); 195 GEN_CHECK_OFF(IOMMMIORANGE, pvUserR3); 196 GEN_CHECK_OFF(IOMMMIORANGE, pDevInsR3); 197 GEN_CHECK_OFF(IOMMMIORANGE, pfnWriteCallbackR3); 198 GEN_CHECK_OFF(IOMMMIORANGE, pfnReadCallbackR3); 199 GEN_CHECK_OFF(IOMMMIORANGE, pfnFillCallbackR3); 200 GEN_CHECK_OFF(IOMMMIORANGE, pvUserR0); 201 GEN_CHECK_OFF(IOMMMIORANGE, pDevInsR0); 202 GEN_CHECK_OFF(IOMMMIORANGE, pfnWriteCallbackR0); 203 GEN_CHECK_OFF(IOMMMIORANGE, pfnReadCallbackR0); 204 GEN_CHECK_OFF(IOMMMIORANGE, pfnFillCallbackR0); 205 GEN_CHECK_OFF(IOMMMIORANGE, pvUserRC); 206 GEN_CHECK_OFF(IOMMMIORANGE, pDevInsRC); 207 GEN_CHECK_OFF(IOMMMIORANGE, pfnWriteCallbackRC); 208 GEN_CHECK_OFF(IOMMMIORANGE, pfnReadCallbackRC); 209 GEN_CHECK_OFF(IOMMMIORANGE, pfnFillCallbackRC); 210 211 GEN_CHECK_SIZE(IOMMMIOSTATS); 212 GEN_CHECK_OFF(IOMMMIOSTATS, Accesses); 213 GEN_CHECK_OFF(IOMMMIOSTATS, WriteRZToR3); 214 215 GEN_CHECK_SIZE(IOMIOPORTRANGER0); 216 GEN_CHECK_OFF(IOMIOPORTRANGER0, Port); 217 GEN_CHECK_OFF(IOMIOPORTRANGER0, cPorts); 218 GEN_CHECK_OFF(IOMIOPORTRANGER0, pvUser); 219 GEN_CHECK_OFF(IOMIOPORTRANGER0, pDevIns); 220 GEN_CHECK_OFF(IOMIOPORTRANGER0, pszDesc); 221 222 GEN_CHECK_SIZE(IOMIOPORTRANGERC); 223 GEN_CHECK_OFF(IOMIOPORTRANGERC, Port); 224 GEN_CHECK_OFF(IOMIOPORTRANGERC, cPorts); 225 GEN_CHECK_OFF(IOMIOPORTRANGERC, pvUser); 226 GEN_CHECK_OFF(IOMIOPORTRANGERC, pDevIns); 227 GEN_CHECK_OFF(IOMIOPORTRANGERC, pszDesc); 228 229 GEN_CHECK_SIZE(IOMIOPORTSTATS); 230 GEN_CHECK_OFF(IOMIOPORTSTATS, InR3); 231 232 GEN_CHECK_SIZE(IOMTREES); 233 GEN_CHECK_OFF(IOMTREES, IOPortTreeR3); 234 GEN_CHECK_OFF(IOMTREES, IOPortTreeR0); 235 GEN_CHECK_OFF(IOMTREES, IOPortTreeRC); 236 GEN_CHECK_OFF(IOMTREES, MMIOTree); 237 GEN_CHECK_OFF(IOMTREES, IOPortStatTree); 238 GEN_CHECK_OFF(IOMTREES, MmioStatTree); 239 240 GEN_CHECK_SIZE(MM); 241 GEN_CHECK_OFF(MM, offVM); 242 GEN_CHECK_OFF(MM, offHyperNextStatic); 243 GEN_CHECK_OFF(MM, cbHyperArea); 244 GEN_CHECK_OFF(MM, fDoneMMR3InitPaging); 245 GEN_CHECK_OFF(MM, fPGMInitialized); 246 GEN_CHECK_OFF(MM, offLookupHyper); 247 GEN_CHECK_OFF(MM, pHyperHeapRC); 248 GEN_CHECK_OFF(MM, pHyperHeapR3); 249 GEN_CHECK_OFF(MM, pHyperHeapR0); 250 GEN_CHECK_OFF(MM, pPagePoolR3); 251 GEN_CHECK_OFF(MM, pPagePoolLowR3); 252 #ifndef VBOX_WITH_2X_4GB_ADDR_SPACE 253 GEN_CHECK_OFF(MM, pPagePoolR0); 254 GEN_CHECK_OFF(MM, pPagePoolLowR0); 255 #endif 256 GEN_CHECK_OFF(MM, pvDummyPage); 257 GEN_CHECK_OFF(MM, HCPhysDummyPage); 258 GEN_CHECK_OFF(MM, cbRamBase); 259 GEN_CHECK_OFF(MM, cBasePages); 260 GEN_CHECK_OFF(MM, cHandyPages); 261 GEN_CHECK_OFF(MM, cShadowPages); 262 GEN_CHECK_OFF(MM, cFixedPages); 263 GEN_CHECK_SIZE(MMHYPERSTAT); 264 GEN_CHECK_SIZE(MMHYPERCHUNK); 265 GEN_CHECK_SIZE(MMHYPERCHUNKFREE); 266 GEN_CHECK_SIZE(MMHYPERHEAP); 267 GEN_CHECK_OFF(MMHYPERHEAP, u32Magic); 268 GEN_CHECK_OFF(MMHYPERHEAP, cbHeap); 269 GEN_CHECK_OFF(MMHYPERHEAP, pbHeapR3); 270 GEN_CHECK_OFF(MMHYPERHEAP, pVMR3); 271 GEN_CHECK_OFF(MMHYPERHEAP, pbHeapR0); 272 GEN_CHECK_OFF(MMHYPERHEAP, pVMR0); 273 GEN_CHECK_OFF(MMHYPERHEAP, pbHeapRC); 274 GEN_CHECK_OFF(MMHYPERHEAP, pVMRC); 275 GEN_CHECK_OFF(MMHYPERHEAP, cbFree); 276 GEN_CHECK_OFF(MMHYPERHEAP, offFreeHead); 277 GEN_CHECK_OFF(MMHYPERHEAP, offFreeTail); 278 GEN_CHECK_OFF(MMHYPERHEAP, offPageAligned); 279 GEN_CHECK_OFF(MMHYPERHEAP, HyperHeapStatTree); 280 GEN_CHECK_SIZE(MMLOOKUPHYPER); 281 GEN_CHECK_OFF(MMLOOKUPHYPER, offNext); 282 GEN_CHECK_OFF(MMLOOKUPHYPER, off); 283 GEN_CHECK_OFF(MMLOOKUPHYPER, cb); 284 GEN_CHECK_OFF(MMLOOKUPHYPER, enmType); 285 GEN_CHECK_OFF(MMLOOKUPHYPER, u.Locked.pvR3); 286 GEN_CHECK_OFF(MMLOOKUPHYPER, u.Locked.pvR0); 287 GEN_CHECK_OFF(MMLOOKUPHYPER, u.Locked.paHCPhysPages); 288 GEN_CHECK_OFF(MMLOOKUPHYPER, u.HCPhys.pvR3); 289 GEN_CHECK_OFF(MMLOOKUPHYPER, u.HCPhys.HCPhys); 290 GEN_CHECK_OFF(MMLOOKUPHYPER, u.GCPhys.GCPhys); 291 GEN_CHECK_OFF(MMLOOKUPHYPER, pszDesc); 292 293 GEN_CHECK_SIZE(PDM); 294 GEN_CHECK_OFF(PDM, CritSect); 295 GEN_CHECK_OFF(PDM, NopCritSect); 296 GEN_CHECK_OFF(PDM, pDevs); 297 GEN_CHECK_OFF(PDM, pDevInstances); 298 GEN_CHECK_OFF(PDM, pUsbDevs); 299 GEN_CHECK_OFF(PDM, pUsbInstances); 300 GEN_CHECK_OFF(PDM, pDrvs); 301 GEN_CHECK_OFF(PDM, aPciBuses); 302 GEN_CHECK_OFF(PDM, aPciBuses[0].iBus); 303 GEN_CHECK_OFF(PDM, aPciBuses[0].pDevInsR3); 304 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSetIrqR3); 305 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnRegisterR3); 306 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnIORegionRegisterR3); 307 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSaveExecR3); 308 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnLoadExecR3); 309 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnFakePCIBIOSR3); 310 GEN_CHECK_OFF(PDM, aPciBuses[0].pDevInsR0); 311 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSetIrqR0); 312 GEN_CHECK_OFF(PDM, aPciBuses[0].pDevInsRC); 313 GEN_CHECK_OFF(PDM, aPciBuses[0].pfnSetIrqRC); 314 GEN_CHECK_OFF(PDM, Pic); 315 GEN_CHECK_OFF(PDM, Pic.pDevInsR3); 316 GEN_CHECK_OFF(PDM, Pic.pfnSetIrqR3); 317 GEN_CHECK_OFF(PDM, Pic.pfnGetInterruptR3); 318 GEN_CHECK_OFF(PDM, Pic.pDevInsR0); 319 GEN_CHECK_OFF(PDM, Pic.pfnSetIrqR0); 320 GEN_CHECK_OFF(PDM, Pic.pfnGetInterruptR0); 321 GEN_CHECK_OFF(PDM, Pic.pDevInsRC); 322 GEN_CHECK_OFF(PDM, Pic.pfnSetIrqRC); 323 GEN_CHECK_OFF(PDM, Pic.pfnGetInterruptRC); 324 GEN_CHECK_OFF(PDM, Apic); 325 GEN_CHECK_OFF(PDM, Apic.pDevInsR3); 326 GEN_CHECK_OFF(PDM, Apic.pfnGetInterruptR3); 327 GEN_CHECK_OFF(PDM, Apic.pfnSetBaseR3); 328 GEN_CHECK_OFF(PDM, Apic.pfnGetBaseR3); 329 GEN_CHECK_OFF(PDM, Apic.pfnSetTPRR3); 330 GEN_CHECK_OFF(PDM, Apic.pfnWriteMSRR3); 331 GEN_CHECK_OFF(PDM, Apic.pfnReadMSRR3); 332 GEN_CHECK_OFF(PDM, Apic.pfnGetTPRR3); 333 GEN_CHECK_OFF(PDM, Apic.pfnBusDeliverR3); 334 GEN_CHECK_OFF(PDM, Apic.pDevInsR0); 335 GEN_CHECK_OFF(PDM, Apic.pfnGetInterruptR0); 336 GEN_CHECK_OFF(PDM, Apic.pfnSetBaseR0); 337 GEN_CHECK_OFF(PDM, Apic.pfnGetBaseR0); 338 GEN_CHECK_OFF(PDM, Apic.pfnSetTPRR0); 339 GEN_CHECK_OFF(PDM, Apic.pfnGetTPRR0); 340 GEN_CHECK_OFF(PDM, Apic.pfnWriteMSRR0); 341 GEN_CHECK_OFF(PDM, Apic.pfnReadMSRR0); 342 GEN_CHECK_OFF(PDM, Apic.pfnBusDeliverR0); 343 GEN_CHECK_OFF(PDM, Apic.pDevInsRC); 344 GEN_CHECK_OFF(PDM, Apic.pfnGetInterruptRC); 345 GEN_CHECK_OFF(PDM, Apic.pfnSetBaseRC); 346 GEN_CHECK_OFF(PDM, Apic.pfnGetBaseRC); 347 GEN_CHECK_OFF(PDM, Apic.pfnSetTPRRC); 348 GEN_CHECK_OFF(PDM, Apic.pfnGetTPRRC); 349 GEN_CHECK_OFF(PDM, Apic.pfnWriteMSRRC); 350 GEN_CHECK_OFF(PDM, Apic.pfnReadMSRRC); 351 GEN_CHECK_OFF(PDM, Apic.pfnBusDeliverRC); 352 GEN_CHECK_OFF(PDM, IoApic); 353 GEN_CHECK_OFF(PDM, IoApic.pDevInsR3); 354 GEN_CHECK_OFF(PDM, IoApic.pfnSetIrqR3); 355 GEN_CHECK_OFF(PDM, IoApic.pDevInsR0); 356 GEN_CHECK_OFF(PDM, IoApic.pfnSetIrqR0); 357 GEN_CHECK_OFF(PDM, IoApic.pDevInsRC); 358 GEN_CHECK_OFF(PDM, IoApic.pfnSetIrqRC); 359 GEN_CHECK_OFF(PDM, pDmac); 360 GEN_CHECK_OFF(PDM, pRtc); 361 GEN_CHECK_OFF(PDM, pUsbHubs); 362 GEN_CHECK_OFF(PDM, pDevHlpQueueR3); 363 GEN_CHECK_OFF(PDM, pDevHlpQueueR0); 364 GEN_CHECK_OFF(PDM, pDevHlpQueueRC); 365 GEN_CHECK_OFF(PDMCPU, cQueuedCritSectLeaves); 366 GEN_CHECK_OFF(PDMCPU, apQueuedCritSectsLeaves); 367 GEN_CHECK_OFF(PDM, pQueueFlushR0); 368 GEN_CHECK_OFF(PDM, pQueueFlushRC); 369 GEN_CHECK_OFF(PDM, StatQueuedCritSectLeaves); 370 371 GEN_CHECK_SIZE(PDMDEVINSINT); 372 GEN_CHECK_OFF(PDMDEVINSINT, pNextR3); 373 GEN_CHECK_OFF(PDMDEVINSINT, pPerDeviceNextR3); 374 GEN_CHECK_OFF(PDMDEVINSINT, pDevR3); 375 GEN_CHECK_OFF(PDMDEVINSINT, pVMR3); 376 GEN_CHECK_OFF(PDMDEVINSINT, pVMR0); 377 GEN_CHECK_OFF(PDMDEVINSINT, pVMRC); 378 GEN_CHECK_OFF(PDMDEVINSINT, pLunsR3); 379 GEN_CHECK_OFF(PDMDEVINSINT, pfnAsyncNotify); 380 GEN_CHECK_OFF(PDMDEVINSINT, pCfgHandle); 381 GEN_CHECK_OFF(PDMDEVINSINT, pPciDeviceR3); 382 GEN_CHECK_OFF(PDMDEVINSINT, pPciDeviceR0); 383 GEN_CHECK_OFF(PDMDEVINSINT, pPciDeviceRC); 384 GEN_CHECK_OFF(PDMDEVINSINT, pPciBusR3); 385 GEN_CHECK_OFF(PDMDEVINSINT, pPciBusR0); 386 GEN_CHECK_OFF(PDMDEVINSINT, pPciBusRC); 387 GEN_CHECK_OFF(PDMDEVINSINT, fIntFlags); 388 GEN_CHECK_OFF(PDMDEVINS, u32Version); 389 GEN_CHECK_OFF(PDMDEVINS, iInstance); 390 GEN_CHECK_OFF(PDMDEVINS, pHlpRC); 391 GEN_CHECK_OFF(PDMDEVINS, pvInstanceDataRC); 392 GEN_CHECK_OFF(PDMDEVINS, pHlpR0); 393 GEN_CHECK_OFF(PDMDEVINS, pvInstanceDataR0); 394 GEN_CHECK_OFF(PDMDEVINS, pHlpR3); 395 GEN_CHECK_OFF(PDMDEVINS, pvInstanceDataR3); 396 GEN_CHECK_OFF(PDMDEVINS, pReg); 397 GEN_CHECK_OFF(PDMDEVINS, pCfg); 398 GEN_CHECK_OFF(PDMDEVINS, IBase); 399 GEN_CHECK_OFF(PDMDEVINS, Internal); 400 GEN_CHECK_OFF(PDMDEVINS, achInstanceData); 401 402 GEN_CHECK_SIZE(PDMDRVINSINT); 403 GEN_CHECK_OFF(PDMDRVINSINT, pUp); 404 GEN_CHECK_OFF(PDMDRVINSINT, pDown); 405 GEN_CHECK_OFF(PDMDRVINSINT, pLun); 406 GEN_CHECK_OFF(PDMDRVINSINT, pDrv); 407 GEN_CHECK_OFF(PDMDRVINSINT, pVMR3); 408 GEN_CHECK_OFF(PDMDRVINSINT, pVMR0); 409 GEN_CHECK_OFF(PDMDRVINSINT, pVMRC); 410 GEN_CHECK_OFF(PDMDRVINSINT, fDetaching); 411 GEN_CHECK_OFF(PDMDRVINSINT, fVMSuspended); 412 GEN_CHECK_OFF(PDMDRVINSINT, fVMReset); 413 GEN_CHECK_OFF(PDMDRVINSINT, pfnAsyncNotify); 414 GEN_CHECK_OFF(PDMDRVINSINT, pCfgHandle); 415 GEN_CHECK_OFF(PDMDRVINS, u32Version); 416 GEN_CHECK_OFF(PDMDRVINS, iInstance); 417 GEN_CHECK_OFF(PDMDRVINS, pHlpRC); 418 GEN_CHECK_OFF(PDMDRVINS, pvInstanceDataRC); 419 GEN_CHECK_OFF(PDMDRVINS, pHlpR0); 420 GEN_CHECK_OFF(PDMDRVINS, pvInstanceDataR0); 421 GEN_CHECK_OFF(PDMDRVINS, pHlpR3); 422 GEN_CHECK_OFF(PDMDRVINS, pvInstanceDataR3); 423 GEN_CHECK_OFF(PDMDRVINS, pReg); 424 GEN_CHECK_OFF(PDMDRVINS, pCfg); 425 GEN_CHECK_OFF(PDMDRVINS, IBase); 426 GEN_CHECK_OFF(PDMDRVINS, Internal); 427 GEN_CHECK_OFF(PDMDRVINS, achInstanceData); 428 429 GEN_CHECK_SIZE(PDMCRITSECTINT); 430 GEN_CHECK_OFF(PDMCRITSECTINT, Core); 431 GEN_CHECK_OFF(PDMCRITSECTINT, pNext); 432 GEN_CHECK_OFF(PDMCRITSECTINT, pvKey); 433 GEN_CHECK_OFF(PDMCRITSECTINT, pVMR3); 434 GEN_CHECK_OFF(PDMCRITSECTINT, pVMR0); 435 GEN_CHECK_OFF(PDMCRITSECTINT, pVMRC); 436 GEN_CHECK_OFF(PDMCRITSECTINT, StatContentionRZLock); 437 GEN_CHECK_OFF(PDMCRITSECTINT, StatContentionRZUnlock); 438 GEN_CHECK_OFF(PDMCRITSECTINT, StatContentionR3); 439 GEN_CHECK_OFF(PDMCRITSECTINT, StatLocked); 440 GEN_CHECK_SIZE(PDMQUEUE); 441 GEN_CHECK_OFF(PDMQUEUE, pNext); 442 GEN_CHECK_OFF(PDMQUEUE, enmType); 443 GEN_CHECK_OFF(PDMQUEUE, u); 444 GEN_CHECK_OFF(PDMQUEUE, u.Dev.pfnCallback); 445 GEN_CHECK_OFF(PDMQUEUE, u.Dev.pDevIns); 446 GEN_CHECK_OFF(PDMQUEUE, u.Drv.pfnCallback); 447 GEN_CHECK_OFF(PDMQUEUE, u.Drv.pDrvIns); 448 GEN_CHECK_OFF(PDMQUEUE, u.Int.pfnCallback); 449 GEN_CHECK_OFF(PDMQUEUE, u.Ext.pfnCallback); 450 GEN_CHECK_OFF(PDMQUEUE, u.Ext.pvUser); 451 GEN_CHECK_OFF(PDMQUEUE, pVMR3); 452 GEN_CHECK_OFF(PDMQUEUE, pVMR0); 453 GEN_CHECK_OFF(PDMQUEUE, pVMRC); 454 GEN_CHECK_OFF(PDMQUEUE, cMilliesInterval); 455 GEN_CHECK_OFF(PDMQUEUE, pTimer); 456 GEN_CHECK_OFF(PDMQUEUE, cbItem); 457 GEN_CHECK_OFF(PDMQUEUE, cItems); 458 GEN_CHECK_OFF(PDMQUEUE, pPendingR3); 459 GEN_CHECK_OFF(PDMQUEUE, pPendingR0); 460 GEN_CHECK_OFF(PDMQUEUE, pPendingRC); 461 GEN_CHECK_OFF(PDMQUEUE, iFreeHead); 462 GEN_CHECK_OFF(PDMQUEUE, iFreeTail); 463 GEN_CHECK_OFF(PDMQUEUE, pszName); 464 GEN_CHECK_OFF(PDMQUEUE, StatAllocFailures); 465 GEN_CHECK_OFF(PDMQUEUE, StatInsert); 466 GEN_CHECK_OFF(PDMQUEUE, StatFlush); 467 GEN_CHECK_OFF(PDMQUEUE, StatFlushLeftovers); 468 GEN_CHECK_OFF(PDMQUEUE, aFreeItems); 469 GEN_CHECK_OFF(PDMQUEUE, aFreeItems[1]); 470 GEN_CHECK_OFF(PDMQUEUE, aFreeItems[0].pItemR3); 471 GEN_CHECK_OFF(PDMQUEUE, aFreeItems[0].pItemR0); 472 GEN_CHECK_OFF(PDMQUEUE, aFreeItems[1].pItemRC); 473 GEN_CHECK_SIZE(PDMDEVHLPTASK); 474 GEN_CHECK_OFF(PDMDEVHLPTASK, Core); 475 GEN_CHECK_OFF(PDMDEVHLPTASK, pDevInsR3); 476 GEN_CHECK_OFF(PDMDEVHLPTASK, enmOp); 477 GEN_CHECK_OFF(PDMDEVHLPTASK, u); 478 GEN_CHECK_OFF(PDMDEVHLPTASK, u.SetIRQ.iIrq); 479 GEN_CHECK_OFF(PDMDEVHLPTASK, u.SetIRQ.iLevel); 480 481 GEN_CHECK_SIZE(PGM); 482 GEN_CHECK_OFF(PGM, offVM); 483 GEN_CHECK_OFF(PGM, fRamPreAlloc); 484 GEN_CHECK_OFF(PGM, paDynPageMap32BitPTEsGC); 485 GEN_CHECK_OFF(PGM, paDynPageMapPaePTEsGC); 486 GEN_CHECK_OFF(PGM, enmHostMode); 487 GEN_CHECK_OFF(PGMCPU, offVM); 488 GEN_CHECK_OFF(PGMCPU, offVCpu); 489 GEN_CHECK_OFF(PGMCPU, offPGM); 490 #if defined(VBOX_WITH_2X_4GB_ADDR_SPACE) || defined(VBOX_WITH_RAW_MODE) 491 GEN_CHECK_OFF(PGMCPU, AutoSet); 492 #endif 493 GEN_CHECK_OFF(PGMCPU, GCPhysA20Mask); 494 GEN_CHECK_OFF(PGMCPU, fA20Enabled); 495 GEN_CHECK_OFF(PGMCPU, fSyncFlags); 496 GEN_CHECK_OFF(PGMCPU, enmShadowMode); 497 GEN_CHECK_OFF(PGMCPU, enmGuestMode); 498 GEN_CHECK_OFF(PGMCPU, GCPhysCR3); 499 GEN_CHECK_OFF(PGM, GCPtrCR3Mapping); 500 GEN_CHECK_OFF(PGMCPU, pGst32BitPdR3); 501 #ifndef VBOX_WITH_2X_4GB_ADDR_SPACE 502 GEN_CHECK_OFF(PGMCPU, pGst32BitPdR0); 503 #endif 504 GEN_CHECK_OFF(PGMCPU, pGst32BitPdRC); 505 GEN_CHECK_OFF(PGMCPU, pGstPaePdptR3); 506 #ifndef VBOX_WITH_2X_4GB_ADDR_SPACE 507 GEN_CHECK_OFF(PGMCPU, pGstPaePdptR0); 508 #endif 509 GEN_CHECK_OFF(PGMCPU, pGstPaePdptRC); 510 GEN_CHECK_OFF(PGMCPU, apGstPaePDsR3); 511 #ifndef VBOX_WITH_2X_4GB_ADDR_SPACE 512 GEN_CHECK_OFF(PGMCPU, apGstPaePDsR0); 513 #endif 514 GEN_CHECK_OFF(PGMCPU, apGstPaePDsRC); 515 GEN_CHECK_OFF(PGMCPU, aGCPhysGstPaePDs); 516 GEN_CHECK_OFF(PGMCPU, aGCPhysGstPaePDsMonitored); 517 GEN_CHECK_OFF(PGMCPU, pShwPageCR3R3); 518 GEN_CHECK_OFF(PGMCPU, pShwPageCR3R0); 519 GEN_CHECK_OFF(PGMCPU, pShwPageCR3RC); 520 GEN_CHECK_OFF(PGMCPU, pfnR3ShwRelocate); 521 GEN_CHECK_OFF(PGMCPU, pfnR3ShwExit); 522 GEN_CHECK_OFF(PGMCPU, pfnR3ShwGetPage); 523 GEN_CHECK_OFF(PGMCPU, pfnR3ShwModifyPage); 524 GEN_CHECK_OFF(PGMCPU, pfnRCShwGetPage); 525 GEN_CHECK_OFF(PGMCPU, pfnRCShwModifyPage); 526 GEN_CHECK_OFF(PGMCPU, pfnR3GstRelocate); 527 GEN_CHECK_OFF(PGMCPU, pfnR3GstExit); 528 GEN_CHECK_OFF(PGMCPU, pfnR3BthMapCR3); 529 GEN_CHECK_OFF(PGMCPU, pfnR3BthUnmapCR3); 530 GEN_CHECK_OFF(PGMCPU, pfnR3GstGetPage); 531 GEN_CHECK_OFF(PGMCPU, pfnR3GstModifyPage); 532 GEN_CHECK_OFF(PGMCPU, pfnR3GstGetPDE); 533 GEN_CHECK_OFF(PGMCPU, pfnRCGstGetPage); 534 GEN_CHECK_OFF(PGMCPU, pfnRCGstModifyPage); 535 GEN_CHECK_OFF(PGMCPU, pfnRCGstGetPDE); 536 GEN_CHECK_OFF(PGMCPU, pfnR3BthRelocate); 537 GEN_CHECK_OFF(PGMCPU, pfnR3BthSyncCR3); 538 GEN_CHECK_OFF(PGMCPU, pfnR3BthInvalidatePage); 539 GEN_CHECK_OFF(PGMCPU, pfnR3BthPrefetchPage); 540 GEN_CHECK_OFF(PGMCPU, pfnR3BthVerifyAccessSyncPage); 541 GEN_CHECK_OFF(PGMCPU, pfnR3BthAssertCR3); 542 GEN_CHECK_OFF(PGMCPU, pfnRCBthTrap0eHandler); 543 GEN_CHECK_OFF(PGMCPU, pfnRCBthInvalidatePage); 544 GEN_CHECK_OFF(PGMCPU, pfnRCBthPrefetchPage); 545 GEN_CHECK_OFF(PGMCPU, pfnRCBthVerifyAccessSyncPage); 546 GEN_CHECK_OFF(PGMCPU, pfnRCBthAssertCR3); 547 GEN_CHECK_OFF(PGMCPU, pfnR0BthTrap0eHandler); 548 GEN_CHECK_OFF(PGMCPU, pfnR0BthInvalidatePage); 549 GEN_CHECK_OFF(PGMCPU, pfnR0BthPrefetchPage); 550 GEN_CHECK_OFF(PGMCPU, pfnR0BthVerifyAccessSyncPage); 551 GEN_CHECK_OFF(PGMCPU, pfnR0BthAssertCR3); 552 GEN_CHECK_OFF(PGMCPU, DisState); 553 GEN_CHECK_OFF(PGMCPU, cGuestModeChanges); 554 #ifdef VBOX_WITH_STATISTICS 555 GEN_CHECK_OFF(PGMCPU, pStatsR0); 556 GEN_CHECK_OFF(PGMCPU, pStatTrap0eAttributionR0); 557 GEN_CHECK_OFF(PGMCPU, pStatsRC); 558 GEN_CHECK_OFF(PGMCPU, pStatTrap0eAttributionRC); 559 GEN_CHECK_OFF(PGMCPU, pStatsR3); 560 #endif 561 GEN_CHECK_OFF(PGM, offVM); 562 GEN_CHECK_OFF(PGM, offVCpuPGM); 563 GEN_CHECK_OFF(PGM, fRamPreAlloc); 564 GEN_CHECK_OFF(PGM, paDynPageMap32BitPTEsGC); 565 GEN_CHECK_OFF(PGM, paDynPageMapPaePTEsGC); 566 GEN_CHECK_OFF(PGM, enmHostMode); 567 GEN_CHECK_OFF(PGM, GCPhys4MBPSEMask); 568 GEN_CHECK_OFF(PGM, pRamRangesXR3); 569 GEN_CHECK_OFF(PGM, pRamRangesXR0); 570 GEN_CHECK_OFF(PGM, pRamRangesXRC); 571 GEN_CHECK_OFF(PGM, pRomRangesR3); 572 GEN_CHECK_OFF(PGM, pRomRangesR0); 573 GEN_CHECK_OFF(PGM, pRomRangesRC); 574 GEN_CHECK_OFF(PGM, pTreesR3); 575 GEN_CHECK_OFF(PGM, pTreesR0); 576 GEN_CHECK_OFF(PGM, pTreesRC); 577 GEN_CHECK_OFF(PGM, pMappingsR3); 578 GEN_CHECK_OFF(PGM, pMappingsRC); 579 GEN_CHECK_OFF(PGM, pMappingsR0); 580 GEN_CHECK_OFF(PGM, fFinalizedMappings); 581 GEN_CHECK_OFF(PGM, fMappingsFixed); 582 GEN_CHECK_OFF(PGM, fMappingsFixedRestored); 583 GEN_CHECK_OFF(PGM, fMappingsDisabled); 584 GEN_CHECK_OFF(PGM, GCPtrMappingFixed); 585 GEN_CHECK_OFF(PGM, cbMappingFixed); 586 GEN_CHECK_OFF(PGM, pInterPD); 587 GEN_CHECK_OFF(PGM, apInterPTs); 588 GEN_CHECK_OFF(PGM, apInterPaePTs); 589 GEN_CHECK_OFF(PGM, apInterPaePDs); 590 GEN_CHECK_OFF(PGM, pInterPaePDPT); 591 GEN_CHECK_OFF(PGM, pInterPaePDPT64); 592 GEN_CHECK_OFF(PGM, pInterPaePML4); 593 GEN_CHECK_OFF(PGM, HCPhysInterPD); 594 GEN_CHECK_OFF(PGM, HCPhysInterPaePDPT); 595 GEN_CHECK_OFF(PGM, HCPhysInterPaePML4); 596 GEN_CHECK_OFF(PGM, pbDynPageMapBaseGC); 597 GEN_CHECK_OFF(PGM, pRCDynMap); 598 GEN_CHECK_OFF(PGM, pvR0DynMapUsed); 599 GEN_CHECK_OFF(PGM, GCPhys4MBPSEMask); 600 GEN_CHECK_OFF(PGMCPU, GCPhysA20Mask); 601 GEN_CHECK_OFF(PGMCPU, fA20Enabled); 602 GEN_CHECK_OFF(PGMCPU, fSyncFlags); 603 GEN_CHECK_OFF(PGM, CritSectX); 604 GEN_CHECK_OFF(PGM, pPoolR3); 605 GEN_CHECK_OFF(PGM, pPoolR0); 606 GEN_CHECK_OFF(PGM, pPoolRC); 607 GEN_CHECK_OFF(PGM, fNoMorePhysWrites); 608 GEN_CHECK_OFF(PGM, ChunkR3Map); 609 GEN_CHECK_OFF(PGM, ChunkR3Map.pTree); 610 GEN_CHECK_OFF(PGM, ChunkR3Map.Tlb); 611 GEN_CHECK_OFF(PGM, ChunkR3Map.c); 612 GEN_CHECK_OFF(PGM, ChunkR3Map.cMax); 613 GEN_CHECK_OFF(PGM, ChunkR3Map.iNow); 614 GEN_CHECK_OFF(PGM, PhysTlbHC); 615 GEN_CHECK_OFF(PGM, PhysTlbHC.aEntries[0]); 616 GEN_CHECK_OFF(PGM, PhysTlbHC.aEntries[1]); 617 GEN_CHECK_OFF(PGM, PhysTlbHC.aEntries[1].GCPhys); 618 GEN_CHECK_OFF(PGM, PhysTlbHC.aEntries[1].pMap); 619 GEN_CHECK_OFF(PGM, PhysTlbHC.aEntries[1].pPage); 620 GEN_CHECK_OFF(PGM, PhysTlbHC.aEntries[1].pv); 621 GEN_CHECK_OFF(PGM, HCPhysZeroPg); 622 GEN_CHECK_OFF(PGM, pvZeroPgR3); 623 GEN_CHECK_OFF(PGM, pvZeroPgR0); 624 GEN_CHECK_OFF(PGM, pvZeroPgRC); 625 GEN_CHECK_OFF(PGM, cHandyPages); 626 GEN_CHECK_OFF(PGM, aHandyPages); 627 GEN_CHECK_OFF(PGM, aHandyPages[1]); 628 GEN_CHECK_OFF(PGM, aHandyPages[1].HCPhysGCPhys); 629 GEN_CHECK_OFF(PGM, aHandyPages[1].idPage); 630 GEN_CHECK_OFF(PGM, aHandyPages[1].idSharedPage); 631 GEN_CHECK_OFF(PGM, cAllPages); 632 GEN_CHECK_OFF(PGM, cPrivatePages); 633 GEN_CHECK_OFF(PGM, cSharedPages); 634 GEN_CHECK_OFF(PGM, cZeroPages); 635 GEN_CHECK_OFF(PGM, cPureMmioPages); 636 GEN_CHECK_OFF(PGM, cMonitoredPages); 637 GEN_CHECK_OFF(PGM, cWrittenToPages); 638 GEN_CHECK_OFF(PGM, cWriteLockedPages); 639 GEN_CHECK_OFF(PGM, cReadLockedPages); 640 GEN_CHECK_OFF(PGM, cRelocations); 641 #ifdef VBOX_WITH_STATISTICS 642 GEN_CHECK_OFF(PGMCPU, pStatsR0); 643 GEN_CHECK_OFF(PGMCPU, pStatsRC); 644 GEN_CHECK_OFF(PGMCPU, pStatsR3); 645 #endif 646 647 GEN_CHECK_SIZE(PGMMAPPING); 648 GEN_CHECK_OFF(PGMMAPPING, pNextR3); 649 GEN_CHECK_OFF(PGMMAPPING, pNextRC); 650 GEN_CHECK_OFF(PGMMAPPING, pNextR0); 651 GEN_CHECK_OFF(PGMMAPPING, GCPtr); 652 GEN_CHECK_OFF(PGMMAPPING, GCPtrLast); 653 GEN_CHECK_OFF(PGMMAPPING, cb); 654 GEN_CHECK_OFF(PGMMAPPING, pfnRelocate); 655 GEN_CHECK_OFF(PGMMAPPING, pvUser); 656 GEN_CHECK_OFF(PGMMAPPING, pszDesc); 657 GEN_CHECK_OFF(PGMMAPPING, cPTs); 658 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].HCPhysPT); 659 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].pPTR3); 660 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].pPTR0); 661 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].pPTRC); 662 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].HCPhysPaePT0); 663 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].HCPhysPaePT1); 664 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].paPaePTsR3); 665 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].paPaePTsRC); 666 GEN_CHECK_OFF(PGMMAPPING, aPTs[1].paPaePTsR0); 667 GEN_CHECK_SIZE(PGMPHYSHANDLER); 668 GEN_CHECK_OFF(PGMPHYSHANDLER, Core); 669 GEN_CHECK_SIZE(((PPGMPHYSHANDLER)0)->Core); 670 GEN_CHECK_OFF(PGMPHYSHANDLER, enmType); 671 GEN_CHECK_OFF(PGMPHYSHANDLER, cPages); 672 GEN_CHECK_OFF(PGMPHYSHANDLER, cAliasedPages); 673 GEN_CHECK_OFF(PGMPHYSHANDLER, cTmpOffPages); 674 GEN_CHECK_OFF(PGMPHYSHANDLER, pfnHandlerR3); 675 GEN_CHECK_OFF(PGMPHYSHANDLER, pvUserR3); 676 GEN_CHECK_OFF(PGMPHYSHANDLER, pfnHandlerR0); 677 GEN_CHECK_OFF(PGMPHYSHANDLER, pvUserR0); 678 GEN_CHECK_OFF(PGMPHYSHANDLER, pfnHandlerRC); 679 GEN_CHECK_OFF(PGMPHYSHANDLER, pvUserRC); 680 GEN_CHECK_OFF(PGMPHYSHANDLER, pszDesc); 681 GEN_CHECK_SIZE(PGMPHYS2VIRTHANDLER); 682 GEN_CHECK_OFF(PGMPHYS2VIRTHANDLER, Core); 683 GEN_CHECK_OFF(PGMPHYS2VIRTHANDLER, offVirtHandler); 684 GEN_CHECK_SIZE(PGMVIRTHANDLER); 685 GEN_CHECK_OFF(PGMVIRTHANDLER, Core); 686 GEN_CHECK_OFF(PGMVIRTHANDLER, enmType); 687 GEN_CHECK_OFF(PGMVIRTHANDLER, cb); 688 GEN_CHECK_OFF(PGMVIRTHANDLER, pfnHandlerR3); 689 GEN_CHECK_OFF(PGMVIRTHANDLER, pfnHandlerRC); 690 GEN_CHECK_OFF(PGMVIRTHANDLER, pszDesc); 691 GEN_CHECK_OFF(PGMVIRTHANDLER, cPages); 692 GEN_CHECK_OFF(PGMVIRTHANDLER, aPhysToVirt); 693 GEN_CHECK_SIZE(PGMPAGE); 694 GEN_CHECK_OFF(PGMPAGE, s.cReadLocksY); 695 GEN_CHECK_OFF(PGMPAGE, s.cWriteLocksY); 696 GEN_CHECK_OFF(PGMPAGE, s.u16TrackingY); 697 GEN_CHECK_SIZE(PGMRAMRANGE); 698 GEN_CHECK_OFF(PGMRAMRANGE, pNextR3); 699 GEN_CHECK_OFF(PGMRAMRANGE, pNextR0); 700 GEN_CHECK_OFF(PGMRAMRANGE, pNextRC); 701 GEN_CHECK_OFF(PGMRAMRANGE, GCPhys); 702 GEN_CHECK_OFF(PGMRAMRANGE, GCPhysLast); 703 GEN_CHECK_OFF(PGMRAMRANGE, cb); 704 GEN_CHECK_OFF(PGMRAMRANGE, fFlags); 705 GEN_CHECK_OFF(PGMRAMRANGE, pvR3); 706 GEN_CHECK_OFF(PGMRAMRANGE, pszDesc); 707 GEN_CHECK_OFF(PGMRAMRANGE, aPages); 708 GEN_CHECK_OFF(PGMRAMRANGE, aPages[1]); 709 GEN_CHECK_SIZE(PGMROMPAGE); 710 GEN_CHECK_OFF(PGMROMPAGE, Virgin); 711 GEN_CHECK_OFF(PGMROMPAGE, Shadow); 712 GEN_CHECK_OFF(PGMROMPAGE, enmProt); 713 GEN_CHECK_SIZE(PGMROMRANGE); 714 GEN_CHECK_OFF(PGMROMRANGE, pNextR3); 715 GEN_CHECK_OFF(PGMROMRANGE, pNextR0); 716 GEN_CHECK_OFF(PGMROMRANGE, pNextRC); 717 GEN_CHECK_OFF(PGMROMRANGE, GCPhys); 718 GEN_CHECK_OFF(PGMROMRANGE, GCPhysLast); 719 GEN_CHECK_OFF(PGMROMRANGE, cb); 720 GEN_CHECK_OFF(PGMROMRANGE, fFlags); 721 GEN_CHECK_OFF(PGMROMRANGE, cbOriginal); 722 GEN_CHECK_OFF(PGMROMRANGE, pvOriginal); 723 GEN_CHECK_OFF(PGMROMRANGE, pszDesc); 724 GEN_CHECK_OFF(PGMROMRANGE, aPages); 725 GEN_CHECK_OFF(PGMROMRANGE, aPages[1]); 726 GEN_CHECK_SIZE(PGMMMIO2RANGE); 727 GEN_CHECK_OFF(PGMMMIO2RANGE, pDevInsR3); 728 GEN_CHECK_OFF(PGMMMIO2RANGE, pNextR3); 729 GEN_CHECK_OFF(PGMMMIO2RANGE, fMapped); 730 GEN_CHECK_OFF(PGMMMIO2RANGE, fOverlapping); 731 GEN_CHECK_OFF(PGMMMIO2RANGE, iRegion); 732 GEN_CHECK_OFF(PGMMMIO2RANGE, RamRange); 733 GEN_CHECK_SIZE(PGMTREES); 734 GEN_CHECK_OFF(PGMTREES, PhysHandlers); 735 GEN_CHECK_OFF(PGMTREES, VirtHandlers); 736 GEN_CHECK_OFF(PGMTREES, PhysToVirtHandlers); 737 GEN_CHECK_OFF(PGMTREES, HyperVirtHandlers); 738 GEN_CHECK_SIZE(PGMPOOLPAGE); 739 GEN_CHECK_OFF(PGMPOOLPAGE, Core); 740 GEN_CHECK_OFF(PGMPOOLPAGE, GCPhys); 741 GEN_CHECK_OFF(PGMPOOLPAGE, pvPageR3); 742 GEN_CHECK_OFF(PGMPOOLPAGE, enmKind); 743 GEN_CHECK_OFF(PGMPOOLPAGE, enmAccess); 744 GEN_CHECK_OFF(PGMPOOLPAGE, idx); 745 GEN_CHECK_OFF(PGMPOOLPAGE, iNext); 746 #ifdef PGMPOOL_WITH_USER_TRACKING 747 GEN_CHECK_OFF(PGMPOOLPAGE, iUserHead); 748 GEN_CHECK_OFF(PGMPOOLPAGE, cPresent); 749 GEN_CHECK_OFF(PGMPOOLPAGE, iFirstPresent); 750 #endif 751 #ifdef PGMPOOL_WITH_MONITORING 752 GEN_CHECK_OFF(PGMPOOLPAGE, cModifications); 753 GEN_CHECK_OFF(PGMPOOLPAGE, iModifiedNext); 754 GEN_CHECK_OFF(PGMPOOLPAGE, iModifiedPrev); 755 GEN_CHECK_OFF(PGMPOOLPAGE, iMonitoredNext); 756 GEN_CHECK_OFF(PGMPOOLPAGE, iMonitoredPrev); 757 #endif 758 #ifdef PGMPOOL_WITH_CACHE 759 GEN_CHECK_OFF(PGMPOOLPAGE, iAgeNext); 760 GEN_CHECK_OFF(PGMPOOLPAGE, iAgePrev); 761 #endif 762 GEN_CHECK_OFF(PGMPOOLPAGE, fZeroed); 763 GEN_CHECK_OFF(PGMPOOLPAGE, fSeenNonGlobal); 764 GEN_CHECK_OFF(PGMPOOLPAGE, fMonitored); 765 GEN_CHECK_OFF(PGMPOOLPAGE, fCached); 766 GEN_CHECK_OFF(PGMPOOLPAGE, fReusedFlushPending); 767 GEN_CHECK_OFF(PGMPOOLPAGE, cLocked); 768 GEN_CHECK_SIZE(PGMPOOL); 769 GEN_CHECK_OFF(PGMPOOL, pVMR3); 770 GEN_CHECK_OFF(PGMPOOL, pVMR0); 771 GEN_CHECK_OFF(PGMPOOL, pVMRC); 772 GEN_CHECK_OFF(PGMPOOL, cMaxPages); 773 GEN_CHECK_OFF(PGMPOOL, cCurPages); 774 GEN_CHECK_OFF(PGMPOOL, iFreeHead); 775 GEN_CHECK_OFF(PGMPOOL, u16Padding); 776 #ifdef PGMPOOL_WITH_USER_TRACKING 777 GEN_CHECK_OFF(PGMPOOL, iUserFreeHead); 778 GEN_CHECK_OFF(PGMPOOL, cMaxUsers); 779 GEN_CHECK_OFF(PGMPOOL, cPresent); 780 GEN_CHECK_OFF(PGMPOOL, paUsersR3); 781 GEN_CHECK_OFF(PGMPOOL, paUsersR0); 782 GEN_CHECK_OFF(PGMPOOL, paUsersRC); 783 #endif /* PGMPOOL_WITH_USER_TRACKING */ 784 #ifdef PGMPOOL_WITH_GCPHYS_TRACKING 785 GEN_CHECK_OFF(PGMPOOL, iPhysExtFreeHead); 786 GEN_CHECK_OFF(PGMPOOL, cMaxPhysExts); 787 GEN_CHECK_OFF(PGMPOOL, paPhysExtsR3); 788 GEN_CHECK_OFF(PGMPOOL, paPhysExtsR0); 789 GEN_CHECK_OFF(PGMPOOL, paPhysExtsRC); 790 #endif 791 #ifdef PGMPOOL_WITH_CACHE 792 GEN_CHECK_OFF(PGMPOOL, aiHash); 793 GEN_CHECK_OFF(PGMPOOL, iAgeHead); 794 GEN_CHECK_OFF(PGMPOOL, iAgeTail); 795 GEN_CHECK_OFF(PGMPOOL, fCacheEnabled); 796 #endif 797 #ifdef PGMPOOL_WITH_MONITORING 798 GEN_CHECK_OFF(PGMPOOL, pfnAccessHandlerRC); 799 GEN_CHECK_OFF(PGMPOOL, pfnAccessHandlerR0); 800 GEN_CHECK_OFF(PGMPOOL, pfnAccessHandlerR3); 801 GEN_CHECK_OFF(PGMPOOL, pszAccessHandler); 802 GEN_CHECK_OFF(PGMPOOL, iModifiedHead); 803 GEN_CHECK_OFF(PGMPOOL, cModifiedPages); 804 #endif 805 GEN_CHECK_OFF(PGMPOOL, cUsedPages); 806 #ifdef VBOX_WITH_STATISTICS 807 GEN_CHECK_OFF(PGMPOOL, cUsedPagesHigh); 808 GEN_CHECK_OFF(PGMPOOL, StatAlloc); 809 GEN_CHECK_OFF(PGMPOOL, StatClearAll); 810 #endif 811 GEN_CHECK_OFF(PGMPOOL, HCPhysTree); 812 GEN_CHECK_OFF(PGMPOOL, aPages); 813 GEN_CHECK_OFF(PGMPOOL, aPages[1]); 814 GEN_CHECK_OFF(PGMPOOL, aPages[PGMPOOL_IDX_FIRST - 1]); 815 GEN_CHECK_SIZE(PGMRCDYNMAP); 816 GEN_CHECK_OFF(PGMRCDYNMAP, u32Magic); 817 GEN_CHECK_OFF(PGMRCDYNMAP, paPages); 818 GEN_CHECK_OFF(PGMRCDYNMAP, cPages); 819 GEN_CHECK_OFF(PGMRCDYNMAP, cLoad); 820 GEN_CHECK_OFF(PGMRCDYNMAP, cMaxLoad); 821 GEN_CHECK_OFF(PGMRCDYNMAP, cGuardPages); 822 GEN_CHECK_OFF(PGMRCDYNMAP, cUsers); 823 GEN_CHECK_SIZE(PGMRCDYNMAPENTRY); 824 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, HCPhys); 825 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, pvPage); 826 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, cRefs); 827 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, uPte.pLegacy); 828 GEN_CHECK_OFF(PGMRCDYNMAPENTRY, uPte.pPae); 829 GEN_CHECK_OFF(PGMMAPSETENTRY, pvPage); 830 GEN_CHECK_OFF(PGMMAPSETENTRY, iPage); 831 GEN_CHECK_OFF(PGMMAPSETENTRY, cRefs); 832 GEN_CHECK_OFF(PGMMAPSETENTRY, cInlinedRefs); 833 GEN_CHECK_OFF(PGMMAPSETENTRY, cUnrefs); 834 GEN_CHECK_OFF(PGMMAPSETENTRY, HCPhys); 835 836 GEN_CHECK_SIZE(REM); 837 GEN_CHECK_OFF(REM, pCtx); 838 GEN_CHECK_OFF(REM, cCanExecuteRaw); 839 GEN_CHECK_OFF(REM, aGCPtrInvalidatedPages); 840 GEN_CHECK_OFF(REM, idxPendingList); 841 GEN_CHECK_OFF(REM, aHandlerNotifications); 842 GEN_CHECK_OFF(REM, idxFreeList); 843 GEN_CHECK_OFF(REM, CritSectRegister); 844 GEN_CHECK_OFF(REM, rc); 845 GEN_CHECK_OFF(REM, StatsInQEMU); 846 GEN_CHECK_OFF(REM, Env); 847 848 GEN_CHECK_SIZE(REMHANDLERNOTIFICATION); 849 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, enmKind); 850 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u); 851 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalRegister.GCPhys); 852 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalRegister.cb); 853 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalRegister.enmType); 854 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalRegister.fHasHCHandler); 855 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalDeregister.GCPhys); 856 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalDeregister.cb); 857 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalDeregister.enmType); 858 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalDeregister.fHasHCHandler); 859 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalDeregister.fRestoreAsRAM); 860 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalModify.GCPhysOld); 861 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalModify.GCPhysNew); 862 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalModify.cb); 863 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalModify.enmType); 864 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalModify.fHasHCHandler); 865 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, u.PhysicalModify.fRestoreAsRAM); 866 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, idxSelf); 867 GEN_CHECK_OFF(REMHANDLERNOTIFICATION, idxNext); 868 869 GEN_CHECK_SIZE(SELM); 870 GEN_CHECK_OFF(SELM, offVM); 871 GEN_CHECK_OFF(SELM, aHyperSel[SELM_HYPER_SEL_CS]); 872 GEN_CHECK_OFF(SELM, aHyperSel[SELM_HYPER_SEL_DS]); 873 GEN_CHECK_OFF(SELM, aHyperSel[SELM_HYPER_SEL_CS64]); 874 GEN_CHECK_OFF(SELM, aHyperSel[SELM_HYPER_SEL_TSS]); 875 GEN_CHECK_OFF(SELM, aHyperSel[SELM_HYPER_SEL_TSS_TRAP08]); 876 GEN_CHECK_OFF(SELM, paGdtR3); 877 GEN_CHECK_OFF(SELM, paGdtRC); 878 GEN_CHECK_OFF(SELM, GuestGdtr); 879 GEN_CHECK_OFF(SELM, cbEffGuestGdtLimit); 880 GEN_CHECK_OFF(SELM, pvLdtR3); 881 GEN_CHECK_OFF(SELM, pvLdtRC); 882 GEN_CHECK_OFF(SELM, GCPtrGuestLdt); 883 GEN_CHECK_OFF(SELM, cbLdtLimit); 884 GEN_CHECK_OFF(SELM, offLdtHyper); 885 GEN_CHECK_OFF(SELM, Tss); 886 GEN_CHECK_OFF(SELM, TssTrap08); 887 GEN_CHECK_OFF(SELM, pvMonShwTssRC); 888 GEN_CHECK_OFF(SELM, GCPtrGuestTss); 889 GEN_CHECK_OFF(SELM, cbGuestTss); 890 GEN_CHECK_OFF(SELM, fGuestTss32Bit); 891 GEN_CHECK_OFF(SELM, cbMonitoredGuestTss); 892 GEN_CHECK_OFF(SELM, GCSelTss); 893 GEN_CHECK_OFF(SELM, fGDTRangeRegistered); 894 GEN_CHECK_OFF(SELM, StatUpdateFromCPUM); 895 896 GEN_CHECK_SIZE(TM); 897 GEN_CHECK_OFF(TM, offVM); 898 GEN_CHECK_OFF(TM, pvGIPR3); 899 //GEN_CHECK_OFF(TM, pvGIPR0); 900 GEN_CHECK_OFF(TM, pvGIPRC); 901 GEN_CHECK_OFF(TMCPU, fTSCTicking); 902 GEN_CHECK_OFF(TM, fTSCUseRealTSC); 903 GEN_CHECK_OFF(TM, fTSCTiedToExecution); 904 GEN_CHECK_OFF(TMCPU, offTSCRawSrc); 905 GEN_CHECK_OFF(TMCPU, u64TSC); 906 GEN_CHECK_OFF(TM, cTSCTicksPerSecond); 907 GEN_CHECK_OFF(TM, cVirtualTicking); 908 GEN_CHECK_OFF(TM, fVirtualWarpDrive); 909 GEN_CHECK_OFF(TM, fVirtualSyncTicking); 910 GEN_CHECK_OFF(TM, fVirtualSyncCatchUp); 911 GEN_CHECK_OFF(TM, u32VirtualWarpDrivePercentage); 912 GEN_CHECK_OFF(TM, u64VirtualOffset); 913 GEN_CHECK_OFF(TM, u64Virtual); 914 GEN_CHECK_OFF(TM, u64VirtualRawPrev); 915 GEN_CHECK_OFF(TM, VirtualGetRawDataR3); 916 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.pu64Prev); 917 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.pfnBad); 918 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.pfnRediscover); 919 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.c1nsSteps); 920 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.cBadPrev); 921 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.cExpired); 922 GEN_CHECK_OFF(TM, VirtualGetRawDataR3.cUpdateRaces); 923 GEN_CHECK_OFF(TM, VirtualGetRawDataR0); 924 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.pu64Prev); 925 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.pfnBad); 926 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.pfnRediscover); 927 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.c1nsSteps); 928 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.cBadPrev); 929 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.cExpired); 930 GEN_CHECK_OFF(TM, VirtualGetRawDataR0.cUpdateRaces); 931 GEN_CHECK_OFF(TM, VirtualGetRawDataRC); 932 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.pu64Prev); 933 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.pfnBad); 934 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.pfnRediscover); 935 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.c1nsSteps); 936 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.cBadPrev); 937 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.cExpired); 938 GEN_CHECK_OFF(TM, VirtualGetRawDataRC.cUpdateRaces); 939 GEN_CHECK_OFF(TM, pfnVirtualGetRawR3); 940 GEN_CHECK_OFF(TM, pfnVirtualGetRawR0); 941 GEN_CHECK_OFF(TM, pfnVirtualGetRawRC); 942 GEN_CHECK_OFF(TM, u64VirtualWarpDriveStart); 943 GEN_CHECK_OFF(TM, u64VirtualSync); 944 GEN_CHECK_OFF(TM, offVirtualSync); 945 GEN_CHECK_OFF(TM, offVirtualSyncGivenUp); 946 GEN_CHECK_OFF(TM, u64VirtualSyncCatchUpPrev); 947 GEN_CHECK_OFF(TM, u32VirtualSyncCatchUpPercentage); 948 GEN_CHECK_OFF(TM, u32VirtualSyncScheduleSlack); 949 GEN_CHECK_OFF(TM, u64VirtualSyncCatchUpStopThreshold); 950 GEN_CHECK_OFF(TM, u64VirtualSyncCatchUpGiveUpThreshold); 951 GEN_CHECK_OFF(TM, aVirtualSyncCatchUpPeriods); 952 GEN_CHECK_OFF(TM, aVirtualSyncCatchUpPeriods[0].u64Start); 953 GEN_CHECK_OFF(TM, aVirtualSyncCatchUpPeriods[0].u32Percentage); 954 GEN_CHECK_OFF(TM, aVirtualSyncCatchUpPeriods[1].u64Start); 955 GEN_CHECK_OFF(TM, aVirtualSyncCatchUpPeriods[1].u32Percentage); 956 GEN_CHECK_OFF(TM, pTimer); 957 GEN_CHECK_OFF(TM, u32TimerMillies); 958 GEN_CHECK_OFF(TM, pFree); 959 GEN_CHECK_OFF(TM, pCreated); 960 GEN_CHECK_OFF(TM, paTimerQueuesR3); 961 GEN_CHECK_OFF(TM, paTimerQueuesR0); 962 GEN_CHECK_OFF(TM, paTimerQueuesRC); 963 GEN_CHECK_OFF(TM, TimerCritSect); 964 GEN_CHECK_OFF(TM, VirtualSyncLock); 965 GEN_CHECK_OFF(TM, StatDoQueues); 966 GEN_CHECK_OFF(TM, StatTimerCallbackSetFF); 967 GEN_CHECK_SIZE(TMTIMER); 968 GEN_CHECK_OFF(TMTIMER, u64Expire); 969 GEN_CHECK_OFF(TMTIMER, enmClock); 970 GEN_CHECK_OFF(TMTIMER, enmType); 971 GEN_CHECK_OFF(TMTIMER, u.Dev.pfnTimer); 972 GEN_CHECK_OFF(TMTIMER, u.Dev.pDevIns); 973 GEN_CHECK_OFF(TMTIMER, u.Drv.pfnTimer); 974 GEN_CHECK_OFF(TMTIMER, u.Drv.pDrvIns); 975 GEN_CHECK_OFF(TMTIMER, u.Internal.pfnTimer); 976 GEN_CHECK_OFF(TMTIMER, u.External.pfnTimer); 977 GEN_CHECK_OFF(TMTIMER, enmState); 978 GEN_CHECK_OFF(TMTIMER, offScheduleNext); 979 GEN_CHECK_OFF(TMTIMER, offNext); 980 GEN_CHECK_OFF(TMTIMER, offPrev); 981 GEN_CHECK_OFF(TMTIMER, pVMR0); 982 GEN_CHECK_OFF(TMTIMER, pVMR3); 983 GEN_CHECK_OFF(TMTIMER, pVMRC); 984 GEN_CHECK_OFF(TMTIMER, uHzHint); 985 GEN_CHECK_OFF(TMTIMER, pvUser); 986 GEN_CHECK_OFF(TMTIMER, pCritSect); 987 GEN_CHECK_OFF(TMTIMER, pBigNext); 988 GEN_CHECK_OFF(TMTIMER, pBigPrev); 989 GEN_CHECK_OFF(TMTIMER, pszDesc); 990 GEN_CHECK_SIZE(TMTIMERQUEUE); 991 GEN_CHECK_OFF(TMTIMERQUEUE, offActive); 992 GEN_CHECK_OFF(TMTIMERQUEUE, offSchedule); 993 GEN_CHECK_OFF(TMTIMERQUEUE, enmClock); 994 995 GEN_CHECK_SIZE(TRPM); // has .mac 996 GEN_CHECK_SIZE(TRPMCPU); // has .mac 997 GEN_CHECK_SIZE(VM); // has .mac 998 GEN_CHECK_SIZE(VMM); 999 GEN_CHECK_OFF(VMM, offVM); 1000 GEN_CHECK_OFF(VMM, cbCoreCode); 1001 GEN_CHECK_OFF(VMM, HCPhysCoreCode); 1002 GEN_CHECK_OFF(VMM, pvCoreCodeR3); 1003 GEN_CHECK_OFF(VMM, pvCoreCodeR0); 1004 GEN_CHECK_OFF(VMM, pvCoreCodeRC); 1005 GEN_CHECK_OFF(VMM, enmSwitcher); 1006 GEN_CHECK_OFF(VMM, aoffSwitchers); 1007 GEN_CHECK_OFF(VMM, aoffSwitchers[1]); 1008 GEN_CHECK_OFF(VMM, pfnHostToGuestR0); 1009 GEN_CHECK_OFF(VMM, pfnGuestToHostRC); 1010 GEN_CHECK_OFF(VMM, pfnCallTrampolineRC); 1011 GEN_CHECK_OFF(VMM, pfnCPUMRCResumeGuest); 1012 GEN_CHECK_OFF(VMM, pfnCPUMRCResumeGuestV86); 1013 GEN_CHECK_OFF(VMM, pRCLoggerRC); 1014 GEN_CHECK_OFF(VMM, pRCLoggerR3); 1015 GEN_CHECK_OFF(VMM, cbRCLogger); 1016 GEN_CHECK_OFF(VMM, fRCLoggerFlushingDisabled); 1017 GEN_CHECK_OFF(VMM, fStackGuardsStationed); 1018 GEN_CHECK_OFF(VMM, fUsePeriodicPreemptionTimers); 1019 GEN_CHECK_OFF(VMM, pYieldTimer); 1020 GEN_CHECK_OFF(VMM, cYieldResumeMillies); 1021 GEN_CHECK_OFF(VMM, cYieldEveryMillies); 1022 GEN_CHECK_OFF(VMM, pahEvtRendezvousEnterOrdered); 1023 GEN_CHECK_OFF(VMM, hEvtRendezvousEnterOneByOne); 1024 GEN_CHECK_OFF(VMM, hEvtMulRendezvousEnterAllAtOnce); 1025 GEN_CHECK_OFF(VMM, hEvtMulRendezvousDone); 1026 GEN_CHECK_OFF(VMM, hEvtRendezvousDoneCaller); 1027 GEN_CHECK_OFF(VMM, pfnRendezvous); 1028 GEN_CHECK_OFF(VMM, pvRendezvousUser); 1029 GEN_CHECK_OFF(VMM, fRendezvousFlags); 1030 GEN_CHECK_OFF(VMM, cRendezvousEmtsEntered); 1031 GEN_CHECK_OFF(VMM, cRendezvousEmtsDone); 1032 GEN_CHECK_OFF(VMM, cRendezvousEmtsReturned); 1033 GEN_CHECK_OFF(VMM, i32RendezvousStatus); 1034 GEN_CHECK_OFF(VMM, u32RendezvousLock); 1035 GEN_CHECK_OFF(VMM, szRing0AssertMsg1); 1036 GEN_CHECK_OFF(VMM, szRing0AssertMsg2); 1037 GEN_CHECK_OFF(VMM, StatRunRC); 1038 GEN_CHECK_OFF(VMM, StatRZCallPGMLock); 1039 GEN_CHECK_OFF(VMMCPU, iLastGZRc); 1040 GEN_CHECK_OFF(VMMCPU, pbEMTStackR3); 1041 GEN_CHECK_OFF(VMMCPU, pbEMTStackRC); 1042 GEN_CHECK_OFF(VMMCPU, pbEMTStackBottomRC); 1043 #ifdef LOG_ENABLED 1044 GEN_CHECK_OFF(VMMCPU, pR0LoggerR0); 1045 GEN_CHECK_OFF(VMMCPU, pR0LoggerR3); 1046 #endif 1047 GEN_CHECK_OFF(VMMCPU, cCallRing3Disabled); 1048 GEN_CHECK_OFF(VMMCPU, enmCallRing3Operation); 1049 GEN_CHECK_OFF(VMMCPU, rcCallRing3); 1050 GEN_CHECK_OFF(VMMCPU, u64CallRing3Arg); 1051 GEN_CHECK_OFF(VMMCPU, CallRing3JmpBufR0); 1052 GEN_CHECK_OFF(VMMCPU, CallRing3JmpBufR0.SpCheck); 1053 GEN_CHECK_OFF(VMMCPU, CallRing3JmpBufR0.SpResume); 1054 1055 GEN_CHECK_SIZE(RTPINGPONG); 1056 GEN_CHECK_SIZE(RTCRITSECT); 1057 GEN_CHECK_OFF(RTCRITSECT, u32Magic); 1058 GEN_CHECK_OFF(RTCRITSECT, cLockers); 1059 GEN_CHECK_OFF(RTCRITSECT, NativeThreadOwner); 1060 GEN_CHECK_OFF(RTCRITSECT, cNestings); 1061 GEN_CHECK_OFF(RTCRITSECT, fFlags); 1062 GEN_CHECK_OFF(RTCRITSECT, EventSem); 1063 GEN_CHECK_OFF(RTCRITSECT, pValidatorRec); 1064 1065 GEN_CHECK_SIZE(CSAM); 1066 GEN_CHECK_OFF(CSAM, offVM); 1067 GEN_CHECK_OFF(CSAM, pPageTree); 1068 GEN_CHECK_OFF(CSAM, aDangerousInstr); 1069 GEN_CHECK_OFF(CSAM, aDangerousInstr[1]); 1070 GEN_CHECK_OFF(CSAM, aDangerousInstr[CSAM_MAX_DANGR_INSTR - 1]); 1071 GEN_CHECK_OFF(CSAM, cDangerousInstr); 1072 GEN_CHECK_OFF(CSAM, iDangerousInstr); 1073 GEN_CHECK_OFF(CSAM, pPDBitmapGC); 1074 GEN_CHECK_OFF(CSAM, pPDHCBitmapGC); 1075 GEN_CHECK_OFF(CSAM, pPDBitmapHC); 1076 GEN_CHECK_OFF(CSAM, pPDGCBitmapHC); 1077 GEN_CHECK_OFF(CSAM, savedstate); 1078 GEN_CHECK_OFF(CSAM, savedstate.pSSM); 1079 GEN_CHECK_OFF(CSAM, savedstate.cPageRecords); 1080 GEN_CHECK_OFF(CSAM, savedstate.cPatchPageRecords); 1081 GEN_CHECK_OFF(CSAM, cDirtyPages); 1082 GEN_CHECK_OFF(CSAM, pvDirtyBasePage); 1083 GEN_CHECK_OFF(CSAM, pvDirtyBasePage[1]); 1084 GEN_CHECK_OFF(CSAM, pvDirtyBasePage[CSAM_MAX_DIRTY_PAGES - 1]); 1085 GEN_CHECK_OFF(CSAM, pvDirtyFaultPage); 1086 GEN_CHECK_OFF(CSAM, pvDirtyFaultPage[1]); 1087 GEN_CHECK_OFF(CSAM, pvDirtyFaultPage[CSAM_MAX_DIRTY_PAGES - 1]); 1088 GEN_CHECK_OFF(CSAM, pvCallInstruction); 1089 GEN_CHECK_OFF(CSAM, iCallInstruction); 1090 GEN_CHECK_OFF(CSAM, fScanningStarted); 1091 GEN_CHECK_OFF(CSAM, fGatesChecked); 1092 GEN_CHECK_OFF(CSAM, StatNrTraps); 1093 GEN_CHECK_OFF(CSAM, StatNrPages); 1094 1095 GEN_CHECK_SIZE(PATM); 1096 GEN_CHECK_OFF(PATM, offVM); 1097 GEN_CHECK_OFF(PATM, pPatchMemGC); 1098 GEN_CHECK_OFF(PATM, pPatchMemHC); 1099 GEN_CHECK_OFF(PATM, cbPatchMem); 1100 GEN_CHECK_OFF(PATM, offPatchMem); 1101 GEN_CHECK_OFF(PATM, fOutOfMemory); 1102 GEN_CHECK_OFF(PATM, deltaReloc); 1103 GEN_CHECK_OFF(PATM, pGCStateGC); 1104 GEN_CHECK_OFF(PATM, pGCStateHC); 1105 GEN_CHECK_OFF(PATM, pGCStackGC); 1106 GEN_CHECK_OFF(PATM, pGCStackHC); 1107 GEN_CHECK_OFF(PATM, pCPUMCtxGC); 1108 GEN_CHECK_OFF(PATM, pStatsGC); 1109 GEN_CHECK_OFF(PATM, pStatsHC); 1110 GEN_CHECK_OFF(PATM, uCurrentPatchIdx); 1111 GEN_CHECK_OFF(PATM, ulCallDepth); 1112 GEN_CHECK_OFF(PATM, cPageRecords); 1113 GEN_CHECK_OFF(PATM, pPatchedInstrGCLowest); 1114 GEN_CHECK_OFF(PATM, pPatchedInstrGCHighest); 1115 GEN_CHECK_OFF(PATM, PatchLookupTreeHC); 1116 GEN_CHECK_OFF(PATM, PatchLookupTreeGC); 1117 GEN_CHECK_OFF(PATM, pfnHelperCallGC); 1118 GEN_CHECK_OFF(PATM, pfnHelperRetGC); 1119 GEN_CHECK_OFF(PATM, pfnHelperJumpGC); 1120 GEN_CHECK_OFF(PATM, pfnHelperIretGC); 1121 GEN_CHECK_OFF(PATM, pGlobalPatchRec); 1122 GEN_CHECK_OFF(PATM, pfnSysEnterGC); 1123 GEN_CHECK_OFF(PATM, pfnSysEnterPatchGC); 1124 GEN_CHECK_OFF(PATM, uSysEnterPatchIdx); 1125 GEN_CHECK_OFF(PATM, pvFaultMonitor); 1126 GEN_CHECK_OFF(PATM, mmio); 1127 GEN_CHECK_OFF(PATM, mmio.GCPhys); 1128 GEN_CHECK_OFF(PATM, mmio.pCachedData); 1129 GEN_CHECK_OFF(PATM, savedstate); 1130 GEN_CHECK_OFF(PATM, savedstate.pSSM); 1131 GEN_CHECK_OFF(PATM, savedstate.cPatches); 1132 GEN_CHECK_OFF(PATM, StatNrOpcodeRead); 1133 GEN_CHECK_OFF(PATM, StatU32FunctionMaxSlotsUsed); 1134 1135 GEN_CHECK_SIZE(PATMGCSTATE); 1136 GEN_CHECK_OFF(PATMGCSTATE, uVMFlags); 1137 GEN_CHECK_OFF(PATMGCSTATE, uPendingAction); 1138 GEN_CHECK_OFF(PATMGCSTATE, uPatchCalls); 1139 GEN_CHECK_OFF(PATMGCSTATE, uScratch); 1140 GEN_CHECK_OFF(PATMGCSTATE, uIretEFlags); 1141 GEN_CHECK_OFF(PATMGCSTATE, uIretCS); 1142 GEN_CHECK_OFF(PATMGCSTATE, uIretEIP); 1143 GEN_CHECK_OFF(PATMGCSTATE, Psp); 1144 GEN_CHECK_OFF(PATMGCSTATE, fPIF); 1145 GEN_CHECK_OFF(PATMGCSTATE, GCPtrInhibitInterrupts); 1146 GEN_CHECK_OFF(PATMGCSTATE, Restore); 1147 GEN_CHECK_OFF(PATMGCSTATE, Restore.uEAX); 1148 GEN_CHECK_OFF(PATMGCSTATE, Restore.uECX); 1149 GEN_CHECK_OFF(PATMGCSTATE, Restore.uEDI); 1150 GEN_CHECK_OFF(PATMGCSTATE, Restore.eFlags); 1151 GEN_CHECK_OFF(PATMGCSTATE, Restore.uFlags); 1152 GEN_CHECK_SIZE(PATMTREES); 1153 GEN_CHECK_OFF(PATMTREES, PatchTree); 1154 GEN_CHECK_OFF(PATMTREES, PatchTreeByPatchAddr); 1155 GEN_CHECK_OFF(PATMTREES, PatchTreeByPage); 1156 GEN_CHECK_SIZE(PATMPATCHREC); 1157 GEN_CHECK_OFF(PATMPATCHREC, Core); 1158 GEN_CHECK_OFF(PATMPATCHREC, CoreOffset); 1159 GEN_CHECK_OFF(PATMPATCHREC, patch); 1160 GEN_CHECK_SIZE(PATCHINFO); 1161 GEN_CHECK_OFF(PATCHINFO, uState); 1162 GEN_CHECK_OFF(PATCHINFO, uOldState); 1163 GEN_CHECK_OFF(PATCHINFO, uOpMode); 1164 GEN_CHECK_OFF(PATCHINFO, unusedHC); 1165 GEN_CHECK_OFF(PATCHINFO, pPrivInstrGC); 1166 GEN_CHECK_OFF(PATCHINFO, aPrivInstr); 1167 GEN_CHECK_OFF(PATCHINFO, aPrivInstr[1]); 1168 GEN_CHECK_OFF(PATCHINFO, aPrivInstr[MAX_INSTR_SIZE - 1]); 1169 GEN_CHECK_OFF(PATCHINFO, cbPrivInstr); 1170 GEN_CHECK_OFF(PATCHINFO, opcode); 1171 GEN_CHECK_OFF(PATCHINFO, cbPatchJump); 1172 GEN_CHECK_OFF(PATCHINFO, pPatchJumpDestGC); 1173 GEN_CHECK_OFF(PATCHINFO, pPatchBlockOffset); 1174 GEN_CHECK_OFF(PATCHINFO, cbPatchBlockSize); 1175 GEN_CHECK_OFF(PATCHINFO, uCurPatchOffset); 1176 GEN_CHECK_OFF(PATCHINFO, flags); 1177 GEN_CHECK_OFF(PATCHINFO, pInstrGCLowest); 1178 GEN_CHECK_OFF(PATCHINFO, pInstrGCHighest); 1179 GEN_CHECK_OFF(PATCHINFO, FixupTree); 1180 GEN_CHECK_OFF(PATCHINFO, nrFixups); 1181 GEN_CHECK_OFF(PATCHINFO, JumpTree); 1182 GEN_CHECK_OFF(PATCHINFO, nrJumpRecs); 1183 GEN_CHECK_OFF(PATCHINFO, Patch2GuestAddrTree); 1184 GEN_CHECK_OFF(PATCHINFO, Guest2PatchAddrTree); 1185 GEN_CHECK_OFF(PATCHINFO, nrPatch2GuestRecs); 1186 GEN_CHECK_OFF(PATCHINFO, unused); 1187 GEN_CHECK_OFF(PATCHINFO, unused.pPatchLocStartHC); 1188 GEN_CHECK_OFF(PATCHINFO, unused.pPatchLocEndHC); 1189 GEN_CHECK_OFF(PATCHINFO, unused.pGuestLoc); 1190 GEN_CHECK_OFF(PATCHINFO, unused.opsize); 1191 GEN_CHECK_OFF(PATCHINFO, pTempInfo); 1192 GEN_CHECK_OFF(PATCHINFO, pTrampolinePatchesHead); 1193 GEN_CHECK_OFF(PATCHINFO, cCodeWrites); 1194 GEN_CHECK_OFF(PATCHINFO, cTraps); 1195 GEN_CHECK_OFF(PATCHINFO, cInvalidWrites); 1196 GEN_CHECK_OFF(PATCHINFO, uPatchIdx); 1197 GEN_CHECK_OFF(PATCHINFO, bDirtyOpcode); 1198 GEN_CHECK_SIZE(PATMPATCHPAGE); 1199 GEN_CHECK_OFF(PATMPATCHPAGE, Core); 1200 GEN_CHECK_OFF(PATMPATCHPAGE, pLowestAddrGC); 1201 GEN_CHECK_OFF(PATMPATCHPAGE, pHighestAddrGC); 1202 GEN_CHECK_OFF(PATMPATCHPAGE, cCount); 1203 GEN_CHECK_OFF(PATMPATCHPAGE, cMaxPatches); 1204 GEN_CHECK_OFF(PATMPATCHPAGE, aPatch); 1205 92 #define GEN_CHECK_SIZE(s) printf(" CHECK_SIZE(%s, %u);\n", #s, (unsigned)sizeof(s)) 93 #define GEN_CHECK_OFF(s, m) printf(" CHECK_OFF(%s, %u, %s);\n", #s, (unsigned)RT_OFFSETOF(s, m), #m) 94 #define GEN_CHECK_OFF_DOT(s, m) printf(" CHECK_OFF(%s, %u, %s);\n", #s, (unsigned)RT_OFFSETOF(s, m), #m) 95 #include "tstVMStruct.h" 1206 96 return (0); 1207 97 }
Note:
See TracChangeset
for help on using the changeset viewer.