VirtualBox

Changeset 56663 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 27, 2015 8:31:14 PM (9 years ago)
Author:
vboxsync
Message:

HMSVMR0.cpp: VT-x and IEM insists on having busy TSS descriptor types in hidden TR, not the available kind. AMD-V seems more lax, so make it busy to keep the others happy.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/HMSVMR0.cpp

    r56642 r56663  
    20152015     * Fixup TR attributes so it's compatible with Intel. Important when saved-states are used
    20162016     * between Intel and AMD. See @bugref{6208} comment #39.
     2017     * ASSUME that it's normally correct and that we're in 32-bit or 64-bit mode.
    20172018     */
    20182019    HMSVM_SAVE_SEG_REG(TR, tr);
    2019     if (CPUMIsGuestInLongModeEx(pMixedCtx))
    2020         pMixedCtx->tr.Attr.n.u4Type = X86_SEL_TYPE_SYS_386_TSS_BUSY;
     2020    if (pMixedCtx->tr.Attr.n.u4Type != X86_SEL_TYPE_SYS_386_TSS_BUSY)
     2021    {
     2022        if (   pMixedCtx->tr.Attr.n.u4Type == X86_SEL_TYPE_SYS_386_TSS_AVAIL
     2023            || CPUMIsGuestInLongModeEx(pMixedCtx))
     2024            pMixedCtx->tr.Attr.n.u4Type = X86_SEL_TYPE_SYS_386_TSS_BUSY;
     2025        else if (pMixedCtx->tr.Attr.n.u4Type == X86_SEL_TYPE_SYS_286_TSS_AVAIL)
     2026            pMixedCtx->tr.Attr.n.u4Type = X86_SEL_TYPE_SYS_286_TSS_BUSY;
     2027    }
    20212028
    20222029    /*
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