On 6/12/26 00:48, Miles Glenn wrote:
On Thu, 2026-06-04 at 15:59 +0530, Chinmay Rath wrote:
On 6/3/26 19:40, Miles Glenn wrote:
On Wed, 2026-06-03 at 17:09 +0530, Chinmay Rath wrote:
On 5/20/26 21:37, Chinmay Rath wrote:
We recently had a QEMU decodetree hackathon at our org focusing on moving
instructions to decodetree specification. I have consolidated the patches
generated out of this effort in this series. Though I have done a round
of review on all of them, might share some more review comments later.
The checkpatch.pl script emits false error for a couple of patches which
are of the following nature :
TRANS(STWAT, do_st_atomic, DEF_MEMOP(MO_UL))
static bool trans_LDAT(DisasContext *ctx, arg_LDAT *a)
^
I see this happening in the last pointer argument in function
definitions after macros (like TRANS(..) in this case).
Richard, Peter, Stefan,
Could you please advise if it would be okay to have the above false
positive in the patches ?
Hi Chao,
I was wondering if you would be able to advise a way forward for this
checkpatch issue ? TIA.
Gitlab CI: https://gitlab.com/rathc/qemu/-/pipelines/2540725424
Please note that check-python-tox and migration-compat-aarch64 from CI
fails in the upstream master branch as seen in the following:
https://gitlab.com/rathc/qemu/-/pipelines/2537246569
Thanks,
Chinmay
Hi Glenn,
If possible, would you like to have a look at this series when you get a
chance ? TIA.
Hi Chinmay,
First, I'd like to thank you and everyone that worked on this for their
efforts! This seems like one of those tasks that everyone knows is
needed but everyone would rather work on other more interesting things
(myself included). I would like to take a look at this series when I
get the chance. I do have a lot on my plate right now, but hopefully I
can get to it in the next week or so.
Thanks,
Glenn
Sure Glenn, thanks !
I had a little time to look over the changes today and I didn't see any
major issues. I did notice that the change, "Refactor sleep and its
variants to use a common helper", didn't seem related to moving things
into decodetree, so maybe that should be reviewed separately? There
was also a lot of moving of implementation code out of translate.c into
more specific files, like fixedpoint-impl.c.inc. This didn't seem
required in order to use decodetree either, so perhaps those changes
should be split out into another patch?
Otherwise, I think it looks pretty good.
Thanks,
Glenn
Thanks for going through this Glenn !
I shall mention in the cover letter that some patches in the series
facilitate the movement instead of purely doing the movement (like the
"Refactor sleep and its variants to use a common helper" patch). Would
that be okay to you ?
The movement of instructions from translate.c to specific files along
with their decodetree movement is something that has been traditionally
in all older decodetree movement patches, so that is something that's
expected IMO.
Thanks,
Chinmay
-Chinmay
Thanks,
Chinmay
Aboorva Devarajan (3):
target/ppc: Move vector merge instructions to decodetree
target/ppc: Move vector pack instructions to decodetree
target/ppc: Move GPR atomic load/store instructions to decodetree
Amit Machhiwal (2):
target/ppc: Move fixed-point Shift insns to decodetree
target/ppc: Move fixed-point byte-reversal store insns to decodetree
Mukesh Kumar Chaurasiya (IBM) (2):
target/ppc: convert slw,srw instruction via decode spec
target/ppc: convert sraw[i] instruction via decode spec
Nikhil Kumar Singh (3):
target/ppc: Migrate extswsli to decodetree
target/ppc: Migrate atomic loads to decodetree
target/ppc: Convert cache instructions to decodetree
Ojaswin Mujoo (7):
target/ppc: Move isync instruction to decodetree.
target/ppc: Convert b{a, l, la} to decode tree
target/ppc: move various conditional branch insns to decodetree
target/ppc: Fix TRANS* macro variadic arguments handling
target/ppc: Move wait instruction to decodetree
target/ppc: Move sleep & friends to decodetree
target/ppc: Refactor sleep and its variants to use a common helper
Shivang Upadhyay (4):
target/ppc: Move Condition Register access instructions to decodetree.
target/ppc: Move Condition Register logical instructions to
decodetree.
target/ppc: Move Fixed-Point Load/Store String instructions to
decodetree.
target/ppc: Move VMX integer arithmetic and BCD instructions to
decodetree.
Shivani Nittor (1):
target/ppc : Convert mcrf to decode tree
Tanushree Shah (2):
target/ppc: Move rlwimi, rlwinm instructions to decodetree
target/ppc: Move lmw, stmw instructions to decodetree
Utkarsh Verma (1):
target/ppc: Move st{b, h, w, d, q}cx instructions to decodetree
Vishal Chourasia (3):
target/ppc: Move mfmsr, mtmsr[d] instructions to decodetree
target/ppc: Move byte-reverse instructions to decodetree
target/ppc: Move system call and rfi instructions to decodetree
target/ppc/helper.h | 100 +-
target/ppc/insn32.decode | 244 ++
target/ppc/int_helper.c | 76 +-
target/ppc/internal.h | 7 -
target/ppc/mem_helper.c | 18 +-
target/ppc/tcg-excp_helper.c | 10 +-
target/ppc/translate.c | 2592 ++++-------------
target/ppc/translate/branch-impl.c.inc | 181 ++
target/ppc/translate/fixedpoint-impl.c.inc | 936 ++++++
target/ppc/translate/misc-impl.c.inc | 175 ++
.../ppc/translate/processor-ctrl-impl.c.inc | 30 +
target/ppc/translate/storage-ctrl-impl.c.inc | 117 +
target/ppc/translate/vmx-impl.c.inc | 360 +--
target/ppc/translate/vmx-ops.c.inc | 41 -
14 files changed, 2529 insertions(+), 2358 deletions(-)