Commit 8e748c8d authored by James Hogan's avatar James Hogan Committed by Ralf Baechle

MIPS: Fix KVM guest fixmap address

KVM guest kernels for trap & emulate run in user mode, with a modified
set of kernel memory segments. However the fixmap address is still in
the normal KSeg3 region at 0xfffe0000 regardless, causing problems when
cache alias handling makes use of them when handling copy on write.

Therefore define FIXADDR_TOP as 0x7ffe0000 in the guest kernel mapped
region when CONFIG_KVM_GUEST is defined.
Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: <stable@vger.kernel.org> # v3.10+
Patchwork: https://patchwork.linux-mips.org/patch/9887/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 24f2970f
...@@ -94,7 +94,11 @@ ...@@ -94,7 +94,11 @@
#endif #endif
#ifndef FIXADDR_TOP #ifndef FIXADDR_TOP
#ifdef CONFIG_KVM_GUEST
#define FIXADDR_TOP ((unsigned long)(long)(int)0x7ffe0000)
#else
#define FIXADDR_TOP ((unsigned long)(long)(int)0xfffe0000) #define FIXADDR_TOP ((unsigned long)(long)(int)0xfffe0000)
#endif #endif
#endif
#endif /* __ASM_MACH_GENERIC_SPACES_H */ #endif /* __ASM_MACH_GENERIC_SPACES_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment