Diff for /np2/i386c/ia32/task.c between versions 1.9 and 1.12

version 1.9, 2004/02/05 16:43:44 version 1.12, 2004/02/18 20:11:37
Line 78  load_tr(WORD selector) Line 78  load_tr(WORD selector)
 }  }
   
 void  void
 get_stack_from_tss(DWORD pl, WORD *new_ss, DWORD *new_esp)  get_stack_pointer_from_tss(DWORD pl, WORD *new_ss, DWORD *new_esp)
 {  {
         DWORD tss_stack_addr;          DWORD tss_stack_addr;
   
Line 101  get_stack_from_tss(DWORD pl, WORD *new_s Line 101  get_stack_from_tss(DWORD pl, WORD *new_s
                 *new_esp = cpu_kmemoryread_w(tss_stack_addr);                  *new_esp = cpu_kmemoryread_w(tss_stack_addr);
                 *new_ss = cpu_kmemoryread_w(tss_stack_addr + 2);                  *new_ss = cpu_kmemoryread_w(tss_stack_addr + 2);
         } else {          } else {
                 ia32_panic("get_stack_from_tss: task register is invalid (%d)\n", CPU_TR_DESC.type);                  ia32_panic("get_stack_pointer_from_tss: task register is invalid (%d)\n", CPU_TR_DESC.type);
         }          }
   
         VERBOSE(("get_stack_from_tss: pl = %d, new_esp = 0x%08x, new_ss = 0x%04x", pl, *new_esp, *new_ss));          VERBOSE(("get_stack_pointer_from_tss: pl = %d, new_esp = 0x%08x, new_ss = 0x%04x", pl, *new_esp, *new_ss));
 }  }
   
 WORD  WORD
 get_link_selector_from_tss()  get_backlink_selector_from_tss(void)
 {  {
         WORD backlink;          WORD backlink;
   
Line 121  get_link_selector_from_tss() Line 121  get_link_selector_from_tss()
                         EXCEPTION(TS_EXCEPTION, CPU_TR & ~3);                          EXCEPTION(TS_EXCEPTION, CPU_TR & ~3);
                 }                  }
         } else {          } else {
                 ia32_panic("get_link_selector_from_tss: task register is invalid (%d)\n", CPU_TR_DESC.type);                  ia32_panic("get_backlink_selector_from_tss: task register is invalid (%d)\n", CPU_TR_DESC.type);
         }          }
   
         backlink = cpu_kmemoryread_w(CPU_TR_DESC.u.seg.segbase);          backlink = cpu_kmemoryread_w(CPU_TR_DESC.u.seg.segbase);
         VERBOSE(("get_link_selector_from_tss: backlink selector = 0x%04x", backlink));          VERBOSE(("get_backlink_selector_from_tss: backlink selector = 0x%04x", backlink));
         return backlink;          return backlink;
 }  }
   
 void  void
 task_switch(selector_t* task_sel, int type)  task_switch(selector_t *task_sel, task_switch_type_t type)
 {  {
         DWORD regs[CPU_REG_NUM];          DWORD regs[CPU_REG_NUM];
         DWORD eip;          DWORD eip;
Line 451  task_switch(selector_t* task_sel, int ty Line 451  task_switch(selector_t* task_sel, int ty
         /* I/O deny bitmap */          /* I/O deny bitmap */
         if (!task16) {          if (!task16) {
                 if (task_sel->desc.u.seg.limit > iobase) {                  if (task_sel->desc.u.seg.limit > iobase) {
                         CPU_STAT_IOLIMIT = task_sel->desc.u.seg.limit - iobase;                          CPU_STAT_IOLIMIT = (WORD)(task_sel->desc.u.seg.limit - iobase);
                         CPU_STAT_IOADDR = task_sel->desc.u.seg.segbase + iobase;                          CPU_STAT_IOADDR = task_sel->desc.u.seg.segbase + iobase;
                 } else {                  } else {
                         CPU_STAT_IOLIMIT = 0;                          CPU_STAT_IOLIMIT = 0;

Removed from v.1.9  
changed lines
  Added in v.1.12


RetroPC.NET-CVS <cvs@retropc.net>