summaryrefslogtreecommitdiffstats
path: root/arch/ppc/lib
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2011-12-17 16:33:57 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2011-12-17 16:33:57 +0100
commit146a7fe4a2427d4aaece1d1a642c52a50c95691f (patch)
tree610db5431aeffbda14d1f37381995a7322ce21aa /arch/ppc/lib
parent84fd8a956cda82b54c85d8047c6f7ed7ec6879c5 (diff)
parent52fac4b1ff5da3deff3e9f0cae681ff23337c1f1 (diff)
downloadbarebox-146a7fe4a2427d4aaece1d1a642c52a50c95691f.tar.gz
barebox-146a7fe4a2427d4aaece1d1a642c52a50c95691f.tar.xz
Merge branch 'work/uimage' into next
Conflicts: arch/ppc/lib/ppclinux.c commands/bootm.c include/boot.h Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/ppc/lib')
-rw-r--r--arch/ppc/lib/ppclinux.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/arch/ppc/lib/ppclinux.c b/arch/ppc/lib/ppclinux.c
index 3446bb9291..95dc83bfe5 100644
--- a/arch/ppc/lib/ppclinux.c
+++ b/arch/ppc/lib/ppclinux.c
@@ -10,18 +10,15 @@
#include <errno.h>
#include <fs.h>
-#ifdef CONFIG_OF_FLAT_TREE
-#include <ft_build.h>
-#endif
-extern bd_t *bd;
-
static int do_bootm_linux(struct image_data *data)
{
void (*kernel)(void *, void *, unsigned long,
unsigned long, unsigned long);
- struct image_header *os_header = &data->os->header;
- kernel = (void *)image_get_ep(os_header);
+ if (!data->os_res)
+ return -EINVAL;
+
+ kernel = (void *)(data->os_address + data->os_entry);
/*
* Linux Kernel Parameters (passing device tree):
@@ -40,8 +37,10 @@ static int do_bootm_linux(struct image_data *data)
}
static struct image_handler handler = {
+ .name = "PowerPC Linux",
.bootm = do_bootm_linux,
- .image_type = IH_OS_LINUX,
+ .filetype = filetype_uimage,
+ .ih_os = IH_OS_LINUX,
};
static int ppclinux_register_image_handler(void)
@@ -50,4 +49,3 @@ static int ppclinux_register_image_handler(void)
}
late_initcall(ppclinux_register_image_handler);
-