mmu-hash32: Remove nx from context structure

Previous cleanups have meant the nx field of the mmu_ctx_hash32 structure
is now only used within ppc_hash32_translate(), and so it can be replaced
by a local variable.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
David Gibson 2013-03-12 00:31:39 +00:00 committed by Alexander Graf
parent 87dc3fd13e
commit e1a53ba2e0
1 changed files with 4 additions and 4 deletions

View File

@ -45,7 +45,6 @@ struct mmu_ctx_hash32 {
hwaddr raddr; /* Real address */ hwaddr raddr; /* Real address */
int prot; /* Protection bits */ int prot; /* Protection bits */
int key; /* Access key */ int key; /* Access key */
int nx; /* Non-execute area */
}; };
static int ppc_hash32_pp_check(int key, int pp, int nx) static int ppc_hash32_pp_check(int key, int pp, int nx)
@ -383,6 +382,7 @@ static int ppc_hash32_translate(CPUPPCState *env, struct mmu_ctx_hash32 *ctx,
{ {
int ret; int ret;
target_ulong sr; target_ulong sr;
bool nx;
hwaddr pte_offset; hwaddr pte_offset;
ppc_hash_pte32_t pte; ppc_hash_pte32_t pte;
@ -414,8 +414,8 @@ static int ppc_hash32_translate(CPUPPCState *env, struct mmu_ctx_hash32 *ctx,
} }
/* 5. Check for segment level no-execute violation */ /* 5. Check for segment level no-execute violation */
ctx->nx = !!(sr & SR32_NX); nx = !!(sr & SR32_NX);
if ((rwx == 2) && ctx->nx) { if ((rwx == 2) && nx) {
return -3; return -3;
} }
@ -434,7 +434,7 @@ static int ppc_hash32_translate(CPUPPCState *env, struct mmu_ctx_hash32 *ctx,
pp = pte.pte1 & HPTE32_R_PP; pp = pte.pte1 & HPTE32_R_PP;
/* Compute access rights */ /* Compute access rights */
access = ppc_hash32_pp_check(ctx->key, pp, ctx->nx); access = ppc_hash32_pp_check(ctx->key, pp, nx);
/* Keep the matching PTE informations */ /* Keep the matching PTE informations */
ctx->raddr = pte.pte1; ctx->raddr = pte.pte1;
ctx->prot = access; ctx->prot = access;