VirtualBox

Changeset 12294 in vbox


Ignore:
Timestamp:
Sep 9, 2008 1:47:17 PM (16 years ago)
Author:
vboxsync
Message:

conditional compilation of guest SMP related stuff (disabled by default),
also memory above 4G included to that to give additional testing to the code

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Config.kmk

    r12289 r12294  
    340340# VBOX_WITH_64_BITS_GUESTS = 1
    341341endif
     342# Enable SMP support in guests
     343VBOX_WITH_SMP_GUESTS = 0
    342344# Enable the host/guest information service (aka guest properties).
    343345VBOX_WITH_GUEST_PROPS = 1
     
    950952ifdef VBOX_WITH_64_BITS_GUESTS
    951953 DEFS += VBOX_WITH_64_BITS_GUESTS
     954endif
     955ifdef VBOX_WITH_SMP_GUESTS
     956 DEFS += VBOX_WITH_SMP_GUESTS
    952957endif
    953958ifdef VBOX_WITH_HARDENING
  • trunk/src/VBox/Devices/PC/BIOS/rombios.c

    r12239 r12294  
    45884588{
    45894589  Bit32u  extended_memory_size=0; // 64bits long
    4590 #if 0  /* bird: later */
     4590#if VBOX_WITH_SMP_GUESTS
    45914591  Bit32u  extra_lowbits_memory_size=0;
    45924592#endif
    45934593  Bit16u  CX,DX;
    4594 #if 0  /* bird: later */
     4594#if VBOX_WITH_SMP_GUESTS
    45954595  Bit8u   extra_highbits_memory_size=0;
    45964596#endif
     
    46684668                }
    46694669
    4670 #if 0 /* bird: later (btw. this ain't making sense complixity wise, unless its a AMI/AWARD/PHOENIX interface) */
     4670#if VBOX_WITH_SMP_GUESTS /* bird: later (btw. this ain't making sense complixity wise, unless its a AMI/AWARD/PHOENIX interface) */
    46714671                extra_lowbits_memory_size = inb_cmos(0x61);
    46724672                extra_lowbits_memory_size <<= 8;
     
    47434743                        set_e820_range(ES, regs.u.r16.di,
    47444744                                       0xfffc0000L, 0x00000000L, 0, 0, 2);
    4745 #if 0 /* bird: later */
     4745#if VBOX_WITH_SMP_GUESTS
    47464746                        if (extra_highbits_memory_size || extra_lowbits_memory_size)
    47474747                            regs.u.r32.ebx = 6;
     
    47534753                        CLEAR_CF();
    47544754                        return;
    4755 #if 0 /* bird: later */
     4755#if VBOX_WITH_SMP_GUESTS
    47564756                    case 6:
    47574757                        /* Mapping of memory above 4 GB */
  • trunk/src/VBox/Devices/PC/DevPcBios.cpp

    r12239 r12294  
    9999 *       too big, besides it forces unnecessary math stuff onto
    100100 *       the BIOS.
     101 *       nike: The way how values encoded are defined by Bochs/QEmu BIOS,
     102 *       although for them position in CMOS is different:
     103 *         0x5b - 0x5c: RAM above 4G
     104 *         0x5f: number of CPUs
     105 *        Unfortunately for us those positions in our CMOS are already taken
     106 *        by 4th SATA drive configuration.
     107 *         
    101108 */
    102109
     
    510517     * Memory sizes.
    511518     */
    512 #if 0
     519#if VBOX_WITH_SMP_GUESTS
    513520    uint64_t cKBRam = pThis->cbRam / _1K;
    514521    uint64_t cKBAbove4GB = 0;
     
    13721379        return PDMDEV_SET_ERROR(pDevIns, rc,
    13731380                                N_("Configuration error: Querying \"NumCPUs\" as integer failed"));
     1381
     1382#ifdef VBOX_WITH_SMP_GUESTS
     1383    pThis->cCpus = 2;
     1384    LogRel(("Running with %d CPUs\n", pThis->cCpus));
     1385#else
     1386    if (pThis->cCpus != 1)
     1387    {
     1388        LogRel(("WARNING: guest SMP not supported in this build, going UP\n"));
     1389        pThis->cCpus = 1;
     1390    }
     1391#endif
    13741392
    13751393    rc = CFGMR3QueryU8Def(pCfgHandle, "IOAPIC", &pThis->u8IOAPIC, 1);
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