Statistics
| Branch: | Revision:

root / target-ppc @ 496272a7

Name Size
Makefile.objs 342 Bytes
STATUS 10.6 kB
cpu-models.c 64.1 kB
cpu-models.h 29.4 kB
cpu-qom.h 2.6 kB
cpu.h 88.8 kB
excp_helper.c 34.2 kB
fpu_helper.c 49.1 kB
helper.h 16 kB
helper_regs.h 3.4 kB
int_helper.c 52.5 kB
kvm.c 41.7 kB
kvm_ppc.c 1.1 kB
kvm_ppc.h 3.3 kB
machine.c 5.7 kB
mem_helper.c 9.2 kB
mfrom_table.c 3.3 kB
mfrom_table_gen.c 653 Bytes
misc_helper.c 3.5 kB
mmu-hash32.c 17.6 kB
mmu-hash32.h 387 Bytes
mmu-hash64.c 18.4 kB
mmu-hash64.h 530 Bytes
mmu_helper.c 85 kB
timebase_helper.c 4.3 kB
translate.c 356.3 kB
translate_init.c 289 kB

Latest revisions

# Date Author Comment
f2ad6be8 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle hash mmu versions of cpu_get_phys_page_debug()

cpu_get_phys_page_debug() is a trivial wrapper around
get_physical_address(). But even the signature of
get_physical_address() has some things we'd like to clean up on a
per-mmu basis, so this patch moves the test on mmu model out to...

496272a7 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle hash mmu helper functions

The newly separated paths for hash mmus rely on several helper functions
which are still shared with 32-bit hash mmus: pp_check(), check_prot() and
pte_update_flags(). While these don't have ugly ifdefs on the mmu type,...

9d7c3f4a 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle pte_check()

Currently support for both 32-bit and 64-bit hash MMUs share an
implementation of pte_check. But there are enough differences that this
means the shared function has several very ugly conditionals on "is_64b".

This patch cleans things up by separating out the 64-bit version...

c69b6151 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle find_pte()

32-bit and 64-bit hash MMU implementations currently share a find_pte
function. This results in a whole bunch of ugly conditionals in the shared
function, and not all that much actually shared code.

This patch separates out the 32-bit and 64-bit versions, putting then...

0480884f 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle get_segment()

The poorly named get_segment() function handles most of the address
translation logic for hash-based MMUs. It has many ugly conditionals on
whether the MMU is 32-bit or 64-bit.

This patch splits the function into 32 and 64-bit versions, using the...

44bc9107 03/22/2013 04:28 pm David Gibson

target-ppc: Rework get_physical_address()

Currently get_physical_address() first checks to see if translation is
enabled in the MSR, then in the translation on case switches on the mmu
type. Except that for BookE MMUs, translation is always on, and so it...

629bd516 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle get_physical_address() paths

Depending on the MSR state, for 64-bit hash MMUs, get_physical_address
can either call check_physical (which has further tests for mmu type)
or get_segment64. Similarly for 32-bit hash MMUs we can either call...

25de24ab 03/22/2013 04:28 pm David Gibson

target-ppc: Disentangle hash mmu paths for cpu_ppc_handle_mmu_fault

cpu_ppc_handle_mmu_fault() calls get_physical_address() (whose behaviour
depends on MMU type) then, if that fails, issues an appropriate exception
- which again has a number of dependencies on MMU type....

8152ceaf 03/22/2013 04:28 pm David Gibson

target-ppc: Remove address check for logging

One LOG_MMU statement in mmu_helper.c has an odd check on the effective
address being translated. I can see no reason for this; I suspect it was
a debugging hack from long ago. This patch removes it.

Signed-off-by: David Gibson <>...

10b46525 03/22/2013 04:28 pm David Gibson

target-ppc: Move SLB handling into a mmu-hash64.c

As a first step to disentangling the handling for 64-bit hash MMUs from
the rest, we move the code handling the Segment Lookaside Buffer (SLB)
(which only exists on 64-bit hash MMUs) into a new mmu-hash64.c file....

View revisions

Also available in: Atom