Diff for /np2/i386c/ia32/task.c between versions 1.13 and 1.14

version 1.13, 2004/02/20 16:09:04 version 1.14, 2004/03/02 16:29:16
Line 37  load_tr(UINT16 selector) Line 37  load_tr(UINT16 selector)
 {  {
         selector_t task_sel;          selector_t task_sel;
         int rv;          int rv;
           UINT16 iobase;
   
         rv = parse_selector(&task_sel, selector);          rv = parse_selector(&task_sel, selector);
         if (rv < 0 || task_sel.ldt || task_sel.desc.s) {          if (rv < 0 || task_sel.ldt || task_sel.desc.s) {
Line 49  load_tr(UINT16 selector) Line 50  load_tr(UINT16 selector)
                 if (task_sel.desc.u.seg.limit < 0x2b) {                  if (task_sel.desc.u.seg.limit < 0x2b) {
                         EXCEPTION(TS_EXCEPTION, task_sel.idx);                          EXCEPTION(TS_EXCEPTION, task_sel.idx);
                 }                  }
                   iobase = 0;
                 break;                  break;
   
         case CPU_SYSDESC_TYPE_TSS_32:          case CPU_SYSDESC_TYPE_TSS_32:
                 if (task_sel.desc.u.seg.limit < 0x67) {                  if (task_sel.desc.u.seg.limit < 0x67) {
                         EXCEPTION(TS_EXCEPTION, task_sel.idx);                          EXCEPTION(TS_EXCEPTION, task_sel.idx);
                 }                  }
                   iobase = cpu_kmemoryread_w(task_sel.desc.u.seg.segbase + 102);
                 break;                  break;
   
         default:          default:
Line 75  load_tr(UINT16 selector) Line 78  load_tr(UINT16 selector)
         CPU_SET_TASK_BUSY(task_sel.selector, &task_sel.desc);          CPU_SET_TASK_BUSY(task_sel.selector, &task_sel.desc);
         CPU_TR = task_sel.selector;          CPU_TR = task_sel.selector;
         CPU_TR_DESC = task_sel.desc;          CPU_TR_DESC = task_sel.desc;
   
           /* I/O deny bitmap */
           if (task_sel.desc.type == CPU_SYSDESC_TYPE_TSS_BUSY_32) {
                   if (iobase != 0 && iobase < task_sel.desc.u.seg.limit) {
                           CPU_STAT_IOLIMIT = (UINT16)(task_sel.desc.u.seg.limit - iobase);
                           CPU_STAT_IOADDR = task_sel.desc.u.seg.segbase + iobase;
                   } else {
                           CPU_STAT_IOLIMIT = 0;
                   }
           } else {
                   CPU_STAT_IOLIMIT = 0;
           }
 }  }
   
 void  void

Removed from v.1.13  
changed lines
  Added in v.1.14


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