Page MenuHomeFreeBSD

D18365.1794016262.diff
No OneTemporary

Authored By
Unknown
Size
1 KB
Referenced Files
None
Subscribers
None

D18365.1794016262.diff

Index: stand/uboot/common/main.c
===================================================================
--- stand/uboot/common/main.c
+++ stand/uboot/common/main.c
@@ -497,6 +497,9 @@
do_interact:
setenv("LINES", "24", 1); /* optional */
setenv("prompt", "loader>", 1);
+#ifdef __powerpc__
+ setenv("usefdt", "1", 1);
+#endif
archsw.arch_loadaddr = uboot_loadaddr;
archsw.arch_getdev = uboot_getdev;
Index: stand/uboot/lib/elf_freebsd.c
===================================================================
--- stand/uboot/lib/elf_freebsd.c
+++ stand/uboot/lib/elf_freebsd.c
@@ -71,7 +71,7 @@
__elfN(uboot_exec)(struct preloaded_file *fp)
{
struct file_metadata *fmp;
- vm_offset_t mdp;
+ vm_offset_t mdp, dtbp;
Elf_Ehdr *e;
int error;
void (*entry)(void *);
@@ -81,7 +81,7 @@
e = (Elf_Ehdr *)&fmp->md_data;
- if ((error = md_load(fp->f_args, &mdp, NULL)) != 0)
+ if ((error = md_load(fp->f_args, &mdp, &dtbp)) != 0)
return (error);
entry = (void *)e->e_entry;
@@ -90,7 +90,12 @@
dev_cleanup();
printf("Kernel args: %s\n", fp->f_args);
+#ifdef __powerpc__
+ ((void (*)(u_long, u_long, u_long, void *, u_long))entry)(dtbp, 0, 0,
+ (void *)mdp, 0xfb5d104d);
+#else
(*entry)((void *)mdp);
+#endif
panic("exec returned");
}

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 7, 1:51 AM (5 h, 29 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
41537898
Default Alt Text
D18365.1794016262.diff (1 KB)

Event Timeline