Diff for /np2/i386c/ia32/segments.c between versions 1.3 and 1.5

version 1.3, 2003/12/22 18:00:31 version 1.5, 2004/01/14 16:14:49
Line 176  load_ldtr(WORD selector, int exc) Line 176  load_ldtr(WORD selector, int exc)
   
         /* check limit */          /* check limit */
         if (sel.desc.u.seg.limit < 7) {          if (sel.desc.u.seg.limit < 7) {
                 ia32_panic("load_ldtr: LDTR descriptor limit < 7");                  ia32_panic("load_ldtr: LDTR descriptor limit < 7 (limit = %d)", sel.desc.u.seg.limit);
         }          }
   
         /* not present */          /* not present */
Line 185  load_ldtr(WORD selector, int exc) Line 185  load_ldtr(WORD selector, int exc)
                 EXCEPTION((exc == TS_EXCEPTION) ? TS_EXCEPTION : NP_EXCEPTION, sel.selector);                  EXCEPTION((exc == TS_EXCEPTION) ? TS_EXCEPTION : NP_EXCEPTION, sel.selector);
         }          }
   
   #if defined(DEBUG)
   {
           DWORD v[2];
           DWORD i;
   
           for (i = 0; i < sel.desc.u.seg.limit; i += 8) {
                   v[0] = cpu_lmemoryread_d(sel.desc.u.seg.segbase + i);
                   v[1] = cpu_lmemoryread_d(sel.desc.u.seg.segbase + i + 4);
                   VERBOSE(("load_ldtr: %08x: %08x%08x", sel.desc.u.seg.segbase + i, v[0], v[1]));
           }
   }
   #endif
   
         CPU_LDTR = sel.selector;          CPU_LDTR = sel.selector;
         CPU_LDTR_DESC = sel.desc;          CPU_LDTR_DESC = sel.desc;
 }  }
Line 232  load_descriptor(descriptor_t *descp, DWO Line 245  load_descriptor(descriptor_t *descp, DWO
                 switch (descp->type) {                  switch (descp->type) {
                 case CPU_SYSDESC_TYPE_LDT:              /* LDT */                  case CPU_SYSDESC_TYPE_LDT:              /* LDT */
                         descp->valid = 1;                          descp->valid = 1;
                           descp->u.seg.segbase  = descp->h & 0xff000000;
                           descp->u.seg.segbase |= (descp->h & 0xff) << 16;
                           descp->u.seg.segbase |= descp->l >> 16;
                           descp->u.seg.limit  = descp->h & 0xf0000;
                           descp->u.seg.limit |= descp->l & 0xffff;
                         VERBOSE(("load_descriptor: LDT descriptor"));                          VERBOSE(("load_descriptor: LDT descriptor"));
                         break;                          break;
   

Removed from v.1.3  
changed lines
  Added in v.1.5


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