Stefan Reinauer (stefan.reinauer@coreboot.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/288
-gerrit
commit 699632f2925fdcb16d4dcdaed99728e29588e083 Author: Stefan Reinauer reinauer@chromium.org Date: Mon Oct 17 09:51:15 2011 -0700
Use ntohll where appropriate.
also clean out a local copy of ntohl in yabel.
Change-Id: Iffe85a53c9ea25abeb3ac663870eb7eb4874a704 Signed-off-by: Stefan Reinauer reinauer@google.com --- src/boot/selfboot.c | 16 +++++++++------- src/devices/oprom/yabel/vbe.c | 1 - src/lib/cbfs.c | 4 ++-- 3 files changed, 11 insertions(+), 10 deletions(-)
diff --git a/src/boot/selfboot.c b/src/boot/selfboot.c index 7ae9f8c..cdb1fa1 100644 --- a/src/boot/selfboot.c +++ b/src/boot/selfboot.c @@ -349,11 +349,12 @@ static int build_self_segment_list( segment->type == PAYLOAD_SEGMENT_CODE ? "code" : "data", ntohl(segment->compression)); new = malloc(sizeof(*new)); - new->s_dstaddr = ntohl((u32) segment->load_addr); + new->s_dstaddr = ntohll(segment->load_addr); new->s_memsz = ntohl(segment->mem_len); new->compression = ntohl(segment->compression);
- new->s_srcaddr = (u32) ((unsigned char *) first_segment) + ntohl(segment->offset); + new->s_srcaddr = (u32) ((unsigned char *)first_segment) + + ntohl(segment->offset); new->s_filesz = ntohl(segment->len); printk(BIOS_DEBUG, " New segment dstaddr 0x%lx memsize 0x%lx srcaddr 0x%lx filesize 0x%lx\n", new->s_dstaddr, new->s_memsz, new->s_srcaddr, new->s_filesz); @@ -366,17 +367,18 @@ static int build_self_segment_list( break;
case PAYLOAD_SEGMENT_BSS: - printk(BIOS_DEBUG, " BSS 0x%p (%d byte)\n", (void *) ntohl((u32) segment->load_addr), - ntohl(segment->mem_len)); + printk(BIOS_DEBUG, " BSS 0x%p (%d byte)\n", (void *) + (intptr_t)ntohll(segment->load_addr), + ntohl(segment->mem_len)); new = malloc(sizeof(*new)); new->s_filesz = 0; - new->s_dstaddr = ntohl((u32) segment->load_addr); + new->s_dstaddr = ntohll(segment->load_addr); new->s_memsz = ntohl(segment->mem_len); break;
case PAYLOAD_SEGMENT_ENTRY: printk(BIOS_DEBUG, " Entry Point 0x%p\n", (void *) ntohl((u32) segment->load_addr)); - *entry = ntohl((u32) segment->load_addr); + *entry = ntohll(segment->load_addr); /* Per definition, a payload always has the entry point * as last segment. Thus, we use the occurence of the * entry point as break condition for the loop. @@ -396,7 +398,7 @@ static int build_self_segment_list(
// FIXME: Explain what this is for(ptr = head->next; ptr != head; ptr = ptr->next) { - if (new->s_srcaddr < ntohl((u32) segment->load_addr)) + if (new->s_srcaddr < ntohll(segment->load_addr)) break; }
diff --git a/src/devices/oprom/yabel/vbe.c b/src/devices/oprom/yabel/vbe.c index b1d6984..a9cee30 100644 --- a/src/devices/oprom/yabel/vbe.c +++ b/src/devices/oprom/yabel/vbe.c @@ -18,7 +18,6 @@ #endif
#include <arch/byteorder.h> -#define ntohl(x) be32_to_cpu(x)
#include "debug.h"
diff --git a/src/lib/cbfs.c b/src/lib/cbfs.c index 20c9d49..33fa799 100644 --- a/src/lib/cbfs.c +++ b/src/lib/cbfs.c @@ -116,7 +116,7 @@ void * cbfs_load_stage(const char *name) printk(BIOS_DEBUG, "Stage: done loading.\n");
entry = stage->entry; - // entry = ntohl((u32) stage->entry); + // entry = ntohll(stage->entry);
return (void *) entry; } @@ -137,7 +137,7 @@ int cbfs_execute_stage(const char *name)
/* FIXME: This isn't right */ printk(BIOS_INFO, "CBFS: run @ %p\n", (void *) ntohl((u32) stage->entry)); - return run_address((void *) ntohl((u32) stage->entry)); + return run_address((void *) (intptr_t)ntohll(stage->entry)); }
/**