|
From: | Richard Henderson |
Subject: | Re: [Qemu-devel] [PATCH v13 18/26] target/arm: [tcg] Port to breakpoint_check |
Date: | Sat, 15 Jul 2017 07:52:00 -1000 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 |
On 07/14/2017 09:56 PM, Lluís Vilanova wrote:
Another possibility is is_jmp = DISAS_TOO_MANY, and exit the translation loop after the breakpoint check only for is_jmp > DISAS_TOO_MANY. That allows all of the DISAS_TARGET_N values to exit as well.After a quick check, I see that arm uses both (DISAS_NORETURN and DISAS_TARGET_N) to exit in different points after the breakpoint. Moxie, mips and unicore32 use use DISAS_NORETURN, and the rest use DISAS_TARGET_N.
Of course, because those targets have not yet been ported to this generic infrastructure. I'm saying that we *define* the semantics of the hook to use DISAS_TOO_MANY to translate one more insn. That said, ARM is the *only* target that will use this feature. All others will only use NORETURN.
This isn't really any different than the enumerator you were using previously. Anyway, you can see my thoughts on this in the v14 series I posted last night. r~
[Prev in Thread] | Current Thread | [Next in Thread] |