aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/boot/selfboot.c16
-rw-r--r--src/devices/oprom/yabel/vbe.c1
-rw-r--r--src/lib/cbfs.c4
3 files changed, 11 insertions, 10 deletions
diff --git a/src/boot/selfboot.c b/src/boot/selfboot.c
index 7ae9f8cd7d..cdb1fa1bd7 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 b1d6984d77..a9cee30626 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 20c9d4957a..33fa7999b6 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));
}
/**