All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] target/ppc: PPC ISA 2.07 flag cleanup and updates
@ 2026-07-15 12:56 Chinmay Rath
  2026-07-15 12:56 ` [PATCH 1/7] target/ppc: Replace PPC2_VSX207 flag with PPC2_ISA207 Chinmay Rath
                   ` (6 more replies)
  0 siblings, 7 replies; 20+ messages in thread
From: Chinmay Rath @ 2026-07-15 12:56 UTC (permalink / raw)
  To: qemu-devel, qemu-ppc, npiggin, harshpb, tommusta
  Cc: richard.henderson, milesg, shivangu, Chinmay Rath

While working with some PPC instructions from a ISA 2.07 POV, I observed
the following :

1. Unlike ISA versions 2.05, 3.0 and 3.1 which have one specific flag
for usage in the insns_flags2 field in the CPUPPCState struct, ISA 2.07
and 2.06 have multiple flags. Upon further investigation, I see that
during CPU intialization (POWER 8+), all those variations of the ISA 2.07
flags are only ever used all together. There is no instance in the code
where a CPU is initialzed in a more granular level, using only a subset
of the ISA 2.07 flag variations.
This patch series hence consolidates the different 2.07 flags, and frees
up bits in the insns_flags2 field for future use. I intend to do the
same analysis for the ISA 2.06 flags as well.

2. The "Summary of changes in Power ISA 2.07B" section in the ISA
version 2.07B mentions : "The icbt instruction has been moved from
the Embedded category to the Base category."
This change has not been incorporated in the QEMU code resulting in
illegal instruction exception upon encountering ICBT instruction in
Power VMs where it should be recognized. Hence adding the necessary
flag to the instruction. Also correcting the invalid mask for the
decoding as per the ISA.

This series is based on top of the patches from another series that I
had posted :
https://lore.kernel.org/qemu-devel/20260520160728.2283628-1-rathc@linux.ibm.com/
Link to Gitlab CI with patches :
https://gitlab.com/rathc/qemu/-/pipelines/2678607049

Chinmay Rath (7):
  target/ppc: Replace PPC2_VSX207 flag with PPC2_ISA207
  target/ppc: Use PPC2_ISA207 instead of PPC2_BCTAR_ISA207
  target/ppc: Use PPC2_ISA207 instead of PPC2_LSQ_ISA207
  target/ppc: Use PPC2_ISA207 instead of PPC2_ALTIVEC_207
  target/ppc: Use PPC2_ISA207 instead of PPC2_ISA207S
  target/ppc: Reorder PPC2 flags
  target/ppc: Add ICBT support for ISA version 2.07

 hw/ppc/spapr_caps.c                           |   2 +-
 linux-user/ppc/elfload.c                      |   6 +-
 target/ppc/cpu.h                              |  38 +++----
 target/ppc/cpu_init.c                         |   6 +-
 target/ppc/cpu_init.h                         |   7 +-
 target/ppc/tcg-excp_helper.c                  |   8 +-
 target/ppc/translate.c                        |  10 +-
 target/ppc/translate/bhrb-impl.c.inc          |   4 +-
 target/ppc/translate/branch-impl.c.inc        |   2 +-
 target/ppc/translate/fixedpoint-impl.c.inc    |   4 +-
 target/ppc/translate/fp-impl.c.inc            |   4 +-
 .../ppc/translate/processor-ctrl-impl.c.inc   |   8 +-
 target/ppc/translate/vmx-impl.c.inc           | 102 +++++++++---------
 target/ppc/translate/vmx-ops.c.inc            |  18 ++--
 target/ppc/translate/vsx-impl.c.inc           |  56 +++++-----
 target/ppc/translate/vsx-ops.c.inc            |  24 ++---
 16 files changed, 142 insertions(+), 157 deletions(-)

-- 
2.53.0



^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2026-08-17 15:56 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-15 12:56 [PATCH 0/7] target/ppc: PPC ISA 2.07 flag cleanup and updates Chinmay Rath
2026-07-15 12:56 ` [PATCH 1/7] target/ppc: Replace PPC2_VSX207 flag with PPC2_ISA207 Chinmay Rath
2026-08-14 10:49   ` Chinmay Rath
2026-08-14 10:49   ` Chinmay Rath
2026-08-17 15:17     ` Miles Glenn
2026-07-15 12:56 ` [PATCH 2/7] target/ppc: Use PPC2_ISA207 instead of PPC2_BCTAR_ISA207 Chinmay Rath
2026-08-17 15:24   ` Miles Glenn
2026-07-15 12:56 ` [PATCH 3/7] target/ppc: Use PPC2_ISA207 instead of PPC2_LSQ_ISA207 Chinmay Rath
2026-08-17 15:25   ` Miles Glenn
2026-07-15 12:56 ` [PATCH 4/7] target/ppc: Use PPC2_ISA207 instead of PPC2_ALTIVEC_207 Chinmay Rath
2026-08-17 15:27   ` Miles Glenn
2026-07-15 12:56 ` [PATCH 5/7] target/ppc: Use PPC2_ISA207 instead of PPC2_ISA207S Chinmay Rath
2026-08-17 15:28   ` Miles Glenn
2026-07-15 12:56 ` [PATCH 6/7] target/ppc: Reorder PPC2 flags Chinmay Rath
2026-07-15 14:41   ` Shivang Upadhyay
2026-07-20 13:05     ` Chinmay Rath
2026-08-17 15:44       ` Miles Glenn
2026-07-15 12:56 ` [PATCH 7/7] target/ppc: Add ICBT support for ISA version 2.07 Chinmay Rath
2026-08-17 11:30   ` tasmiya
2026-08-17 15:56   ` Miles Glenn

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.