qemu-arm
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-arm] [Qemu-devel] [PATCH] decodetree: Propagate return value f


From: Peter Maydell
Subject: Re: [Qemu-arm] [Qemu-devel] [PATCH] decodetree: Propagate return value from translate subroutines
Date: Thu, 1 Mar 2018 11:59:34 +0000

On 28 February 2018 at 16:48, Richard Henderson
<address@hidden> wrote:
> Allow the translate subroutines to return false for invalid insns.
>
> At present we can of course invoke an invalid insn exception from within
> the translate subroutine, but in the short term this consolidates code.
> In the long term it would allow the decodetree language to support
> overlapping patterns for ISA extensions.
>
> Signed-off-by: Richard Henderson <address@hidden>
> ---
>
> Since this makes an ABI change to the translate functions called by the
> decode function, let's make it now before there are any in-tree users.
>
> My SVE branch over-decodes in quite a lot of cases -- e.g. things like
> the 2-bit size field must be 1-3 for fp operands, and so size==0 is
> unallocated.  Returning false for these cases allows the actual call
> to unallocated_encoding to be done in one place instead of hundreds.
>
> Longer term, I'm thinking of how to handle decode of overlapping ISA
> extensions.  One could allow (specific) overlapping patterns and
> prioritize them in some way (e.g. first in file is first matched).
> My thought is that trans_insn_a would check a cpu feature bit and
> return false if not enabled.  Then trans_insn_b would be given its
> chance to handle the insn.

Reviewed-by: Peter Maydell <address@hidden>

I'll put this into target-arm.next, unless you'd prefer it to go
in via some other route.

thanks
-- PMM



reply via email to

[Prev in Thread] Current Thread [Next in Thread]