Patchwork [U-Boot,1/5] powerpc/85xx: fix definition of MAS register macros

login
register
mail settings
Submitter Timur Tabi
Date Oct. 31, 2011, 6:30 p.m.
Message ID <1320085845-10547-1-git-send-email-timur@freescale.com>
Download mbox | patch
Permalink /patch/122906/
State Accepted
Commit 5c4a3d431e57c6eb9a7663905f47724fbf1f04dd
Delegated to: Kumar Gala
Headers show

Comments

Timur Tabi - Oct. 31, 2011, 6:30 p.m.
Some of the MAS register macros do not protect the parameter with
parentheses, which could cause wrong values if the parameter includes
operators.

Also fix the definition of TSIZE_TO_BYTES() so that it actually uses
the parameter.  This hasn't caused any problems to date because the
parameter was always been 'tsize'.

Signed-off-by: Timur Tabi <timur@freescale.com>
---
 arch/powerpc/include/asm/mmu.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)
Kumar Gala - Nov. 8, 2011, 2:31 p.m.
On Oct 31, 2011, at 1:30 PM, Timur Tabi wrote:

> Some of the MAS register macros do not protect the parameter with
> parentheses, which could cause wrong values if the parameter includes
> operators.
> 
> Also fix the definition of TSIZE_TO_BYTES() so that it actually uses
> the parameter.  This hasn't caused any problems to date because the
> parameter was always been 'tsize'.
> 
> Signed-off-by: Timur Tabi <timur@freescale.com>
> ---
> arch/powerpc/include/asm/mmu.h |   10 +++++-----
> 1 files changed, 5 insertions(+), 5 deletions(-)

applied to 85xx

- k

Patch

diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h
index ef5076b..209103e 100644
--- a/arch/powerpc/include/asm/mmu.h
+++ b/arch/powerpc/include/asm/mmu.h
@@ -392,17 +392,17 @@  extern void print_bats(void);
  */
 
 #define MAS0_TLBSEL_MSK	0x30000000
-#define MAS0_TLBSEL(x)	((x << 28) & MAS0_TLBSEL_MSK)
+#define MAS0_TLBSEL(x)	(((x) << 28) & MAS0_TLBSEL_MSK)
 #define MAS0_ESEL_MSK	0x0FFF0000
-#define MAS0_ESEL(x)	((x << 16) & MAS0_ESEL_MSK)
+#define MAS0_ESEL(x)	(((x) << 16) & MAS0_ESEL_MSK)
 #define MAS0_NV(x)	((x) & 0x00000FFF)
 
 #define MAS1_VALID	0x80000000
 #define MAS1_IPROT	0x40000000
-#define MAS1_TID(x)	((x << 16) & 0x3FFF0000)
+#define MAS1_TID(x)	(((x) << 16) & 0x3FFF0000)
 #define MAS1_TS		0x00001000
-#define MAS1_TSIZE(x)	((x << 8) & 0x00000F00)
-#define TSIZE_TO_BYTES(x) ((phys_addr_t)(1UL << ((tsize * 2) + 10)))
+#define MAS1_TSIZE(x)	(((x) << 8) & 0x00000F00)
+#define TSIZE_TO_BYTES(x) (1ULL << (((x) * 2) + 10))
 
 #define MAS2_EPN	0xFFFFF000
 #define MAS2_X0		0x00000040