VirtualBox

Changeset 22264 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Aug 14, 2009 3:23:54 PM (15 years ago)
Author:
vboxsync
Message:

Move the TPR patching decision logic to Main.

File:
1 edited

Legend:

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

    r22238 r22264  
    211211    hrc = pMachine->COMGETTER(OSTypeId)(osTypeId.asOutParam());                     H();
    212212
     213    BOOL fIOAPIC;
     214    hrc = biosSettings->COMGETTER(IOAPICEnabled)(&fIOAPIC);                          H();
     215
    213216    /*
    214217     * Get root node first.
     
    227230    rc = CFGMR3InsertInteger(pRoot, "RamHoleSize",          cbRamHole);             RC_CHECK();
    228231    rc = CFGMR3InsertInteger(pRoot, "NumCPUs",              cCpus);                 RC_CHECK();
    229     rc = CFGMR3InsertString (pRoot, "OSType",               Utf8Str(osTypeId).c_str()); RC_CHECK();
    230232    rc = CFGMR3InsertInteger(pRoot, "TimerMillies",         10);                    RC_CHECK();
    231233    rc = CFGMR3InsertInteger(pRoot, "RawR3Enabled",         1);     /* boolean */   RC_CHECK();
     
    235237    rc = CFGMR3InsertInteger(pRoot, "CSAMEnabled",          1);     /* boolean */   RC_CHECK();
    236238
    237     if (osTypeId == "WindowsNT4")
     239    if (osTypeId == "WindowsNT")
    238240    {
    239241        /*
     
    300302        }
    301303#endif
     304
     305        /* @todo Not exactly pretty to check strings; VBOXOSTYPE would be better, but that requires quite a bit of API change in Main. */
     306        if (    !fIs64BitGuest
     307            &&  fIOAPIC
     308            &&  (   osTypeId == "WindowsNT"
     309                 || osTypeId == "Windows"
     310                 || osTypeId == "Windows 2000"
     311                 || osTypeId == "WindowsXP"
     312                 || osTypeId == "Windows 2003"))
     313        {
     314            /* Only allow TPR patching for NT, Win2k, XP and Windows Server 2003. (32 bits mode)
     315             * We may want to consider adding more guest OSes (Solaris) later on.
     316             */
     317            rc = CFGMR3InsertInteger(pHWVirtExt, "TPRPatchingEnabled", 1);          RC_CHECK();
     318        }
    302319    }
    303320
     
    316333    hrc = pMachine->COMGETTER(PAEEnabled)(&fEnablePAE);                             H();
    317334    rc = CFGMR3InsertInteger(pRoot, "EnablePAE", fEnablePAE);                       RC_CHECK();
    318 
    319     BOOL fIOAPIC;
    320     hrc = biosSettings->COMGETTER(IOAPICEnabled)(&fIOAPIC);                          H();
    321335
    322336    BOOL fPXEDebug;
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