xemu/target-ppc/mmu-hash32.h
David Gibson 0480884f14 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
switch on mmu_type that's already in the caller
(get_physical_address()) to select the right one.  Most of the
original function remains in mmu_helper.c to support the 6xx software
loaded TLB implementations (cleaning those up is a project for another
day).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2013-03-22 15:28:47 +01:00

13 lines
294 B
C

#if !defined (__MMU_HASH32_H__)
#define __MMU_HASH32_H__
#ifndef CONFIG_USER_ONLY
int pte32_is_valid(target_ulong pte0);
int get_segment32(CPUPPCState *env, mmu_ctx_t *ctx,
target_ulong eaddr, int rw, int type);
#endif /* CONFIG_USER_ONLY */
#endif /* __MMU_HASH32_H__ */