VirtualBox

Changeset 80038 in vbox


Ignore:
Timestamp:
Jul 29, 2019 9:30:52 AM (5 years ago)
Author:
vboxsync
Message:

DevPcBios: Properly initialize MP table floating pointer on VM reset to fix NT4 SMP reboots.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/PC/DevPcBios.cpp

    r77259 r80038  
    196196    /** PXE debug logging enabled? */
    197197    uint8_t         u8PXEDebug;
     198    /** Physical address of the MP table. */
     199    uint32_t        u32MPTableAddr;
    198200    /** PXE boot PCI bus/dev/fn list. */
    199201    uint16_t        au16NetBootDev[NET_BOOT_DEVS];
     
    10371039    PDEVPCBIOS pThis = PDMINS_2_DATA(pDevIns, PDEVPCBIOS);
    10381040    LogFlow(("pcbiosMemSetup:\n"));
     1041
     1042    if (pThis->u8IOAPIC)
     1043        FwCommonPlantMpsFloatPtr(pDevIns, pThis->u32MPTableAddr);
    10391044
    10401045    /*
     
    16021607    if (pThis->u8IOAPIC)
    16031608    {
     1609        pThis->u32MPTableAddr = VBOX_DMI_TABLE_BASE + VBOX_DMI_TABLE_SIZE;
    16041610        FwCommonPlantMpsTable(pDevIns, pThis->au8DMIPage /* aka VBOX_DMI_TABLE_BASE */ + VBOX_DMI_TABLE_SIZE,
    16051611                              _4K - VBOX_DMI_TABLE_SIZE, pThis->cCpus);
    1606         FwCommonPlantMpsFloatPtr(pDevIns, VBOX_DMI_TABLE_BASE + VBOX_DMI_TABLE_SIZE);
    1607         LogRel(("PcBios: MPS table at %08x\n", VBOX_DMI_TABLE_BASE + VBOX_DMI_TABLE_SIZE));
     1612        LogRel(("PcBios: MPS table at %08x\n", pThis->u32MPTableAddr));
    16081613    }
    16091614
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