|
@@ -15,6 +15,7 @@
|
|
#include <linux/vmalloc.h>
|
|
#include <linux/vmalloc.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/bootmem.h>
|
|
#include <linux/bootmem.h>
|
|
|
|
+#include <asm/fpu.h>
|
|
#include <asm/page.h>
|
|
#include <asm/page.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/cacheflush.h>
|
|
#include <asm/mmu_context.h>
|
|
#include <asm/mmu_context.h>
|
|
@@ -379,6 +380,8 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu *vcpu, struct kvm_run *run)
|
|
vcpu->mmio_needed = 0;
|
|
vcpu->mmio_needed = 0;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ lose_fpu(1);
|
|
|
|
+
|
|
local_irq_disable();
|
|
local_irq_disable();
|
|
/* Check if we have any exceptions/interrupts pending */
|
|
/* Check if we have any exceptions/interrupts pending */
|
|
kvm_mips_deliver_interrupts(vcpu,
|
|
kvm_mips_deliver_interrupts(vcpu,
|
|
@@ -986,9 +989,6 @@ static void kvm_mips_set_c0_status(void)
|
|
{
|
|
{
|
|
uint32_t status = read_c0_status();
|
|
uint32_t status = read_c0_status();
|
|
|
|
|
|
- if (cpu_has_fpu)
|
|
|
|
- status |= (ST0_CU1);
|
|
|
|
-
|
|
|
|
if (cpu_has_dsp)
|
|
if (cpu_has_dsp)
|
|
status |= (ST0_MX);
|
|
status |= (ST0_MX);
|
|
|
|
|