|
|
| version 1.14, 2004/03/06 12:59:54 | version 1.15, 2004/03/08 12:56:22 |
|---|---|
| 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); |
| } | } |