mmu-hash32: Remove nx from context structure
authorDavid Gibson <david@gibson.dropbear.id.au>
Tue, 12 Mar 2013 00:31:39 +0000 (00:31 +0000)
committerAlexander Graf <agraf@suse.de>
Fri, 22 Mar 2013 14:28:52 +0000 (15:28 +0100)
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>
target-ppc/mmu-hash32.c

index ae606fdedcac594abe4bac35614e4a219491b753..2b88b9ff3af90036d67dfb74b0150e133bda7be9 100644 (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;