mirror of
https://gitlab.com/qemu-project/openbios.git
synced 2024-02-13 08:34:06 +08:00
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:
committed by
Andreas Färber
parent
28516584d1
commit
380cd335cc
@@ -110,7 +110,7 @@ void* ofmem_malloc( size_t size )
|
||||
|
||||
top = ofmem_arch_get_heap_top();
|
||||
|
||||
if( (ucell)ofmem->next_malloc + size > top ) {
|
||||
if( pointer2cell(ofmem->next_malloc) + size > top ) {
|
||||
printk("out of malloc memory (%x)!\n", size );
|
||||
return NULL;
|
||||
}
|
||||
@@ -183,10 +183,9 @@ ofmem_set_property( phandle_t ph, const char *name, const char *buf, int len )
|
||||
printk("ofmem_set_property: NULL phandle\n");
|
||||
return;
|
||||
}
|
||||
PUSH((ucell)buf);
|
||||
PUSH(pointer2cell(buf));
|
||||
PUSH(len);
|
||||
PUSH((ucell)name);
|
||||
PUSH(strlen(name));
|
||||
push_str(name);
|
||||
PUSH_ph(ph);
|
||||
fword("encode-property");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user