svn commit: r216946 - head/sys/mips/cavium
Juli Mallett
jmallett at FreeBSD.org
Tue Jan 4 02:11:04 UTC 2011
Author: jmallett
Date: Tue Jan 4 02:11:03 2011
New Revision: 216946
URL: http://svn.freebsd.org/changeset/base/216946
Log:
o) Unmask Central Interrupt Unit interrupts on APs, too.
o) There's no good reason to make the low bits of the ebase the core
number. While per-CPU exception bases would be nice, for now we just
need to make ebase the same on all cores.
Modified:
head/sys/mips/cavium/octeon_mp.c
Modified: head/sys/mips/cavium/octeon_mp.c
==============================================================================
--- head/sys/mips/cavium/octeon_mp.c Tue Jan 4 00:39:56 2011 (r216945)
+++ head/sys/mips/cavium/octeon_mp.c Tue Jan 4 02:11:03 2011 (r216946)
@@ -74,12 +74,12 @@ platform_ipi_intrnum(void)
void
platform_init_ap(int cpuid)
{
- unsigned ipi_int_mask, clock_int_mask;
+ unsigned ciu_int_mask, clock_int_mask, ipi_int_mask;
/*
* Set the exception base.
*/
- mips_wr_ebase(0x80000000 | cpuid);
+ mips_wr_ebase(0x80000000);
/*
* Clear any pending IPIs.
@@ -92,11 +92,12 @@ platform_init_ap(int cpuid)
octeon_ciu_reset();
/*
- * Unmask the clock and ipi interrupts.
+ * Unmask the clock, ipi and ciu interrupts.
*/
+ ciu_int_mask = hard_int_mask(0);
clock_int_mask = hard_int_mask(5);
ipi_int_mask = hard_int_mask(platform_ipi_intrnum());
- set_intr_mask(ipi_int_mask | clock_int_mask);
+ set_intr_mask(ciu_int_mask | clock_int_mask | ipi_int_mask);
mips_wbflush();
}
More information about the svn-src-all
mailing list