MIPS: Allows relocation exception vectors everywhere
authorJiaxun Yang <jiaxun.yang@flygoat.com>
Fri, 16 Feb 2024 17:42:12 +0000 (18:42 +0100)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 20 Feb 2024 11:44:59 +0000 (12:44 +0100)
commit5e9d13bd3de8c34ee81b9db8c50887fea5b93834
treeb9a8e6c2ef2410b19eafde8705c40cc321047bff
parent3391b95cf6a0b5b70904857dcc415b832f81866a
MIPS: Allows relocation exception vectors everywhere

Now the exception vector for CPS systems are allocated on-fly
with memblock as well.

It will try to allocate from KSEG1 first, and then try to allocate
in low 4G if possible.

The main reset vector is now generated by uasm, to avoid tons
of patches to the code. Other vectors are copied to the location
later.

    move 64bits fix in an other patch
    fix cache issue with mips_cps_core_entry
    rewrite the patch to reduce the diff stat
    move extern in header
    use cache address for copying vector

gc: use the new macro CKSEG[0A1]DDR_OR_64BIT()
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/mips-cm.h
arch/mips/include/asm/smp-cps.h
arch/mips/kernel/cps-vec.S
arch/mips/kernel/smp-cps.c