diff options
author | Gary S. Robertson <gary.robertson@linaro.org> | 2016-01-20 15:45:29 -0600 |
---|---|---|
committer | Gary S. Robertson <gary.robertson@linaro.org> | 2016-01-20 15:45:29 -0600 |
commit | 1d10e9e61dedad92bcf380a421d08f021e62ff1b (patch) | |
tree | 8e7641caa0710f4eba713a7f25de5eb314720993 /arch/mips/kvm/locore.S | |
parent | d532db8c82faef41ad16e6db7a8459aa21f4a822 (diff) | |
parent | 9f41e6b222c4a04c7b46068df82842a6188b4a57 (diff) |
Merge tag 'lsk-v4.1-15.12' of http://git.linaro.org/kernel/linux-linaro-stable into linux-linaro-lng-v4.1linux-lng-4.1.14-2016.03linux-lng-4.1.14-2016.02linux-lng-4.1.14-2016.01linux-linaro-lng-v4.1
LSK 15.12 v4.1
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 c567240386a0..d1ee95a7f7dd 100644 --- a/arch/mips/kvm/locore.S +++ b/arch/mips/kvm/locore.S @@ -165,9 +165,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: @@ -482,9 +484,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: |