powerpc: tqm834x: Fix build warnings in initdram()
With gcc 4.9, it produces the following warnings: CC board/tqc/tqm834x/tqm834x.o board/tqc/tqm834x/tqm834x.c: In function 'initdram': board/tqc/tqm834x/tqm834x.c:325:12: warning: iteration 3u invokes undefined behavior [-Waggressive-loop-optimizations] (((base + size - 1) >> CSBNDS_EA_SHIFT) & ^ board/tqc/tqm834x/tqm834x.c:80:2: note: containing loop for(cs = 0; cs < 4; ++cs) { ^ There is an integer overflow when cs = 3. To fix it, change parameters of set_cs_bounds() to ulong. Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
b3ce90815c
commit
4019e54dc6
@ -43,7 +43,7 @@ ulong flash_get_size (ulong base, int banknum);
|
|||||||
/* Local functions */
|
/* Local functions */
|
||||||
static int detect_num_flash_banks(void);
|
static int detect_num_flash_banks(void);
|
||||||
static long int get_ddr_bank_size(short cs, long *base);
|
static long int get_ddr_bank_size(short cs, long *base);
|
||||||
static void set_cs_bounds(short cs, long base, long size);
|
static void set_cs_bounds(short cs, ulong base, ulong size);
|
||||||
static void set_cs_config(short cs, long config);
|
static void set_cs_config(short cs, long config);
|
||||||
static void set_ddr_config(void);
|
static void set_ddr_config(void);
|
||||||
|
|
||||||
@ -314,7 +314,7 @@ static long int get_ddr_bank_size(short cs, long *base)
|
|||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
* Sets DDR bank CS bounds.
|
* Sets DDR bank CS bounds.
|
||||||
*/
|
*/
|
||||||
static void set_cs_bounds(short cs, long base, long size)
|
static void set_cs_bounds(short cs, ulong base, ulong size)
|
||||||
{
|
{
|
||||||
debug("Setting bounds %08lx, %08lx for cs %d\n", base, size, cs);
|
debug("Setting bounds %08lx, %08lx for cs %d\n", base, size, cs);
|
||||||
if(size == 0){
|
if(size == 0){
|
||||||
|
Loading…
Reference in New Issue
Block a user