Don't assume that pointer and cell size are identical, part 1

On ppc64, cell size is 32 bits but pointers are 64-bit.
Thus, direct casts result in warnings, treated as errors.

Use [u]intptr_t cast or cell2pointer and pointer2cell macros as necessary.

v2:
* Drop changes related to physical addresses since physical addresses may be
  wider than pointers (e.g., 36 bits on sparc32, as pointed out by Blue).
* Drop changes to cell2pointer() and pointer2cell() for now.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@922 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Andreas Färber
2010-10-25 20:48:45 +00:00
committed by Andreas Färber
parent 28516584d1
commit 380cd335cc
27 changed files with 93 additions and 94 deletions

View File

@@ -90,7 +90,7 @@ static void
iso9660_files_read( iso9660_info_t *mi )
{
int count = POP();
char *buf = (char *)POP();
char *buf = (char *)cell2pointer(POP());
int ret;
if ( mi->common->type != FILE )
@@ -137,7 +137,7 @@ iso9660_files_offset( iso9660_info_t *mi )
static void
iso9660_files_load( iso9660_info_t *mi)
{
char *buf = (char*)POP();
char *buf = (char*)cell2pointer(POP());
int ret, size;
if ( mi->common->type != FILE )