1
linux/arch/s390/kernel
Christian Borntraeger 480e5926ce [S390] kvm: fix address mode switching
598841ca99 ([S390] use gmap address
spaces for kvm guest images) changed kvm to use a separate address
space for kvm guests. This address space was switched in __vcpu_run
In some cases (preemption, page fault) there is the possibility that
this address space switch is lost.
The typical symptom was a huge amount of validity intercepts or
random guest addressing exceptions.
Fix this by doing the switch in sie_loop and sie_exit and saving the
address space in the gmap structure itself. Also use the preempt
notifier.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
2011-09-20 17:07:34 +02:00
..
vdso32 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
vdso64 [S390] vdso: disable gcov profiling 2011-05-23 10:24:29 +02:00
asm-offsets.c [S390] kvm: fix address mode switching 2011-09-20 17:07:34 +02:00
audit.c
audit.h
base.S [S390] Use diagnose 308 for system reset 2011-08-03 16:44:19 +02:00
bitmap.c
compat_audit.c
compat_exec_domain.c
compat_linux.c BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
compat_linux.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
compat_ptrace.h [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
compat_signal.c [S390] signal: convert to use set_current_blocked() 2011-08-03 16:44:20 +02:00
compat_wrapper.S All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
cpcmd.c
crash.c
debug.c llseek: automatically add .llseek fop 2010-10-15 15:53:27 +02:00
diag.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
dis.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
early.c [S390] nss,initrd: kernel image and initrd must be in different segments 2011-08-24 17:15:23 +02:00
ebcdic.c
entry64.S [S390] kvm: fix address mode switching 2011-09-20 17:07:34 +02:00
entry.h [S390] cleanup program check handler prototypes 2011-07-24 10:48:21 +02:00
entry.S [S390] Add PSW restart shutdown trigger 2011-08-03 16:44:19 +02:00
ftrace.c [S390] cleanup ftrace backend functions 2011-01-05 12:47:31 +01:00
head31.S [S390] iucv cr0 enablement bit 2011-07-24 10:48:22 +02:00
head64.S [S390] initial cr0 bits 2011-07-24 10:48:22 +02:00
head.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
init_task.c Use new __init_task_data macro in arch init_task.c files. 2009-09-21 06:27:08 +02:00
ipl.c [S390] Change default action from reipl to stop for on_restart 2011-08-24 17:15:24 +02:00
irq.c [S390] race safe external interrupt registration 2011-07-24 10:48:22 +02:00
jump_label.c jump label: Add s390 support 2011-04-04 13:43:16 -04:00
kprobes.c [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
machine_kexec.c [S390] kexec: Disable ftrace during kexec 2011-03-15 17:08:24 +01:00
Makefile [S390] irq: merge irq.c and s390_ext.c 2011-05-26 09:48:24 +02:00
mcount64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mcount.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
mem_detect.c Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
module.c modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
nmi.c [S390] irq: have detailed statistics for interrupt types 2011-01-05 12:47:25 +01:00
process.c [S390] Remove unused includes in process.c 2011-05-23 10:24:32 +02:00
processor.c [S390] prevent unneccesary loops_per_jiffy recalculation 2011-01-05 12:47:32 +01:00
ptrace.c [S390] ptrace cleanup 2011-01-05 12:47:31 +01:00
reipl64.S [S390] Export store_status() function 2011-08-03 16:44:19 +02:00
reipl.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
relocate_kernel64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
relocate_kernel.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
s390_ksyms.c [S390] move sie code to entry.S 2011-07-24 10:48:21 +02:00
sclp.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
setup.c [S390] Add support for IBM zEnterprise 114 2011-08-03 16:44:20 +02:00
signal.c [S390] signal: use set_restore_sigmask() helper 2011-08-03 16:44:21 +02:00
smp.c [S390] smp: remove pointless comments in startup_secondary() 2011-08-03 16:44:21 +02:00
stacktrace.c
suspend.c [S390] hibernate: make sure pfn_is_nosave handles lowcore pages 2009-09-22 22:58:45 +02:00
switch_cpu64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
switch_cpu.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
swsusp_asm64.S [S390] fix s390 assembler code alignments 2011-07-24 10:48:21 +02:00
sys_s390.c [S390] sys_personality: follow u_long to unsigned int conversion 2010-08-13 10:06:54 +02:00
syscalls.S All Arch: remove linkage for sys_nfsservctl system call 2011-08-26 15:09:58 -07:00
sysinfo.c [S390] topology: add SCHED_MC config option 2010-10-29 16:50:49 +02:00
time.c [S390] irq: merge irq.c and s390_ext.c 2011-05-26 09:48:24 +02:00
topology.c [S390] irq: merge irq.c and s390_ext.c 2011-05-26 09:48:24 +02:00
traps.c atomic: use <linux/atomic.h> 2011-07-26 16:49:47 -07:00
vdso.c mm: arch: rename in_gate_area_no_task to in_gate_area_no_mm 2011-03-23 16:36:55 -04:00
vmlinux.lds.S percpu: Always align percpu output section to PAGE_SIZE 2011-03-24 18:50:09 +01:00
vtime.c [S390] irq: merge irq.c and s390_ext.c 2011-05-26 09:48:24 +02:00