summaryrefslogtreecommitdiff
path: root/tools/kvm
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2017-12-21 02:49:14 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2017-12-21 14:59:54 +0300
commitfae1a3e775cca8c3a9e0eb34443b310871a15a92 (patch)
tree19939a12170be0445651ab50b5b65af6970732d2 /tools/kvm
parent43aabca38aa9668eee3c3c1206207034614c0901 (diff)
downloadlinux-fae1a3e775cca8c3a9e0eb34443b310871a15a92.tar.xz
kvm: x86: fix RSM when PCID is non-zero
rsm_load_state_64() and rsm_enter_protected_mode() load CR3, then CR4 & ~PCIDE, then CR0, then CR4. However, setting CR4.PCIDE fails if CR3[11:0] != 0. It's probably easier in the long run to replace rsm_enter_protected_mode() with an emulator callback that sets all the special registers (like KVM_SET_SREGS would do). For now, set the PCID field of CR3 only after CR4.PCIDE is 1. Reported-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Fixes: 660a5d517aaab9187f93854425c4c63f4a09195c Cc: stable@vger.kernel.org Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'tools/kvm')
0 files changed, 0 insertions, 0 deletions