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"