A fix & simplification for SGI IP27 exception handlers, and a small
MAINTAINERS update for Broadcom MIPS systems. -----BEGIN PGP SIGNATURE----- iIwEABYIADQWIQRgLjeFAZEXQzy86/s+p5+stXUA3QUCXc4wwBYccGF1bGJ1cnRv bkBrZXJuZWwub3JnAAoJED6nn6y1dQDdgA4BAPUIK91zzLqrG5krdu5Df/UDM3EN XlhhDTX8tT7QHvufAP9Uyn9FkbCIPmupBp+6s7Q6OvHGyG8TYRxTehyMtdLiBA== =McJE -----END PGP SIGNATURE----- Merge tag 'mips_fixes_5.4_4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux 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 replicationalistair/sunxi64-5.4-dsi
commit
34b38f5abd
|
@ -3261,7 +3261,6 @@ S: Maintained
|
||||||
F: drivers/cpufreq/bmips-cpufreq.c
|
F: drivers/cpufreq/bmips-cpufreq.c
|
||||||
|
|
||||||
BROADCOM BMIPS MIPS ARCHITECTURE
|
BROADCOM BMIPS MIPS ARCHITECTURE
|
||||||
M: Kevin Cernekee <cernekee@gmail.com>
|
|
||||||
M: Florian Fainelli <f.fainelli@gmail.com>
|
M: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
L: bcm-kernel-feedback-list@broadcom.com
|
L: bcm-kernel-feedback-list@broadcom.com
|
||||||
L: linux-mips@vger.kernel.org
|
L: linux-mips@vger.kernel.org
|
||||||
|
|
|
@ -38,10 +38,3 @@ config REPLICATE_KTEXT
|
||||||
Say Y here to enable replicating the kernel text across multiple
|
Say Y here to enable replicating the kernel text across multiple
|
||||||
nodes in a NUMA cluster. This trades memory for speed.
|
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.
|
|
||||||
|
|
|
@ -69,23 +69,14 @@ static void per_hub_init(cnodeid_t cnode)
|
||||||
|
|
||||||
hub_rtc_init(cnode);
|
hub_rtc_init(cnode);
|
||||||
|
|
||||||
#ifdef CONFIG_REPLICATE_EXHANDLERS
|
if (nasid) {
|
||||||
/*
|
/* copy exception handlers from first node to current node */
|
||||||
* If this is not a headless node initialization,
|
memcpy((void *)NODE_OFFSET_TO_K0(nasid, 0),
|
||||||
* copy over the caliased exception handlers.
|
(void *)CKSEG0, 0x200);
|
||||||
*/
|
|
||||||
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);
|
|
||||||
__flush_cache_all();
|
__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)
|
void per_cpu_init(void)
|
||||||
|
|
|
@ -332,11 +332,7 @@ static void __init mlreset(void)
|
||||||
* thinks it is a node 0 address.
|
* thinks it is a node 0 address.
|
||||||
*/
|
*/
|
||||||
REMOTE_HUB_S(nasid, PI_REGION_PRESENT, (region_mask | 1));
|
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);
|
REMOTE_HUB_S(nasid, PI_CALIAS_SIZE, PI_CALIAS_SIZE_0);
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef LATER
|
#ifdef LATER
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue