Module Name:    src
Committed By:   matt
Date:           Thu Jan 19 10:29:34 UTC 2012

Modified Files:
        src/sys/arch/mips/rmi [matt-nb5-mips64]: rmixl_cpu.c rmixl_fmn.c
            rmixl_fmnvar.h

Log Message:
Unbreak things so that XLS/XLR boot again. :)


To generate a diff of this commit:
cvs rdiff -u -r1.1.2.24 -r1.1.2.25 src/sys/arch/mips/rmi/rmixl_cpu.c
cvs rdiff -u -r1.1.2.10 -r1.1.2.11 src/sys/arch/mips/rmi/rmixl_fmn.c
cvs rdiff -u -r1.1.2.7 -r1.1.2.8 src/sys/arch/mips/rmi/rmixl_fmnvar.h

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/rmi/rmixl_cpu.c
diff -u src/sys/arch/mips/rmi/rmixl_cpu.c:1.1.2.24 src/sys/arch/mips/rmi/rmixl_cpu.c:1.1.2.25
--- src/sys/arch/mips/rmi/rmixl_cpu.c:1.1.2.24	Thu Jan 19 08:05:24 2012
+++ src/sys/arch/mips/rmi/rmixl_cpu.c	Thu Jan 19 10:29:34 2012
@@ -245,7 +245,9 @@ cpu_rmixl_attach(device_t parent, device
 
 	aprint_normal("\n");
 
-        cpu_attach_common(self, ci);
+	rmixl_fmn_cpu_attach(ci);
+
+	cpu_attach_common(self, ci);
 }
 
 /*

Index: src/sys/arch/mips/rmi/rmixl_fmn.c
diff -u src/sys/arch/mips/rmi/rmixl_fmn.c:1.1.2.10 src/sys/arch/mips/rmi/rmixl_fmn.c:1.1.2.11
--- src/sys/arch/mips/rmi/rmixl_fmn.c:1.1.2.10	Thu Jan 19 08:05:24 2012
+++ src/sys/arch/mips/rmi/rmixl_fmn.c	Thu Jan 19 10:29:34 2012
@@ -1,4 +1,4 @@
-/*	$NetBSD: rmixl_fmn.c,v 1.1.2.10 2012/01/19 08:05:24 matt Exp $	*/
+/*	rmixl_fmn.c,v 1.1.2.10 2012/01/19 08:05:24 matt Exp	*/
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -638,7 +638,7 @@ fmn_init_noncore_xlrxls(fmn_info_t *fmn)
 static void
 fmn_init_thread_xlrxls(fmn_info_t *fmn)
 {
-	const fmn_station_info_t *si = fmn->fmn_stinfo;
+	const fmn_station_info_t *si = fmn->fmn_stinfo + 1;
 	uint32_t sts1;
 	uint32_t cfg;
 
@@ -780,7 +780,9 @@ rmixl_fmn_cpu_attach(struct cpu_info *ci
 	struct cpu_softc * const sc = ci->ci_softc;
 
 	KASSERT(sc->sc_fmn_si == NULL);
-	sc->sc_fmn_si = softint_establish(SOFTINT_NET, fmn_softint, sc);
+	sc->sc_fmn_si = softint_establish(SOFTINT_NET|SOFTINT_MPSAFE,
+	    fmn_softint, sc);
+	KASSERT(sc->sc_fmn_si != NULL);
 
 	KASSERT(sc->sc_dev != NULL);
 
@@ -937,6 +939,7 @@ fmn_intr(void *arg)
 	const bool is_xlp_p = cpu_rmixlp(mips_options.mips_cpu);
 	struct cpu_softc * const sc = curcpu()->ci_softc;
 
+	KASSERT(sc->sc_fmn_si != NULL);
 	softint_schedule(sc->sc_fmn_si);
 	if (!is_xlp_p) {
 		/*

Index: src/sys/arch/mips/rmi/rmixl_fmnvar.h
diff -u src/sys/arch/mips/rmi/rmixl_fmnvar.h:1.1.2.7 src/sys/arch/mips/rmi/rmixl_fmnvar.h:1.1.2.8
--- src/sys/arch/mips/rmi/rmixl_fmnvar.h:1.1.2.7	Thu Jan 19 09:59:08 2012
+++ src/sys/arch/mips/rmi/rmixl_fmnvar.h	Thu Jan 19 10:29:34 2012
@@ -1,4 +1,4 @@
-/*	$Id: rmixl_fmnvar.h,v 1.1.2.7 2012/01/19 09:59:08 matt Exp $	*/
+/*	rmixl_fmnvar.h,v 1.1.2.7 2012/01/19 09:59:08 matt Exp	*/
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -230,7 +230,6 @@ rmixl_cp2_enable(void)
 	uint32_t rv;
 	uint32_t sr;
 
-	KASSERT(curcpu()->ci_cpl == IPL_HIGH);
 	__asm volatile(
 		".set push"			"\n\t"
 		".set noreorder"		"\n\t"
@@ -253,7 +252,6 @@ rmixl_cp2_restore(uint32_t ocu)
 {
 	uint32_t cu2;
 
-	KASSERT(curcpu()->ci_cpl == IPL_HIGH);
 	__asm volatile(
 		".set push"			"\n\t"
 		".set noreorder"		"\n\t"

Reply via email to