On Mon, May 9, 2022 at 6:05 PM Peter Maydell <peter.mayd...@linaro.org> wrote:
>
> The unsupported_encoding() macro logs a LOG_UNIMP message and then
> generates code to raise the usual exception for an unallocated
> encoding.  Back when we were still implementing the A64 decoder this
> was helpful for flagging up when guest code was using something we
> hadn't yet implemented.  Now we completely cover the A64 instruction
> set it is barely used.  The only remaining uses are for five
> instructions whose semantics are "UNDEF, unless being run under
> external halting debug":
>  * HLT (when not being used for semihosting)
>  * DCPSR1, DCPS2, DCPS3
>  * DRPS
>
> QEMU doesn't implement external halting debug, so for us the UNDEF is
> the architecturally correct behaviour (because it's not possible to
> execute these instructions with halting debug enabled).  The
> LOG_UNIMP doesn't serve a useful purpose; replace these uses of
> unsupported_encoding() with unallocated_encoding(), and delete the
> macro.
>
> Signed-off-by: Peter Maydell <peter.mayd...@linaro.org>
> ---
>  target/arm/translate-a64.h | 9 ---------
>  target/arm/translate-a64.c | 8 ++++----
>  2 files changed, 4 insertions(+), 13 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <f4...@amsat.org>

Reply via email to