]> git.proxmox.com Git - qemu.git/commit
PPC: Fix TLB invalidation bug within the PPC interrupt handler.
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Tue, 27 Mar 2012 15:41:55 +0000 (16:41 +0100)
committerAndreas Färber <afaerber@suse.de>
Sun, 15 Apr 2012 15:07:19 +0000 (17:07 +0200)
commit52d631dcc70144b6ce8293db78cd6de635331c83
tree108b08694621ea3fb874f13966ab9a1e4c2b291b
parentda12872a0973718997c00f1c1e8e5b91ee4c713a
PPC: Fix TLB invalidation bug within the PPC interrupt handler.

Commit 41557447d30eeb944e42069513df13585f5e6c7f also introduced a subtle TLB
flush bug. By applying a mask to the interrupt MSR which cleared the IR/DR
bits at the start of the interrupt handler, the logic towards the end of the
handler to force a TLB flush if either one of these bits were set would never
be triggered.

This patch simply changes the IR/DR bit check in the TLB flush logic to use
the original MSR value (albeit with some interrupt-specific bits cleared) so
that the IR/DR bits are preserved at the point where the check takes place.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Acked-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andreas Färber <afaerber@suse.de>
target-ppc/helper.c