target-sh4: move intr_at_halt out of cpu_halted()
authorAurelien Jarno <aurelien@aurel32.net>
Thu, 24 Feb 2011 11:31:41 +0000 (12:31 +0100)
committerAurelien Jarno <aurelien@aurel32.net>
Thu, 3 Mar 2011 22:33:22 +0000 (23:33 +0100)
commitefac4154711863128558b5b65486ac79b760367e
tree7eba947ea407303db2a322f7015e166e66affa27
parent8a231487bc45ad5e5a70c747d9f35027922fb640
target-sh4: move intr_at_halt out of cpu_halted()

All targets except SH4 have the same cpu_halted() routine, and it has
only one caller. It is therefore a good candidate for inlining.

The difference is the handling of the intr_at_halt, which is necessary
to ignore SR.BL when sleeping. Move intr_at_halt handling out of it, by
setting this variable while executing the sleep instruction, and
clearing it when the CPU has been woken-up by an interrupt, whatever the
state of SR.BL. Also rename this variable in_sleep.

Cc: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
target-sh4/cpu.h
target-sh4/exec.h
target-sh4/helper.c
target-sh4/op_helper.c