patch-2.4.25 linux-2.4.25/include/asm-mips64/mipsregs.h
Next file: linux-2.4.25/include/asm-mips64/msgbuf.h
Previous file: linux-2.4.25/include/asm-mips64/kmap_types.h
Back to the patch index
Back to the overall index
- Lines: 78
- Date:
2004-02-18 05:36:32.000000000 -0800
- Orig file:
linux-2.4.24/include/asm-mips64/mipsregs.h
- Orig date:
2003-08-25 04:44:44.000000000 -0700
diff -urN linux-2.4.24/include/asm-mips64/mipsregs.h linux-2.4.25/include/asm-mips64/mipsregs.h
@@ -15,6 +15,7 @@
#include <linux/config.h>
#include <linux/linkage.h>
+#include <asm/hazards.h>
/*
* The following macros are especially useful for __asm__
@@ -185,6 +186,20 @@
#endif
/*
+ * Default page size for a given kernel configuration
+ */
+#ifdef CONFIG_PAGE_SIZE_4KB
+#define PM_DEFAULT_MASK PM_4K
+#elif defined(CONFIG_PAGE_SIZE_16KB)
+#define PM_DEFAULT_MASK PM_16K
+#elif defined(CONFIG_PAGE_SIZE_64KB)
+#define PM_DEFAULT_MASK PM_64K
+#else
+#error Bad page size configuration!
+#endif
+
+
+/*
* Values used for computation of new tlb entries
*/
#define PL_4K 12
@@ -818,37 +833,47 @@
: "=r" (__res)); \
__res;})
-/* TLB operations. */
+/*
+ * TLB operations.
+ */
static inline void tlb_probe(void)
{
+ rm9000_tlb_hazard();
__asm__ __volatile__(
".set noreorder\n\t"
"tlbp\n\t"
".set reorder");
+ rm9000_tlb_hazard();
}
static inline void tlb_read(void)
{
+ rm9000_tlb_hazard();
__asm__ __volatile__(
".set noreorder\n\t"
"tlbr\n\t"
".set reorder");
+ rm9000_tlb_hazard();
}
static inline void tlb_write_indexed(void)
{
+ rm9000_tlb_hazard();
__asm__ __volatile__(
".set noreorder\n\t"
"tlbwi\n\t"
".set reorder");
+ rm9000_tlb_hazard();
}
static inline void tlb_write_random(void)
{
+ rm9000_tlb_hazard();
__asm__ __volatile__(
".set noreorder\n\t"
"tlbwr\n\t"
".set reorder");
+ rm9000_tlb_hazard();
}
/*
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)