VirtualBox

Ignore:
Timestamp:
Sep 16, 2008 10:32:54 PM (16 years ago)
Author:
vboxsync
Message:

ConsoleImpl2: Use CFGMR3InsertNodeF, drop the #ifdef as the code will work right in non-SMP enabled mode too (cCpus==1).

File:
1 edited

Legend:

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

    r12487 r12520  
    499499    /*
    500500     * Advanced Programmable Interrupt Controller.
    501      */
    502 #ifdef VBOX_WITH_SMP_GUESTS
     501     * SMP: Each CPU has a LAPIC (cross-calls).
     502     */
    503503    rc = CFGMR3InsertNode(pDevices, "apic", &pDev);                                 RC_CHECK();
    504     /* We need LAPIC per-CPU, as it allows cross-calls */
    505     for (ULONG ulInstance = 0; ulInstance < cCpus; ulInstance++)
    506     {
    507         char szInstance[4]; Assert(ulInstance <= 999);
    508         RTStrPrintf(szInstance, sizeof(szInstance), "%lu", ulInstance);
    509         rc = CFGMR3InsertNode(pDev, szInstance, &pInst);
    510         RC_CHECK();
    511         rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   RC_CHECK();
    512         rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               RC_CHECK();
    513         rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", fIOAPIC);                             RC_CHECK();
    514     }
    515 #else
    516     rc = CFGMR3InsertNode(pDevices, "apic", &pDev);                                 RC_CHECK();
    517     rc = CFGMR3InsertNode(pDev,     "0", &pInst);                                   RC_CHECK();
    518     rc = CFGMR3InsertInteger(pInst, "Trusted",              1);     /* boolean */   RC_CHECK();
    519     rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                               RC_CHECK();
    520     rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", fIOAPIC);                             RC_CHECK();
    521 #endif
     504    for (unsigned iCpu = 0; iCpu < cCpus; iCpu++)
     505    {
     506        rc = CFGMR3InsertNodeF(pDev, &pInst, "%u", iCpu);                           RC_CHECK();
     507        rc = CFGMR3InsertInteger(pInst, "Trusted",          1);     /* boolean */   RC_CHECK();
     508        rc = CFGMR3InsertNode(pInst,    "Config", &pCfg);                           RC_CHECK();
     509        rc = CFGMR3InsertInteger(pCfg,  "IOAPIC", fIOAPIC);                         RC_CHECK();
     510    }
    522511
    523512    if (fIOAPIC)
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