[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [0/32] RFC: 64-bit hash mmu implementation clean up
From: |
David Gibson |
Subject: |
[Qemu-ppc] [0/32] RFC: 64-bit hash mmu implementation clean up |
Date: |
Fri, 15 Feb 2013 19:00:50 +1100 |
The target-ppc code supports CPUs with a number of different MMU
types: there's both the 32-bit and 64-bit versions of the "classic"
hash page table based powerpc mmu and there's also the BookE and 40x
MMUs.
Currently handling of all these has a roughly shared path in
mmu_helper.c. Although code sharing is usually a good idea, in this
case the MMUs really aren't similar enough for this to be useful.
Instead it results in checking and behaving differently at many, many
different points in the path leading to an unreadable tangle of code.
This patch series starts cleaning this up, moving to a model where we
have a single switch on the MMU family at the top-level entry points,
then have a simpler, clearer separate code path for each MMU type.
More specifically, it disentangles the path for the 64-bit classic
hash MMU into its own new file. The other MMU types keep the existing
code (minus 64-bit hash specific conditionals) for now. Disentangling
those as well would be a good idea, but would be best done by someone
with more resources to test those other platforms than I have.
In addition this series makes a substantial cleanup to the
now-separated 64-bit has mmu code. Adding support for more recent MMU
features should be much easier with the new code.
This series will probably conflict with the CPU qom-ification series,
but it should be relatively easy to fix up. I'm sending it now to get
some extra review, but I'm not expecting it to merge until after the
CPU qomification, after which I'll resolve conflicts as necessary.
- [Qemu-ppc] [0/32] RFC: 64-bit hash mmu implementation clean up,
David Gibson <=
- [Qemu-ppc] [PATCH 01/32] target-ppc: Trivial cleanups in mmu_helper.c, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 11/32] target-ppc: Disentangle hash mmu helper functions, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 17/32] mmu-hash64: Remove nx from mmu_ctx_hash64, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 18/32] mmu-hash64: Remove eaddr field from mmu_ctx_hash64, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 04/32] target-ppc: Disentangle 64-bit version of pte_check(), David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 02/32] target-ppc: Remove address check for logging, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 08/32] target-ppc: Disentangle 64-bit hash MMU get_physical_address() paths, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 14/32] mmu-hash64: Add header file for definitions, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 12/32] target-ppc: Don't share get_pteg_offset() between 32 and 64-bit, David Gibson, 2013/02/15
- [Qemu-ppc] [PATCH 16/32] mmu-hash64: Stop using access_type, David Gibson, 2013/02/15