qemu-e2k/target/ppc/translate
Richard Purdie 5260ecffd2 target/ppc: Fix fallback to MFSS for MFFS* instructions on pre 3.0 ISAs
The following commits changed the code such that the fallback to MFSS for MFFSCRN,
MFFSCRNI, MFFSCE and MFFSL on pre 3.0 ISAs was removed and became an illegal instruction:

  bf8adfd88b - target/ppc: Move mffscrn[i] to decodetree
  394c2e2fda - target/ppc: Move mffsce to decodetree
  3e5bce70ef - target/ppc: Move mffsl to decodetree

The hardware will handle them as a MFFS instruction as the code did previously.
This means applications that were segfaulting under qemu when encountering these
instructions which is used in glibc libm functions for example.

The fallback for MFFSCDRN and MFFSCDRNI added in a later patch was also missing.

This patch restores the fallback to MFSS for these instructions on pre 3.0s ISAs
as the hardware decoder would, fixing the segfaulting libm code. It doesn't have
the fallback for 3.0 onwards to match hardware behaviour.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Reviewed-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230510111913.1718734-1-richard.purdie@linuxfoundation.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
2023-05-27 08:25:19 -03:00
..
branch-impl.c.inc PPC64/TCG: Implement 'rfebb' instruction 2021-12-17 17:57:19 +01:00
dfp-impl.c.inc target/ppc: Drop tcg_temp_free 2023-03-05 13:44:08 -08:00
fixedpoint-impl.c.inc target/ppc: Use tcg_gen_qemu_{ld,st}_i128 for LQARX, LQ, STQ 2023-05-23 16:51:19 -07:00
fp-impl.c.inc target/ppc: Fix fallback to MFSS for MFFS* instructions on pre 3.0 ISAs 2023-05-27 08:25:19 -03:00
fp-ops.c.inc target/ppc: Move fsqrts to decodetree 2022-09-20 10:54:06 -03:00
processor-ctrl-impl.c.inc target/ppc: move msgsync to decodetree 2022-10-28 13:15:21 -03:00
spe-impl.c.inc target/ppc: Drop tcg_temp_free 2023-03-05 13:44:08 -08:00
spe-ops.c.inc meson: rename included C source files to .c.inc 2020-08-21 06:18:30 -04:00
storage-ctrl-impl.c.inc target/ppc: Drop tcg_temp_free 2023-03-05 13:44:08 -08:00
vmx-impl.c.inc tcg: ppc64: Fix mask generation for vextractdm 2023-05-05 12:34:22 -03:00
vmx-ops.c.inc target/ppc: Move VABSDU[BHW] to decodetree and use gvec 2022-10-28 13:15:22 -03:00
vsx-impl.c.inc target/ppc: Avoid tcg_const_* in vsx-impl.c.inc 2023-03-13 07:03:39 -07:00
vsx-ops.c.inc target/ppc: Moved XSTSTDC[QDS]P to decodetree 2022-10-28 13:15:22 -03:00