Module Name:    src
Committed By:   matt
Date:           Fri Dec 23 22:51:29 UTC 2011

Modified Files:
        src/sys/arch/mips/mips [matt-nb5-mips64]: locore_mips3.S

Log Message:
Add mips3_cp0_random_read.
Add mipsNN_cp0_config{1-7}_{read,write}.


To generate a diff of this commit:
cvs rdiff -u -r1.93.38.13 -r1.93.38.14 src/sys/arch/mips/mips/locore_mips3.S

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/arch/mips/mips/locore_mips3.S
diff -u src/sys/arch/mips/mips/locore_mips3.S:1.93.38.13 src/sys/arch/mips/mips/locore_mips3.S:1.93.38.14
--- src/sys/arch/mips/mips/locore_mips3.S:1.93.38.13	Thu May 26 19:21:56 2011
+++ src/sys/arch/mips/mips/locore_mips3.S	Fri Dec 23 22:51:29 2011
@@ -234,7 +234,7 @@ END(mips3_cp0_config_write)
 
 #if (MIPS32 + MIPS32R2 + MIPS64 + MIPS64R2 + MIPS64_RMIXL + MIPS64R2_RMIXL) > 0
 	.set push
-#ifdef _LP64
+#if (MIPS64 + MIPS64R2 + MIPS64_RMIXL + MIPS64R2_RMIXL) > 0
 	.set mips64
 #else
 	.set mips32
@@ -251,16 +251,6 @@ LEAF(mipsNN_cp0_config1_read)
 END(mipsNN_cp0_config1_read)
 
 /*
- * uint32_t mipsNN_cp0_config1_write(uint32_t)
- *
- *	Set the current value of the CP0 Config (Select 1) register.
- */
-LEAF(mipsNN_cp0_config1_write)
-	mtc0	v0, MIPS_COP_0_CONFIG, 1
-	JR_HB_RA
-END(mipsNN_cp0_config1_write)
-
-/*
  * uint32_t mipsNN_cp0_config2_read(void)
  *
  *	Return the current value of the CP0 Config (Select 2) register.
@@ -283,6 +273,145 @@ LEAF(mipsNN_cp0_config3_read)
 END(mipsNN_cp0_config3_read)
 
 /*
+ * uint32_t mipsNN_cp0_config4_read(void)
+ *
+ *	Return the current value of the CP0 Config (Select 4) register.
+ */
+LEAF(mipsNN_cp0_config4_read)
+	mfc0	v0, MIPS_COP_0_CONFIG, 4
+	j	ra
+	 nop
+END(mipsNN_cp0_config4_read)
+
+/*
+ * uint32_t mipsNN_cp0_config5_read(void)
+ *
+ *	Return the current value of the CP0 Config (Select 5) register.
+ */
+LEAF(mipsNN_cp0_config5_read)
+	mfc0	v0, MIPS_COP_0_CONFIG, 5
+	j	ra
+	 nop
+END(mipsNN_cp0_config5_read)
+
+/*
+ * uint32_t mipsNN_cp0_config6_read(void)
+ *
+ *	Return the current value of the CP0 Config (Select 6) register.
+ */
+LEAF(mipsNN_cp0_config6_read)
+	mfc0	v0, MIPS_COP_0_CONFIG, 6
+	j	ra
+	 nop
+END(mipsNN_cp0_config6_read)
+
+/*
+ * uint32_t mipsNN_cp0_config7_read(void)
+ *
+ *	Return the current value of the CP0 Config (Select 7) register.
+ */
+LEAF(mipsNN_cp0_config7_read)
+	mfc0	v0, MIPS_COP_0_CONFIG, 7
+	j	ra
+	 nop
+END(mipsNN_cp0_config7_read)
+
+#if (MIPS64 + MIPS64R2 + MIPS64_RMIXL + MIPS64R2_RMIXL) > 0
+/*
+ * uint32_t mips64_cp0_config7_read(void)
+ *
+ *	Return the current value of the CP0 Config (Select 7) register.
+ */
+LEAF(mips64_cp0_config7_read)
+	dmfc0	v0, MIPS_COP_0_CONFIG, 7
+	j	ra
+	 nop
+END(mips64_cp0_config7_read)
+#endif
+
+/*
+ * uint32_t mipsNN_cp0_config1_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 1) register.
+ */
+LEAF(mipsNN_cp0_config1_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 1
+	JR_HB_RA
+END(mipsNN_cp0_config1_write)
+
+/*
+ * uint32_t mipsNN_cp0_config2_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 2) register.
+ */
+LEAF(mipsNN_cp0_config2_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 2
+	JR_HB_RA
+END(mipsNN_cp0_config2_write)
+
+/*
+ * uint32_t mipsNN_cp0_config3_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 3) register.
+ */
+LEAF(mipsNN_cp0_config3_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 3
+	JR_HB_RA
+END(mipsNN_cp0_config3_write)
+
+/*
+ * uint32_t mipsNN_cp0_config4_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 4) register.
+ */
+LEAF(mipsNN_cp0_config4_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 4
+	JR_HB_RA
+END(mipsNN_cp0_config4_write)
+
+/*
+ * uint32_t mipsNN_cp0_config5_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 5) register.
+ */
+LEAF(mipsNN_cp0_config5_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 5
+	JR_HB_RA
+END(mipsNN_cp0_config5_write)
+
+/*
+ * uint32_t mipsNN_cp0_config6_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 6) register.
+ */
+LEAF(mipsNN_cp0_config6_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 6
+	JR_HB_RA
+END(mipsNN_cp0_config6_write)
+
+/*
+ * uint32_t mipsNN_cp0_config7_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 7) register.
+ */
+LEAF(mipsNN_cp0_config7_write)
+	mtc0	a0, MIPS_COP_0_CONFIG, 7
+	JR_HB_RA
+END(mipsNN_cp0_config7_write)
+
+#if (MIPS64 + MIPS64R2 + MIPS64_RMIXL + MIPS64R2_RMIXL) > 0
+/*
+ * uint32_t mips64_cp0_config7_write(uint32_t)
+ *
+ *	Set the current value of the CP0 Config (Select 7) register.
+ */
+LEAF(mips64_cp0_config7_write)
+	dmtc0	a0, MIPS_COP_0_CONFIG, 7
+	JR_HB_RA
+END(mips64_cp0_config7_write)
+#endif
+
+/*
  * uintptr_t mipsNN_cp0_watchlo_read(u_int sel)
  *
  *	Return the current value of the selected CP0 Watchlo register.
@@ -447,6 +576,17 @@ LEAF(mips3_cp0_count_write)
 END(mips3_cp0_count_write)
 
 /*
+ * uint32_t mips3_cp0_random_read(void)
+ *
+ *	Return the current value of the CP0 Wired register.
+ */
+LEAF(mips3_cp0_random_read)
+	mfc0	v0, MIPS_COP_0_TLB_RANDOM
+	j	ra
+	 nop
+END(mips3_cp0_random_read)
+
+/*
  * uint32_t mips3_cp0_wired_read(void)
  *
  *	Return the current value of the CP0 Wired register.

Reply via email to