sh: add support for J-Core J2 processor
authorRich Felker <dalias@libc.org>
Thu, 17 Mar 2016 23:09:37 +0000 (23:09 +0000)
committerRich Felker <dalias@libc.org>
Fri, 5 Aug 2016 03:29:31 +0000 (03:29 +0000)
commit5a846abad07f6f30adfa3e46c5c7a47d2e7b1e63
treefc16a7c8f74a2010f0134ef3e69d20fde929bc08
parent03767daa1387f87619404bfe108ebb6aa5826e00
sh: add support for J-Core J2 processor

At the CPU/ISA level, the J2 is compatible with SH-2, and thus the
changes to add J2 support build on existing SH-2 support. However, J2
does not duplicate the memory-mapped SH-2 features like the cache
interface. Instead, the cache interfaces is described in the device
tree, and new code is added to be able to access the flat device tree
at early boot before it is unflattened.

Support is also added for receiving interrupts on trap numbers in the
range 16 to 31, since the J-Core aic1 interrupt controller generates
these traps. This range was unused but nominally for hardware
exceptions on SH-2, and a few values in this range were used for
exceptions on SH-2A, but SH-2A has its own version of the relevant
code.

No individual cpu subtypes are added for J2 since the intent moving
forward is to represent SoCs with device tree rather than as
hard-coded subtypes in the kernel. The CPU_SUBTYPE_J2 Kconfig item
exists only to fit into the existing cpu selection mechanism until it
is overhauled.

Signed-off-by: Rich Felker <dalias@libc.org>
arch/sh/Kconfig
arch/sh/Makefile
arch/sh/include/asm/processor.h
arch/sh/kernel/cpu/init.c
arch/sh/kernel/cpu/proc.c
arch/sh/kernel/cpu/sh2/entry.S
arch/sh/kernel/cpu/sh2/probe.c
arch/sh/mm/Makefile
arch/sh/mm/cache-j2.c [new file with mode: 0644]
arch/sh/mm/cache.c