Statistics
| Branch: | Revision:

root / target-ppc @ 6fc76aa9

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 87.1 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.5 kB
mmu-hash32.h 3.2 kB
mmu-hash64.c 16.1 kB
mmu-hash64.h 4.3 kB
mmu_helper.c 84.5 kB
timebase_helper.c 4.3 kB
translate.c 356.3 kB
translate_init.c 289 kB

Latest revisions

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

mmu-hash*: Fold pte_check*() logic into caller

With previous cleanups made, the 32-bit and 64-bit pte_check*() functions
are pretty trivial and only have one call site. This patch therefore
clarifies the overall code flow by folding those functions into their...

9986ed1e 03/22/2013 04:28 pm David Gibson

mmu-hash32: Remove odd pointer usage from BAT code

In the code for handling BATs, the hash32_bat_size_prot() and
hash32_bat_601_size_prot() functions are passed the BAT contents by
reference (pointer) for no clear reason, since they only need the values
within....

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

mmu-hash32: Split BAT size logic from permissions logic

hash32_bat_size_prot() and its 601 variant, as the name suggests, returns
both a BAT's size - needed to search for a matching BAT - and its
permissions, only relevant once a matching BAT has been located....

6fc76aa9 03/22/2013 04:28 pm David Gibson

mmu-hash32: Clean up BAT matching logic

The code to search for a matching BAT for a virtual address is somewhat
longwinded and awkward. In particular, it relies on seperate size and
validity information being returned from the hash32_bat_size() function...

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

mmu-hash*: Don't keep looking for PTEs after we find a match

BEHAVIOUR CHANGE

The ppc hash mmu hashes each virtual address to a primary and secondary
possible hash bucket (aka PTE group or PTEG) each with 8 PTEs. Then we
need a linear search through the PTEs to find the correct one for the...

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

mmu-hash*: Separate PTEG searching from permissions checking

find_pte{32,64{() do several things. First they search through a PTEG
ooking for a PTE matching our virtual address. Then they do permissions
checking and other processing on that PTE.

This patch separates the search by VA out from the rest. The search is...

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

mmu-hash*: Make find_pte{32, 64} do more of the job of finding ptes

find_pte{32,64}() are not particularly well named. They only "find" a PTE
within a given PTE group, and they also do permissions checking and other
things.

This patch makes it somewhat close to matching the name, by folding the...

7f3bdc2d 03/22/2013 04:28 pm David Gibson

mmu-hash*: Remove permission checking from find_pte{32, 64}()

find_pte{32,64}() are poorly named, since they both find a PTE and do
permissions checking of it. This patch makes them only locate a matching
PTE, moving the permission checking and other logic to the caller. We...

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

mmu-hash64: Clean up ppc_hash64_htab_lookup()

This patch makes a general cleanup of the address mangling logic in
ppc_hash64_htab_lookup(). In particular it now avoids repeatedly switching
on the segment size. The lack of SLB and multiple segment sizes on 32-bit...

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

mmu-hash*: Cleanup segment-level NX check

On the ppc hash mmus, no-execute can be set at the segment level (on more
recent 64-bit hash mmus it can also be set at the page level). This patch
separates out this check to make it clearer what is going on, and avoiding...

View revisions

Also available in: Atom