tstVMStructGC.cpp revision 46b1ac1c3302722f93e787d0f0693965e88f5cee
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * tstVMMStructGC - Generate structure member and size checks from the GC perspective.
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * This is built using the VBOXGC template but linked into a host
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * ring-3 executable, rather hacky.
010ad423d45c61ef874fa1602d46459a798b54d2vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
010ad423d45c61ef874fa1602d46459a798b54d2vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
010ad423d45c61ef874fa1602d46459a798b54d2vboxsync * available from http://www.virtualbox.org. This file is free software;
010ad423d45c61ef874fa1602d46459a798b54d2vboxsync * you can redistribute it and/or modify it under the terms of the GNU
010ad423d45c61ef874fa1602d46459a798b54d2vboxsync * General Public License (GPL) as published by the Free Software
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync * additional information or have any questions.
1acf60ed9c490056043f7bfa524f2de1a431ab10vboxsync * Sanity checks.
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync/*******************************************************************************
a05a2534a4aeaed368d626a462d856c0d352c97dvboxsync* Header Files *
a05a2534a4aeaed368d626a462d856c0d352c97dvboxsync*******************************************************************************/
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync/* we don't use iprt here because we're pretending to be in GC! */
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync#define GEN_CHECK_SIZE(s) printf(" CHECK_SIZE(%s, %u);\n", #s, (unsigned)sizeof(s))
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync#define GEN_CHECK_OFF(s, m) printf(" CHECK_OFF(%s, %u, %s);\n", #s, (unsigned)RT_OFFSETOF(s, m), #m)
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync GEN_CHECK_OFF(PDM, aPciBuses[0].pfnIORegionRegisterR3);
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync GEN_CHECK_OFF(PDMCRITSECTINT, StatContentionRZLock);
d0eec04539061d14a7e51f492aea90fa5394615fvboxsync GEN_CHECK_OFF(PDMCRITSECTINT, StatContentionRZUnlock);
#ifdef VBOX_WITH_STATISTICS
#ifdef PGMPOOL_WITH_USER_TRACKING
#ifdef PGMPOOL_WITH_MONITORING
#ifdef PGMPOOL_WITH_CACHE
#ifdef PGMPOOL_WITH_USER_TRACKING
#ifdef PGMPOOL_WITH_GCPHYS_TRACKING
#ifdef PGMPOOL_WITH_CACHE
#ifdef PGMPOOL_WITH_MONITORING
#ifdef VBOX_WITH_STATISTICS