target/arm: Default handling of BTYPE during translation
commit51bf0d7aa91a9d4e2563240a42e6cb705cef84aa
authorRichard Henderson <richard.henderson@linaro.org>
Tue, 5 Feb 2019 16:52:37 +0000 (5 16:52 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 5 Feb 2019 16:52:37 +0000 (5 16:52 +0000)
tree4072b59c5ac2c290bd577f62a77bb62e32461a44
parent1bafc2ba7e6bfe89fff3503fdac8db39c973de48
target/arm: Default handling of BTYPE during translation

The branch target exception for guarded pages has high priority,
and only 8 instructions are valid for that case.  Perform this
check before doing any other decode.

Clear BTYPE after all insns that neither set BTYPE nor exit via
exception (DISAS_NORETURN).

Not yet handled are insns that exit via DISAS_NORETURN for some
other reason, like direct branches.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20190128223118.5255-7-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/internals.h
target/arm/translate-a64.c
target/arm/translate.h