From: Kumar Gala <galak@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [RFC][PATCH 01/15] Update linux bootm to support ePAPR client interface
Date: Tue, 12 Aug 2008 16:17:23 -0500 [thread overview]
Message-ID: <1218575851-4404-2-git-send-email-galak@kernel.crashing.org> (raw)
In-Reply-To: <1218575851-4404-1-git-send-email-galak@kernel.crashing.org>
the ePAPR spec has some subtle differences from the current device tree
based boot interface to the powerpc linux kernel. The powerpc linux kernel
currently ignores the differences that ePAPR specifies.
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
lib_ppc/bootm.c | 33 +++++++++++++++++++++++----------
1 files changed, 23 insertions(+), 10 deletions(-)
diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
index cbe5592..e83c860 100644
--- a/lib_ppc/bootm.c
+++ b/lib_ppc/bootm.c
@@ -80,7 +80,8 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
ulong cmd_start, cmd_end, bootmap_base;
bd_t *kbd;
ulong ep = 0;
- void (*kernel)(bd_t *, ulong, ulong, ulong, ulong);
+ void (*kernel)(bd_t *, ulong r4, ulong r5, ulong r6,
+ ulong r7, ulong r8, ulong r9);
int ret;
ulong of_size = 0;
struct lmb *lmb = images->lmb;
@@ -166,8 +167,8 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
puts ("Could not find kernel entry point!\n");
goto error;
}
- kernel = (void (*)(bd_t *, ulong, ulong, ulong, ulong))ep;
-
+ kernel = (void (*)(bd_t *, ulong, ulong, ulong,
+ ulong, ulong, ulong))ep;
/* find ramdisk */
ret = boot_get_ramdisk (argc, argv, images, IH_ARCH_PPC,
&rd_data_start, &rd_data_end);
@@ -282,14 +283,23 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
if (of_flat_tree) { /* device tree; boot new style */
/*
* Linux Kernel Parameters (passing device tree):
- * r3: pointer to the fdt, followed by the board info data
- * r4: physical pointer to the kernel itself
- * r5: NULL
- * r6: NULL
- * r7: NULL
+ * r3: pointer to the fdt
+ * r4: 0
+ * r5: 0
+ * r6: epapr magic
+ * r7: size of IMA in bytes
+ * r8: 0
+ * r9: 0
*/
+#if defined(CONFIG_85xx) || defined(CONFIG_440)
+ #define EPAPR_MAGIC (0x45504150)
+#else
+ #define EPAPR_MAGIC (0x65504150)
+#endif
+
debug (" Booting using OF flat tree...\n");
- (*kernel) ((bd_t *)of_flat_tree, (ulong)kernel, 0, 0, 0);
+ (*kernel) ((bd_t *)of_flat_tree, 0, 0, EPAPR_MAGIC,
+ CFG_BOOTMAPSZ, 0, 0);
/* does not return */
} else
#endif
@@ -301,9 +311,12 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
* r5: initrd_end - unused if r4 is 0
* r6: Start of command line string
* r7: End of command line string
+ * r8: 0
+ * r9: 0
*/
debug (" Booting using board info...\n");
- (*kernel) (kbd, initrd_start, initrd_end, cmd_start, cmd_end);
+ (*kernel) (kbd, initrd_start, initrd_end,
+ cmd_start, cmd_end, 0, 0);
/* does not return */
}
return ;
--
1.5.5.1
next prev parent reply other threads:[~2008-08-12 21:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-12 21:17 [U-Boot] [RFC][PATCH 00/15] bootm refactoring Kumar Gala
2008-08-12 21:17 ` Kumar Gala [this message]
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 02/15] add ability to disable ft_board_setup as part of bootm Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 03/15] Clean up usage of icache_disable/dcache_disable Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 04/15] fdt: added the ability to set initrd start/end via chosen command Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 05/15] fdt: fdt addr w/o any args reports back the current working address Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 06/15] bootm: refactor entry point code Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 07/15] bootm: refactor ramdisk locating code Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 08/15] bootm: refactor fdt locating and relocation code Kumar Gala
2008-08-12 21:17 ` [U-Boot] [RFC][PATCH 09/15] bootm: Set working fdt address as part of the bootm flow Kumar Gala
2008-08-13 5:31 ` [U-Boot] [RFC][PATCH 00/15] bootm refactoring Jerry Van Baren
2008-08-13 12:43 ` Kumar Gala
2008-08-13 13:32 ` Jerry Van Baren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1218575851-4404-2-git-send-email-galak@kernel.crashing.org \
--to=galak@kernel.crashing.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox