Hi Richard, Thanks for the suggestions. I'll wait for a week or for extra comments on this series and would send a new fixed one. Thanks again!
ср, 27 нояб. 2024 г. в 19:08, Richard Henderson < richard.hender...@linaro.org>: > On 11/26/24 23:35, baturo.ale...@gmail.com wrote: > > From: Alexey Baturo <baturo.ale...@gmail.com> > > > > Signed-off-by: Alexey Baturo <baturo.ale...@gmail.com> > > --- > > target/riscv/cpu.h | 2 ++ > > target/riscv/cpu_helper.c | 19 +++++++++++++++++++ > > target/riscv/insn_trans/trans_rvh.c.inc | 11 +++++++++++ > > target/riscv/translate.c | 4 ++++ > > 4 files changed, 36 insertions(+) > > > > diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h > > index 11e3a6d647..6bbd9c6c25 100644 > > --- a/target/riscv/cpu.h > > +++ b/target/riscv/cpu.h > > @@ -634,6 +634,7 @@ FIELD(TB_FLAGS, BCFI_ENABLED, 28, 1) > > /* If pointer masking should be applied and address sign extended */ > > FIELD(TB_FLAGS, PM_PMM, 29, 2) > > FIELD(TB_FLAGS, PM_SIGNEXTEND, 31, 1) > > +FIELD(TB_FLAGS, PM_VPMM, 32, 2) > > (1) tb_flags is only 32 bits wide, and this overflows. > > (2) All of the logic for HSV/HLV is in op_helper.c, so there's no point in > doing this > masking inline. Do it in helper_hyp_* instead, possibly reusing pieces of > adjust_addr > from vector_helper.c. > > > r~ >