VirtualBox

Changeset 25946 in vbox


Ignore:
Timestamp:
Jan 20, 2010 11:52:24 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56788
Message:

*: VBOX_WITH_RAW_MODE - Initial build changes (builds on mac os x).

Location:
trunk
Files:
13 edited
2 moved

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r25945 r25946  
    88
    99#
    10 # Copyright (C) 2006-2007 Sun Microsystems, Inc.
     10# Copyright (C) 2006-2010 Sun Microsystems, Inc.
    1111#
    1212# This file is part of VirtualBox Open Source Edition (OSE), as
     
    270270## @name VMM related settings.
    271271## @{
    272 # Enable 64 bits guest pointers.
     272# Enable the tradition raw-mode virtualization.
     273VBOX_WITH_RAW_MODE = 1
     274# Enable support for 64-bit guests.
    273275VBOX_WITH_64_BITS_GUESTS = 1
    274276# Enable multi-core VCPUs.
     
    21022104endif
    21032105
    2104 #
    2105 # Template for building GC things.
    2106 #
    2107 TEMPLATE_VBOXGC = VBox GC
    2108 TEMPLATE_VBOXGC_ASTOOL              = $(VBOX_ASTOOL)
    2109 TEMPLATE_VBOXGC_ASFLAGS             = $(VBOX_ASFLAGS32)
    2110 TEMPLATE_VBOXGC_DEFS                = IN_RC IPRT_NO_CRT RT_WITH_NOCRT_ALIASES $(ARCH_BITS_DEFS)
    2111 TEMPLATE_VBOXGC_INCS                = $(PATH_ROOT)/include/iprt/nocrt
    2112 TEMPLATE_VBOXGC_SYSSUFF             = .gc
    2113 TEMPLATE_VBOXGC_BLD_TRG_ARCH        = x86
    2114 
    2115 ifeq ($(VBOX_LDR_FMT32),pe)
    2116  ifdef VBOX_USE_VCC80
    2117   TEMPLATE_VBOXGC_TOOL              = VCC80X86
    2118   TEMPLATE_VBOXGC_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 -GS- -wd4996 -Zc:wchar_t- -Gs8192 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
    2119  else
    2120   TEMPLATE_VBOXGC_TOOL              = VCC70
    2121   TEMPLATE_VBOXGC_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
    2122  endif
    2123  TEMPLATE_VBOXGC_CFLAGS             = $(TEMPLATE_VBOXGC_CXXFLAGS)
    2124  TEMPLATE_VBOXGC_LDFLAGS            = -Driver -Subsystem:NATIVE -Incremental:NO -Align:64 -MapInfo:Lines -MapInfo:Exports -NoD
    2125  ifndef VBOX_NOINC_MISC
    2126   include $(KBUILD_PATH)/sdks/W2K3DDKX86.kmk
    2127  endif
    2128  TEMPLATE_VBOXGC_LIBS               = \
    2129         $(PATH_SDK_W2K3DDKX86_LIB)/int64.lib
    2130  TEMPLATE_VBOXGC_POST_CMDS          = $(VBOX_SIGN_IMAGE_CMDS)
    2131 endif # pe
    2132 
    2133 ifeq ($(VBOX_LDR_FMT32),elf)
    2134 TEMPLATE_VBOXGC_TOOL                = $(VBOX_GCC32_TOOL)
    2135 TEMPLATE_VBOXGC_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti
    2136 TEMPLATE_VBOXGC_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden)
    2137  ifeq ($(KBUILD_TARGET),solaris)
    2138   TEMPLATE_VBOXGC_LDFLAGS           = -r
    2139  else
    2140   TEMPLATE_VBOXGC_LDFLAGS           = -nostdlib -Bsymbolic
    2141   # "temporarily", must fix the loader.
    2142   TEMPLATE_VBOXGC_LDFLAGS          += $(if $(VBOX_DO_STRIP_MODULES),-S,)
    2143   TEMPLATE_VBOXGC_LDFLAGS.release   = $(if $(VBOX_DO_STRIP_MODULES),-S,)
    2144  endif
    2145  ifn1of ($(KBUILD_TARGET), solaris freebsd)
     2106ifdef VBOX_WITH_RAW_MODE
     2107 #
     2108 # Template for building RC things.
     2109 #
     2110 TEMPLATE_VBOXGC = VBox Raw-Mode Context
     2111 TEMPLATE_VBOXGC_ASTOOL              = $(VBOX_ASTOOL)
     2112 TEMPLATE_VBOXGC_ASFLAGS             = $(VBOX_ASFLAGS32)
     2113 TEMPLATE_VBOXGC_DEFS                = IN_RC IPRT_NO_CRT RT_WITH_NOCRT_ALIASES $(ARCH_BITS_DEFS)
     2114 TEMPLATE_VBOXGC_INCS                = $(PATH_ROOT)/include/iprt/nocrt
     2115 TEMPLATE_VBOXGC_SYSSUFF             = .gc
     2116 TEMPLATE_VBOXGC_BLD_TRG_ARCH        = x86
     2117
     2118 ifeq ($(VBOX_LDR_FMT32),pe)
     2119  ifdef VBOX_USE_VCC80
     2120   TEMPLATE_VBOXGC_TOOL              = VCC80X86
     2121   TEMPLATE_VBOXGC_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 -GS- -wd4996 -Zc:wchar_t- -Gs8192 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
     2122  else
     2123   TEMPLATE_VBOXGC_TOOL              = VCC70
     2124   TEMPLATE_VBOXGC_CXXFLAGS          = -Zi -Zl -GR- -EHs- -GF -W3 -wd4244 $(VBOX_VCC_GC_OPT) $(VBOX_VCC_GC_FP)
     2125  endif
     2126  TEMPLATE_VBOXGC_CFLAGS             = $(TEMPLATE_VBOXGC_CXXFLAGS)
     2127  TEMPLATE_VBOXGC_LDFLAGS            = -Driver -Subsystem:NATIVE -Incremental:NO -Align:64 -MapInfo:Lines -MapInfo:Exports -NoD
     2128  ifndef VBOX_NOINC_MISC
     2129   include $(KBUILD_PATH)/sdks/W2K3DDKX86.kmk
     2130  endif
    21462131  TEMPLATE_VBOXGC_LIBS               = \
    2147         $(VBOX_GCC32_LIBGCC) # instricts
    2148  endif
    2149 endif
    2150 
    2151 ifeq ($(VBOX_LDR_FMT32),macho)
    2152 TEMPLATE_VBOXGC_TOOL                = GXX4MACHO
    2153 TEMPLATE_VBOXGC_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
    2154 TEMPLATE_VBOXGC_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
    2155 TEMPLATE_VBOXGC_CFLAGS              = $(VBOX_DARWIN_DEF_SDK_CFLAGS)   -m32 -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
    2156 TEMPLATE_VBOXGC_LDFLAGS             = $(VBOX_DARWIN_DEF_SDK_LDFLAGS)  -m32 -nostdlib
    2157 #TEMPLATE_VBOXGC_LDFLAGS.release     = -Wl,-S ???
    2158 endif
    2159 
    2160 ifeq ($(VBOX_LDR_FMT32),lx)
    2161 TEMPLATE_VBOXGC_TOOL                = GXX3OMF
    2162 TEMPLATE_VBOXGC_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti
    2163 TEMPLATE_VBOXGC_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions
    2164 TEMPLATE_VBOXGC_LDFLAGS             = -Zdll -nostdlib
    2165 TEMPLATE_VBOXGC_LIBS                = \
    2166         $(VBOX_GCC32_LIBGCC) \
    2167         $(VBOX_OBJ_SYS0) \
    2168         end
    2169 endif
    2170 
    2171 
    2172 #
    2173 # Template for building a GC ring-3 testcase (tstVMStructGC, tstDevStructGC).
    2174 #
    2175 TEMPLATE_VBOXGCEXE = VBox GC as ring-3 testcase
    2176 TEMPLATE_VBOXGCEXE_EXTENDS = VBOXGC
    2177 TEMPLATE_VBOXGCEXE_DEFS = $(filter-out IPRT_NO_CRT RT_WITH_NOCRT_ALIASES,$(TEMPLATE_VBOXGC_DEFS))
    2178 TEMPLATE_VBOXGCEXE_INCS = $(NO_SUCH_VARIABLE)
    2179 
    2180 ifeq ($(VBOX_LDR_FMT32),pe)
    2181  TEMPLATE_VBOXGCEXE_LDFLAGS = -Incremental:NO -MapInfo:Exports -NoD -Debug
    2182  TEMPLATE_VBOXGCEXE_SDKS    = WIN32SDK
    2183  ifdef VBOX_USE_VCC80
    2184   TEMPLATE_VBOXGCEXE_LIBS   = \
    2185         $(PATH_TOOL_VCC80X86_LIB)/libcmt.lib \
    2186         $(PATH_TOOL_VCC80X86_LIB)/oldnames.lib
    2187  else
    2188   TEMPLATE_VBOXGCEXE_LIBS   = \
    2189         $(PATH_TOOL_VCC70_LIB)/libcmt.lib \
    2190         $(PATH_TOOL_VCC70_LIB)/oldnames.lib
    2191  endif
    2192 endif
    2193 
    2194 ifeq ($(VBOX_LDR_FMT32),elf)
    2195  TEMPLATE_VBOXGCEXE_CFLAGS   = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CFLAGS))
    2196  TEMPLATE_VBOXGCEXE_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CXXFLAGS))
    2197  TEMPLATE_VBOXGCEXE_LDFLAGS  = -g
    2198  TEMPLATE_VBOXGCEXE_LDFLAGS.dbgopt = -g
    2199  TEMPLATE_VBOXGCEXE_LDFLAGS.strict = -g
    2200  TEMPLATE_VBOXGCEXE_LDFLAGS.release = -g
    2201  if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), freebsd.amd64)
    2202   # The FreeBSD port of gcc isn't picking up -m32 where it should. the .o order below isn't
    2203   # quite right (target source comes first), if it stops working we'll have to write a linker tool.
    2204   TEMPLATE_VBOXGCEXE_DEFS.$(KBUILD_TARGET)    = $(TEMPLATE_VBOXGC_DEFS.$(KBUILD_TARGET))    IPRT_DONT_USE_SYSTEM_STDINT_H
    2205   TEMPLATE_VBOXGCEXE_LDFLAGS.$(KBUILD_TARGET) = $(TEMPLATE_VBOXGC_LDFLAGS.$(KBUILD_TARGET)) -nostdlib -v
    2206   TEMPLATE_VBOXGCEXE_SOURCES.$(KBUILD_TARGET) = /usr/lib32/crtend.o /usr/lib32/crtn.o
    2207   TEMPLATE_VBOXGCEXE_SOURCES                  = /usr/lib32/crt1.o /usr/lib32/crti.o /usr/lib32/crtbegin.o
    2208   TEMPLATE_VBOXGCEXE_LIBPATH.$(KBUILD_TARGET) = /usr/lib32
    2209   TEMPLATE_VBOXGCEXE_LIBS.$(KBUILD_TARGET)    = /usr/lib32/libc.so
    2210  endif
    2211 endif
    2212 
    2213 ifeq ($(VBOX_LDR_FMT32),macho)
    2214  TEMPLATE_VBOXGCEXE_CFLAGS   = $(filter-out -static -nostdinc,$(TEMPLATE_VBOXGC_CFLAGS))
    2215  TEMPLATE_VBOXGCEXE_CXXFLAGS = $(filter-out -static -nostdinc,$(TEMPLATE_VBOXGC_CXXFLAGS))
    2216  TEMPLATE_VBOXGCEXE_LDFLAGS  = -g -m32
    2217 endif
    2218 
    2219 ifeq ($(VBOX_LDR_FMT32),lx)
    2220  TEMPLATE_VBOXGCEXE_CFLAGS   = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CFLAGS))
    2221  TEMPLATE_VBOXGCEXE_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CXXFLAGS))
    2222  TEMPLATE_VBOXGCEXE_LDFLAGS  = -g
    2223  TEMPLATE_VBOXGCEXE_LIBS     = $(NO_SUCH_VARIABLE)
    2224 endif
     2132        $(PATH_SDK_W2K3DDKX86_LIB)/int64.lib
     2133  TEMPLATE_VBOXGC_POST_CMDS          = $(VBOX_SIGN_IMAGE_CMDS)
     2134 endif # pe
     2135
     2136 ifeq ($(VBOX_LDR_FMT32),elf)
     2137 TEMPLATE_VBOXGC_TOOL                = $(VBOX_GCC32_TOOL)
     2138 TEMPLATE_VBOXGC_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden) $(VBOX_GCC_fvisibility-inlines-hidden) -fno-rtti
     2139 TEMPLATE_VBOXGC_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing $(VBOX_GCC_fno-stack-protector) $(VBOX_GCC_fvisibility-hidden)
     2140  ifeq ($(KBUILD_TARGET),solaris)
     2141   TEMPLATE_VBOXGC_LDFLAGS           = -r
     2142  else
     2143   TEMPLATE_VBOXGC_LDFLAGS           = -nostdlib -Bsymbolic
     2144   # "temporarily", must fix the loader.
     2145   TEMPLATE_VBOXGC_LDFLAGS          += $(if $(VBOX_DO_STRIP_MODULES),-S,)
     2146   TEMPLATE_VBOXGC_LDFLAGS.release   = $(if $(VBOX_DO_STRIP_MODULES),-S,)
     2147  endif
     2148  ifn1of ($(KBUILD_TARGET), solaris freebsd)
     2149   TEMPLATE_VBOXGC_LIBS               = \
     2150        $(VBOX_GCC32_LIBGCC) # instricts
     2151  endif
     2152 endif
     2153
     2154 ifeq ($(VBOX_LDR_FMT32),macho)
     2155 TEMPLATE_VBOXGC_TOOL                = GXX4MACHO
     2156 TEMPLATE_VBOXGC_DEFS               += $(VBOX_DARWIN_DEF_SDK_DEFS)
     2157 TEMPLATE_VBOXGC_CXXFLAGS            = $(VBOX_DARWIN_DEF_SDK_CXXFLAGS) -m32 -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-rtti
     2158 TEMPLATE_VBOXGC_CFLAGS              = $(VBOX_DARWIN_DEF_SDK_CFLAGS)   -m32 -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) -fno-common -msoft-float -static $(VBOX_GCC_fno-stack-protector) -fno-exceptions $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing
     2159 TEMPLATE_VBOXGC_LDFLAGS             = $(VBOX_DARWIN_DEF_SDK_LDFLAGS)  -m32 -nostdlib
     2160 #TEMPLATE_VBOXGC_LDFLAGS.release     = -Wl,-S ???
     2161 endif
     2162
     2163 ifeq ($(VBOX_LDR_FMT32),lx)
     2164 TEMPLATE_VBOXGC_TOOL                = GXX3OMF
     2165 TEMPLATE_VBOXGC_CXXFLAGS            = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_CXX) $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions -fno-rtti
     2166 TEMPLATE_VBOXGC_CFLAGS              = -nostdinc -g -pipe $(VBOX_GCC_PEDANTIC_C)   $(VBOX_GCC32_Wno-variadic-macros) $(VBOX_GCC_GC_OPT) $(VBOX_GCC_GC_FP) -fno-strict-aliasing -fno-exceptions
     2167 TEMPLATE_VBOXGC_LDFLAGS             = -Zdll -nostdlib
     2168 TEMPLATE_VBOXGC_LIBS                = \
     2169        $(VBOX_GCC32_LIBGCC) \
     2170        $(VBOX_OBJ_SYS0) \
     2171        end
     2172 endif
     2173
     2174
     2175 #
     2176 # Template for building a RC ring-3 testcase (tstVMStructGC, tstDevStructGC).
     2177 #
     2178 TEMPLATE_VBOXGCEXE = VBox Raw-Mode as ring-3 testcase
     2179 TEMPLATE_VBOXGCEXE_EXTENDS = VBOXGC
     2180 TEMPLATE_VBOXGCEXE_DEFS = $(filter-out IPRT_NO_CRT RT_WITH_NOCRT_ALIASES,$(TEMPLATE_VBOXGC_DEFS))
     2181 TEMPLATE_VBOXGCEXE_INCS = $(NO_SUCH_VARIABLE)
     2182
     2183 ifeq ($(VBOX_LDR_FMT32),pe)
     2184  TEMPLATE_VBOXGCEXE_LDFLAGS = -Incremental:NO -MapInfo:Exports -NoD -Debug
     2185  TEMPLATE_VBOXGCEXE_SDKS    = WIN32SDK
     2186  ifdef VBOX_USE_VCC80
     2187   TEMPLATE_VBOXGCEXE_LIBS   = \
     2188        $(PATH_TOOL_VCC80X86_LIB)/libcmt.lib \
     2189        $(PATH_TOOL_VCC80X86_LIB)/oldnames.lib
     2190  else
     2191   TEMPLATE_VBOXGCEXE_LIBS   = \
     2192        $(PATH_TOOL_VCC70_LIB)/libcmt.lib \
     2193        $(PATH_TOOL_VCC70_LIB)/oldnames.lib
     2194  endif
     2195 endif
     2196
     2197 ifeq ($(VBOX_LDR_FMT32),elf)
     2198  TEMPLATE_VBOXGCEXE_CFLAGS   = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CFLAGS))
     2199  TEMPLATE_VBOXGCEXE_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CXXFLAGS))
     2200  TEMPLATE_VBOXGCEXE_LDFLAGS  = -g
     2201  TEMPLATE_VBOXGCEXE_LDFLAGS.dbgopt = -g
     2202  TEMPLATE_VBOXGCEXE_LDFLAGS.strict = -g
     2203  TEMPLATE_VBOXGCEXE_LDFLAGS.release = -g
     2204  if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), freebsd.amd64)
     2205   # The FreeBSD port of gcc isn't picking up -m32 where it should. the .o order below isn't
     2206   # quite right (target source comes first), if it stops working we'll have to write a linker tool.
     2207   TEMPLATE_VBOXGCEXE_DEFS.$(KBUILD_TARGET)    = $(TEMPLATE_VBOXGC_DEFS.$(KBUILD_TARGET))    IPRT_DONT_USE_SYSTEM_STDINT_H
     2208   TEMPLATE_VBOXGCEXE_LDFLAGS.$(KBUILD_TARGET) = $(TEMPLATE_VBOXGC_LDFLAGS.$(KBUILD_TARGET)) -nostdlib -v
     2209   TEMPLATE_VBOXGCEXE_SOURCES.$(KBUILD_TARGET) = /usr/lib32/crtend.o /usr/lib32/crtn.o
     2210   TEMPLATE_VBOXGCEXE_SOURCES                  =        /usr/lib32/crt1.o /usr/lib32/crti.o /usr/lib32/crtbegin.o
     2211   TEMPLATE_VBOXGCEXE_LIBPATH.$(KBUILD_TARGET) = /usr/lib32
     2212   TEMPLATE_VBOXGCEXE_LIBS.$(KBUILD_TARGET)    = /usr/lib32/libc.so
     2213  endif
     2214 endif
     2215
     2216 ifeq ($(VBOX_LDR_FMT32),macho)
     2217  TEMPLATE_VBOXGCEXE_CFLAGS   = $(filter-out -static -nostdinc,$(TEMPLATE_VBOXGC_CFLAGS))
     2218  TEMPLATE_VBOXGCEXE_CXXFLAGS = $(filter-out -static -nostdinc,$(TEMPLATE_VBOXGC_CXXFLAGS))
     2219  TEMPLATE_VBOXGCEXE_LDFLAGS  = -g -m32
     2220 endif
     2221
     2222 ifeq ($(VBOX_LDR_FMT32),lx)
     2223  TEMPLATE_VBOXGCEXE_CFLAGS   = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CFLAGS))
     2224  TEMPLATE_VBOXGCEXE_CXXFLAGS = $(filter-out -nostdinc,$(TEMPLATE_VBOXGC_CXXFLAGS))
     2225  TEMPLATE_VBOXGCEXE_LDFLAGS  = -g
     2226  TEMPLATE_VBOXGCEXE_LIBS     = $(NO_SUCH_VARIABLE)
     2227 endif
     2228endif # VBOX_WITH_RAW_MODE
    22252229
    22262230
  • trunk/src/VBox/Devices/Makefile.kmk

    r25916 r25946  
    11# $Id$
    22## @file
    3 # Top-level makefile for the devices, drivers and services.
    4 #
    5 
    6 #
    7 # Copyright (C) 2006-2007 Sun Microsystems, Inc.
     3# Top-level sub-makefile for the devices, drivers and services.
     4#
     5
     6#
     7# Copyright (C) 2006-2010 Sun Microsystems, Inc.
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    5555LIBRARIES += DevicesR3 Drivers ServicesR0
    5656DLLS      += VBoxDDU VBoxDD VBoxDD2
    57 SYSMODS   += VBoxDDGC VBoxDD2GC VBoxDDR0 VBoxDD2R0
     57SYSMODS   += VBoxDDR0 VBoxDD2R0
     58ifdef VBOX_WITH_RAW_MODE
     59 SYSMODS   += VBoxDDGC VBoxDD2GC
     60endif
    5861
    5962
     
    483486
    484487
    485 #
    486 # VBoxDDGC (sysmod)
    487 #
    488 VBoxDDGC_TEMPLATE       = VBOXGC
    489 VBoxDDGC_SYSSUFF        = .gc
    490 ifeq ($(KBUILD_TARGET_ARCH),x86)
    491  VBoxDDGC_DEFS.darwin   = VBOX_WITH_2X_4GB_ADDR_SPACE
    492 endif
    493 VBoxDDGC_DEFS           =
    494 VBoxDDGC_INCS          := \
    495         $(PATH_SUB_CURRENT)
    496 VBoxDDGC_SOURCES        = \
    497         Bus/DevPCI.cpp \
    498         Graphics/DevVGA.cpp \
    499         Input/DevPS2.cpp \
    500         PC/DevACPI.cpp \
    501         PC/DevPit-i8254.cpp \
    502         PC/DevPIC.cpp \
    503         PC/DevRTC.cpp \
    504         Storage/DevATA.cpp \
    505         Network/DevPCNet.cpp \
    506         Serial/DevSerial.cpp \
    507         Parallel/DevParallel.cpp
    508 
    509 ifdef VBOX_DYNAMIC_NET_ATTACH
    510  VBoxDDGC_DEFS += VBOX_DYNAMIC_NET_ATTACH
    511 endif
    512 
    513 ifdef VBOX_WITH_E1000
    514  VBoxDDGC_DEFS         += VBOX_WITH_E1000
    515  VBoxDDGC_SOURCES      += \
    516         Network/DevE1000.cpp \
    517         Network/DevE1000Phy.cpp
    518 endif
    519 
    520 ifdef VBOX_WITH_VIRTIO
    521  VBoxDDGC_DEFS         += VBOX_WITH_VIRTIO
    522  VBoxDDGC_SOURCES      += \
    523         VirtIO/Virtio.cpp \
    524         Network/DevVirtioNet.cpp
    525 endif
    526 
    527 ifdef VBOX_WITH_HGSMI
    528  VBoxDDGC_DEFS         += VBOX_WITH_HGSMI
    529 endif
    530 
    531 ifdef VBOX_WITH_USB
    532 VBoxDDGC_DEFS          += VBOX_WITH_USB IN_USB_GC
    533 VBoxDDGC_SOURCES       += \
    534         USB/DevOHCI.cpp
    535 
    536  ifdef VBOX_WITH_EHCI
    537   VBoxDDGC_DEFS        += VBOX_WITH_EHCI
    538   VBoxDDGC_SOURCES     += \
    539         USB/DevEHCI.cpp
    540  endif
    541 
    542 endif
    543 
    544 ifdef VBOX_WITH_HGSMI
    545  VBoxDDGC_DEFS         += VBOX_WITH_HGSMI
    546 endif
    547 ifdef VBOX_WITH_VIDEOHWACCEL
    548  VBoxDDGC_DEFS         += VBOX_WITH_VIDEOHWACCEL
    549 endif
    550 
    551 ifdef VBOX_WITH_AHCI
    552 VBoxDDGC_DEFS          += VBOX_WITH_AHCI IN_AHCI_GC
    553 VBoxDDGC_SOURCES       += \
    554         Storage/DevAHCI.cpp \
    555         Storage/ATAController.cpp
    556 endif
    557 
    558 ifdef VBOX_WITH_BUSLOGIC
    559 VBoxDDGC_DEFS          += VBOX_WITH_BUSLOGIC
    560 VBoxDDGC_SOURCES       += \
    561         Storage/DevBusLogic.cpp
    562 endif
    563 
    564 ifdef VBOX_WITH_LSILOGIC
    565 VBoxDDGC_DEFS          += VBOX_WITH_LSILOGIC
    566 VBoxDDGC_SOURCES       += \
    567         Storage/DevLsiLogicSCSI.cpp
    568 endif
    569 
    570 ifdef VBOX_WITH_HPET
    571 VBoxDDGC_DEFS          += VBOX_WITH_HPET
    572 VBoxDDGC_SOURCES       += PC/DevHPET.cpp
    573 endif
    574 
    575 ifeq ($(VBOX_LDR_FMT32),pe)
    576 VBoxDDGC_LDFLAGS        = -Entry:vgaMMIOWrite
    577 endif
    578 if1of ($(VBOX_LDR_FMT32), pe lx)
    579 VBoxDDGC_LIBS           = \
    580         $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
    581         $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
    582 endif
     488ifdef VBOX_WITH_RAW_MODE
     489 #
     490 # VBoxDDGC (sysmod)
     491 #
     492 VBoxDDGC_TEMPLATE       = VBOXGC
     493 VBoxDDGC_SYSSUFF        = .gc
     494 ifeq ($(KBUILD_TARGET_ARCH),x86)
     495  VBoxDDGC_DEFS.darwin   = VBOX_WITH_2X_4GB_ADDR_SPACE
     496 endif
     497 VBoxDDGC_DEFS           =
     498 VBoxDDGC_INCS          := \
     499        $(PATH_SUB_CURRENT)
     500 VBoxDDGC_SOURCES        = \
     501        Bus/DevPCI.cpp \
     502        Graphics/DevVGA.cpp \
     503        Input/DevPS2.cpp \
     504        PC/DevACPI.cpp \
     505        PC/DevPit-i8254.cpp \
     506        PC/DevPIC.cpp \
     507        PC/DevRTC.cpp \
     508        Storage/DevATA.cpp \
     509        Network/DevPCNet.cpp \
     510        Serial/DevSerial.cpp \
     511        Parallel/DevParallel.cpp
     512
     513 ifdef VBOX_DYNAMIC_NET_ATTACH
     514  VBoxDDGC_DEFS += VBOX_DYNAMIC_NET_ATTACH
     515 endif
     516
     517 ifdef VBOX_WITH_E1000
     518  VBoxDDGC_DEFS         += VBOX_WITH_E1000
     519  VBoxDDGC_SOURCES      += \
     520        Network/DevE1000.cpp \
     521        Network/DevE1000Phy.cpp
     522 endif
     523
     524 ifdef VBOX_WITH_VIRTIO
     525  VBoxDDGC_DEFS         += VBOX_WITH_VIRTIO
     526  VBoxDDGC_SOURCES      += \
     527        VirtIO/Virtio.cpp \
     528        Network/DevVirtioNet.cpp
     529 endif
     530
     531 ifdef VBOX_WITH_HGSMI
     532  VBoxDDGC_DEFS         += VBOX_WITH_HGSMI
     533 endif
     534
     535 ifdef VBOX_WITH_USB
     536 VBoxDDGC_DEFS          += VBOX_WITH_USB
     537 VBoxDDGC_SOURCES       += \
     538        USB/DevOHCI.cpp
     539
     540  ifdef VBOX_WITH_EHCI
     541   VBoxDDGC_DEFS        += VBOX_WITH_EHCI
     542   VBoxDDGC_SOURCES     += \
     543        USB/DevEHCI.cpp
     544  endif
     545
     546 endif
     547
     548 ifdef VBOX_WITH_HGSMI
     549  VBoxDDGC_DEFS         += VBOX_WITH_HGSMI
     550 endif
     551 ifdef VBOX_WITH_VIDEOHWACCEL
     552  VBoxDDGC_DEFS         += VBOX_WITH_VIDEOHWACCEL
     553 endif
     554
     555 ifdef VBOX_WITH_AHCI
     556 VBoxDDGC_DEFS          += VBOX_WITH_AHCI IN_AHCI_GC
     557 VBoxDDGC_SOURCES       += \
     558        Storage/DevAHCI.cpp \
     559        Storage/ATAController.cpp
     560 endif
     561
     562 ifdef VBOX_WITH_BUSLOGIC
     563 VBoxDDGC_DEFS          += VBOX_WITH_BUSLOGIC
     564 VBoxDDGC_SOURCES       += \
     565        Storage/DevBusLogic.cpp
     566 endif
     567
     568 ifdef VBOX_WITH_LSILOGIC
     569 VBoxDDGC_DEFS          += VBOX_WITH_LSILOGIC
     570 VBoxDDGC_SOURCES       += \
     571        Storage/DevLsiLogicSCSI.cpp
     572 endif
     573
     574 ifdef VBOX_WITH_HPET
     575 VBoxDDGC_DEFS          += VBOX_WITH_HPET
     576 VBoxDDGC_SOURCES       += PC/DevHPET.cpp
     577 endif
     578
     579 ifeq ($(VBOX_LDR_FMT32),pe)
     580 VBoxDDGC_LDFLAGS        = -Entry:vgaMMIOWrite
     581 endif
     582 if1of ($(VBOX_LDR_FMT32), pe lx)
     583 VBoxDDGC_LIBS           = \
     584        $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
     585        $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
     586 endif
     587endif # VBOX_WITH_RAW_MODE
    583588
    584589
     
    678683endif
    679684
    680 #
    681 # VBoxDD2GC (LGPL sysmod)
    682 #
    683 VBoxDD2GC_TEMPLATE       = VBOXGC
    684 VBoxDD2GC_DEFS           =
    685 VBoxDD2GC_SYSSUFF        = .gc
    686 VBoxDD2GC_INCS          := \
    687         $(PATH_SUB_CURRENT)
    688 VBoxDD2GC_SOURCES        = \
    689         PC/DevAPIC.cpp
    690 ifeq ($(VBOX_LDR_FMT32),pe)
    691 VBoxDD2GC_LDFLAGS        = -Entry:apicMMIOWrite
    692 endif
    693 if1of ($(VBOX_LDR_FMT32), pe lx)
    694 VBoxDD2GC_LIBS           = \
    695         $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
    696         $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
    697 endif
    698 
     685
     686ifdef VBOX_WITH_RAW_MODE
     687 #
     688 # VBoxDD2GC (LGPL sysmod)
     689 #
     690 VBoxDD2GC_TEMPLATE       = VBOXGC
     691 VBoxDD2GC_DEFS           =
     692 VBoxDD2GC_SYSSUFF        = .gc
     693 VBoxDD2GC_INCS          := \
     694        $(PATH_SUB_CURRENT)
     695 VBoxDD2GC_SOURCES        = \
     696        PC/DevAPIC.cpp
     697 ifeq ($(VBOX_LDR_FMT32),pe)
     698 VBoxDD2GC_LDFLAGS        = -Entry:apicMMIOWrite
     699 endif
     700 if1of ($(VBOX_LDR_FMT32), pe lx)
     701 VBoxDD2GC_LIBS           = \
     702        $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
     703        $(PATH_LIB)/VMMGCImp$(VBOX_SUFF_LIB)
     704 endif
     705endif
    699706
    700707#
  • trunk/src/VBox/Devices/testcase/Makefile.kmk

    r24616 r25946  
    11# $Id$
    22## @file
    3 # Sub-Makefile for the Devices testcases.
     3# Sub-Makefile for the device testcases.
    44#
    55
    66#
    7 # Copyright (C) 2006-2007 Sun Microsystems, Inc.
     7# Copyright (C) 2006-2010 Sun Microsystems, Inc.
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    4646
    4747
    48 #
    49 # The testcase generator.
    50 #
    51 PROGRAMS += tstDeviceStructSizeGC
    52 tstDeviceStructSizeGC_TEMPLATE  = VBOXGCEXE
    53 tstDeviceStructSizeGC_DEFS      =
    54 ifdef VBOX_WITH_USB
    55 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_USB IN_USB_GC
    56 endif
    57 ifdef VBOX_WITH_AHCI
    58 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_AHCI
    59 endif
    60 ifdef VBOX_WITH_E1000
    61 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_E1000
    62 endif
    63 ifdef VBOX_WITH_VIRTIO
    64 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_VIRTIO
    65 endif
    66 ifdef VBOX_WITH_BUSLOGIC
    67 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_BUSLOGIC
    68 endif
    69 ifdef VBOX_WITH_SCSI
    70 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_SCSI
    71 endif
    72 ifdef VBOX_WITH_LSILOGIC
    73 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_LSILOGIC
    74 endif
    75 ifdef VBOX_WITH_HPET
    76 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_HPET
    77 endif
    78 ifdef VBOX_WITH_HGSMI
    79 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_HGSMI
    80 endif
    81 ifdef VBOX_WITH_VIDEOHWACCEL
    82 tstDeviceStructSizeGC_DEFS     += VBOX_WITH_VIDEOHWACCEL
    83 endif
    84 tstDeviceStructSizeGC_SOURCES   = tstDeviceStructSizeGC.cpp
    85 tstDeviceStructSizeGC_INCS      = \
    86         $(VBOX_PATH_DEVICES_SRC) \
    87         $(VBOX_PATH_DEVICES_SRC)/Bus \
    88         $(VBOX_DEVICES_TEST_OUT_DIR)
     48ifdef VBOX_WITH_RAW_MODE
     49 #
     50 # The testcase generator.
     51 #
     52 PROGRAMS += tstDeviceStructSizeRC
     53 tstDeviceStructSizeRC_TEMPLATE  = VBOXGCEXE
     54 tstDeviceStructSizeRC_DEFS      = VBOX_WITH_RAW_MODE
     55 ifdef VBOX_WITH_USB
     56  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_USB
     57 endif
     58 ifdef VBOX_WITH_AHCI
     59  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_AHCI
     60 endif
     61 ifdef VBOX_WITH_E1000
     62  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_E1000
     63 endif
     64 ifdef VBOX_WITH_VIRTIO
     65  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_VIRTIO
     66 endif
     67 ifdef VBOX_WITH_BUSLOGIC
     68  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_BUSLOGIC
     69 endif
     70 ifdef VBOX_WITH_SCSI
     71  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_SCSI
     72 endif
     73 ifdef VBOX_WITH_LSILOGIC
     74  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_LSILOGIC
     75 endif
     76 ifdef VBOX_WITH_HPET
     77  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_HPET
     78 endif
     79 ifdef VBOX_WITH_HGSMI
     80  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_HGSMI
     81 endif
     82 ifdef VBOX_WITH_VIDEOHWACCEL
     83  tstDeviceStructSizeRC_DEFS    += VBOX_WITH_VIDEOHWACCEL
     84 endif
     85 tstDeviceStructSizeRC_SOURCES   = tstDeviceStructSizeRC.cpp
     86 tstDeviceStructSizeRC_INCS      = \
     87        $(VBOX_PATH_DEVICES_SRC) \
     88        $(VBOX_PATH_DEVICES_SRC)/Bus \
     89        $(VBOX_DEVICES_TEST_OUT_DIR)
     90endif # VBOX_WITH_RAW_MODE
    8991
    9092#
     
    9597tstDeviceStructSize_DEFS     =
    9698ifdef VBOX_WITH_USB
    97 tstDeviceStructSize_DEFS    += VBOX_WITH_USB IN_USB_GC
     99 tstDeviceStructSize_DEFS   += VBOX_WITH_USB
    98100endif
    99101ifdef VBOX_WITH_AHCI
    100 tstDeviceStructSize_DEFS     += VBOX_WITH_AHCI
     102 tstDeviceStructSize_DEFS   += VBOX_WITH_AHCI
    101103endif
    102104ifdef VBOX_WITH_E1000
    103 tstDeviceStructSize_DEFS     += VBOX_WITH_E1000
     105 tstDeviceStructSize_DEFS   += VBOX_WITH_E1000
    104106endif
    105107ifdef VBOX_WITH_VIRTIO
    106 tstDeviceStructSize_DEFS     += VBOX_WITH_VIRTIO
     108 tstDeviceStructSize_DEFS   += VBOX_WITH_VIRTIO
    107109endif
    108110ifdef VBOX_WITH_BUSLOGIC
    109 tstDeviceStructSize_DEFS     += VBOX_WITH_BUSLOGIC
     111 tstDeviceStructSize_DEFS   += VBOX_WITH_BUSLOGIC
    110112endif
    111113ifdef VBOX_WITH_LSILOGIC
    112 tstDeviceStructSize_DEFS     += VBOX_WITH_LSILOGIC
     114 tstDeviceStructSize_DEFS   += VBOX_WITH_LSILOGIC
    113115endif
    114116ifdef VBOX_WITH_HPET
    115 tstDeviceStructSize_DEFS     += VBOX_WITH_HPET
     117 tstDeviceStructSize_DEFS   += VBOX_WITH_HPET
    116118endif
    117119ifdef VBOX_WITH_SMC
    118 tstDeviceStructSize_DEFS     += VBOX_WITH_SMC
     120 tstDeviceStructSize_DEFS   += VBOX_WITH_SMC
    119121endif
    120122ifdef VBOX_WITH_LPC
    121 tstDeviceStructSize_DEFS     += VBOX_WITH_LPC
     123 tstDeviceStructSize_DEFS   += VBOX_WITH_LPC
    122124endif
    123125ifdef VBOX_WITH_HGSMI
    124 tstDeviceStructSize_DEFS     += VBOX_WITH_HGSMI
     126 tstDeviceStructSize_DEFS   += VBOX_WITH_HGSMI
    125127endif
    126128ifdef VBOX_WITH_VIDEOHWACCEL
    127 tstDeviceStructSize_DEFS     += VBOX_WITH_VIDEOHWACCEL
     129 tstDeviceStructSize_DEFS   += VBOX_WITH_VIDEOHWACCEL
     130endif
     131ifdef VBOX_WITH_RAW_MODE
     132 tstDeviceStructSize_DEFS   += VBOX_WITH_RAW_MODE
    128133endif
    129134tstDeviceStructSize_INCS     = \
     
    133138tstDeviceStructSize_SOURCES  = tstDeviceStructSize.cpp
    134139tstDeviceStructSize_CLEAN    = \
    135         $(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSizeGC.h \
     140        $(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSizeRC.h \
    136141        $(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSize.run
    137 tstDeviceStructSize.cpp_DEPS = $(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSizeGC.h
     142ifdef VBOX_WITH_RAW_MODE
     143 tstDeviceStructSize.cpp_DEPS = $(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSizeRC.h
     144endif
    138145
    139146#
     
    145152## future
    146153
     154ifdef VBOX_WITH_RAW_MODE
    147155# 1&2. Manually dump selected structures and members.
    148 $(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSizeGC.h: $$(INSTARGET_tstDeviceStructSizeGC) | $$(dir $$@)
     156$(VBOX_DEVICES_TEST_OUT_DIR)/tstDeviceStructSizeRC.h: $$(INSTARGET_tstDeviceStructSizeRC) | $$(dir $$@)
    149157        $(call MSG_GENERATE,,$@)
    150158        $(QUIET)$(REDIRECT) -wo $@ -- $^
     159endif
    151160
    152161# 3. run it.
  • trunk/src/VBox/Devices/testcase/tstDeviceStructSize.cpp

    r24616 r25946  
    22/** @file
    33 * tstDeviceStructSize - testcase for check structure sizes/alignment
    4  *                       and to verify that HC and GC uses the same
     4 *                       and to verify that HC and RC uses the same
    55 *                       representation of the structures.
    66 */
    77
    88/*
    9  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
     9 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    1010 *
    1111 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    312312#endif
    313313
     314#ifdef VBOX_WITH_RAW_MODE
    314315    /*
    315      * Compare HC and GC.
     316     * Compare HC and RC.
    316317     */
    317     printf("tstDeviceStructSize: Comparing HC and GC...\n");
    318 #include "tstDeviceStructSizeGC.h"
     318    printf("tstDeviceStructSize: Comparing HC and RC...\n");
     319# include "tstDeviceStructSizeRC.h"
     320#endif
    319321
    320322    /*
     
    327329    return rc;
    328330}
     331
  • trunk/src/VBox/Disassembler/Makefile.kmk

    r23452 r25946  
    5050        DisasmTablesX64.cpp
    5151
    52 LIBRARIES              += DisasmGC
    53 DisasmGC_TEMPLATE       = VBOXGC
    54 DisasmGC_DEFS           = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
    55 DisasmGC_SOURCES        = \
    56         DisasmCore.cpp \
    57         DisasmReg.cpp \
    58         DisasmTables.cpp \
    59         DisasmTablesX64.cpp
     52ifdef VBOX_WITH_RAW_MODE
     53 LIBRARIES              += DisasmGC
     54 DisasmGC_TEMPLATE       = VBOXGC
     55 DisasmGC_DEFS           = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
     56 DisasmGC_SOURCES        = \
     57        DisasmCore.cpp \
     58        DisasmReg.cpp \
     59        DisasmTables.cpp \
     60        DisasmTablesX64.cpp
     61endif # VBOX_WITH_RAW_MODE
    6062
    6163LIBRARIES              += DisasmR0
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r25901 r25946  
    266266    rc = CFGMR3InsertInteger(pRoot, "NumCPUs",              cCpus);                 RC_CHECK();
    267267    rc = CFGMR3InsertInteger(pRoot, "TimerMillies",         10);                    RC_CHECK();
     268#ifdef VBOX_WITH_RAW_MODE
    268269    rc = CFGMR3InsertInteger(pRoot, "RawR3Enabled",         1);     /* boolean */   RC_CHECK();
    269270    rc = CFGMR3InsertInteger(pRoot, "RawR0Enabled",         1);     /* boolean */   RC_CHECK();
     
    271272    rc = CFGMR3InsertInteger(pRoot, "PATMEnabled",          1);     /* boolean */   RC_CHECK();
    272273    rc = CFGMR3InsertInteger(pRoot, "CSAMEnabled",          1);     /* boolean */   RC_CHECK();
     274#endif
    273275
    274276    /* cpuid leaf overrides. */
     
    310312    /* hardware virtualization extensions */
    311313    BOOL fHWVirtExEnabled;
     314    BOOL fHwVirtExtForced;
     315#ifdef VBOX_WITH_RAW_MODE
    312316    hrc = pMachine->GetHWVirtExProperty(HWVirtExPropertyType_Enabled, &fHWVirtExEnabled); H();
    313317    if (cCpus > 1) /** @todo SMP: This isn't nice, but things won't work on mac otherwise. */
    314318        fHWVirtExEnabled = TRUE;
    315 
    316 #ifdef RT_OS_DARWIN
    317     rc = CFGMR3InsertInteger(pRoot, "HwVirtExtForced",      fHWVirtExEnabled);      RC_CHECK();
    318 #else
     319# ifdef RT_OS_DARWIN
     320    fHwVirtExtForced = fHWVirtExEnabled;
     321# else
    319322    /* - With more than 4GB PGM will use different RAMRANGE sizes for raw
    320323         mode and hv mode to optimize lookup times.
    321324       - With more than one virtual CPU, raw-mode isn't a fallback option. */
    322     BOOL fHwVirtExtForced = fHWVirtExEnabled
    323                          && (   cbRam > (_4G - cbRamHole)
    324                              || cCpus > 1);
     325    fHwVirtExtForced = fHWVirtExEnabled
     326                    && (   cbRam > (_4G - cbRamHole)
     327                        || cCpus > 1);
     328# endif
     329#else  /* !VBOX_WITH_RAW_MODE */
     330    fHWVirtExEnabled = fHwVirtExtForced = TRUE;
     331#endif /* !VBOX_WITH_RAW_MODE */
    325332    rc = CFGMR3InsertInteger(pRoot, "HwVirtExtForced",      fHwVirtExtForced);      RC_CHECK();
    326 #endif
    327333
    328334    PCFGMNODE pHWVirtExt;
     
    361367#endif
    362368
    363         /* @todo Not exactly pretty to check strings; VBOXOSTYPE would be better, but that requires quite a bit of API change in Main. */
     369        /** @todo Not exactly pretty to check strings; VBOXOSTYPE would be better, but that requires quite a bit of API change in Main. */
    364370        if (    !fIs64BitGuest
    365371            &&  fIOAPIC
  • trunk/src/VBox/Main/Makefile.kmk

    r25813 r25946  
    4545 include $(KBUILD_PATH)/tools/VCC70.kmk
    4646 include $(KBUILD_PATH)/sdks/WINPSDK.kmk
    47 endif #!VBOX_ONLY_SDK
     47endif # !VBOX_ONLY_SDK
    4848
    4949
     
    5656 endif
    5757 ifneq ($(KBUILD_TARGET),os2)
    58   VBOX_MAIN_DEFS+= VBOX_WITH_SYS_V_IPC_SESSION_WATCHER
     58  VBOX_MAIN_DEFS += VBOX_WITH_SYS_V_IPC_SESSION_WATCHER
    5959 endif
    6060endif
    6161VBOX_MAIN_DEFS += \
     62        $(if $(VBOX_WITH_RAW_MODE),VBOX_WITH_RAW_MODE,) \
    6263        $(if $(VBOX_WITH_NETFLT),VBOX_WITH_NETFLT,) \
    6364        $(if $(VBOX_WITH_CROGL),VBOX_WITH_CROGL,) \
  • trunk/src/VBox/Runtime/Makefile.kmk

    r25942 r25946  
    55
    66#
    7 # Copyright (C) 2006-2007 Sun Microsystems, Inc.
     7# Copyright (C) 2006-2010 Sun Microsystems, Inc.
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    5858
    5959 BLDPROGS += uniread
    60  LIBRARIES += RuntimeR3 RuntimeR0 RuntimeGC RuntimeEFCPP RuntimeR3NoCRTGCC
     60 LIBRARIES += RuntimeR3 RuntimeR0 RuntimeEFCPP RuntimeR3NoCRTGCC
     61 ifdef VBOX_WITH_RAW_MODE
     62  LIBRARIES += RuntimeGC
     63 endif
    6164 ifdef VBOX_WITH_VBOXDRV
    6265  LIBRARIES += RuntimeR0Drv
     
    15351538
    15361539
    1537 #
    1538 # RuntimeGC - Guest context library.
    1539 #
    1540 RuntimeGC_TEMPLATE      = VBOXGC
    1541 RuntimeGC_DEFS          = IN_RT_GC RT_WITH_VBOX
    1542 RuntimeGC_INCS          = include
    1543 RuntimeGC_SOURCES       = \
    1544         common/log/log.cpp \
    1545         common/log/logellipsis.cpp \
    1546         common/log/logrel.cpp \
    1547         common/log/logrelellipsis.cpp \
    1548         common/log/logcom.cpp \
    1549         common/log/logformat.cpp \
    1550         common/misc/RTAssertMsg1Weak.cpp \
    1551         common/misc/RTAssertMsg2.cpp \
    1552         common/misc/RTAssertMsg2Add.cpp \
    1553         common/misc/RTAssertMsg2AddWeak.cpp \
    1554         common/misc/RTAssertMsg2AddWeakV.cpp \
    1555         common/misc/RTAssertMsg2Weak.cpp \
    1556         common/misc/RTAssertMsg2WeakV.cpp \
    1557         common/misc/assert.cpp \
    1558         common/misc/buildconfig.cpp \
    1559         common/misc/sanity-c.c \
    1560         common/misc/sanity-cpp.cpp \
    1561         common/string/strformat.cpp \
    1562         common/string/strformatrt.cpp \
    1563         common/string/strformattype.cpp \
    1564         common/string/strncmp.cpp \
    1565         common/string/strpbrk.cpp \
    1566         common/string/strprintf.cpp \
    1567         common/table/avllu32.cpp \
    1568         common/table/avlou32.cpp \
    1569         common/table/avlogcphys.cpp \
    1570         common/table/avlogcptr.cpp \
    1571         common/table/avlohcphys.cpp \
    1572         common/table/avloioport.cpp \
    1573         common/table/avlrogcphys.cpp \
    1574         common/table/avlrogcptr.cpp \
    1575         common/table/avlroioport.cpp \
    1576         common/table/avlroogcptr.cpp \
    1577         common/table/avlu32.cpp \
    1578         common/time/timeprog.cpp \
    1579         common/time/timesup.cpp \
    1580         gc/initterm-gc.cpp \
    1581         generic/RTAssertShouldPanic-generic.cpp \
    1582         VBox/strformat-vbox.cpp \
    1583         \
    1584         $(RuntimeNoCrt_SOURCES)
    1585 
    1586 #if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
    1587 # RuntimeGC_SOURCES += common/time/timesupA.asm
    1588 #else
    1589  RuntimeGC_SOURCES += common/time/timesupref.cpp
    1590 #endif
    1591 
    1592 RuntimeGC_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
    1593 
    1594 ifeq ($(VBOX_LDR_FMT32),lx)
    1595  RuntimeGC_SOURCES += os2/sys0.asm
    1596 endif
    1597 
    1598 if1of ($(KBUILD_TARGET), darwin solaris freebsd)
    1599 RuntimeGC_SOURCES += \
    1600         common/math/gcc/adddi3.c \
    1601         common/math/gcc/anddi3.c \
    1602         common/math/gcc/ashldi3.c \
    1603         common/math/gcc/ashrdi3.c \
    1604         common/math/gcc/cmpdi2.c \
    1605         common/math/gcc/divdi3.c \
    1606         common/math/gcc/iordi3.c \
    1607         common/math/gcc/lshldi3.c \
    1608         common/math/gcc/lshrdi3.c \
    1609         common/math/gcc/moddi3.c \
    1610         common/math/gcc/muldi3.c \
    1611         common/math/gcc/negdi2.c \
    1612         common/math/gcc/notdi2.c \
    1613         common/math/gcc/qdivrem.c \
    1614         common/math/gcc/subdi3.c \
    1615         common/math/gcc/ucmpdi2.c \
    1616         common/math/gcc/udivdi3.c \
    1617         common/math/gcc/umoddi3.c \
    1618         common/math/gcc/xordi3.c
    1619 endif
     1540ifdef VBOX_WITH_RAW_MODE
     1541 #
     1542 # RuntimeGC - Guest context library.
     1543 #
     1544 RuntimeGC_TEMPLATE      = VBOXGC
     1545 RuntimeGC_DEFS          = IN_RT_GC RT_WITH_VBOX
     1546 RuntimeGC_INCS          = include
     1547 RuntimeGC_SOURCES       = \
     1548        common/log/log.cpp \
     1549        common/log/logellipsis.cpp \
     1550        common/log/logrel.cpp \
     1551        common/log/logrelellipsis.cpp \
     1552        common/log/logcom.cpp \
     1553        common/log/logformat.cpp \
     1554        common/misc/RTAssertMsg1Weak.cpp \
     1555        common/misc/RTAssertMsg2.cpp \
     1556        common/misc/RTAssertMsg2Add.cpp \
     1557        common/misc/RTAssertMsg2AddWeak.cpp \
     1558        common/misc/RTAssertMsg2AddWeakV.cpp \
     1559        common/misc/RTAssertMsg2Weak.cpp \
     1560        common/misc/RTAssertMsg2WeakV.cpp \
     1561        common/misc/assert.cpp \
     1562        common/misc/buildconfig.cpp \
     1563        common/misc/sanity-c.c \
     1564        common/misc/sanity-cpp.cpp \
     1565        common/string/strformat.cpp \
     1566        common/string/strformatrt.cpp \
     1567        common/string/strformattype.cpp \
     1568        common/string/strncmp.cpp \
     1569        common/string/strpbrk.cpp \
     1570        common/string/strprintf.cpp \
     1571        common/table/avllu32.cpp \
     1572        common/table/avlou32.cpp \
     1573        common/table/avlogcphys.cpp \
     1574        common/table/avlogcptr.cpp \
     1575        common/table/avlohcphys.cpp \
     1576        common/table/avloioport.cpp \
     1577        common/table/avlrogcphys.cpp \
     1578        common/table/avlrogcptr.cpp \
     1579        common/table/avlroioport.cpp \
     1580        common/table/avlroogcptr.cpp \
     1581        common/table/avlu32.cpp \
     1582        common/time/timeprog.cpp \
     1583        common/time/timesup.cpp \
     1584        gc/initterm-gc.cpp \
     1585        generic/RTAssertShouldPanic-generic.cpp \
     1586        VBox/strformat-vbox.cpp \
     1587        \
     1588        $(RuntimeNoCrt_SOURCES)
     1589
     1590 #if1of ($(KBUILD_TARGET_ARCH),amd64 x86)
     1591 # RuntimeGC_SOURCES += common/time/timesupA.asm
     1592 #else
     1593  RuntimeGC_SOURCES += common/time/timesupref.cpp
     1594 #endif
     1595
     1596 RuntimeGC_SOURCES.win.x86 = $(RuntimeWin32ASM_SOURCES)
     1597
     1598 ifeq ($(VBOX_LDR_FMT32),lx)
     1599  RuntimeGC_SOURCES += os2/sys0.asm
     1600 endif
     1601
     1602 if1of ($(KBUILD_TARGET), darwin solaris freebsd)
     1603  RuntimeGC_SOURCES += \
     1604        common/math/gcc/adddi3.c \
     1605        common/math/gcc/anddi3.c \
     1606        common/math/gcc/ashldi3.c \
     1607        common/math/gcc/ashrdi3.c \
     1608        common/math/gcc/cmpdi2.c \
     1609        common/math/gcc/divdi3.c \
     1610        common/math/gcc/iordi3.c \
     1611        common/math/gcc/lshldi3.c \
     1612        common/math/gcc/lshrdi3.c \
     1613        common/math/gcc/moddi3.c \
     1614        common/math/gcc/muldi3.c \
     1615        common/math/gcc/negdi2.c \
     1616        common/math/gcc/notdi2.c \
     1617        common/math/gcc/qdivrem.c \
     1618        common/math/gcc/subdi3.c \
     1619        common/math/gcc/ucmpdi2.c \
     1620        common/math/gcc/udivdi3.c \
     1621        common/math/gcc/umoddi3.c \
     1622        common/math/gcc/xordi3.c
     1623 endif
     1624endif # VBOX_WITH_RAW_MODE
    16201625
    16211626
  • trunk/src/VBox/Runtime/testcase/Makefile.kmk

    r25924 r25946  
    132132        tstDarwinSched
    133133SYSMODS += \
    134         tstLdrObj \
    135134        tstLdrObjR0 \
    136135        tstRTR0MemUserKernel \
    137136        tstR0ThreadPreemption
     137ifdef VBOX_WITH_RAW_MODE
     138 SYSMODS += tstLdrObj
     139endif
    138140if1of ($(VBOX_LDR_FMT)), lx pe)
    139141LIBRARIES += \
     
    226228        $(PATH_LIB)/DisasmR3$(VBOX_SUFF_LIB)
    227229
    228 tstLdrObj_TEMPLATE = VBOXGC
    229 tstLdrObj_INST = $(INST_TESTCASE)
    230 tstLdrObj_SYSSUFF = .gc
    231 tstLdrObj_SOURCES = tstLdrObj.cpp
    232 tstLdrObj_DEFS = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
    233 ifeq ($(VBOX_LDR_FMT32),elf)
    234 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
    235 endif
    236 tstLdrObj_LIBS = \
    237         $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
    238         $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
    239 ifeq ($(VBOX_LDR_FMT32),pe)
    240 tstLdrObj_LDFLAGS = -Entry:Entrypoint
    241 tstLdrObj_LIBS += \
    242         $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
    243 endif # PE
    244 ifeq ($(VBOX_LDR_FMT32),elf)
    245 tstLdrObj_LDFLAGS = -e Entrypoint
    246 endif
    247 ifeq ($(VBOX_LDR_FMT32),lx)
    248 tstLdrObj_LIBS += \
    249         $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
    250 endif
     230ifdef VBOX_WITH_RAW_MODE
     231 tstLdrObj_TEMPLATE = VBOXGC
     232 tstLdrObj_INST = $(INST_TESTCASE)
     233 tstLdrObj_SYSSUFF = .gc
     234 tstLdrObj_SOURCES = tstLdrObj.cpp
     235 tstLdrObj_DEFS = IN_DIS IN_RT_GC IN_RT_RC DIS_CORE_ONLY
     236 ifeq ($(VBOX_LDR_FMT32),elf)
     237 tstLdrObj_DEFS += VBOX_SOME_IMPORT_FUNCTION
     238 endif
     239 tstLdrObj_LIBS = \
     240        $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
     241        $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
     242 ifeq ($(VBOX_LDR_FMT32),pe)
     243 tstLdrObj_LDFLAGS = -Entry:Entrypoint
     244 tstLdrObj_LIBS += \
     245        $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
     246 endif # PE
     247 ifeq ($(VBOX_LDR_FMT32),elf)
     248 tstLdrObj_LDFLAGS = -e Entrypoint
     249 endif
     250 ifeq ($(VBOX_LDR_FMT32),lx)
     251 tstLdrObj_LIBS += \
     252        $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
     253 endif
     254endif # VBOX_WITH_RAW_MODE
    251255
    252256tstLdr-3_SOURCES = tstLdr-3.cpp
  • trunk/src/VBox/VMM/Makefile.kmk

    r24577 r25946  
    55
    66#
    7 # Copyright (C) 2006-2007 Sun Microsystems, Inc.
     7# Copyright (C) 2006-2010 Sun Microsystems, Inc.
    88#
    99# This file is part of VirtualBox Open Source Edition (OSE), as
     
    5757ifdef VBOX_WITH_LIVE_MIGRATION
    5858 VMMR3_DEFS    += VBOX_WITH_LIVE_MIGRATION
     59endif
     60ifdef VBOX_WITH_RAW_MODE
     61 VMMR3_DEFS    += VBOX_WITH_RAW_MODE
    5962endif
    6063VMMR3_DEFS.darwin = VMM_R0_SWITCH_STACK
     
    179182endif
    180183
    181 VMMR3_SOURCES.x86 += \
    182         VMMSwitcher/32BitTo32Bit.asm \
    183         VMMSwitcher/32BitToPAE.asm \
    184         VMMSwitcher/32BitToAMD64.asm \
    185         VMMSwitcher/PAETo32Bit.asm \
    186         VMMSwitcher/PAEToAMD64.asm \
    187         VMMSwitcher/PAEToPAE.asm
    188 VMMR3_SOURCES.amd64 = \
    189         VMMSwitcher/AMD64To32Bit.asm \
    190         VMMSwitcher/AMD64ToPAE.asm
    191 VMMR3_SOURCES.darwin.x86 += \
    192         VMMSwitcher/AMD64ToPAE.asm
     184ifdef VBOX_WITH_RAW_MODE
     185 VMMR3_SOURCES.x86 += \
     186        VMMSwitcher/32BitTo32Bit.asm \
     187        VMMSwitcher/32BitToPAE.asm \
     188        VMMSwitcher/32BitToAMD64.asm \
     189        VMMSwitcher/PAETo32Bit.asm \
     190        VMMSwitcher/PAEToAMD64.asm \
     191        VMMSwitcher/PAEToPAE.asm
     192 VMMR3_SOURCES.amd64 = \
     193        VMMSwitcher/AMD64To32Bit.asm \
     194        VMMSwitcher/AMD64ToPAE.asm
     195 VMMR3_SOURCES.darwin.x86 += \
     196        VMMSwitcher/AMD64ToPAE.asm
     197endif
     198
    193199
    194200# SSM wish to know the build type, host os and arch.
     
    241247
    242248
    243 if1of ($(VBOX_LDR_FMT32), pe lx)
    244 
    245 #
    246 # VMMGCBuiltin.lib
    247 #
    248 LIBRARIES += VMMGCBuiltin
    249 VMMGCBuiltin_TEMPLATE = VBOXGC
     249if defined(VBOX_WITH_RAW_MODE) && $(intersects $(VBOX_LDR_FMT32), pe lx)
     250
     251 #
     252 # VMMGCBuiltin.lib
     253 #
     254 LIBRARIES += VMMGCBuiltin
     255 VMMGCBuiltin_TEMPLATE = VBOXGC
    250256 ifeq ($(VBOX_LDR_FMT32),pe)
    251 VMMGCBuiltin_SOURCES = VMMGC/VMMGCBuiltin.def
     257  VMMGCBuiltin_SOURCES = VMMGC/VMMGCBuiltin.def
    252258 endif
    253259 ifeq ($(VBOX_LDR_FMT32),lx)
    254 VMMGCBuiltin_SOURCES = $(PATH_VMMGCBuiltin)/VMMGCBuiltin.def
    255 $$(PATH_VMMGCBuiltin)/VMMGCBuiltin.def: $(PATH_SUB_CURRENT)/VMMGC/VMMGCBuiltin.def | $$(dir $$@)
     260  VMMGCBuiltin_SOURCES = $(PATH_VMMGCBuiltin)/VMMGCBuiltin.def
     261  $$(PATH_VMMGCBuiltin)/VMMGCBuiltin.def: $(PATH_SUB_CURRENT)/VMMGC/VMMGCBuiltin.def | $$(dir $$@)
    256262        $(SED) -e '/not-os2/d' -e 's/^[ \t][ \t]*\([a-zA-Z]\)/    _\1/' -e 's/[ \t]DATA[ \t]*/ /' --output $@ $<
    257263 endif
    258264
    259265
    260 #
    261 # VMMGCImp.lib
    262 #
    263 LIBRARIES += VMMGCImp
    264 VMMGCImp_TEMPLATE = VBOXGC
    265 VMMGCImp_SOURCES = $(PATH_VMMGCImp)/VMMGC.def
    266 VMMGCImp_CLEAN   = $(PATH_VMMGCImp)/VMMGC.def
    267 
    268 $$(PATH_VMMGCImp)/VMMGC.def: $(PATH_SUB_CURRENT)/VMMGC/VMMGC.def | $$(dir $$@)
     266 #
     267 # VMMGCImp.lib
     268 #
     269 LIBRARIES += VMMGCImp
     270 VMMGCImp_TEMPLATE = VBOXGC
     271 VMMGCImp_SOURCES = $(PATH_VMMGCImp)/VMMGC.def
     272 VMMGCImp_CLEAN   = $(PATH_VMMGCImp)/VMMGC.def
     273
     274 $$(PATH_VMMGCImp)/VMMGC.def: $(PATH_SUB_CURRENT)/VMMGC/VMMGC.def | $$(dir $$@)
    269275 ifeq ($(VBOX_LDR_FMT32),lx)
    270276        $(SED) \
     
    283289 endif
    284290
    285 endif # RC: pe + lx
    286 
    287 ifneq ($(filter pe lx,$(VBOX_LDR_FMT)),)
    288 #
    289 # VMMR0Imp.lib
    290 #
    291 LIBRARIES += VMMR0Imp
    292 VMMR0Imp_TEMPLATE = VBOXR0
    293 VMMR0Imp_SOURCES  = $(PATH_VMMR0Imp)/VMMR0.def
    294 VMMR0Imp_CLEAN    = $(PATH_VMMR0Imp)/VMMR0.def
    295 
    296 $$(PATH_VMMR0Imp)/VMMR0.def: $(PATH_SUB_CURRENT)/VMMR0/VMMR0.def | $$(dir $$@)
     291endif # RC && (pe || lx)
     292
     293
     294if1of ($(VBOX_LDR_FMT), pe lx)
     295 #
     296 # VMMR0Imp.lib
     297 #
     298 LIBRARIES += VMMR0Imp
     299 VMMR0Imp_TEMPLATE = VBOXR0
     300 VMMR0Imp_SOURCES  = $(PATH_VMMR0Imp)/VMMR0.def
     301 VMMR0Imp_CLEAN    = $(PATH_VMMR0Imp)/VMMR0.def
     302
     303 $$(PATH_VMMR0Imp)/VMMR0.def: $(PATH_SUB_CURRENT)/VMMR0/VMMR0.def | $$(dir $$@)
    297304 ifeq ($(VBOX_LDR_FMT),lx)
    298305        $(SED) \
     
    313320
    314321
    315 #
    316 # VMMGC.gc
    317 #
    318 SYSMODS += VMMGC
    319 VMMGC_TEMPLATE  = VBOXGC
    320 VMMGC_SYSSUFF   = .gc
    321 
    322 VMMGC_DEFS      = IN_VMM_RC IN_RT_GC IN_RT_RC IN_DIS DIS_CORE_ONLY
    323 ifdef VBOX_WITH_R0_LOGGING
    324  VMMGC_DEFS    += VBOX_WITH_R0_LOGGING
    325 endif
    326 ifdef VBOX_WITH_MULTI_CORE
    327  VMMGC_DEFS    += VBOX_WITH_MULTI_CORE
    328 endif
    329 ifdef VBOX_WITH_VMI
    330  VMMGC_DEFS    += VBOX_WITH_VMI
    331 endif
    332 ifeq ($(KBUILD_TARGET_ARCH),x86)
    333  VMMGC_DEFS.darwin = VMM_R0_SWITCH_STACK
    334  VMMGC_DEFS.darwin = \
    335         VBOX_WITH_2X_4GB_ADDR_SPACE   VBOX_WITH_2X_4GB_ADDR_SPACE_IN_RC \
    336         VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_RC
    337 endif
    338 
    339 VMMGC_INCS     := \
    340         . \
    341         VMMGC \
    342         PATM
    343 
    344 VMMGC_LIBS      = \
    345         $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
    346         $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
    347 ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
    348  VMMGC_LIBS    += \
    349         $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
    350 endif
    351 
    352 ifeq ($(VBOX_LDR_FMT32),pe)
    353  VMMGC_LDFLAGS  = -Entry:VMMGCEntry
    354 endif
    355 
    356 VMMGC_SOURCES   = \
    357         VMMGC/VMMGC0.asm \
    358         VMMGC/VMMGCDeps.cpp \
    359         VMMGC/CPUMGC.cpp \
    360         VMMGC/CPUMGCA.asm \
    361         VMMGC/EMGCA.asm \
    362         VMMGC/IOMGC.cpp \
    363         VMMGC/MMRamGC.cpp \
    364         VMMGC/MMRamGCA.asm \
    365         VMMGC/PDMGCDevice.cpp \
    366         VMMGC/PGMGC.cpp \
    367         VMMGC/SELMGC.cpp \
    368         VMMGC/TRPMGC.cpp \
    369         VMMGC/TRPMGCHandlers.cpp \
    370         VMMGC/TRPMGCHandlersA.asm \
    371         VMMGC/VMMGC.cpp \
    372         VMMGC/VMMGCA.asm \
    373         VMMGC/HWACCMGCA.asm \
    374         VMMRZ/DBGFRZ.cpp \
    375         VMMRZ/VMMRZ.cpp \
    376         VMMAll/CPUMAllRegs.cpp \
    377         VMMAll/CPUMAllA.asm \
    378         VMMAll/DBGFAll.cpp \
    379         VMMAll/IOMAll.cpp \
    380         VMMAll/IOMAllMMIO.cpp \
    381         VMMAll/EMAll.cpp \
    382         VMMAll/EMAllA.asm \
    383         VMMAll/MMAll.cpp \
    384         VMMAll/MMAllHyper.cpp \
    385         VMMAll/PDMAll.cpp \
    386         VMMAll/PDMAllCritSect.cpp \
    387         VMMAll/PDMAllQueue.cpp \
    388         VMMAll/PGMAll.cpp \
    389         VMMAll/PGMAllHandler.cpp \
    390         VMMAll/PGMAllMap.cpp \
    391         VMMAll/PGMAllPhys.cpp \
    392         VMMAll/PGMAllPool.cpp \
    393         VMMAll/REMAll.cpp \
    394         VMMAll/SELMAll.cpp \
    395         VMMAll/TMAll.cpp \
    396         VMMAll/TMAllCpu.cpp \
    397         VMMAll/TMAllReal.cpp \
    398         VMMAll/TMAllVirtual.cpp \
    399         VMMAll/TRPMAll.cpp \
    400         VMMAll/VMAll.cpp \
    401         VMMAll/VMMAll.cpp \
    402         VMMAll/VMMAllA.asm \
    403         PATM/VMMGC/CSAMGC.cpp \
    404         PATM/VMMAll/CSAMAll.cpp \
    405         PATM/VMMGC/PATMGC.cpp \
    406         PATM/VMMAll/PATMAll.cpp
    407 ifdef VBOX_WITH_VMI
    408  VMMGC_SOURCES += \
    409         PARAV/PARAV.cpp \
    410         PARAV/PARAVAll.cpp
    411 endif
    412 ifeq ($(VBOX_LDR_FMT32),pe)
    413  VMMGC_SOURCES += VMMGC/VMMGC.def
    414 endif
    415 ifeq ($(VBOX_LDR_FMT32),lx)
    416  VMMGC_SOURCES += $(PATH_VMMGCImp)/VMMGC.def
    417 endif
    418 
    419 
    420 # the very last one.
    421 VMMGC_SOURCES += VMMGC/VMMGC99.asm
    422 
    423 VMMGC/VMMGCDeps.cpp_CXXFLAGS.win = -Oi- -TC ## @todo rename VMMGCDeps.cpp to .c
     322ifdef VBOX_WITH_RAW_MODE
     323 #
     324 # VMMGC.gc
     325 #
     326 SYSMODS += VMMGC
     327 VMMGC_TEMPLATE  = VBOXGC
     328 VMMGC_SYSSUFF   = .gc
     329
     330 VMMGC_DEFS      = IN_VMM_RC IN_RT_GC IN_RT_RC IN_DIS DIS_CORE_ONLY VBOX_WITH_RAW_MODE
     331 ifdef VBOX_WITH_R0_LOGGING
     332  VMMGC_DEFS    += VBOX_WITH_R0_LOGGING
     333 endif
     334 ifdef VBOX_WITH_MULTI_CORE
     335  VMMGC_DEFS    += VBOX_WITH_MULTI_CORE
     336 endif
     337 ifdef VBOX_WITH_VMI
     338  VMMGC_DEFS    += VBOX_WITH_VMI
     339 endif
     340 ifeq ($(KBUILD_TARGET_ARCH),x86)
     341  VMMGC_DEFS.darwin = VMM_R0_SWITCH_STACK
     342  VMMGC_DEFS.darwin = \
     343        VBOX_WITH_2X_4GB_ADDR_SPACE   VBOX_WITH_2X_4GB_ADDR_SPACE_IN_RC \
     344        VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_RC
     345 endif
     346
     347 VMMGC_INCS     := \
     348        . \
     349        VMMGC \
     350        PATM
     351
     352 VMMGC_LIBS      = \
     353        $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
     354        $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
     355 ifneq ($(filter pe lx,$(VBOX_LDR_FMT32)),)
     356  VMMGC_LIBS    += \
     357        $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB)
     358 endif
     359
     360 ifeq ($(VBOX_LDR_FMT32),pe)
     361  VMMGC_LDFLAGS  = -Entry:VMMGCEntry
     362 endif
     363
     364 VMMGC_SOURCES   = \
     365        VMMGC/VMMGC0.asm \
     366        VMMGC/VMMGCDeps.cpp \
     367        VMMGC/CPUMGC.cpp \
     368        VMMGC/CPUMGCA.asm \
     369        VMMGC/EMGCA.asm \
     370        VMMGC/IOMGC.cpp \
     371        VMMGC/MMRamGC.cpp \
     372        VMMGC/MMRamGCA.asm \
     373        VMMGC/PDMGCDevice.cpp \
     374        VMMGC/PGMGC.cpp \
     375        VMMGC/SELMGC.cpp \
     376        VMMGC/TRPMGC.cpp \
     377        VMMGC/TRPMGCHandlers.cpp \
     378        VMMGC/TRPMGCHandlersA.asm \
     379        VMMGC/VMMGC.cpp \
     380        VMMGC/VMMGCA.asm \
     381        VMMGC/HWACCMGCA.asm \
     382        VMMRZ/DBGFRZ.cpp \
     383        VMMRZ/VMMRZ.cpp \
     384        VMMAll/CPUMAllRegs.cpp \
     385        VMMAll/CPUMAllA.asm \
     386        VMMAll/DBGFAll.cpp \
     387        VMMAll/IOMAll.cpp \
     388        VMMAll/IOMAllMMIO.cpp \
     389        VMMAll/EMAll.cpp \
     390        VMMAll/EMAllA.asm \
     391        VMMAll/MMAll.cpp \
     392        VMMAll/MMAllHyper.cpp \
     393        VMMAll/PDMAll.cpp \
     394        VMMAll/PDMAllCritSect.cpp \
     395        VMMAll/PDMAllQueue.cpp \
     396        VMMAll/PGMAll.cpp \
     397        VMMAll/PGMAllHandler.cpp \
     398        VMMAll/PGMAllMap.cpp \
     399        VMMAll/PGMAllPhys.cpp \
     400        VMMAll/PGMAllPool.cpp \
     401        VMMAll/REMAll.cpp \
     402        VMMAll/SELMAll.cpp \
     403        VMMAll/TMAll.cpp \
     404        VMMAll/TMAllCpu.cpp \
     405        VMMAll/TMAllReal.cpp \
     406        VMMAll/TMAllVirtual.cpp \
     407        VMMAll/TRPMAll.cpp \
     408        VMMAll/VMAll.cpp \
     409        VMMAll/VMMAll.cpp \
     410        VMMAll/VMMAllA.asm \
     411        PATM/VMMGC/CSAMGC.cpp \
     412        PATM/VMMAll/CSAMAll.cpp \
     413        PATM/VMMGC/PATMGC.cpp \
     414        PATM/VMMAll/PATMAll.cpp
     415 ifdef VBOX_WITH_VMI
     416  VMMGC_SOURCES += \
     417        PARAV/PARAV.cpp \
     418        PARAV/PARAVAll.cpp
     419 endif
     420 ifeq ($(VBOX_LDR_FMT32),pe)
     421  VMMGC_SOURCES += VMMGC/VMMGC.def
     422 endif
     423 ifeq ($(VBOX_LDR_FMT32),lx)
     424  VMMGC_SOURCES += $(PATH_VMMGCImp)/VMMGC.def
     425 endif
     426
     427
     428 # the very last one.
     429 VMMGC_SOURCES += VMMGC/VMMGC99.asm
     430
     431 VMMGC/VMMGCDeps.cpp_CXXFLAGS.win = -Oi- -TC ## @todo rename VMMGCDeps.cpp to .c
     432endif # VBOX_WITH_RAW_MODE
    424433
    425434
     
    441450ifdef VBOX_WITH_MULTI_CORE
    442451 VMMR0_DEFS    += VBOX_WITH_MULTI_CORE
     452endif
     453ifdef VBOX_WITH_RAW_MODE
     454 VMMR0_DEFS    += VBOX_WITH_RAW_MODE
    443455endif
    444456VMMR0_DEFS.darwin = VMM_R0_SWITCH_STACK
  • trunk/src/VBox/VMM/VMMSwitcher.cpp

    r24009 r25946  
    5252{
    5353    NULL, /* invalid entry */
    54 #ifndef RT_ARCH_AMD64
     54#ifdef VBOX_WITH_RAW_MODE
     55# ifndef RT_ARCH_AMD64
    5556    &vmmR3Switcher32BitTo32Bit_Def,
    5657    &vmmR3Switcher32BitToPAE_Def,
     
    6061    &vmmR3SwitcherPAEToAMD64_Def,
    6162    NULL,   //&vmmR3SwitcherPAETo32Bit_Def,
    62 # ifdef VBOX_WITH_HYBRID_32BIT_KERNEL
     63#  ifdef VBOX_WITH_HYBRID_32BIT_KERNEL
    6364    &vmmR3SwitcherAMD64ToPAE_Def,
    64 # else
     65#  else
    6566    NULL,   //&vmmR3SwitcherAMD64ToPAE_Def,
    66 # endif
     67#  endif
    6768    NULL    //&vmmR3SwitcherAMD64ToAMD64_Def,
    68 #else  /* RT_ARCH_AMD64 */
     69# else  /* RT_ARCH_AMD64 */
    6970    NULL,   //&vmmR3Switcher32BitTo32Bit_Def,
    7071    NULL,   //&vmmR3Switcher32BitToPAE_Def,
     
    7677    &vmmR3SwitcherAMD64ToPAE_Def,
    7778    NULL    //&vmmR3SwitcherAMD64ToAMD64_Def,
    78 #endif /* RT_ARCH_AMD64 */
     79# endif /* RT_ARCH_AMD64 */
     80#else  /* !VBOX_WITH_RAW_MODE */
     81    NULL,
     82    NULL,
     83    NULL,
     84    NULL,
     85    NULL,
     86    NULL,
     87    NULL,
     88    NULL,
     89    NULL
     90#endif /* !VBOX_WITH_RAW_MODE */
    7991};
    8092
  • trunk/src/VBox/VMM/testcase/Makefile.kmk

    r24800 r25946  
    2626# Target lists.
    2727#
    28 PROGRAMS   += tstVMStructSize tstVMStructGC tstAsmStructs tstAsmStructsGC tstVMM tstVMM-HwAccm tstGlobalConfig tstInstrEmul
    29 ifneq ($(KBUILD_TARGET),win)
    30 PROGRAMS   += tstVMMFork
     28PROGRAMS   += tstVMStructSize tstAsmStructs tstGlobalConfig tstInstrEmul
     29ifdef VBOX_WITH_RAW_MODE
     30 PROGRAMS  += tstVMStructRC tstAsmStructsRC tstVMM tstVMM-HwAccm
     31 ifneq ($(KBUILD_TARGET),win)
     32  PROGRAMS += tstVMMFork
     33 endif
    3134endif
    3235ifdef VBOX_WITH_TESTCASES
     
    3740        tstMMHyperHeap \
    3841        tstVMREQ \
    39         tstMicro \
    4042        tstCompiler \
    4143        tstVMMR0CallHost-1 \
     
    4446  PROGRAMS += tstAnimate
    4547 endif
    46  SYSMODS   += tstMicroGC
     48 ifdef VBOX_WITH_RAW_MODE
     49  PROGRAMS += tstMicro
     50  SYSMODS  += tstMicroGC
     51 endif
     52 ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
     53  PROGRAMS  += tstPDMAsyncCompletion
     54  PROGRAMS  += tstPDMAsyncCompletionStress
     55 endif
    4756endif # VBOX_WITH_TESTCASES
    48 
    49 ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
    50  PROGRAMS  += tstPDMAsyncCompletion
    51  PROGRAMS  += tstPDMAsyncCompletionStress
    52 endif
    5357
    5458# Where we put our temporary files (just for simplicity)
     
    8488        $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsAsm.mac.lst \
    8589        $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.h.dump \
    86         $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsGC.h \
     90        $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsRC.h \
    8791        $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsHC.h \
    88         $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructGC.h
     92        $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructRC.h
    8993
    9094#
     
    96100# Targets
    97101#
    98 tstVMStructGC_TEMPLATE  = VBOXGCEXE
    99 tstVMStructGC_DEFS      = IN_VMM_RC IN_DIS IN_RT_RC IN_RT_GC
    100 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
    101 tstVMStructGC_DEFS     += \
    102         VBOX_WITH_2X_4GB_ADDR_SPACE   VBOX_WITH_2X_4GB_ADDR_SPACE_IN_RC \
    103         VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_RC
    104 endif
    105 ifdef VBOX_WITH_R0_LOGGING
    106 tstVMStructGC_DEFS     += VBOX_WITH_R0_LOGGING
    107 endif
    108 tstVMStructGC_SOURCES   = tstVMStructGC.cpp
    109 tstVMStructGC_INCS      = $(VBOX_PATH_VMM_SRC) $(VBOX_PATH_VMM_SRC)/PATM
     102ifdef VBOX_WITH_RAW_MODE
     103 tstVMStructRC_TEMPLATE  = VBOXGCEXE
     104 tstVMStructRC_DEFS      = IN_VMM_RC IN_DIS IN_RT_RC IN_RT_GC VBOX_WITH_RAW_MODE
     105 ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
     106  tstVMStructRC_DEFS    += \
     107        VBOX_WITH_2X_4GB_ADDR_SPACE   VBOX_WITH_2X_4GB_ADDR_SPACE_IN_RC \
     108        VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_RC
     109 endif
     110 ifdef VBOX_WITH_R0_LOGGING
     111  tstVMStructRC_DEFS    += VBOX_WITH_R0_LOGGING
     112 endif
     113 tstVMStructRC_SOURCES   = tstVMStructRC.cpp
     114 tstVMStructRC_INCS      = $(VBOX_PATH_VMM_SRC) $(VBOX_PATH_VMM_SRC)/PATM
     115endif
    110116
    111117tstVMStructSize_TEMPLATE= VBOXR3AUTOTST
    112118tstVMStructSize_DEFS    = IN_VMM_R3 IN_DIS
    113119ifeq ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH),darwin.x86)
    114 tstVMStructSize_DEFS   += \
    115         VBOX_WITH_2X_4GB_ADDR_SPACE   VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R3 \
    116         VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_R3
     120 tstVMStructSize_DEFS   += \
     121        VBOX_WITH_2X_4GB_ADDR_SPACE   VBOX_WITH_2X_4GB_ADDR_SPACE_IN_R3 \
     122        VBOX_WITH_HYBRID_32BIT_KERNEL VBOX_WITH_HYBRID_32BIT_KERNEL_IN_R3
     123endif
     124ifdef VBOX_WITH_RAW_MODE
     125 tstVMStructSize_DEFS  += VBOX_WITH_RAW_MODE
    117126endif
    118127tstVMStructSize_INCS    = $(VBOX_PATH_VMM_SRC) $(VBOX_PATH_VMM_SRC)/PATM $(VBOX_VMM_TESTCASE_OUT_DIR)
    119128tstVMStructSize_SOURCES = tstVMStructSize.cpp
    120 tstVMStructSize.cpp_DEPS= $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructGC.h
     129ifdef VBOX_WITH_RAW_MODE
     130 tstVMStructSize.cpp_DEPS= $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructRC.h
     131endif
    121132ifdef VBOX_WITH_R0_LOGGING
    122 tstVMStructSize_DEFS   += VBOX_WITH_R0_LOGGING
     133 tstVMStructSize_DEFS  += VBOX_WITH_R0_LOGGING
    123134endif
    124135ifdef VBOX_WITH_VMI
    125 tstVMStructSize_DEFS   += VBOX_WITH_VMI
    126 tstVMStructSize_INCS   += $(VBOX_PATH_VMM_SRC)/PARAV
     136 tstVMStructSize_DEFS  += VBOX_WITH_VMI
     137 tstVMStructSize_INCS  += $(VBOX_PATH_VMM_SRC)/PARAV
    127138endif
    128139
    129140tstAsmStructs_TEMPLATE  = VBOXR3AUTOTST
    130141tstAsmStructs_DEFS      = IN_VMM_R3 IN_DIS
     142ifdef VBOX_WITH_RAW_MODE
     143 tstAsmStructs_DEFS    += VBOX_WITH_RAW_MODE
     144endif
    131145ifdef VBOX_WITH_R0_LOGGING
    132 tstAsmStructs_DEFS     += VBOX_WITH_R0_LOGGING
     146 tstAsmStructs_DEFS    += VBOX_WITH_R0_LOGGING
    133147endif
    134148tstAsmStructs_INCS      = $(VBOX_PATH_VMM_SRC) $(VBOX_VMM_TESTCASE_OUT_DIR)
    135149tstAsmStructs_SOURCES   = tstAsmStructs.cpp
    136 
    137 tstAsmStructsGC_TEMPLATE= VBOXGCEXE
    138 tstAsmStructsGC_DEFS    = IN_VMM_RC IN_DIS IN_RT_RC IN_RT_GC
    139 ifdef VBOX_WITH_R0_LOGGING
    140 tstAsmStructsGC_DEFS   += VBOX_WITH_R0_LOGGING
    141 endif
    142 tstAsmStructsGC_INCS    = $(VBOX_PATH_VMM_SRC) $(VBOX_VMM_TESTCASE_OUT_DIR)
    143 tstAsmStructsGC_SOURCES = tstAsmStructs.cpp
    144 
    145 tstAsmStructs.cpp_DEPS  = $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsHC.h $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsGC.h
     150tstAsmStructs.cpp_DEPS  = $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsHC.h
     151
     152ifdef VBOX_WITH_RAW_MODE
     153 tstAsmStructsRC_TEMPLATE= VBOXGCEXE
     154 tstAsmStructsRC_DEFS    = IN_VMM_RC IN_DIS IN_RT_RC IN_RT_GC VBOX_WITH_RAW_MODE
     155 ifdef VBOX_WITH_R0_LOGGING
     156  tstAsmStructsRC_DEFS  += VBOX_WITH_R0_LOGGING
     157 endif
     158 tstAsmStructsRC_INCS    = $(VBOX_PATH_VMM_SRC) $(VBOX_VMM_TESTCASE_OUT_DIR)
     159 tstAsmStructsRC_SOURCES = tstAsmStructs.cpp
     160 tstAsmStructs.cpp_DEPS += $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsRC.h
     161endif # VBOX_WITH_RAW_MODE
    146162
    147163
     
    168184tstCompressionBenchmark_TEMPLATE = VBOXR3TSTEXE
    169185tstCompressionBenchmark_SOURCES  = tstCompressionBenchmark.cpp
    170 
    171 tstVMM_TEMPLATE         = VBOXR3EXE
    172 tstVMM_SOURCES          = tstVMM.cpp
    173 tstVMM_LIBS             = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    174 
    175 tstVMM-HwAccm_TEMPLATE  = VBOXR3EXE
    176 tstVMM-HwAccm_SOURCES   = tstVMM-HwAccm.cpp
    177 tstVMM-HwAccm_LIBS      = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    178 
    179 tstVMMFork_TEMPLATE     = VBOXR3EXE
    180 tstVMMFork_SOURCES      = tstVMMFork.cpp
    181 tstVMMFork_LIBS         = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    182186
    183187tstVMMR0CallHost-1_TEMPLATE = VBOXR3TSTEXE
     
    206210tstCompiler_LIBS        = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    207211
    208 tstMicro_TEMPLATE       = VBOXR3EXE
    209 tstMicro_SOURCES        = tstMicro.cpp
    210 tstMicro_LIBS           = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    211 
    212 # tstMicroGC.gc
    213 tstMicroGC_TEMPLATE     = VBOXGC
    214 tstMicroGC_SOURCES      = tstMicroGC.cpp tstMicroGCA.asm
    215 tstMicroGC_DEFS         =
    216 tstMicroGC_INCS         = $(VBOX_PATH_VMM_SRC)/testcase
    217 ifeq ($(VBOX_LDR_FMT32),pe)
    218 tstMicroGC_LDFLAGS      = -Entry:tstMicroGC
    219 endif
    220 tstMicroGC_SYSSUFF      = .gc
    221 tstMicroGC_LIBS         = \
    222         $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
    223         $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
    224 ifeq ($(filter-out pe lx,$(VBOX_LDR_FMT32)),)
    225 tstMicroGC_LIBS        += \
    226         $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
    227         $(LIB_VMMGC)
    228 endif
    229 tstMicroGC_SOURCES.win = tstMicroGC.def
     212ifdef VBOX_WITH_RAW_MODE
     213
     214 tstVMM_TEMPLATE        = VBOXR3EXE
     215 tstVMM_SOURCES         = tstVMM.cpp
     216 tstVMM_LIBS            = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     217
     218 tstVMM-HwAccm_TEMPLATE = VBOXR3EXE
     219 tstVMM-HwAccm_SOURCES  = tstVMM-HwAccm.cpp
     220 tstVMM-HwAccm_LIBS     = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     221
     222 tstVMMFork_TEMPLATE    = VBOXR3EXE
     223 tstVMMFork_SOURCES     = tstVMMFork.cpp
     224 tstVMMFork_LIBS        = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     225
     226 tstMicro_TEMPLATE       = VBOXR3EXE
     227 tstMicro_SOURCES        = tstMicro.cpp
     228 tstMicro_LIBS           = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     229
     230 tstMicroGC_TEMPLATE     = VBOXGC
     231 tstMicroGC_SOURCES      = tstMicroGC.cpp tstMicroGCA.asm
     232 tstMicroGC_DEFS         =
     233 tstMicroGC_INCS         = $(VBOX_PATH_VMM_SRC)/testcase
     234 ifeq ($(VBOX_LDR_FMT32),pe)
     235  tstMicroGC_LDFLAGS     = -Entry:tstMicroGC
     236 endif
     237 tstMicroGC_SYSSUFF      = .gc
     238 tstMicroGC_LIBS         = \
     239        $(PATH_LIB)/DisasmGC$(VBOX_SUFF_LIB) \
     240        $(PATH_LIB)/RuntimeGC$(VBOX_SUFF_LIB)
     241 ifeq ($(filter-out pe lx,$(VBOX_LDR_FMT32)),)
     242  tstMicroGC_LIBS        += \
     243        $(PATH_LIB)/VMMGCBuiltin$(VBOX_SUFF_LIB) \
     244        $(LIB_VMMGC)
     245 endif
     246 tstMicroGC_SOURCES.win = tstMicroGC.def
     247
     248endif # VBOX_WITH_RAW_MODE
    230249
    231250ifdef VBOX_WITH_PDM_ASYNC_COMPLETION
    232 tstPDMAsyncCompletion_TEMPLATE         = VBOXR3EXE
    233 tstPDMAsyncCompletion_SOURCES          = tstPDMAsyncCompletion.cpp
    234 tstPDMAsyncCompletion_LIBS             = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    235 
    236 tstPDMAsyncCompletionStress_TEMPLATE         = VBOXR3EXE
    237 tstPDMAsyncCompletionStress_SOURCES          = tstPDMAsyncCompletionStress.cpp
    238 tstPDMAsyncCompletionStress_LIBS             = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     251 tstPDMAsyncCompletion_TEMPLATE         = VBOXR3EXE
     252 tstPDMAsyncCompletion_SOURCES          = tstPDMAsyncCompletion.cpp
     253 tstPDMAsyncCompletion_LIBS             = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
     254
     255 tstPDMAsyncCompletionStress_TEMPLATE   = VBOXR3EXE
     256 tstPDMAsyncCompletionStress_SOURCES    = tstPDMAsyncCompletionStress.cpp
     257 tstPDMAsyncCompletionStress_LIBS       = $(LIB_VMM) $(LIB_REM) $(LIB_RUNTIME)
    239258endif
    240259
     
    333352        $(QUIET)$(RM) -f [email protected]
    334353
    335 # 3. transform the HC header into a GC one by omitting some HC only structures.
    336 $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsGC.h: $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsHC.h
     354ifdef VBOX_WITH_RAW_MODE
     355# 3. transform the HC header into a RC one by omitting some HC only structures.
     356$(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsRC.h: $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructsHC.h
    337357        $(call MSG_GENERATE,tstVMStructSize,$@,$<)
    338358        $(QUIET)$(SED) -e '/VMMSWITCHERDEF/d' --output $@ $^
    339 
    340 ## @todo make this default kBuild behaviour.
    341 .SECONDEXPANSION:
     359endif
    342360
    343361# 4. run it.
    344 $(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.run: $$(INSTARGET_tstAsmStructs) $$(INSTARGET_tstAsmStructsGC)
     362$(VBOX_VMM_TESTCASE_OUT_DIR)/tstAsmStructs.run: \
     363                $$(INSTARGET_tstAsmStructs) \
     364                $(if-expr defined(VBOX_WITH_RAW_MODE),$$(INSTARGET_tstAsmStructsRC),)
    345365        $(QUIET)$(RM) -f $@
    346366        $(INSTARGET_tstAsmStructs)
    347         $(INSTARGET_tstAsmStructsGC)
     367ifdef VBOX_WITH_RAW_MODE
     368        $(INSTARGET_tstAsmStructsRC)
     369endif
    348370        $(QUIET)$(APPEND) "$@" "done"
    349371
     
    354376#
    355377
     378ifdef VBOX_WITH_RAW_MODE
    356379# 1. Manually dump selected structures and members.
    357 $(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructGC.h: $$(INSTARGET_tstVMStructGC) | $$(dir $$@)
     380$(VBOX_VMM_TESTCASE_OUT_DIR)/tstVMStructRC.h: $$(INSTARGET_tstVMStructRC) | $$(dir $$@)
    358381        $(call MSG_GENERATE,tstVMStructSize,$@)
    359382        $(QUIET)$(REDIRECT) -wo $@ -- $<
     383endif # VBOX_WITH_RAW_MODE
    360384
    361385# 2. run it.
  • trunk/src/VBox/VMM/testcase/tstVMStructRC.cpp

    r25944 r25946  
    11/* $Id$ */
    22/** @file
    3  * tstVMMStructGC - Generate structure member and size checks from the GC perspective.
     3 * tstVMMStructRC - Generate structure member and size checks from the
     4 *                  RC perspective.
    45 *
    5  * This is built using the VBOXGC template but linked into a host
     6 * This is built using the VBOXRC template but linked into a host
    67 * ring-3 executable, rather hacky.
    78 */
    89
    910/*
    10  * Copyright (C) 2006-2007 Sun Microsystems, Inc.
     11 * Copyright (C) 2006-2010 Sun Microsystems, Inc.
    1112 *
    1213 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    9697    GEN_CHECK_SIZE(CFGM);
    9798
    98     GEN_CHECK_SIZE(CPUM); // has .mac
     99    GEN_CHECK_SIZE(CPUM);    // has .mac
    99100    GEN_CHECK_SIZE(CPUMCPU); // has .mac
    100101    GEN_CHECK_SIZE(CPUMHOSTCTX);
  • trunk/src/VBox/VMM/testcase/tstVMStructSize.cpp

    r25891 r25946  
    393393    CHECK_PADDING_UVMCPU(32, vm);
    394394
     395#ifdef VBOX_WITH_RAW_MODE
    395396    /*
    396      * Compare HC and GC.
     397     * Compare HC and RC.
    397398     */
    398     printf("tstVMStructSize: Comparing HC and GC...\n");
    399 #include "tstVMStructGC.h"
     399    printf("tstVMStructSize: Comparing HC and RC...\n");
     400# include "tstVMStructRC.h"
     401#endif /* VBOX_WITH_RAW_MODE */
    400402
    401403    /*
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette