VirtualBox

Changeset 59986 in vbox


Ignore:
Timestamp:
Mar 11, 2016 11:50:25 AM (9 years ago)
Author:
vboxsync
Message:

iemRaiseXcptOrIntInProtMode: Updated todo for ESP modifications wrt 16-bit TSS.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMAll/IEMAll.cpp

    r59563 r59986  
    35603560        pCtx->ss.u64Base        = X86DESC_BASE(&DescSS.Legacy);
    35613561        pCtx->ss.Attr.u         = X86DESC_GET_HID_ATTR(&DescSS.Legacy);
    3562         pCtx->rsp               = uNewEsp - cbStackFrame; /** @todo Is the high word cleared for 16-bit stacks and/or interrupt handlers? */
     3562        /** @todo When coming from 32-bit code and operating with a 16-bit TSS and
     3563         *        16-bit handler, the high word of ESP remains unchanged (i.e. only
     3564         *        SP is loaded).
     3565         *  Need to check the other combinations too:
     3566         *      - 16-bit TSS, 32-bit handler
     3567         *      - 32-bit TSS, 16-bit handler */
     3568        pCtx->rsp               = uNewEsp - cbStackFrame;
    35633569        pIemCpu->uCpl           = uNewCpl;
    35643570
     
    36273633    pCtx->cs.Attr.u         = X86DESC_GET_HID_ATTR(&DescCS.Legacy);
    36283634
    3629     pCtx->rip               = uNewEip;
     3635    pCtx->rip               = uNewEip;  /* (The entire register is modified, see pe16_32 bs3kit tests.) */
    36303636    fEfl &= ~fEflToClear;
    36313637    IEMMISC_SET_EFL(pIemCpu, pCtx, fEfl);
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