summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2012-03-26 05:35:24 -0400
committerAndreas Hansson <andreas.hansson@arm.com>2012-03-26 05:35:24 -0400
commit312efd742eedef23768a62453404dd2f77ae8b35 (patch)
tree22f6e4f65ec6070615b69cb040150c7175acc989
parentca9790a2db94e9fad36aa121e934f105348bdead (diff)
downloadgem5-312efd742eedef23768a62453404dd2f77ae8b35.tar.xz
Power: Change bitfield name to avoid conflicts with range_map
This patch changes the name of a bitfield from W to W_FIELD to avoid clashes with W being used as a class (typename) in the templatized range_map. It also changes L to L_FIELD to avoid future problems. The problem manifestes itself when the CPU includes a header that in turn includes range_map.hh. The relevant parts of the decoder are updated.
-rw-r--r--src/arch/power/isa/bitfields.isa6
-rw-r--r--src/arch/power/isa/decoder.isa7
2 files changed, 8 insertions, 5 deletions
diff --git a/src/arch/power/isa/bitfields.isa b/src/arch/power/isa/bitfields.isa
index 8cd323ad5..2997ea52f 100644
--- a/src/arch/power/isa/bitfields.isa
+++ b/src/arch/power/isa/bitfields.isa
@@ -75,8 +75,10 @@ def bitfield BF <25:23>;
// Fields for FPSCR manipulation instructions
def bitfield FLM <24:17>;
-def bitfield L <25>;
-def bitfield W <16>;
+// Named so to avoid conflicts with potential template typenames
+def bitfield L_FIELD <25>;
+// Named so to avoid conflicts with range_map.hh
+def bitfield W_FIELD <16>;
// Named so to avoid conflicts with range.hh
def bitfield U_FIELD <15:12>;
diff --git a/src/arch/power/isa/decoder.isa b/src/arch/power/isa/decoder.isa
index 23089190f..11d222390 100644
--- a/src/arch/power/isa/decoder.isa
+++ b/src/arch/power/isa/decoder.isa
@@ -571,14 +571,15 @@ decode OPCODE default Unknown::unknown() {
}});
583: mffs({{ Ft_uq = FPSCR; }});
134: mtfsfi({{
- FPSCR = insertCRField(FPSCR, BF + (8 * (1 - W)), U_FIELD);
+ FPSCR = insertCRField(FPSCR, BF + (8 * (1 - W_FIELD)),
+ U_FIELD);
}});
711: mtfsf({{
- if (L == 1) { FPSCR = Fb_uq; }
+ if (L_FIELD == 1) { FPSCR = Fb_uq; }
else {
for (int i = 0; i < 8; ++i) {
if (bits(FLM, i) == 1) {
- int k = 4 * (i + (8 * (1 - W)));
+ int k = 4 * (i + (8 * (1 - W_FIELD)));
FPSCR = insertBits(FPSCR, k, k + 3,
bits(Fb_uq, k, k + 3));
}