Diff for /np2/i386c/ia32/paging.c between versions 1.13 and 1.15

version 1.13, 2004/03/05 14:17:35 version 1.15, 2004/03/08 12:56:22
Line 191  static void tlb_update(UINT32 laddr, UIN Line 191  static void tlb_update(UINT32 laddr, UIN
 #endif  #endif
   
   
 void  void MEMCALL
 cpu_memory_access_la_region(UINT32 laddr, UINT length, int crw, int user_mode, BYTE *data)  cpu_memory_access_la_region(UINT32 laddr, UINT length, int crw, int user_mode, BYTE *data)
 {  {
         UINT32 paddr;          UINT32 paddr;
Line 504  typedef struct { Line 504  typedef struct {
   
 #if CPU_FAMILY == 4  #if CPU_FAMILY == 4
 #define NTLB    1  #define NTLB    1
 #define NENTRY  8  #define NENTRY  (1 << 3)
 #define NWAY    4  #define NWAY    (1 << 2)
   
 #define TLB_ENTRY_SHIFT 12  #define TLB_ENTRY_SHIFT 12
 #define TLB_WAY_SHIFT   14  #define TLB_ENTRY_MASK  (NENTRY - 1)
   #define TLB_WAY_SHIFT   15
   #define TLB_WAY_MASK    (NWAY - 1)
 #endif  #endif
   
 typedef struct {  typedef struct {
Line 543  tlb_flush(BOOL allflush) Line 545  tlb_flush(BOOL allflush)
         for (i = 0; i < NENTRY ; i++) {          for (i = 0; i < NENTRY ; i++) {
                 for (j = 0; j < NWAY; j++) {                  for (j = 0; j < NWAY; j++) {
                         ep = &tlb.entry[i][j];                          ep = &tlb.entry[i][j];
                         if (TLB_IS_VALID(ep) && (allflush || !TLB_IS_GLOBAL(ep))) {                          if (TLB_IS_VALID(ep) && (!TLB_IS_GLOBAL(ep) || allflush)) {
                                 TLB_CLEAR_VALID(ep);                                  TLB_CLEAR_VALID(ep);
                                 PROFILE_INC(tlb_entry_flushes);                                  PROFILE_INC(tlb_entry_flushes);
                         }                          }

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


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