microblaze: Add an MSR_PVR constant and use it.
authorEdgar E. Iglesias <edgar.iglesias@petalogix.com>
Thu, 25 Aug 2011 06:41:19 +0000 (16:41 +1000)
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>
Thu, 25 Aug 2011 20:44:25 +0000 (22:44 +0200)
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
target-microblaze/cpu.h
target-microblaze/translate.c

index a81da629de6ba1aa0680e4fc1dc5d3706041a5ef..35302863cb95fb210370532cb3e4d7c6c3971361 100644 (file)
@@ -65,6 +65,7 @@ struct CPUMBState;
 #define MSR_DCE (1<<7) /* 0x080 */
 #define MSR_EE  (1<<8) /* 0x100 */
 #define MSR_EIP (1<<9) /* 0x200 */
+#define MSR_PVR (1<<10) /* 0x400 */
 #define MSR_CC  (1<<31)
 
 /* Machine State Register (MSR) Fields */
index 15f1fe5cf0aab02dffd062c5659f2a9b6820ccf1..366fd3e607859ef3740fc097e434345db34c2586 100644 (file)
@@ -429,8 +429,8 @@ static inline void msr_write(DisasContext *dc, TCGv v)
     t = tcg_temp_new();
     dc->cpustate_changed = 1;
     /* PVR bit is not writable.  */
-    tcg_gen_andi_tl(t, v, ~(1 << 10));
-    tcg_gen_andi_tl(cpu_SR[SR_MSR], cpu_SR[SR_MSR], (1 << 10));
+    tcg_gen_andi_tl(t, v, ~MSR_PVR);
+    tcg_gen_andi_tl(cpu_SR[SR_MSR], cpu_SR[SR_MSR], MSR_PVR);
     tcg_gen_or_tl(cpu_SR[SR_MSR], cpu_SR[SR_MSR], v);
     tcg_temp_free(t);
 }