inteltool: Cast to `intptr_t` instead of `uint64_t`

When building inteltool under x86-32, the following warnings are
shown.

    $ gcc --version
    gcc-4.7.real (Debian 4.7.2-15) 4.7.2
    Copyright (C) 2012 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    $ make
    […]
    amb.c: In function ‘amb_read_config32’:
    amb.c:31:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    amb.c:31:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    amb.c: In function ‘amb_read_config16’:
    amb.c:45:23: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    amb.c:45:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    amb.c: In function ‘amb_read_config8’:
    amb.c:60:22: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
    amb.c:60:10: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    […]

Nico Huber commented the following [1].

    I don't see those warnings because I build for x86-64. I guess
    they could be fixed by casting to `ptrdiff_t` (from stddef.h)
    instead of `uint64_t`.

And indeed, using `ptrdiff_t` fixes the warning. But as Stefan
Reinauer commented in [2], `intptr_t` is more appropriate as this
is just a pointer and no pointer difference.

So `intptr_t` is taken, which fixes these issues warned about too.

These warnings were introduced in commit »inteltool: Add support for
dumping AMB registers« (4b7b320f) [3].

[1] http://review.coreboot.org/#/c/2996/1//COMMIT_MSG
[2] http://review.coreboot.org/#/c/3002/1/util/inteltool/amb.c
[3] http://review.coreboot.org/525

Change-Id: I2ea1a31dc1e3db129e767d6a9e0433fd75a77d0f
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-on: http://review.coreboot.org/3002
Tested-by: build bot (Jenkins)
Reviewed-by: Nico Huber <nico.huber@secunet.com>
This commit is contained in:
Paul Menzel 2013-04-01 18:26:58 +02:00 committed by Nico Huber
parent 190011e47c
commit 3402a7fa70
1 changed files with 4 additions and 4 deletions

View File

@ -17,7 +17,7 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/ */
#include <stddef.h>
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "inteltool.h" #include "inteltool.h"
@ -28,7 +28,7 @@
static uint32_t amb_read_config32(volatile void *base, int fn, int reg) static uint32_t amb_read_config32(volatile void *base, int fn, int reg)
{ {
return *(uint32_t *)(AMB_ADDR((uint64_t)base, fn, reg)); return *(uint32_t *)(AMB_ADDR((intptr_t)base, fn, reg));
} }
static void amb_printreg32(volatile void *base, int fn, int reg, static void amb_printreg32(volatile void *base, int fn, int reg,
@ -42,7 +42,7 @@ static void amb_printreg32(volatile void *base, int fn, int reg,
static uint16_t amb_read_config16(volatile void *base, int fn, int reg) static uint16_t amb_read_config16(volatile void *base, int fn, int reg)
{ {
return *(uint16_t *)(AMB_ADDR((uint64_t)base, fn, reg)); return *(uint16_t *)(AMB_ADDR((intptr_t)base, fn, reg));
} }
static void amb_printreg16(volatile void *base, int fn, int reg, static void amb_printreg16(volatile void *base, int fn, int reg,
@ -57,7 +57,7 @@ static void amb_printreg16(volatile void *base, int fn, int reg,
static uint8_t amb_read_config8(volatile void *base, int fn, int reg) static uint8_t amb_read_config8(volatile void *base, int fn, int reg)
{ {
return *(uint8_t *)(AMB_ADDR((uint64_t)base, fn, reg)); return *(uint8_t *)(AMB_ADDR((intptr_t)base, fn, reg));
} }
static void amb_printreg8(volatile void *base, int fn, int reg, static void amb_printreg8(volatile void *base, int fn, int reg,