aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/include/asm/kvm_host.h1
-rw-r--r--arch/mips/kvm/kvm_mips.c7
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/mips/include/asm/kvm_host.h b/arch/mips/include/asm/kvm_host.h
index 41e180ed36e3..6f9338450e24 100644
--- a/arch/mips/include/asm/kvm_host.h
+++ b/arch/mips/include/asm/kvm_host.h
@@ -442,6 +442,7 @@ struct kvm_vcpu_arch {
442#define kvm_read_c0_guest_context(cop0) (cop0->reg[MIPS_CP0_TLB_CONTEXT][0]) 442#define kvm_read_c0_guest_context(cop0) (cop0->reg[MIPS_CP0_TLB_CONTEXT][0])
443#define kvm_write_c0_guest_context(cop0, val) (cop0->reg[MIPS_CP0_TLB_CONTEXT][0] = (val)) 443#define kvm_write_c0_guest_context(cop0, val) (cop0->reg[MIPS_CP0_TLB_CONTEXT][0] = (val))
444#define kvm_read_c0_guest_userlocal(cop0) (cop0->reg[MIPS_CP0_TLB_CONTEXT][2]) 444#define kvm_read_c0_guest_userlocal(cop0) (cop0->reg[MIPS_CP0_TLB_CONTEXT][2])
445#define kvm_write_c0_guest_userlocal(cop0, val) (cop0->reg[MIPS_CP0_TLB_CONTEXT][2] = (val))
445#define kvm_read_c0_guest_pagemask(cop0) (cop0->reg[MIPS_CP0_TLB_PG_MASK][0]) 446#define kvm_read_c0_guest_pagemask(cop0) (cop0->reg[MIPS_CP0_TLB_PG_MASK][0])
446#define kvm_write_c0_guest_pagemask(cop0, val) (cop0->reg[MIPS_CP0_TLB_PG_MASK][0] = (val)) 447#define kvm_write_c0_guest_pagemask(cop0, val) (cop0->reg[MIPS_CP0_TLB_PG_MASK][0] = (val))
447#define kvm_read_c0_guest_wired(cop0) (cop0->reg[MIPS_CP0_TLB_WIRED][0]) 448#define kvm_read_c0_guest_wired(cop0) (cop0->reg[MIPS_CP0_TLB_WIRED][0])
diff --git a/arch/mips/kvm/kvm_mips.c b/arch/mips/kvm/kvm_mips.c
index 61d834cc35cf..26f10fb8dcba 100644
--- a/arch/mips/kvm/kvm_mips.c
+++ b/arch/mips/kvm/kvm_mips.c
@@ -526,6 +526,7 @@ static u64 kvm_mips_get_one_regs[] = {
526 526
527 KVM_REG_MIPS_CP0_INDEX, 527 KVM_REG_MIPS_CP0_INDEX,
528 KVM_REG_MIPS_CP0_CONTEXT, 528 KVM_REG_MIPS_CP0_CONTEXT,
529 KVM_REG_MIPS_CP0_USERLOCAL,
529 KVM_REG_MIPS_CP0_PAGEMASK, 530 KVM_REG_MIPS_CP0_PAGEMASK,
530 KVM_REG_MIPS_CP0_WIRED, 531 KVM_REG_MIPS_CP0_WIRED,
531 KVM_REG_MIPS_CP0_BADVADDR, 532 KVM_REG_MIPS_CP0_BADVADDR,
@@ -570,6 +571,9 @@ static int kvm_mips_get_reg(struct kvm_vcpu *vcpu,
570 case KVM_REG_MIPS_CP0_CONTEXT: 571 case KVM_REG_MIPS_CP0_CONTEXT:
571 v = (long)kvm_read_c0_guest_context(cop0); 572 v = (long)kvm_read_c0_guest_context(cop0);
572 break; 573 break;
574 case KVM_REG_MIPS_CP0_USERLOCAL:
575 v = (long)kvm_read_c0_guest_userlocal(cop0);
576 break;
573 case KVM_REG_MIPS_CP0_PAGEMASK: 577 case KVM_REG_MIPS_CP0_PAGEMASK:
574 v = (long)kvm_read_c0_guest_pagemask(cop0); 578 v = (long)kvm_read_c0_guest_pagemask(cop0);
575 break; 579 break;
@@ -678,6 +682,9 @@ static int kvm_mips_set_reg(struct kvm_vcpu *vcpu,
678 case KVM_REG_MIPS_CP0_CONTEXT: 682 case KVM_REG_MIPS_CP0_CONTEXT:
679 kvm_write_c0_guest_context(cop0, v); 683 kvm_write_c0_guest_context(cop0, v);
680 break; 684 break;
685 case KVM_REG_MIPS_CP0_USERLOCAL:
686 kvm_write_c0_guest_userlocal(cop0, v);
687 break;
681 case KVM_REG_MIPS_CP0_PAGEMASK: 688 case KVM_REG_MIPS_CP0_PAGEMASK:
682 kvm_write_c0_guest_pagemask(cop0, v); 689 kvm_write_c0_guest_pagemask(cop0, v);
683 break; 690 break;