Commit 34b38f5a authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MIPS fixes from Paul Burton:
 "A fix and simplification for SGI IP27 exception handlers, and a small
  MAINTAINERS update for Broadcom MIPS systems"

* tag 'mips_fixes_5.4_4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux:
  MAINTAINERS: Remove Kevin as maintainer of BMIPS generic platforms
  MIPS: SGI-IP27: fix exception handler replication
parents 74bc8acd f6929c92
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -3261,7 +3261,6 @@ S: Maintained
F:	drivers/cpufreq/bmips-cpufreq.c
BROADCOM BMIPS MIPS ARCHITECTURE
M:	Kevin Cernekee <cernekee@gmail.com>
M:	Florian Fainelli <f.fainelli@gmail.com>
L:	bcm-kernel-feedback-list@broadcom.com
L:	linux-mips@vger.kernel.org
+0 −7
Original line number Diff line number Diff line
@@ -38,10 +38,3 @@ config REPLICATE_KTEXT
	  Say Y here to enable replicating the kernel text across multiple
	  nodes in a NUMA cluster.  This trades memory for speed.
config REPLICATE_EXHANDLERS
	bool "Exception handler replication support"
	depends on SGI_IP27
	help
	  Say Y here to enable replicating the kernel exception handlers
	  across multiple nodes in a NUMA cluster. This trades memory for
	  speed.
+6 −15
Original line number Diff line number Diff line
@@ -69,23 +69,14 @@ static void per_hub_init(cnodeid_t cnode)

	hub_rtc_init(cnode);

#ifdef CONFIG_REPLICATE_EXHANDLERS
	/*
	 * If this is not a headless node initialization,
	 * copy over the caliased exception handlers.
	 */
	if (get_compact_nodeid() == cnode) {
		extern char except_vec2_generic, except_vec3_generic;
		extern void build_tlb_refill_handler(void);

		memcpy((void *)(CKSEG0 + 0x100), &except_vec2_generic, 0x80);
		memcpy((void *)(CKSEG0 + 0x180), &except_vec3_generic, 0x80);
		build_tlb_refill_handler();
		memcpy((void *)(CKSEG0 + 0x100), (void *) CKSEG0, 0x80);
		memcpy((void *)(CKSEG0 + 0x180), &except_vec3_generic, 0x100);
	if (nasid) {
		/* copy exception handlers from first node to current node */
		memcpy((void *)NODE_OFFSET_TO_K0(nasid, 0),
		       (void *)CKSEG0, 0x200);
		__flush_cache_all();
		/* switch to node local exception handlers */
		REMOTE_HUB_S(nasid, PI_CALIAS_SIZE, PI_CALIAS_SIZE_8K);
	}
#endif
}

void per_cpu_init(void)
+0 −4
Original line number Diff line number Diff line
@@ -332,11 +332,7 @@ static void __init mlreset(void)
		 * thinks it is a node 0 address.
		 */
		REMOTE_HUB_S(nasid, PI_REGION_PRESENT, (region_mask | 1));
#ifdef CONFIG_REPLICATE_EXHANDLERS
		REMOTE_HUB_S(nasid, PI_CALIAS_SIZE, PI_CALIAS_SIZE_8K);
#else
		REMOTE_HUB_S(nasid, PI_CALIAS_SIZE, PI_CALIAS_SIZE_0);
#endif

#ifdef LATER
		/*