VirtualBox

source: vbox/trunk/src/VBox/VMM/Config.kmk@ 100072

Last change on this file since 100072 was 98835, checked in by vboxsync, 21 months ago

VMM/IEM: Moved the IEM_WITH_<opcode-group> defintions into the makefiles so we can pick the up when generating code. They are controlled via IEM_WITHOUT_<opcode-group> make defines (untested), since we probably won't need to disable any of this anyway. bugref:10368

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.3 KB
Line 
1# $Id: Config.kmk 98835 2023-03-03 20:25:48Z vboxsync $
2## @file
3# kBuild Configuration file for the VMM.
4#
5
6#
7# Copyright (C) 2006-2023 Oracle and/or its affiliates.
8#
9# This file is part of VirtualBox base platform packages, as
10# available from https://www.virtualbox.org.
11#
12# This program is free software; you can redistribute it and/or
13# modify it under the terms of the GNU General Public License
14# as published by the Free Software Foundation, in version 3 of the
15# License.
16#
17# This program is distributed in the hope that it will be useful, but
18# WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20# General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, see <https://www.gnu.org/licenses>.
24#
25# SPDX-License-Identifier: GPL-3.0-only
26#
27
28VBOX_VMM_CONFIG_KMK_INCLUDED = 1
29
30# Include the top-level configure file.
31ifndef VBOX_ROOT_CONFIG_KMK_INCLUDED
32 include $(PATH_ROOT)/Config.kmk
33endif
34
35#
36# Globals
37#
38
39## DEFS variable that is picked up by all three VMM targets (R0, R3, RC).
40# Can be prepended to by setting it in LocalConfig.kmk
41VMM_COMMON_DEFS := USING_VMM_COMMON_DEFS
42ifdef VBOX_WITH_HWVIRT
43 VMM_COMMON_DEFS += VBOX_WITH_HWVIRT
44endif
45ifdef VBOX_WITH_NESTED_HWVIRT_SVM
46 VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_SVM
47endif
48
49# IEM config:
50ifndef IEM_WITHOUT_3DNOW
51 VMM_COMMON_DEFS += IEM_WITH_3DNOW
52else
53 VMM_COMMON_DEFS += IEM_WITHOUT_3DNOW
54endif
55ifndef IEM_WITHOUT_THREE_0F_38
56 VMM_COMMON_DEFS += IEM_WITH_THREE_0F_38
57else
58 VMM_COMMON_DEFS += IEM_WITHOUT_THREE_0F_38
59endif
60ifndef IEM_WITHOUT_THREE_0F_3A
61 VMM_COMMON_DEFS += IEM_WITH_THREE_0F_3A
62else
63 VMM_COMMON_DEFS += IEM_WITHOUT_THREE_0F_3A
64endif
65ifndef IEM_WITHOUT_VEX
66 VMM_COMMON_DEFS += IEM_WITH_VEX
67else
68 VMM_COMMON_DEFS += IEM_WITHOUT_VEX
69endif
70ifdef VBOX_WITH_IEM_TLB ## @todo VMX code doesn't compile with TLBs enabled.
71 VMM_COMMON_DEFS += IEM_WITH_CODE_TLB IEM_WITH_DATA_TLB
72else
73 ifdef VBOX_WITH_NESTED_HWVIRT_VMX
74 VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_VMX
75 endif
76 ifdef VBOX_WITH_NESTED_HWVIRT_VMX_EPT
77 VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_VMX_EPT
78 endif
79 ifdef VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM
80 VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_ONLY_IN_IEM
81 endif
82endif
83ifdef IEM_WITHOUT_ASSEMBLY
84 VMM_COMMON_DEFS += IEM_WITHOUT_ASSEMBLY
85endif
86
87# part of global DEFS
88ifdef VBOX_WITH_MULTI_CORE
89 VMM_COMMON_DEFS += VBOX_WITH_MULTI_CORE
90endif
91ifdef VBOX_WITH_R0_LOGGING
92 VMM_COMMON_DEFS += VBOX_WITH_R0_LOGGING
93endif
94ifdef VBOX_WITH_PCI_PASSTHROUGH
95 VMM_COMMON_DEFS += VBOX_WITH_PCI_PASSTHROUGH
96endif
97ifdef VBOX_WITH_DTRACE_RC
98 VMM_COMMON_DEFS += VBOX_WITH_DTRACE_RC
99endif
100ifdef VBOX_WITH_SAFE_STR
101 VMM_COMMON_DEFS += VBOX_WITH_SAFE_STR
102endif
103ifdef VBOX_WITH_64ON32_CMOS_DEBUG
104 VMM_COMMON_DEFS += VBOX_WITH_64ON32_CMOS_DEBUG
105endif
106ifdef VBOXSTRICTRC_STRICT_ENABLED
107 VMM_COMMON_DEFS += VBOXSTRICTRC_STRICT_ENABLED
108endif
109if defined(VBOX_WITH_NATIVE_NEM) || !defined(VBOX_WITHOUT_PGM_NEM_MODE)
110 VMM_COMMON_DEFS += VBOX_WITH_PGM_NEM_MODE
111endif
112ifdef VBOX_WITH_NATIVE_NEM
113 if1of ($(KBUILD_TARGET).$(KBUILD_TARGET_ARCH), darwin.amd64 linux.amd64 win.amd64)
114 VMM_COMMON_DEFS += VBOX_WITH_NATIVE_NEM VBOX_WITH_NEM_R0
115 endif
116endif
117if1of ($(KBUILD_TARGET), freebsd linux solaris) # Hosts that implements SUPR0HCPhysToVirt.
118 VMM_COMMON_DEFS += VBOX_WITH_LINEAR_HOST_PHYS_MEM
119endif
120
121
122# VMM_COMMON_DEFS += VBOX_WITH_NS_ACCOUNTING_STATS
123
Note: See TracBrowser for help on using the repository browser.

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