|
|
| version 1.10, 2004/02/09 16:12:07 | version 1.12, 2004/02/13 15:08:49 |
|---|---|
| Line 1065 IRET_pm_nested_task(void) | Line 1065 IRET_pm_nested_task(void) |
| /* check system segment */ | /* check system segment */ |
| if (tss_sel.desc.s) { | if (tss_sel.desc.s) { |
| VERBOSE(("IRET_pm: task segment is %d segment", tss_sel.desc.u.seg.c ? "code" : "data")); | VERBOSE(("IRET_pm: task segment is %s segment", tss_sel.desc.u.seg.c ? "code" : "data")); |
| EXCEPTION(GP_EXCEPTION, tss_sel.idx); | EXCEPTION(GP_EXCEPTION, tss_sel.idx); |
| } | } |
| Line 1172 IRET_pm_protected_mode_return_same_privi | Line 1172 IRET_pm_protected_mode_return_same_privi |
| mask |= VM_FLAG|VIF_FLAG|VIP_FLAG; | mask |= VM_FLAG|VIF_FLAG|VIP_FLAG; |
| } | } |
| } | } |
| if (CPU_INST_OP32) { | |
| stacksize = 12; | |
| } else { | |
| stacksize = 6; | |
| } | |
| /* set new register */ | /* set new register */ |
| load_cs(cs_sel->selector, &cs_sel->desc, CPU_STAT_CPL); | load_cs(cs_sel->selector, &cs_sel->desc, CPU_STAT_CPL); |
| Line 1179 IRET_pm_protected_mode_return_same_privi | Line 1184 IRET_pm_protected_mode_return_same_privi |
| set_eflags(new_flags, mask); | set_eflags(new_flags, mask); |
| if (CPU_INST_OP32) { | |
| stacksize = 12; | |
| } else { | |
| stacksize = 6; | |
| } | |
| if (CPU_STAT_SS32) { | if (CPU_STAT_SS32) { |
| CPU_ESP += stacksize; | CPU_ESP += stacksize; |
| } else { | } else { |