Richard Henderson
5cccd1f182
target/arm: Use TRANS_FEAT for do_shift_zpzi
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-47-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
73c558a85d
target/arm: Introduce do_shift_zpzi
...
Share code between the various shifts using arg_rpri_esz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-46-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
5e612f8073
target/arm: Use TRANS_FEAT for do_shift_imm
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-45-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
9ac24f1f35
target/arm: Use TRANS_FEAT for do_vpz_ool
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-44-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
f2be26a5fe
target/arm: Use TRANS_FEAT for do_sve2_fn2i
...
Convert SVE translation functions using do_sve2_fn2i
to use TRANS_FEAT and gen_gvec_fn_arg_zzi.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-43-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
ada378f042
target/arm: Introduce gen_gvec_fn_arg_zzi
...
We have two places that perform this particular operation.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-42-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
68cc4ee3f9
target/arm: Hoist sve access check through do_sel_z
...
The check is already done in gen_gvec_ool_zzzp,
which is called by do_sel_z; remove from callers.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-41-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:07 +01:00
Richard Henderson
15a314dad5
target/arm: Use TRANS_FEAT for do_zz_dbm
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-40-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
faf915e2a1
target/arm: Introduce gen_gvec_fn_zzi
...
We have two places that perform this particular operation.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-39-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
b773a5c808
target/arm: Use TRANS_FEAT for do_sve2_zzzz_fn
...
Convert SVE translation functions using do_sve2_zzzz_fn
to use TRANS_FEAT and gen_gvec_fn_arg_zzzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-38-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
189876af9c
target/arm: Introduce gen_gvec_fn_arg_zzzz
...
Merge gen_gvec_fn_zzzz with the sve access check and the
dereference of arg_rrrr_esz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-37-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
2aa469ff5f
target/arm: Use TRANS_FEAT for RAX1
...
The decode for RAX1 sets esz to MO_8, because that's what
we use by default for "no esz present". We changed that
to MO_64 during translation because it is more logical for
the operation. However, the esz argument to gen_gvec_rax1
is unused and forces MO_64 within that function, so there
is no need to do it here as well.
Simplify to use gen_gvec_fn_arg_zzz and TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-36-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
79828dcbf5
target/arm: Use TRANS_FEAT for do_sve2_fn_zzz
...
Convert SVE translation functions using do_sve2_fn_zzz
to use TRANS_FEAT and gen_gvec_fn_arg_zzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-35-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
b262215bf3
target/arm: Use TRANS_FEAT for gen_gvec_fn_arg_zzz
...
Convert SVE translation functions directly using
gen_gvec_fn_arg_zzz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-34-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
f96aae7649
target/arm: More use of gen_gvec_fn_arg_zzz
...
Two uses of gen_gvec_fn_zzz can pass on arg_rrr_esz instead.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-33-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
cd54bbe662
target/arm: Rename do_zzz_fn to gen_gvec_fn_arg_zzz
...
Rename the function to match gen_gvec_fn_zzz,
and move to be adjacent.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-32-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
50f6db5f23
target/arm: Move null function and sve check into gen_gvec_fn_zzz
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-31-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
5f730621ea
target/arm: Merge gen_gvec_fn_zz into do_mov_z
...
There is only one caller for gen_gvec_fn_zz; inline it.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-30-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
5880bdc03e
target/arm: Use TRANS_FEAT for do_sve2_zpzz_ool
...
Convert SVE translation functions using do_sve2_zpzz_ool
to use TRANS_FEAT and gen_gvec_ool_arg_zpzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-29-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
8e7acb2443
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzz
...
Convert SVE translation functions directly using
gen_gvec_ool_arg_zpzz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-28-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
312016c96a
target/arm: Introduce gen_gvec_ool_arg_zpzz
...
Use gen_gvec_ool_arg_zpzz instead of gen_gvec_ool_zzzp
when the arguments come from arg_rprr_esz.
Replaces do_zpzz_ool.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-27-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
2a753d1e1d
target/arm: Move null function and sve check into gen_gvec_ool_zzzp
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-26-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:06 +01:00
Richard Henderson
4df37e414d
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpzi
...
Convert some SVE translation functions using
gen_gvec_ool_arg_zpzi to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-25-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
afa2529c26
target/arm: Rename do_zpzi_ool to gen_gvec_ool_arg_zpzi
...
Rename the function to match gen_gvec_ool_arg_zpz,
and move to be adjacent.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-24-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
b2c0096119
target/arm: Use TRANS_FEAT for do_sve2_zpz_data
...
Convert SVE translation functions using do_sve2_zpz_data
to use TRANS_FEAT and gen_gvec_ool_arg_zpz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-23-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
817bd5c98e
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zpz
...
Convert SVE translation functions directly using
gen_gvec_ool_arg_zpz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-22-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
b051809adf
target/arm: Introduce gen_gvec_ool_arg_zpz
...
Use gen_gvec_ool_arg_zpz instead of gen_gvec_ool_zzp
when the arguments come from arg_rpr_esz.
Replaces do_zpz_ool.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-21-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
8fb27a21b1
target/arm: Move null function and sve check into gen_gvec_ool_zzp
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-20-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
8740d69416
target/arm: Use TRANS_FEAT for USDOT_zzzz
...
This is the last direct user of tcg_gen_gvec_4_ool.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-19-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
615f19fefb
target/arm: Use TRANS_FEAT for do_sve2_zzw_data
...
Convert SVE translation functions using do_sve2_zzw_data
to use TRANS_FEAT and gen_gvec_ool_arg_zzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-18-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
8681eb7622
target/arm: Use TRANS_FEAT for do_sve2_zzzz_data
...
Convert SVE translation functions using do_sve2_zzzz_data
to use TRANS_FEAT and gen_gvec_ool_{zzzz,zzxz}.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-17-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
af031f6428
target/arm: Use TRANS_FEAT for do_sve2_zzz_data
...
Convert SVE translation functions using do_sve2_zzz_data
to use TRANS_FEAT and gen_gvec_ool_zzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-16-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
f3500a25fd
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzxz
...
Convert SVE translation functions directly using
gen_gvec_ool_arg_zzxz to TRANS_FEAT. Also include
BFDOT_zzxz, which was using gen_gvec_ool_zzzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-15-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
e82d3536cd
target/arm: Rename do_zzxz_ool to gen_gvec_ool_arg_zzxz
...
Rename the function to match gen_gvec_ool_arg_zzzz,
and move to be adjacent.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-14-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
eec05e4e17
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzzz
...
Convert SVE translation functions directly using
gen_gvec_ool_arg_zzzz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-13-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
eeb4e84d38
target/arm: Use TRANS_FEAT for do_sve2_zzzz_ool
...
Convert SVE translation functions using do_sve2_zzzz_ool
to use TRANS_FEAT and gen_gvec_ool_arg_zzzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-12-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
cab79ac934
target/arm: Introduce gen_gvec_ool_arg_zzzz
...
Use gen_gvec_ool_arg_zzzz instead of gen_gvec_ool_zzzz
when the arguments come from arg_rrrr_esz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-11-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:05 +01:00
Richard Henderson
5f425b927b
target/arm: Use TRANS_FEAT for gen_gvec_ool_zzzz
...
Convert SVE translation functions directly using
gen_gvec_ool_zzzz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-10-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
7ad416b143
target/arm: Move null function and sve check into gen_gvec_ool_zzzz
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-9-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
bd394cf52f
target/arm: Use TRANS_FEAT for do_sve2_zzz_ool
...
Convert SVE translation functions using do_sve2_zzz_ool
to use TRANS_FEAT and gen_gvec_ool_arg_zzz.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-8-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
32e2ad6589
target/arm: Use TRANS_FEAT for gen_gvec_ool_arg_zzz
...
Convert SVE translation functions using
gen_gvec_ool_arg_zzz to TRANS_FEAT.
Remove trivial wrappers do_aese, do_sm4.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-7-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
84a272f565
target/arm: Introduce gen_gvec_ool_arg_zzz
...
Use gen_gvec_ool_arg_zzz instead of gen_gvec_ool_zzz
when the arguments come from arg_rrr_esz.
Replaces do_zzw_ool and do_zzz_data_ool.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-6-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
913a8a0023
target/arm: Move null function and sve check into gen_gvec_ool_zzz
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-5-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
0ea3cdbf7f
target/arm: Use TRANS_FEAT for gen_gvec_ool_zz
...
Convert SVE translation functions using gen_gvec_ool_zz to TRANS_FEAT.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-4-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
c5edf07d33
target/arm: Move null function and sve check into gen_gvec_ool_zz
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-3-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Richard Henderson
05a546429f
target/arm: Introduce TRANS, TRANS_FEAT
...
Steal the idea for these leaf function expanders from PowerPC.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220527181907.189259-2-richard.henderson@linaro.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 17:05:04 +01:00
Philippe Mathieu-Daudé
b5fb359cb5
target/arm/hvf: Include missing "cpregs.h"
...
Fix when building HVF on macOS Aarch64:
target/arm/hvf/hvf.c:586:15: error: unknown type name 'ARMCPRegInfo'; did you mean 'ARMCPUInfo'?
const ARMCPRegInfo *ri;
^~~~~~~~~~~~
ARMCPUInfo
target/arm/cpu-qom.h:38:3: note: 'ARMCPUInfo' declared here
} ARMCPUInfo;
^
target/arm/hvf/hvf.c:589:14: error: implicit declaration of function 'get_arm_cp_reginfo' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
ri = get_arm_cp_reginfo(arm_cpu->cp_regs, key);
^
target/arm/hvf/hvf.c:589:12: warning: incompatible integer to pointer conversion assigning to 'const ARMCPUInfo *' (aka 'const struct ARMCPUInfo *') from 'int' [-Wint-conversion]
ri = get_arm_cp_reginfo(arm_cpu->cp_regs, key);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
target/arm/hvf/hvf.c:591:26: error: no member named 'type' in 'struct ARMCPUInfo'
assert(!(ri->type & ARM_CP_NO_RAW));
~~ ^
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/assert.h:99:25: note: expanded from macro 'assert'
(__builtin_expect(!(e), 0) ? __assert_rtn(__func__, __ASSERT_FILE_NAME, __LINE__, #e) : (void)0)
^
target/arm/hvf/hvf.c:591:33: error: use of undeclared identifier 'ARM_CP_NO_RAW'
assert(!(ri->type & ARM_CP_NO_RAW));
^
1 warning and 4 errors generated.
Fixes: cf7c6d1004
("target/arm: Split out cpregs.h")
Reported-by: Duncan Bayne <duncan@bayne.id.au >
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220525161926.34233-1-philmd@fungible.com
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1029
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-30 10:35:54 +01:00
Richard Henderson
fab8ad39fb
target/arm: Use FIELD definitions for CPACR, CPTR_ELx
...
We had a few CPTR_* bits defined, but missed quite a few.
Complete all of the fields up to ARMv9.2.
Use FIELD_EX64 instead of manual extract32.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220517054850.177016-3-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-19 18:34:10 +01:00
Richard Henderson
5814d587fe
target/arm: Enable FEAT_HCX for -cpu max
...
This feature adds a new register, HCRX_EL2, which controls
many of the newer AArch64 features. So far the register is
effectively RES0, because none of the new features are done.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220517054850.177016-2-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-19 16:19:03 +01:00
Florian Lugou
07b034ea82
target/arm: Fix PAuth keys access checks for disabled SEL2
...
As per the description of the HCR_EL2.APK field in the ARMv8 ARM,
Pointer Authentication keys accesses should only be trapped to Secure
EL2 if it is enabled.
Signed-off-by: Florian Lugou <florian.lugou@provenrun.com >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20220517145242.1215271-1-florian.lugou@provenrun.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2022-05-19 16:19:03 +01:00