[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] target/arm: Drop unsupported_encoding() macro
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [PATCH] target/arm: Drop unsupported_encoding() macro |
Date: |
Mon, 9 May 2022 19:49:05 +0200 |
On Mon, May 9, 2022 at 6:05 PM Peter Maydell <peter.maydell@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.maydell@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é <f4bug@amsat.org>