Changeset 59986 in vbox
- Timestamp:
- Mar 11, 2016 11:50:25 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMAll/IEMAll.cpp
r59563 r59986 3560 3560 pCtx->ss.u64Base = X86DESC_BASE(&DescSS.Legacy); 3561 3561 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; 3563 3569 pIemCpu->uCpl = uNewCpl; 3564 3570 … … 3627 3633 pCtx->cs.Attr.u = X86DESC_GET_HID_ATTR(&DescCS.Legacy); 3628 3634 3629 pCtx->rip = uNewEip; 3635 pCtx->rip = uNewEip; /* (The entire register is modified, see pe16_32 bs3kit tests.) */ 3630 3636 fEfl &= ~fEflToClear; 3631 3637 IEMMISC_SET_EFL(pIemCpu, pCtx, fEfl);
Note:
See TracChangeset
for help on using the changeset viewer.