VirtualBox

Ignore:
Timestamp:
Apr 10, 2016 5:16:09 PM (9 years ago)
Author:
vboxsync
Message:

VMM,Main: Added 286, 186 and 8086 CPU profiles to play with.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/CPUMR3Db.cpp

    r58653 r60411  
    5353    /** Scalable bus frequency used for reporting other frequencies. */
    5454    uint64_t        uScalableBusFreq;
    55     /** Flags (TBD). */
     55    /** Flags - CPUDB_F_XXX. */
    5656    uint32_t        fFlags;
    5757    /** The maximum physical address with of the CPU.  This should correspond to
     
    8080*   Defined Constants And Macros                                                                                                 *
    8181*********************************************************************************************************************************/
     82/** @name CPUDB_F_XXX - CPUDBENTRY::fFlags
     83 * @{ */
     84/** Should execute all in IEM.
     85 * @todo Implement this - currently done in Main...  */
     86#define CPUDB_F_EXECUTE_ALL_IN_IEM          RT_BIT_32(0)
     87/** @} */
     88
    8289
    8390/** @def NULL_ALONE
     
    186193#include "cpus/Intel_Pentium_4_3_00GHz.h"
    187194#include "cpus/Intel_Atom_330_1_60GHz.h"
     195#include "cpus/Intel_80286.h"
     196#include "cpus/Intel_80186.h"
     197#include "cpus/Intel_8086.h"
    188198
    189199#include "cpus/AMD_FX_8150_Eight_Core.h"
     
    238248    &g_Entry_Intel_Pentium_4_3_00GHz,
    239249#endif
     250#ifdef VBOX_CPUDB_Intel_80486
     251    &g_Entry_Intel_80486,
     252#endif
     253#ifdef VBOX_CPUDB_Intel_80386
     254    &g_Entry_Intel_80386,
     255#endif
     256#ifdef VBOX_CPUDB_Intel_80286
     257    &g_Entry_Intel_80286,
     258#endif
     259#ifdef VBOX_CPUDB_Intel_80186
     260    &g_Entry_Intel_80186,
     261#endif
     262#ifdef VBOX_CPUDB_Intel_8086
     263    &g_Entry_Intel_8086,
     264#endif
    240265
    241266#ifdef VBOX_CPUDB_AMD_FX_8150_Eight_Core
     
    257282#ifdef VBOX_CPUDB_VIA_QuadCore_L4700_1_2_GHz
    258283    &g_Entry_VIA_QuadCore_L4700_1_2_GHz,
     284#endif
     285
     286#ifdef VBOX_CPUDB_NEC_V20
     287    &g_Entry_NEC_V20,
    259288#endif
    260289};
     
    851880        if (pEntry->cCpuIdLeaves)
    852881        {
    853             pInfo->paCpuIdLeavesR3 = (PCPUMCPUIDLEAF)RTMemDup(pEntry->paCpuIdLeaves,
    854                                                               sizeof(pEntry->paCpuIdLeaves[0]) * pEntry->cCpuIdLeaves);
     882            /* Must allocate a multiple of 16 here, matching cpumR3CpuIdEnsureSpace. */
     883            size_t cbExtra = sizeof(pEntry->paCpuIdLeaves[0]) * (RT_ALIGN(pEntry->cCpuIdLeaves, 16) - pEntry->cCpuIdLeaves);
     884            pInfo->paCpuIdLeavesR3 = (PCPUMCPUIDLEAF)RTMemDupEx(pEntry->paCpuIdLeaves,
     885                                                                sizeof(pEntry->paCpuIdLeaves[0]) * pEntry->cCpuIdLeaves,
     886                                                                cbExtra);
    855887            if (!pInfo->paCpuIdLeavesR3)
    856888                return VERR_NO_MEMORY;
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