VirtualBox

Changeset 60411 in vbox


Ignore:
Timestamp:
Apr 10, 2016 5:16:09 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
106497
Message:

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

Location:
trunk/src/VBox
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/ConsoleImpl2.cpp

    r60410 r60411  
    978978        /* CPUM profile name. */
    979979        hrc = pMachine->COMGETTER(CPUProfile)(bstr.asOutParam());                           H();
    980         InsertConfigString(pRoot, "GuestCPUName", bstr);
     980        InsertConfigString(pCPUM, "GuestCpuName", bstr);
    981981
    982982        /*
     
    986986         * dead wrong on 8086 (see http://www.os2museum.com/wp/undocumented-8086-opcodes/).
    987987         */
    988         if (   bstr.equals("80286")
    989             || bstr.equals("80186")
    990             || bstr.equals("V30")
    991             || bstr.equals("V20")
    992             || bstr.equals("8086")
    993             || bstr.equals("8088") )
     988        if (   bstr.equals("Intel 80286")
     989            || bstr.equals("Intel 80186")
     990            || bstr.equals("Nec V20")
     991            || bstr.equals("Intel 8086") )
    994992            InsertConfigInteger(pEM, "IemExecutesAll", true);
    995993
  • trunk/src/VBox/VMM/VMMR3/CPUMR3CpuId.cpp

    r59792 r60411  
    22192219    uint32_t        uMaxCentaurLeaf;
    22202220    uint32_t        uMaxIntelFamilyModelStep;
    2221     char        szCpuName[128];
     2221    char            szCpuName[128];
    22222222} CPUMCPUIDCONFIG;
    22232223/** Pointer to CPUID config (from CFGM). */
  • 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