qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Add support for PowerPC e500 little-endian pages
@ 2025-08-21 11:33 Danila Zhebryakov
  2025-08-21 11:33 ` [PATCH 1/3] accel/tcg: Unify big- and little- endian atomic ops Danila Zhebryakov
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Danila Zhebryakov @ 2025-08-21 11:33 UTC (permalink / raw)
  To: qemu-devel
  Cc: Chinmay Rath, Nicholas Piggin, Riku Voipio, Ilya Leoshkevich,
	qemu-ppc, Paolo Bonzini, David Hildenbrand, qemu-s390x,
	Laurent Vivier, Thomas Huth, Richard Henderson, Danila Zhebryakov

These changes make powerpc booke206 mmu pass TLB_BSWAP flag for pages marked as LE, and also fixes all the issues this causes.
 - added TLB_BSWAP to non-MMIO flags
 - inserted additional check for LE page when bswap-ing instructions
 - removed assert for cross-page TLB_BSWAP accesses
 - added gdbstub fix to account for TLB_BSWAP of the currently running code

BE- and LE- atomic operations (used by load-and-reserve and store-conditional instructions) were unified to support TLB_BSWAP

Some of the fixes are based on what is done in https://github.com/YetAnotherMod/qemu

Danila Zhebryakov (3):
  accel/tcg: Unify big- and little- endian atomic ops
  target/ppc: Add support for LE pages on PowerPC booke206 mmu
  target/ppc: fix GDB stub to work correctly with LE pages

 accel/tcg/atomic_common.c.inc       |  27 +--
 accel/tcg/atomic_template.h         | 246 +++++++++-------------------
 accel/tcg/cputlb.c                  |  22 ++-
 accel/tcg/tcg-runtime.h             |  36 +---
 accel/tcg/user-exec.c               |   2 +-
 include/accel/tcg/cpu-ldst-common.h |  39 ++---
 target/m68k/op_helper.c             |   4 +-
 target/ppc/cpu.h                    |   4 +
 target/ppc/gdbstub.c                |  17 +-
 target/ppc/mmu-booke.c              |   5 +
 target/ppc/mmu_helper.c             |  17 +-
 target/ppc/translate.c              |  29 +++-
 target/s390x/tcg/mem_helper.c       |   6 +-
 tcg/tcg-op-ldst.c                   |  31 ++--
 14 files changed, 204 insertions(+), 281 deletions(-)

-- 
2.47.2



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

end of thread, other threads:[~2025-08-25  1:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-21 11:33 [PATCH 0/3] Add support for PowerPC e500 little-endian pages Danila Zhebryakov
2025-08-21 11:33 ` [PATCH 1/3] accel/tcg: Unify big- and little- endian atomic ops Danila Zhebryakov
2025-08-22  9:24   ` Richard Henderson
2025-08-22  9:26     ` Richard Henderson
2025-08-25  0:58   ` Richard Henderson
2025-08-21 11:33 ` [PATCH 2/3] target/ppc: Add support for LE pages on PowerPC booke206 mmu Danila Zhebryakov
2025-08-25  1:06   ` Richard Henderson
2025-08-21 11:33 ` [PATCH 3/3] target/ppc: fix GDB stub to work correctly with LE pages Danila Zhebryakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).