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

View File

@ -45,7 +45,6 @@ struct mmu_ctx_hash32 {
hwaddr raddr; /* Real address */
int prot; /* Protection bits */
int key; /* Access key */
int nx; /* Non-execute area */
};
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;
target_ulong sr;
bool nx;
hwaddr pte_offset;
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 */
ctx->nx = !!(sr & SR32_NX);
if ((rwx == 2) && ctx->nx) {
nx = !!(sr & SR32_NX);
if ((rwx == 2) && nx) {
return -3;
}
@ -434,7 +434,7 @@ static int ppc_hash32_translate(CPUPPCState *env, struct mmu_ctx_hash32 *ctx,
pp = pte.pte1 & HPTE32_R_PP;
/* 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 */
ctx->raddr = pte.pte1;
ctx->prot = access;