diff options
author | Gleb Natapov <gleb@redhat.com> | 2010-10-14 11:22:52 +0200 |
---|---|---|
committer | Avi Kivity <avi@redhat.com> | 2011-01-12 11:23:16 +0200 |
commit | 631bc4878220932fe67fc46fc7cf7cccdb1ec597 (patch) | |
tree | ac588182d02308a004d45a9c3ae6834d096e263d /arch/x86/kernel/entry_64.S | |
parent | fd10cde9294f73eeccbc16f3fec1ae6cde7b800c (diff) | |
download | blackbird-op-linux-631bc4878220932fe67fc46fc7cf7cccdb1ec597.tar.gz blackbird-op-linux-631bc4878220932fe67fc46fc7cf7cccdb1ec597.zip |
KVM: Handle async PF in a guest.
When async PF capability is detected hook up special page fault handler
that will handle async page fault events and bypass other page faults to
regular page fault handler. Also add async PF handling to nested SVM
emulation. Async PF always generates exit to L1 where vcpu thread will
be scheduled out until page is available.
Acked-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
-rw-r--r-- | arch/x86/kernel/entry_64.S | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index e3ba417e8697..bb3f6e9bfa68 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -1319,6 +1319,9 @@ errorentry xen_stack_segment do_stack_segment #endif errorentry general_protection do_general_protection errorentry page_fault do_page_fault +#ifdef CONFIG_KVM_GUEST +errorentry async_page_fault do_async_page_fault +#endif #ifdef CONFIG_X86_MCE paranoidzeroentry machine_check *machine_check_vector(%rip) #endif |