mirror of https://github.com/xemu-project/xemu.git
target/ppc/mmu-hash32.c: Inline and remove ppc_hash32_pte_prot()
This is used only once and can be inlined. Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu> Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
This commit is contained in:
parent
719a1da19e
commit
620ba617df
|
@ -37,17 +37,6 @@
|
||||||
# define LOG_BATS(...) do { } while (0)
|
# define LOG_BATS(...) do { } while (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int ppc_hash32_pte_prot(int mmu_idx,
|
|
||||||
target_ulong sr, ppc_hash_pte32_t pte)
|
|
||||||
{
|
|
||||||
unsigned pp, key;
|
|
||||||
|
|
||||||
key = ppc_hash32_key(mmuidx_pr(mmu_idx), sr);
|
|
||||||
pp = pte.pte1 & HPTE32_R_PP;
|
|
||||||
|
|
||||||
return ppc_hash32_prot(key, pp, !!(sr & SR32_NX));
|
|
||||||
}
|
|
||||||
|
|
||||||
static target_ulong hash32_bat_size(int mmu_idx,
|
static target_ulong hash32_bat_size(int mmu_idx,
|
||||||
target_ulong batu, target_ulong batl)
|
target_ulong batu, target_ulong batl)
|
||||||
{
|
{
|
||||||
|
@ -341,10 +330,10 @@ bool ppc_hash32_xlate(PowerPCCPU *cpu, vaddr eaddr, MMUAccessType access_type,
|
||||||
CPUState *cs = CPU(cpu);
|
CPUState *cs = CPU(cpu);
|
||||||
CPUPPCState *env = &cpu->env;
|
CPUPPCState *env = &cpu->env;
|
||||||
target_ulong sr;
|
target_ulong sr;
|
||||||
hwaddr pte_offset;
|
hwaddr pte_offset, raddr;
|
||||||
ppc_hash_pte32_t pte;
|
ppc_hash_pte32_t pte;
|
||||||
|
bool key;
|
||||||
int prot;
|
int prot;
|
||||||
hwaddr raddr;
|
|
||||||
|
|
||||||
/* There are no hash32 large pages. */
|
/* There are no hash32 large pages. */
|
||||||
*psizep = TARGET_PAGE_BITS;
|
*psizep = TARGET_PAGE_BITS;
|
||||||
|
@ -426,8 +415,8 @@ bool ppc_hash32_xlate(PowerPCCPU *cpu, vaddr eaddr, MMUAccessType access_type,
|
||||||
"found PTE at offset %08" HWADDR_PRIx "\n", pte_offset);
|
"found PTE at offset %08" HWADDR_PRIx "\n", pte_offset);
|
||||||
|
|
||||||
/* 7. Check access permissions */
|
/* 7. Check access permissions */
|
||||||
|
key = ppc_hash32_key(mmuidx_pr(mmu_idx), sr);
|
||||||
prot = ppc_hash32_pte_prot(mmu_idx, sr, pte);
|
prot = ppc_hash32_prot(key, pte.pte1 & HPTE32_R_PP, sr & SR32_NX);
|
||||||
|
|
||||||
if (!check_prot_access_type(prot, access_type)) {
|
if (!check_prot_access_type(prot, access_type)) {
|
||||||
/* Access right violation */
|
/* Access right violation */
|
||||||
|
|
Loading…
Reference in New Issue