]> git.proxmox.com Git - qemu.git/commit - target-xtensa/translate.c
target-xtensa: implement loop option
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 5 Sep 2011 23:55:44 +0000 (03:55 +0400)
committerBlue Swirl <blauwirbel@gmail.com>
Sat, 10 Sep 2011 16:57:39 +0000 (16:57 +0000)
commit797d780b1375b1af1d7713685589bfdec9908dc3
tree5636c30b30f9c94ad9359f5b22eebfae38046c91
parent553e44f90645b7f2fc9cec7583844e24cd86019f
target-xtensa: implement loop option

See ISA, 4.3.2 for details.

Operations that change LEND SR value invalidate TBs at the old and at
the new LEND. LEND value at TB compilation time is considered constant
and loop instruction is generated based on this value.

Invalidation may be avoided for the TB at the old LEND address, since
looping code verifies actual LEND value.

Invalidation may be avoided for the TB at the new LEND address if
there's a way to associate LEND address with TB at compilation time and
later verify that it doesn't change.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
target-xtensa/cpu.h
target-xtensa/helpers.h
target-xtensa/op_helper.c
target-xtensa/translate.c