PERFORCE change 134378 for review
Randall R. Stewart
rrs at FreeBSD.org
Tue Jan 29 08:40:33 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=134378
Change 134378 by rrs at rrs-mips2-jnpr on 2008/01/29 16:39:58
Adds all the rest of the target_octeon ifdefs
Affected files ...
.. //depot/projects/mips2-jnpr/src/sys/mips/mips/locore.S#19 edit
Differences ...
==== //depot/projects/mips2-jnpr/src/sys/mips/mips/locore.S#19 (text+ko) ====
@@ -83,7 +83,7 @@
GLOBAL(cfe_vector)
.space 4
#endif
-#ifdef CPU_OCTEON
+#if defined(TARGET_OCTEON)
GLOBAL(app_descriptor_addr)
.space 8
#endif
@@ -91,6 +91,13 @@
.space NBPG /* Smaller than it should be since it's temp. */
.align 8
GLOBAL(topstack)
+
+
+#if defined(TARGET_OCTEON)
+ .set mips3
+#endif
+
+
.set noreorder
.text
@@ -99,7 +106,18 @@
ASM_ENTRY(_start)
VECTOR(_locore, unknown)
/* UNSAFE TO USE a0..a3, since some bootloaders pass that to us */
+#if defined(TARGET_OCTEON)
+ /*
+ * t1: Bits to set explicitly:
+ * Enable FPU
+ */
+
+ /* Set these bits */
+ li t1, (MIPS_SR_COP_2_BIT | MIPS_SR_COP_0_BIT | MIPS_SR_PX | MIPS_SR_KX | MIPS_SR_UX | MIPS_SR_SX | MIPS_SR_BEV)
+ /* Reset these bits */
+ li t0, ~(MIPS_SR_DE | MIPS_SR_SOFT_RESET | MIPS_SR_ERL | MIPS_SR_EXL | MIPS_SR_INT_IE)
+#else
mtc0 zero, COP_0_CAUSE_REG # Clear soft interrupts
/*
@@ -108,13 +126,12 @@
* Boot exception vectors (firmware-provided)
*/
li t0, (MIPS_SR_BEV | MIPS_SR_SOFT_RESET)
-
/*
* t1: Bits to set explicitly:
* Enable FPU
*/
li t1, MIPS_SR_COP_1_BIT
-
+#endif
/*
* Read coprocessor 0 status register, clear bits not
* preserved (namely, clearing interrupt bits), and set
@@ -126,6 +143,12 @@
mtc0 t2, COP_0_STATUS_REG
COP0_SYNC
+#if defined(TARGET_OCTEON)
+ /* Clear cause register. */
+ mtc0 zero, MIPS_COP_0_CAUSE
+ COP0_SYNC
+#endif
+
/* Make sure KSEG0 is cached */
li t0, CFG_K0_CACHED
mtc0 t0, MIPS_COP_0_CONFIG
@@ -175,7 +198,7 @@
sw a2, _C_LABEL(cfe_vector)/* Firmware entry vector */
no_cfe:
#endif
-#ifdef CPU_OCTEON
+#if defined(TARGET_OCTEON)
la a0, app_descriptor_addr
sw a3, 0(a0) /* Store app descriptor ptr */
#endif
@@ -206,7 +229,8 @@
mtcr t1, t2
#endif
-#ifdef CPU_OCTEON /* Maybe this is mips32/64 generic? */
+
+#if defined(TARGET_OCTEON) /* Maybe this is mips32/64 generic? */
.set push
.set mips32r2
rdhwr t0, $0
More information about the p4-projects
mailing list