summaryrefslogtreecommitdiff
path: root/payloads/libpayload/libcbfs
diff options
context:
space:
mode:
Diffstat (limited to 'payloads/libpayload/libcbfs')
-rw-r--r--payloads/libpayload/libcbfs/cbfs.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/payloads/libpayload/libcbfs/cbfs.c b/payloads/libpayload/libcbfs/cbfs.c
index 561055534a..5ab7ffa04a 100644
--- a/payloads/libpayload/libcbfs/cbfs.c
+++ b/payloads/libpayload/libcbfs/cbfs.c
@@ -135,21 +135,21 @@ void * cbfs_load_stage(struct cbfs_media *media, const char *name)
cbfs_get_file_content(media, name, CBFS_TYPE_STAGE, NULL);
/* this is a mess. There is no ntohll. */
/* for now, assume compatible byte order until we solve this. */
- uint32_t entry;
+ uintptr_t entry;
uint32_t final_size;
if (stage == NULL)
return (void *) -1;
- LOG("loading stage %s @ 0x%x (%d bytes), entry @ 0x%llx\n",
+ LOG("loading stage %s @ 0x%p (%d bytes), entry @ 0x%llx\n",
name,
- (uint32_t) stage->load, stage->memlen,
+ (void*)(uintptr_t) stage->load, stage->memlen,
stage->entry);
final_size = cbfs_decompress(stage->compression,
((unsigned char *) stage) +
sizeof(struct cbfs_stage),
- (void *) (uint32_t) stage->load,
+ (void *) (uintptr_t) stage->load,
stage->len);
if (!final_size)
return (void *) -1;
@@ -179,8 +179,7 @@ int cbfs_execute_stage(struct cbfs_media *media, const char *name)
return 1;
}
- /* FIXME: This isn't right */
- LOG("run @ %p\n", (void *) ntohl((uint32_t) stage->entry));
+ LOG("run @ %p\n", (void *) (uintptr_t)ntohll(stage->entry));
return run_address((void *)(uintptr_t)ntohll(stage->entry));
}