KVM: PPC: Move KVM trampolines before __end_interrupts
authorAlexander Graf <agraf@suse.de>
Thu, 29 Jul 2010 13:04:22 +0000 (15:04 +0200)
committerAvi Kivity <avi@redhat.com>
Sun, 24 Oct 2010 08:50:59 +0000 (10:50 +0200)
When using a relocatable kernel we need to make sure that the trampline code
and the interrupt handlers are both copied to low memory. The only way to do
this reliably is to put them in the copied section.

This patch should make relocated kernels work with KVM.

KVM-Stable-Tag
Signed-off-by: Alexander Graf <agraf@suse.de>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/kernel/exceptions-64s.S
arch/powerpc/kernel/head_64.S

index f53029a01554ca3ce86a9e1983b048335f7383f0..1667a078b3e6c8f2ee89d955a7ed3444334f3eea 100644 (file)
@@ -299,6 +299,12 @@ slb_miss_user_pseries:
        b       .                               /* prevent spec. execution */
 #endif /* __DISABLED__ */
 
+/* KVM's trampoline code needs to be close to the interrupt handlers */
+
+#ifdef CONFIG_KVM_BOOK3S_64_HANDLER
+#include "../kvm/book3s_rmhandlers.S"
+#endif
+
        .align  7
        .globl  __end_interrupts
 __end_interrupts:
index c571cd3c14532db29777c07977582e736be5a9aa..f0dd577e4a5b8b7f909a30069a7d57be9ba72d6e 100644 (file)
@@ -166,12 +166,6 @@ exception_marker:
 #include "exceptions-64s.S"
 #endif
 
-/* KVM trampoline code needs to be close to the interrupt handlers */
-
-#ifdef CONFIG_KVM_BOOK3S_64_HANDLER
-#include "../kvm/book3s_rmhandlers.S"
-#endif
-
 _GLOBAL(generic_secondary_thread_init)
        mr      r24,r3