summaryrefslogtreecommitdiffstats
path: root/fs/nls/mac-celtic.c
diff options
context:
space:
mode:
authorJames Hogan <james.hogan@imgtec.com>2017-03-14 10:15:28 +0000
committerJames Hogan <james.hogan@imgtec.com>2017-03-28 14:53:52 +0100
commit5dee99b24eeffbe673a71237faf551978cd311d3 (patch)
treec94dfca417fc9acd6ce0164a5c64940547a95801 /fs/nls/mac-celtic.c
parent372582a6c6fcced38219d06545dd26ad7904bc6f (diff)
downloadlinux-5dee99b24eeffbe673a71237faf551978cd311d3.tar.bz2
KVM: MIPS/Emulate: Update CP0_Compare emulation for VZ
Update emulation of guest writes to CP0_Compare for VZ. There are two main differences compared to trap & emulate: - Writing to CP0_Compare in the VZ hardware guest context acks any pending timer, clearing CP0_Cause.TI. If we don't want an ack to take place we must carefully restore the TI bit if it was previously set. - Even with guest timer access disabled in CP0_GuestCtl0.GT, if the guest CP0_Count reaches the guest CP0_Compare the timer interrupt will assert. To prevent this we must set CP0_GTOffset to move the guest CP0_Count out of the way of the new guest CP0_Compare, either before or after depending on whether it is a forwards or backwards change. Signed-off-by: James Hogan <james.hogan@imgtec.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: "Radim Krčmář" <rkrcmar@redhat.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: linux-mips@linux-mips.org Cc: kvm@vger.kernel.org
Diffstat (limited to 'fs/nls/mac-celtic.c')
0 files changed, 0 insertions, 0 deletions