# $Id: Config.kmk 95403 2022-06-27 23:38:38Z vboxsync $ ## @file # kBuild Configuration file for the VMM. # # # Copyright (C) 2006-2022 Oracle Corporation # # This file is part of VirtualBox Open Source Edition (OSE), as # available from http://www.virtualbox.org. This file is free software; # you can redistribute it and/or modify it under the terms of the GNU # General Public License (GPL) as published by the Free Software # Foundation, in version 2 as it comes in the "COPYING" file of the # VirtualBox OSE distribution. VirtualBox OSE is distributed in the # hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. # VBOX_VMM_CONFIG_KMK_INCLUDED = 1 # Include the top-level configure file. ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED include $(PATH_ROOT)/Config.kmk endif # # Globals # ## DEFS variable that is picked up by all three VMM targets (R0, R3, RC). # Can be prepended to by setting it in LocalConfig.kmk VMM_COMMON_DEFS := USING_VMM_COMMON_DEFS ifdef VBOX_WITH_HWVIRT VMM_COMMON_DEFS += VBOX_WITH_HWVIRT endif ifdef VBOX_WITH_NESTED_HWVIRT_SVM VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_SVM endif ifdef VBOX_WITH_IEM_TLB ## @todo VMX code doesn't compile with TLBs enabled. VMM_COMMON_DEFS += IEM_WITH_CODE_TLB IEM_WITH_DATA_TLB else ifdef VBOX_WITH_NESTED_HWVIRT_VMX VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_VMX endif ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_VMX_EPT endif ifdef VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM endif endif ifdef IEM_WITHOUT_ASSEMBLY VMM_COMMON_DEFS += IEM_WITHOUT_ASSEMBLY endif # part of global DEFS ifdef VBOX_WITH_MULTI_CORE VMM_COMMON_DEFS += VBOX_WITH_MULTI_CORE endif ifdef VBOX_WITH_R0_LOGGING VMM_COMMON_DEFS += VBOX_WITH_R0_LOGGING endif ifdef VBOX_WITH_PCI_PASSTHROUGH VMM_COMMON_DEFS += VBOX_WITH_PCI_PASSTHROUGH endif ifdef VBOX_WITH_DTRACE_RC VMM_COMMON_DEFS += VBOX_WITH_DTRACE_RC endif ifdef VBOX_WITH_SAFE_STR VMM_COMMON_DEFS += VBOX_WITH_SAFE_STR endif ifdef VBOX_WITH_64ON32_CMOS_DEBUG VMM_COMMON_DEFS += VBOX_WITH_64ON32_CMOS_DEBUG endif ifdef VBOXSTRICTRC_STRICT_ENABLED VMM_COMMON_DEFS += VBOXSTRICTRC_STRICT_ENABLED endif if defined(VBOX_WITH_NATIVE_NEM) || !defined(VBOX_WITHOUT_PGM_NEM_MODE) VMM_COMMON_DEFS += VBOX_WITH_PGM_NEM_MODE endif ifdef VBOX_WITH_NATIVE_NEM if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 linux.amd64 win.amd64) VMM_COMMON_DEFS += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0 endif endif if1of ($(KBUILD_TARGET), freebsd linux solaris) # Hosts that implements SUPR0HCPhysToVirt. VMM_COMMON_DEFS += VBOX_WITH_LINEAR_HOST_PHYS_MEM endif # VMM_COMMON_DEFS += VBOX_WITH_NS_ACCOUNTING_STATS