]> git.baikalelectronics.ru Git - kernel.git/commit
[S390] kvm: fix address mode switching
authorChristian Borntraeger <borntraeger@de.ibm.com>
Tue, 20 Sep 2011 15:07:28 +0000 (17:07 +0200)
committerHeiko Carstens <heiko.carstens@de.ibm.com>
Tue, 20 Sep 2011 15:07:34 +0000 (17:07 +0200)
commitc9d8e6c02809af40882f774b5996f1a385050b9d
treeb252230da3bba55a8e4ebd747767257c781670d7
parent5651306af19686a4093db9df9f1598989258bcaa
[S390] kvm: fix address mode switching

9e856fe0b17d19d6d3ebe05635c9a46ddf5947f6 ([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>
arch/s390/include/asm/pgtable.h
arch/s390/kernel/asm-offsets.c
arch/s390/kernel/entry64.S
arch/s390/kvm/kvm-s390.c
arch/s390/mm/pgtable.c