|
|
| version 1.21, 2011/01/15 17:17:23 | version 1.22, 2011/12/20 09:03:28 |
|---|---|
| Line 280 JMPfar_pm_task_gate(selector_t *taskgate | Line 280 JMPfar_pm_task_gate(selector_t *taskgate |
| } | } |
| task_switch(&tss_sel, TASK_SWITCH_JMP); | task_switch(&tss_sel, TASK_SWITCH_JMP); |
| /* out of range */ | |
| if (CPU_EIP > CPU_STAT_CS_LIMIT) { | |
| VERBOSE(("JMPfar_pm: new_ip is out of range. new_ip = %08x, limit = %08x", CPU_EIP, CPU_STAT_CS_LIMIT)); | |
| EXCEPTION(GP_EXCEPTION, 0); | |
| } | |
| } | } |
| /*--- | /*--- |
| Line 308 JMPfar_pm_tss(selector_t *tss_sel) | Line 314 JMPfar_pm_tss(selector_t *tss_sel) |
| } | } |
| task_switch(tss_sel, TASK_SWITCH_JMP); | task_switch(tss_sel, TASK_SWITCH_JMP); |
| /* out of range */ | |
| if (CPU_EIP > CPU_STAT_CS_LIMIT) { | |
| VERBOSE(("JMPfar_pm: new_ip is out of range. new_ip = %08x, limit = %08x", CPU_EIP, CPU_STAT_CS_LIMIT)); | |
| EXCEPTION(GP_EXCEPTION, 0); | |
| } | |
| } | } |
| Line 752 CALLfar_pm_task_gate(selector_t *taskgat | Line 764 CALLfar_pm_task_gate(selector_t *taskgat |
| } | } |
| task_switch(&tss_sel, TASK_SWITCH_CALL); | task_switch(&tss_sel, TASK_SWITCH_CALL); |
| /* out of range */ | |
| if (CPU_EIP > CPU_STAT_CS_LIMIT) { | |
| VERBOSE(("JMPfar_pm: new_ip is out of range. new_ip = %08x, limit = %08x", CPU_EIP, CPU_STAT_CS_LIMIT)); | |
| EXCEPTION(GP_EXCEPTION, 0); | |
| } | |
| } | } |
| /*--- | /*--- |
| Line 780 CALLfar_pm_tss(selector_t *tss_sel) | Line 798 CALLfar_pm_tss(selector_t *tss_sel) |
| } | } |
| task_switch(tss_sel, TASK_SWITCH_CALL); | task_switch(tss_sel, TASK_SWITCH_CALL); |
| /* out of range */ | |
| if (CPU_EIP > CPU_STAT_CS_LIMIT) { | |
| VERBOSE(("JMPfar_pm: new_ip is out of range. new_ip = %08x, limit = %08x", CPU_EIP, CPU_STAT_CS_LIMIT)); | |
| EXCEPTION(GP_EXCEPTION, 0); | |
| } | |
| } | } |
| Line 817 RETfar_pm(UINT nbytes) | Line 841 RETfar_pm(UINT nbytes) |
| rv = parse_selector(&cs_sel, new_cs); | rv = parse_selector(&cs_sel, new_cs); |
| if (rv < 0) { | if (rv < 0) { |
| VERBOSE(("RETfar_pm: parse_selector (selector = %04x, rv = %d, %s)", cs_sel.selector, rv)); | VERBOSE(("RETfar_pm: parse_selector (selector = %04x, rv = %d)", cs_sel.selector, rv)); |
| EXCEPTION(GP_EXCEPTION, cs_sel.idx); | EXCEPTION(GP_EXCEPTION, cs_sel.idx); |
| } | } |
| Line 1089 IRET_pm_nested_task(void) | Line 1113 IRET_pm_nested_task(void) |
| } | } |
| task_switch(&tss_sel, TASK_SWITCH_IRET); | task_switch(&tss_sel, TASK_SWITCH_IRET); |
| /* out of range */ | |
| if (CPU_EIP > CPU_STAT_CS_LIMIT) { | |
| VERBOSE(("JMPfar_pm: new_ip is out of range. new_ip = %08x, limit = %08x", CPU_EIP, CPU_STAT_CS_LIMIT)); | |
| EXCEPTION(GP_EXCEPTION, 0); | |
| } | |
| } | } |
| /*--- | /*--- |