VirtualBox

Changeset 98835 in vbox for trunk


Ignore:
Timestamp:
Mar 3, 2023 8:25:48 PM (19 months ago)
Author:
vboxsync
Message:

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

Location:
trunk/src/VBox/VMM
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/Config.kmk

    r98437 r98835  
    4646 VMM_COMMON_DEFS += VBOX_WITH_NESTED_HWVIRT_SVM
    4747endif
     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
    4870ifdef VBOX_WITH_IEM_TLB ## @todo VMX code doesn't compile with TLBs enabled.
    4971 VMM_COMMON_DEFS  += IEM_WITH_CODE_TLB IEM_WITH_DATA_TLB
     
    6284 VMM_COMMON_DEFS += IEM_WITHOUT_ASSEMBLY
    6385endif
     86
    6487# part of global DEFS
    6588ifdef VBOX_WITH_MULTI_CORE
     
    96119endif
    97120
     121
    98122# VMM_COMMON_DEFS += VBOX_WITH_NS_ACCOUNTING_STATS
    99123
  • trunk/src/VBox/VMM/include/IEMInternal.h

    r98827 r98835  
    140140/** @def IEM_WITH_3DNOW
    141141 * Includes the 3DNow decoding.  */
    142 #define IEM_WITH_3DNOW
     142#if (!defined(IEM_WITH_3DNOW) && !defined(IEM_WITHOUT_3DNOW)) || defined(DOXYGEN_RUNNING)   /* For doxygen, set in Config.kmk. */
     143# define IEM_WITH_3DNOW
     144#endif
    143145
    144146/** @def IEM_WITH_THREE_0F_38
    145147 * Includes the three byte opcode map for instrs starting with 0x0f 0x38. */
    146 #define IEM_WITH_THREE_0F_38
     148#if (!defined(IEM_WITH_THREE_0F_38) && !defined(IEM_WITHOUT_THREE_0F_38)) || defined(DOXYGEN_RUNNING) /* For doxygen, set in Config.kmk. */
     149# define IEM_WITH_THREE_0F_38
     150#endif
    147151
    148152/** @def IEM_WITH_THREE_0F_3A
    149153 * Includes the three byte opcode map for instrs starting with 0x0f 0x38. */
    150 #define IEM_WITH_THREE_0F_3A
     154#if (!defined(IEM_WITH_THREE_0F_3A) && !defined(IEM_WITHOUT_THREE_0F_3A)) || defined(DOXYGEN_RUNNING) /* For doxygen, set in Config.kmk. */
     155# define IEM_WITH_THREE_0F_3A
     156#endif
    151157
    152158/** @def IEM_WITH_VEX
    153159 * Includes the VEX decoding. */
    154 #define IEM_WITH_VEX
     160#if (!defined(IEM_WITH_VEX) && !defined(IEM_WITHOUT_VEX)) || defined(DOXYGEN_RUNNING)       /* For doxygen, set in Config.kmk. */
     161# define IEM_WITH_VEX
     162#endif
    155163
    156164/** @def IEM_CFG_TARGET_CPU
Note: See TracChangeset for help on using the changeset viewer.

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