This adds support for the TOC switches found on most PA-RISC machines. I tested this on my c8000 and a HP 16702A, which is basically a B160L with some logic analyzer hardware. Changes in v3: - add config option - move toc code to its own c & .S file - use early_initcall for setup - split out struct declarations - use sizeof(*ret) instead of sizeof(struct x) - move virt_map to assembly.h so it can be used from other files Changes in v2: - fix stack allocation - align toc_lock on 16 byte boundary - move toc_lock declaration to processor.c Sven Schnelle (4): parisc: move virt_map macro to assembly.h parisc: add PIM TOC data structures parisc/firmware: add functions to retrieve TOC data parisc: add support for TOC (transfer of control) arch/parisc/Kconfig | 14 ++++ arch/parisc/include/asm/assembly.h | 25 +++++++ arch/parisc/include/asm/pdc.h | 2 + arch/parisc/include/asm/processor.h | 4 + arch/parisc/include/uapi/asm/pdc.h | 28 ++++++- arch/parisc/kernel/Makefile | 1 + arch/parisc/kernel/entry.S | 24 ------ arch/parisc/kernel/firmware.c | 32 ++++++++ arch/parisc/kernel/toc.c | 111 ++++++++++++++++++++++++++++ arch/parisc/kernel/toc_asm.S | 88 ++++++++++++++++++++++ 10 files changed, 303 insertions(+), 26 deletions(-) create mode 100644 arch/parisc/kernel/toc.c create mode 100644 arch/parisc/kernel/toc_asm.S -- 2.33.0