From: BALATON Zoltan <balaton@eik.bme.hu>
To: qemu-devel@nongnu.org, qemu-ppc@nongnu.org
Cc: Nicholas Piggin <npiggin@gmail.com>,
Daniel Henrique Barboza <danielhb413@gmail.com>
Subject: [PATCH v5 00/32] Misc PPC exception and BookE MMU clean ups
Date: Thu, 09 May 2024 22:25:33 +0200 (CEST) [thread overview]
Message-ID: <cover.1715285340.git.balaton@eik.bme.hu> (raw)
This series does some further clean up mostly around BookE MMU to
untangle it from other MMU models. It also contains some other changes
that I've come up with while working on this. The Simplify
ppc_booke_xlate() part 1 and part 2 patches could be squashed together
but left them separate for easier review.
v5:
- drop sc patches from this series
- eliminate uninit warning work arounds and also get rid of
get_physical_address_wtlb() (one memset is still needed temporarily
but can be removed at the end)
- use function instead of macro
v4:
- Add a (probably redundant) check for MPC8xx case in ppc_xlate so we
don't have to care about it in lower levels
- Detangle BookE related functions from mmu_ctx_t to avoid some used
uninit work arounds and allow these to be moved out to mmu-booke.c
- Some other tweaks asked during review
v3:
- Address review comments from Nick
- Rebase on master
- Squashed some patches together
- Add some more patches I've done since last version
v2:
- Fix user mode issue in patch 1 by keeping old behaviour for user mode
- Add some more MMU clean up patches
Regards,
BALATON Zoltan
BALATON Zoltan (32):
target/ppc: Remove unused helper
target/ppc/mmu_common.c: Move calculation of a value closer to its
usage
target/ppc/mmu_common.c: Remove unneeded local variable
target/ppc/mmu_common.c: Simplify checking for real mode
target/ppc/mmu_common.c: Drop cases for unimplemented MPC8xx MMU
target/ppc/mmu_common.c: Introduce mmu6xx_get_physical_address()
target/ppc/mmu_common.c: Move else branch to avoid large if block
target/ppc/mmu_common.c: Move some debug logging
target/ppc/mmu_common.c: Eliminate ret from
mmu6xx_get_physical_address()
target/ppc/mmu_common.c: Split out BookE cases before checking real
mode
target/ppc/mmu_common.c: Split off real mode cases in
get_physical_address_wtlb()
target/ppc/mmu_common.c: Inline and remove check_physical()
target/ppc/mmu_common.c: Fix misindented qemu_log_mask() calls
target/ppc/mmu_common.c: Deindent ppc_jumbo_xlate()
target/ppc/mmu_common.c: Replace hard coded constants in
ppc_jumbo_xlate()
target/ppc/mmu_common.c: Don't use mmu_ctx_t for
mmu40x_get_physical_address()
target/ppc/mmu_common.c: Don't use mmu_ctx_t in
mmubooke_get_physical_address()
target/ppc/mmu_common.c: Don't use mmu_ctx_t in
mmubooke206_get_physical_address()
target/ppc: Remove pp_check() and reuse ppc_hash32_pp_prot()
target/ppc/mmu_common.c: Remove BookE from direct store handling
target/ppc/mmu_common.c: Split off BookE handling from
ppc_jumbo_xlate()
target/ppc/mmu_common.c: Eliminate get_physical_address_wtlb()
target/ppc/mmu_common.c: Move mmu_ctx_t type to mmu_common.c
target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 1
target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 2
target/ppc: Remove id_tlbs flag from CPU env
target/ppc: Split off common embedded TLB init
target/ppc/mmu-hash32.c: Drop a local variable
target/ppc/mmu-radix64.c: Drop a local variable
target/ppc: Add a function to check for page protection bit
target/ppc: Move out BookE and related MMU functions from mmu_common.c
target/ppc/mmu_common.c: Remove work around for spurious warnings
hw/ppc/pegasos2.c | 2 +-
target/ppc/cpu.h | 9 +-
target/ppc/cpu_init.c | 70 +--
target/ppc/helper.h | 2 -
target/ppc/helper_regs.c | 1 -
target/ppc/internal.h | 75 +--
target/ppc/meson.build | 1 +
target/ppc/mmu-booke.c | 531 +++++++++++++++++
target/ppc/mmu-booke.h | 17 +
target/ppc/mmu-hash32.c | 54 +-
target/ppc/mmu-hash64.c | 2 +-
target/ppc/mmu-radix64.c | 5 +-
target/ppc/mmu_common.c | 1158 +++++++++-----------------------------
target/ppc/mmu_helper.c | 37 +-
14 files changed, 891 insertions(+), 1073 deletions(-)
create mode 100644 target/ppc/mmu-booke.c
create mode 100644 target/ppc/mmu-booke.h
--
2.30.9
next reply other threads:[~2024-05-09 20:29 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-09 20:25 BALATON Zoltan [this message]
2024-05-09 20:25 ` [PATCH v5 01/32] target/ppc: Remove unused helper BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 02/32] target/ppc/mmu_common.c: Move calculation of a value closer to its usage BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 03/32] target/ppc/mmu_common.c: Remove unneeded local variable BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 04/32] target/ppc/mmu_common.c: Simplify checking for real mode BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 05/32] target/ppc/mmu_common.c: Drop cases for unimplemented MPC8xx MMU BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 06/32] target/ppc/mmu_common.c: Introduce mmu6xx_get_physical_address() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 07/32] target/ppc/mmu_common.c: Move else branch to avoid large if block BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 08/32] target/ppc/mmu_common.c: Move some debug logging BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 09/32] target/ppc/mmu_common.c: Eliminate ret from mmu6xx_get_physical_address() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 10/32] target/ppc/mmu_common.c: Split out BookE cases before checking real mode BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 11/32] target/ppc/mmu_common.c: Split off real mode cases in get_physical_address_wtlb() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 12/32] target/ppc/mmu_common.c: Inline and remove check_physical() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 13/32] target/ppc/mmu_common.c: Fix misindented qemu_log_mask() calls BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 14/32] target/ppc/mmu_common.c: Deindent ppc_jumbo_xlate() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 15/32] target/ppc/mmu_common.c: Replace hard coded constants in ppc_jumbo_xlate() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 16/32] target/ppc/mmu_common.c: Don't use mmu_ctx_t for mmu40x_get_physical_address() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 17/32] target/ppc/mmu_common.c: Don't use mmu_ctx_t in mmubooke_get_physical_address() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 18/32] target/ppc/mmu_common.c: Don't use mmu_ctx_t in mmubooke206_get_physical_address() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 19/32] target/ppc: Remove pp_check() and reuse ppc_hash32_pp_prot() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 20/32] target/ppc/mmu_common.c: Remove BookE from direct store handling BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 21/32] target/ppc/mmu_common.c: Split off BookE handling from ppc_jumbo_xlate() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 22/32] target/ppc/mmu_common.c: Eliminate get_physical_address_wtlb() BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 23/32] target/ppc/mmu_common.c: Move mmu_ctx_t type to mmu_common.c BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 24/32] target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 1 BALATON Zoltan
2024-05-09 20:25 ` [PATCH v5 25/32] target/ppc/mmu_common.c: Simplify ppc_booke_xlate() part 2 BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 26/32] target/ppc: Remove id_tlbs flag from CPU env BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 27/32] target/ppc: Split off common embedded TLB init BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 28/32] target/ppc/mmu-hash32.c: Drop a local variable BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 29/32] target/ppc/mmu-radix64.c: " BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 30/32] target/ppc: Add a function to check for page protection bit BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 31/32] target/ppc: Move out BookE and related MMU functions from mmu_common.c BALATON Zoltan
2024-05-09 20:26 ` [PATCH v5 32/32] target/ppc/mmu_common.c: Remove work around for spurious warnings BALATON Zoltan
2024-05-10 12:31 ` [PATCH v5 00/32] Misc PPC exception and BookE MMU clean ups BALATON Zoltan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1715285340.git.balaton@eik.bme.hu \
--to=balaton@eik.bme.hu \
--cc=danielhb413@gmail.com \
--cc=npiggin@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).