summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/sparc64/machdep.c
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2014-03-06 18:30:56 +0000
committerjhb <jhb@FreeBSD.org>2014-03-06 18:30:56 +0000
commit59b6242e909c7e020d7903a27847e2a465486a45 (patch)
tree2c015c503188a6a75426ca67e8433237f3533f97 /sys/sparc64/sparc64/machdep.c
parentfe643776c1c5732c2d5d8354a64b520b7007e15c (diff)
downloadFreeBSD-src-59b6242e909c7e020d7903a27847e2a465486a45.zip
FreeBSD-src-59b6242e909c7e020d7903a27847e2a465486a45.tar.gz
MFC 259016,259019,259049,259071,259102,259110,259129,259130,259178,259179,
259203,259221,259261,259532,259615,259650,259651,259667,259680,259727, 259761,259772,259776,259777,259830,259882,259915,260160,260449,260450, 260688,260888,260953,261269,261547,261551,261552,261553,261585: Merge the vt(4) driver (newcons) to stable/10. Approved by: ray
Diffstat (limited to 'sys/sparc64/sparc64/machdep.c')
-rw-r--r--sys/sparc64/sparc64/machdep.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/sys/sparc64/sparc64/machdep.c b/sys/sparc64/sparc64/machdep.c
index de645da..9c0042e 100644
--- a/sys/sparc64/sparc64/machdep.c
+++ b/sys/sparc64/sparc64/machdep.c
@@ -553,17 +553,15 @@ sparc64_init(caddr_t mdp, u_long o1, u_long o2, u_long o3, ofw_vec_t *vec)
* trigger a fatal reset error or worse things further down the road.
* XXX it should be possible to use this solely instead of writing
* %tba in cpu_setregs(). Doing so causes a hang however.
- */
- sun4u_set_traptable(tl0_base);
-
- /*
- * Initialize the console.
+ *
* NB: the low-level console drivers require a working DELAY() and
* some compiler optimizations may cause the curthread accesses of
* mutex(9) to be factored out even if the latter aren't actually
- * called, both requiring PCPU_REG to be set.
+ * called. Both of these require PCPU_REG to be set. However, we
+ * can't set PCPU_REG without also taking over the trap table or the
+ * firmware will overwrite it.
*/
- cninit();
+ sun4u_set_traptable(tl0_base);
/*
* Initialize the dynamic per-CPU area for the BSP and the message
@@ -578,6 +576,12 @@ sparc64_init(caddr_t mdp, u_long o1, u_long o2, u_long o3, ofw_vec_t *vec)
mutex_init();
/*
+ * Initialize console now that we have a reasonable set of system
+ * services.
+ */
+ cninit();
+
+ /*
* Finish the interrupt initialization now that mutexes work and
* enable them.
*/
OpenPOWER on IntegriCloud