VirtualBox

Changeset 40474 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Mar 15, 2012 10:44:33 AM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
76844
Message:

SUPDrv: Fix linux kernel panic in MP offline case caused due to write reordering (#6110).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrv.c

    r40227 r40474  
    50655065    supdrvGipInitCpu(pGip, &pGip->aCPUs[i], u64NanoTS);
    50665066    idApic = ASMGetApicId();
    5067     ASMAtomicUoWriteU16(&pGip->aCPUs[i].idApic,  idApic);
    5068     ASMAtomicUoWriteS16(&pGip->aCPUs[i].iCpuSet, (int16_t)iCpuSet);
    5069     ASMAtomicUoWriteSize(&pGip->aCPUs[i].idCpu,  idCpu);
     5067    ASMAtomicWriteU16(&pGip->aCPUs[i].idApic,  idApic);
     5068    ASMAtomicWriteS16(&pGip->aCPUs[i].iCpuSet, (int16_t)iCpuSet);
     5069    ASMAtomicWriteSize(&pGip->aCPUs[i].idCpu,  idCpu);
    50705070
    50715071    /*
     
    53505350    pCpu->u64TSC             = ASMReadTSC();
    53515351
    5352     pCpu->enmState           = SUPGIPCPUSTATE_INVALID;
    5353     pCpu->idCpu              = NIL_RTCPUID;
    5354     pCpu->iCpuSet            = -1;
    5355     pCpu->idApic             = UINT16_MAX;
     5352    ASMAtomicWriteSize(&pCpu->enmState, SUPGIPCPUSTATE_INVALID);
     5353    ASMAtomicWriteSize(&pCpu->idCpu,    NIL_RTCPUID);
     5354    ASMAtomicWriteS16(&pCpu->iCpuSet,   -1);
     5355    ASMAtomicWriteU16(&pCpu->idApic,    UINT16_MAX);
    53565356
    53575357    /*
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