diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2016-01-08 02:51:13 +0300 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2016-01-08 02:51:13 +0300 |
commit | abaee091a18c19ccd86feb1c8374585d82e96777 (patch) | |
tree | 01602bae73e1278c3d98dafe1c269049927c58ce /arch/mips/kvm/locore.S | |
parent | a2746fb16e41b7c8f02aa4d2605ecce97abbebbd (diff) | |
parent | 3f8d6f2a0797e8c650a47e5c1b5c2601a46f4293 (diff) | |
download | linux-abaee091a18c19ccd86feb1c8374585d82e96777.tar.xz |
Merge branch 'jejb-scsi' into misc
Diffstat (limited to 'arch/mips/kvm/locore.S')
-rw-r--r-- | arch/mips/kvm/locore.S | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/arch/mips/kvm/locore.S b/arch/mips/kvm/locore.S index 7bab3a4e8f7d..7e2210846b8b 100644 --- a/arch/mips/kvm/locore.S +++ b/arch/mips/kvm/locore.S @@ -157,9 +157,11 @@ FEXPORT(__kvm_mips_vcpu_run) FEXPORT(__kvm_mips_load_asid) /* Set the ASID for the Guest Kernel */ - INT_SLL t0, t0, 1 /* with kseg0 @ 0x40000000, kernel */ - /* addresses shift to 0x80000000 */ - bltz t0, 1f /* If kernel */ + PTR_L t0, VCPU_COP0(k1) + LONG_L t0, COP0_STATUS(t0) + andi t0, KSU_USER | ST0_ERL | ST0_EXL + xori t0, KSU_USER + bnez t0, 1f /* If kernel */ INT_ADDIU t1, k1, VCPU_GUEST_KERNEL_ASID /* (BD) */ INT_ADDIU t1, k1, VCPU_GUEST_USER_ASID /* else user */ 1: @@ -474,9 +476,11 @@ __kvm_mips_return_to_guest: mtc0 t0, CP0_EPC /* Set the ASID for the Guest Kernel */ - INT_SLL t0, t0, 1 /* with kseg0 @ 0x40000000, kernel */ - /* addresses shift to 0x80000000 */ - bltz t0, 1f /* If kernel */ + PTR_L t0, VCPU_COP0(k1) + LONG_L t0, COP0_STATUS(t0) + andi t0, KSU_USER | ST0_ERL | ST0_EXL + xori t0, KSU_USER + bnez t0, 1f /* If kernel */ INT_ADDIU t1, k1, VCPU_GUEST_KERNEL_ASID /* (BD) */ INT_ADDIU t1, k1, VCPU_GUEST_USER_ASID /* else user */ 1: |