|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [PATCH for-2.10 1/3] target/mips: Use BS_EXCP where interrupts are expected |
Date: | Wed, 2 Aug 2017 08:00:10 -0700 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 08/02/2017 02:59 AM, James Hogan wrote:
Commit e350d8ca3ac7 ("target/mips: optimize indirect branches") made indirect branches able to directly find the next TB and jump straight to it without breaking out of translated code and going around the main execution loop. This breaks the assumption in target/mips/translate.c that BS_STOP is sufficient to cause pending interrupts to be handled, since interrupts are only checked in the main loop. Fix a few of these assumptions by using gen_save_pc to update the saved PC and using BS_EXCP instead of BS_STOP:
I don't like the name, BS_EXCP, because this isn't an exception.But, since one of the first things we'll do in 2.11 is land LLuis' generic translation framework, and rename all of these exit conditions, this is ok. It certainly is the minimal change for 2.10, and this does work.
Reviewed-by: Richard Henderson <address@hidden> r~
[Prev in Thread] | Current Thread | [Next in Thread] |