summaryrefslogtreecommitdiffstats
path: root/sys/boot/ofw
diff options
context:
space:
mode:
authorgrehan <grehan@FreeBSD.org>2003-12-21 12:27:01 +0000
committergrehan <grehan@FreeBSD.org>2003-12-21 12:27:01 +0000
commit92ec82003e0da7bd834607efeae899f084e05d2f (patch)
tree2f627bc90c9e020228187d1309679127fbab0dbb /sys/boot/ofw
parent94a666f7b7a018e8c12195b22b206845ccf51d71 (diff)
downloadFreeBSD-src-92ec82003e0da7bd834607efeae899f084e05d2f.zip
FreeBSD-src-92ec82003e0da7bd834607efeae899f084e05d2f.tar.gz
Make __elfN(ofw_loadfile) match parameter declaration for file_format
in boot/common/bootstrap.h. Having a 32-bit size when a 64-bit param is declared wreaks havoc on PPC. Not objected to by: sparc64
Diffstat (limited to 'sys/boot/ofw')
-rw-r--r--sys/boot/ofw/libofw/elf_freebsd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/boot/ofw/libofw/elf_freebsd.c b/sys/boot/ofw/libofw/elf_freebsd.c
index 7fa7586..abfa3ef 100644
--- a/sys/boot/ofw/libofw/elf_freebsd.c
+++ b/sys/boot/ofw/libofw/elf_freebsd.c
@@ -42,7 +42,7 @@ extern char end[];
extern vm_offset_t reloc; /* From <arch>/conf.c */
int
-__elfN(ofw_loadfile)(char *filename, vm_offset_t dest,
+__elfN(ofw_loadfile)(char *filename, u_int64_t dest,
struct preloaded_file **result)
{
int r;
@@ -52,6 +52,9 @@ __elfN(ofw_loadfile)(char *filename, vm_offset_t dest,
if (r != 0)
return (r);
+#if defined(__powerpc__)
+ __syncicache((void *) (*result)->f_addr, (*result)->f_size);
+#endif
return (0);
}
OpenPOWER on IntegriCloud