VirtualBox

Changeset 94974 in vbox


Ignore:
Timestamp:
May 10, 2022 6:23:48 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
151386
Message:

GCM: Enabled divide by zero fixing automagic for some guests.

File:
1 edited

Legend:

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

    r94948 r94974  
    7979#include <VBox/vmm/pdmdev.h> /* For PDMAPICMODE enum. */
    8080#include <VBox/vmm/pdmstorageifs.h>
     81#include <VBox/vmm/gcm.h>
    8182#include <VBox/version.h>
    8283#ifdef VBOX_WITH_SHARED_CLIPBOARD
     
    973974    BOOL fOsXGuest = FALSE;
    974975    BOOL fWinGuest = FALSE;
     976    BOOL fOs2Guest = FALSE;
     977    BOOL fW9xGuest = FALSE;
     978    BOOL fDosGuest = FALSE;
    975979    if (!pGuestOSType.isNull())
    976980    {
     
    979983        fOsXGuest = guestTypeFamilyId == Bstr("MacOS");
    980984        fWinGuest = guestTypeFamilyId == Bstr("Windows");
     985        fOs2Guest = osTypeId.startsWith("OS2");
     986        fW9xGuest = osTypeId.startsWith("Windows9");    /* Does not include Windows Me. */
     987        fDosGuest = osTypeId.startsWith("DOS");
    981988    }
    982989
     
    14271434            }
    14281435        }
     1436
     1437        /*
     1438         * Guest Compatibility Manager.
     1439         */
     1440        PCFGMNODE   pGcmNode;
     1441        uint32_t    u32FixerSet = 0;
     1442        InsertConfigNode(pRoot, "GCM", &pGcmNode);
     1443        /* OS/2 and Win9x guests can run DOS apps so they get
     1444         * the DOS specific fixes as well.
     1445         */
     1446        if (fOs2Guest)
     1447            u32FixerSet = GCMFIXER_DBZ_DOS | GCMFIXER_DBZ_OS2;
     1448        else if (fW9xGuest)
     1449            u32FixerSet = GCMFIXER_DBZ_DOS | GCMFIXER_DBZ_WIN9X;
     1450        else if (fDosGuest)
     1451            u32FixerSet = GCMFIXER_DBZ_DOS;
     1452        InsertConfigInteger(pGcmNode, "FixerSet", u32FixerSet);
     1453
    14291454
    14301455        /*
Note: See TracChangeset for help on using the changeset viewer.

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