diff options
Diffstat (limited to 'arch/mips/kernel')
-rw-r--r-- | arch/mips/kernel/binfmt_elfo32.c | 4 | ||||
-rw-r--r-- | arch/mips/kernel/cevt-r4k.c | 4 | ||||
-rw-r--r-- | arch/mips/kernel/traps.c | 7 |
3 files changed, 14 insertions, 1 deletions
diff --git a/arch/mips/kernel/binfmt_elfo32.c b/arch/mips/kernel/binfmt_elfo32.c index 556a4357d7fc..97c5a1668e53 100644 --- a/arch/mips/kernel/binfmt_elfo32.c +++ b/arch/mips/kernel/binfmt_elfo32.c | |||
@@ -48,7 +48,11 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; | |||
48 | __res; \ | 48 | __res; \ |
49 | }) | 49 | }) |
50 | 50 | ||
51 | #ifdef CONFIG_KVM_GUEST | ||
52 | #define TASK32_SIZE 0x3fff8000UL | ||
53 | #else | ||
51 | #define TASK32_SIZE 0x7fff8000UL | 54 | #define TASK32_SIZE 0x7fff8000UL |
55 | #endif | ||
52 | #undef ELF_ET_DYN_BASE | 56 | #undef ELF_ET_DYN_BASE |
53 | #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) | 57 | #define ELF_ET_DYN_BASE (TASK32_SIZE / 3 * 2) |
54 | 58 | ||
diff --git a/arch/mips/kernel/cevt-r4k.c b/arch/mips/kernel/cevt-r4k.c index 07b847d77f5d..fd75d7144524 100644 --- a/arch/mips/kernel/cevt-r4k.c +++ b/arch/mips/kernel/cevt-r4k.c | |||
@@ -118,6 +118,10 @@ int c0_compare_int_usable(void) | |||
118 | unsigned int delta; | 118 | unsigned int delta; |
119 | unsigned int cnt; | 119 | unsigned int cnt; |
120 | 120 | ||
121 | #ifdef CONFIG_KVM_GUEST | ||
122 | return 1; | ||
123 | #endif | ||
124 | |||
121 | /* | 125 | /* |
122 | * IP7 already pending? Try to clear it by acking the timer. | 126 | * IP7 already pending? Try to clear it by acking the timer. |
123 | */ | 127 | */ |
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index a200b5bdbb87..59351e5d0591 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -1713,7 +1713,12 @@ void __init trap_init(void) | |||
1713 | ebase = (unsigned long) | 1713 | ebase = (unsigned long) |
1714 | __alloc_bootmem(size, 1 << fls(size), 0); | 1714 | __alloc_bootmem(size, 1 << fls(size), 0); |
1715 | } else { | 1715 | } else { |
1716 | ebase = CKSEG0; | 1716 | #ifdef CONFIG_KVM_GUEST |
1717 | #define KVM_GUEST_KSEG0 0x40000000 | ||
1718 | ebase = KVM_GUEST_KSEG0; | ||
1719 | #else | ||
1720 | ebase = CKSEG0; | ||
1721 | #endif | ||
1717 | if (cpu_has_mips_r2) | 1722 | if (cpu_has_mips_r2) |
1718 | ebase += (read_c0_ebase() & 0x3ffff000); | 1723 | ebase += (read_c0_ebase() & 0x3ffff000); |
1719 | } | 1724 | } |