Diff for /np2/i386c/ia32/segments.c between versions 1.15 and 1.18

version 1.15, 2004/03/23 15:29:34 version 1.18, 2008/01/25 17:53:27
Line 12 Line 12
  * 2. Redistributions in binary form must reproduce the above copyright   * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the   *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.   *    documentation and/or other materials provided with the distribution.
  * 3. The name of the author may not be used to endorse or promote products  
  *    derived from this software without specific prior written permission.  
  *   *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR   * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES   * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
Line 131  load_segreg(int idx, UINT16 selector, in Line 129  load_segreg(int idx, UINT16 selector, in
  * load SS register   * load SS register
  */   */
 void  void
 load_ss(UINT16 selector, descriptor_t *sd, UINT cpl)  load_ss(UINT16 selector, const descriptor_t *sd, UINT cpl)
 {  {
   
         CPU_STAT_SS32 = sd->d;          CPU_STAT_SS32 = sd->d;
Line 143  load_ss(UINT16 selector, descriptor_t *s Line 141  load_ss(UINT16 selector, descriptor_t *s
  * load CS register   * load CS register
  */   */
 void  void
 load_cs(UINT16 selector, descriptor_t *sd, UINT cpl)  load_cs(UINT16 selector, const descriptor_t *sd, UINT cpl)
 {  {
   
         CPU_INST_OP32 = CPU_INST_AS32 =          CPU_INST_OP32 = CPU_INST_AS32 =
Line 179  load_ldtr(UINT16 selector, int exc) Line 177  load_ldtr(UINT16 selector, int exc)
                 EXCEPTION(exc, sel.selector);                  EXCEPTION(exc, sel.selector);
         }          }
   
   #if 0
           /*
            * LEMM の挙動より LDT セグメントのリミットチェック処理を無効化
            *
            * 症状1:リミット 0 の LDT セレクタを LLDT は駄目っぽい。
            * 対策1:リミット 0 の LDT セレクタの代わりにヌルセレクタを LLDT。
            */
         /* 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 (limit = %d)", sel.desc.u.seg.limit);                  ia32_panic("load_ldtr: LDTR descriptor limit < 7 (limit = %d)", sel.desc.u.seg.limit);
         }          }
   #endif
   
         /* not present */          /* not present */
         rv = selector_is_not_present(&sel);          rv = selector_is_not_present(&sel);
Line 374  parse_selector(selector_t *ssp, UINT16 s Line 380  parse_selector(selector_t *ssp, UINT16 s
 }  }
   
 int  int
 selector_is_not_present(selector_t *ssp)  selector_is_not_present(const selector_t *ssp)
 {  {
         UINT32 h;          UINT32 h;
   

Removed from v.1.15  
changed lines
  Added in v.1.18


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