From c1e1de8d69624b1cf18a13a46e624ad5827954b7 Mon Sep 17 00:00:00 2001 From: Ali Saidi Date: Wed, 2 Jun 2010 12:58:16 -0500 Subject: ARM: Some TLB bug fixes. --- src/arch/arm/table_walker.hh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/arch/arm/table_walker.hh') diff --git a/src/arch/arm/table_walker.hh b/src/arch/arm/table_walker.hh index d18b7c489..8e851acd7 100644 --- a/src/arch/arm/table_walker.hh +++ b/src/arch/arm/table_walker.hh @@ -100,7 +100,7 @@ class TableWalker : public MemObject /** Is the translation global (no asid used)? */ bool global() const { - return bits(data, 17); + return bits(data, 4); } /** Is the translation not allow execution? */ @@ -130,7 +130,7 @@ class TableWalker : public MemObject /** Memory region attributes: ARM DDI 0406B: B3-32 */ uint8_t texcb() const { - return bits(data, 2) | bits(data,3) << 1 | bits(data, 12, 14) << 2; + return bits(data, 2) | bits(data,3) << 1 | bits(data, 14, 12) << 2; } }; @@ -174,8 +174,8 @@ class TableWalker : public MemObject uint8_t texcb() const { return large() ? - (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 12, 14) << 2)) : - (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 6, 8) << 2)); + (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 14, 12) << 2)) : + (bits(data, 2) | (bits(data,3) << 1) | (bits(data, 8, 6) << 2)); } /** Return the physical frame, bits shifted right */ -- cgit v1.2.3