remarkable-linux/arch/s390/kernel
Michael Holzheu a62bc07392 s390/kdump: add support for vector extension
With this patch for kdump the s390 vector registers are stored into the
prepared save areas in the old kernel and into the REGSET_VX_LOW and
REGSET_VX_HIGH ELF notes for /proc/vmcore in the new kernel.

The NT_S390_VXRS_LOW note contains the lower halves of the first 16 vector
registers 0-15. The higher halves are stored in the floating point register
ELF note.  The NT_S390_VXRS_HIGH contains the full vector registers 16-31.

The kernel provides a save area for storing vector register in case of
machine checks. A pointer to this save are is stored in the CPU lowcore
at offset 0x11b0. This save area is also used to save the registers for
kdump. In case of a dumped crashed kdump those areas are used to extract
the registers of the production system.

The vector registers for remote CPUs are stored using the "store additional
status at address" SIGP. For the dump CPU the vector registers are stored
with the VSTM instruction.

With this patch also zfcpdump stores the vector registers.

Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Michael Holzheu <holzheu@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2014-10-09 09:14:16 +02:00
..
vdso32 s390/vdso: add vdso support for coarse clocks 2014-09-09 08:53:27 +02:00
vdso64 s390/vdso: add vdso support for coarse clocks 2014-09-09 08:53:27 +02:00
.gitignore
asm-offsets.c s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
audit.c
audit.h
base.S
cache.c s390, cacheinfo: Fix CPU hotplug callback registration 2014-03-20 13:43:41 +01:00
compat_audit.c
compat_linux.c s390/compat: add sync_file_range and fallocate compat syscalls 2014-03-04 09:05:47 +01:00
compat_linux.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_ptrace.h
compat_signal.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
compat_wrapper.c s390: wire up memfd_create syscall 2014-08-12 13:00:08 +02:00
cpcmd.c
crash_dump.c s390/kdump: add support for vector extension 2014-10-09 09:14:16 +02:00
debug.c
diag.c
dis.c s390/disassembler: add vector instructions 2014-10-09 09:14:15 +02:00
dumpstack.c s390: show_registers() should not map user space addresses to kernel symbols 2014-04-11 13:53:27 +02:00
early.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
ebcdic.c
entry.h s390: add support for vector extension 2014-10-09 09:14:13 +02:00
entry.S At over 200 commits, covering almost all supported architectures, this 2014-06-04 08:47:12 -07:00
entry64.S s390/uprobes: architecture backend for uprobes 2014-09-25 10:52:17 +02:00
ftrace.c s390/ftrace: optimize mcount code 2014-09-09 08:53:30 +02:00
head.S s390/head.s: use zero as address for stfl 2014-09-25 10:52:06 +02:00
head31.S s390/mm: Convert bootmem to memblock 2014-05-20 08:58:40 +02:00
head64.S
head_kdump.S
idle.c s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
ipl.c s390/ipl: Add missing SCSI loadparm attributes to /sys/firmware 2014-09-01 09:56:29 +02:00
irq.c s390/nohz: use a per-cpu flag for arch_needs_cpu 2014-10-09 09:14:02 +02:00
jump_label.c
kprobes.c s390/uprobes: common library for kprobes and uprobes 2014-09-25 10:52:14 +02:00
lgr.c
machine_kexec.c s390/kdump: add support for vector extension 2014-10-09 09:14:16 +02:00
Makefile s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
mcount.S s390/ftrace: enforce DYNAMIC_FTRACE if FUNCTION_TRACER is selected 2014-09-09 08:53:29 +02:00
mcount64.S s390/ftrace: optimize mcount code 2014-09-09 08:53:30 +02:00
module.c
nmi.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
os_info.c
perf_cpum_cf.c s390, perf: Use common PMU interrupt disabled code 2014-06-19 19:37:50 +02:00
perf_cpum_cf_events.c
perf_cpum_sf.c s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
perf_event.c s390/perf: make print_debug_cf() static 2014-03-14 12:59:32 +01:00
pgm_check.S s390: add support for vector extension 2014-10-09 09:14:13 +02:00
process.c s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00
processor.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
ptrace.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
reipl.S
reipl64.S
relocate_kernel.S
relocate_kernel64.S
runtime_instr.c s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
s390_ksyms.c
sclp.S s390/irq: Use defines for external interruption codes 2014-04-03 14:30:52 +02:00
setup.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
signal.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
smp.c s390/kdump: add support for vector extension 2014-10-09 09:14:16 +02:00
stacktrace.c
suspend.c
swsusp_asm64.S
sys_s390.c
syscalls.S s390: wire up memfd_create syscall 2014-08-12 13:00:08 +02:00
sysinfo.c
time.c s390/vdso: add vdso support for coarse clocks 2014-09-09 08:53:27 +02:00
topology.c s390/topology: call set_sched_topology early 2014-09-26 12:22:39 +02:00
traps.c s390: add support for vector extension 2014-10-09 09:14:13 +02:00
uprobes.c s390/uprobes: architecture backend for uprobes 2014-09-25 10:52:17 +02:00
vdso.c arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area 2014-08-08 15:57:27 -07:00
vmlinux.lds.S
vtime.c s390/idle: consolidate idle functions and definitions 2014-10-09 09:14:03 +02:00