public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Kumar Gala <galak@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 01/15] Update linux bootm to support ePAPR client interface
Date: Fri, 15 Aug 2008 08:24:31 -0500	[thread overview]
Message-ID: <1218806685-3615-1-git-send-email-galak@kernel.crashing.org> (raw)

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

             reply	other threads:[~2008-08-15 13:24 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-15 13:24 Kumar Gala [this message]
2008-08-15 13:24 ` [U-Boot] [PATCH 02/15] Clean up usage of icache_disable/dcache_disable Kumar Gala
2008-08-15 13:24   ` [U-Boot] [PATCH 03/15] Add command to enable/disable interrupts Kumar Gala
2008-08-15 13:24     ` [U-Boot] [PATCH 04/15] fdt: added the ability to set initrd start/end via chosen command Kumar Gala
2008-08-15 13:24       ` [U-Boot] [PATCH 05/15] fdt: fdt addr w/o any args reports back the current working address Kumar Gala
2008-08-15 13:24         ` [U-Boot] [PATCH 06/15] bootm: refactor entry point code Kumar Gala
2008-08-15 13:24           ` [U-Boot] [PATCH 07/15] bootm: refactor ramdisk locating code Kumar Gala
2008-08-15 13:24             ` [U-Boot] [PATCH 08/15] bootm: refactor fdt locating and relocation code Kumar Gala
2008-08-15 13:24               ` [U-Boot] [PATCH 09/15] bootm: Set working fdt address as part of the bootm flow Kumar Gala
2008-08-15 13:24                 ` [U-Boot] [PATCH 10/15] bootm: move lmb into the bootm_headers_t structure Kumar Gala
2008-08-15 13:24                   ` [U-Boot] [PATCH 11/15] bootm: refactor image detection and os load steps Kumar Gala
2008-08-15 13:24                     ` [U-Boot] [PATCH 12/15] fdt: refactor fdt resize code Kumar Gala
2008-08-15 13:24                       ` [U-Boot] [PATCH 13/15] fdt: refactor initrd related code Kumar Gala
2008-08-15 13:24                         ` [U-Boot] [PATCH 14/15] fdt: Added resize command Kumar Gala
2008-08-15 13:24                           ` [U-Boot] [PATCH 15/15] bootm: refactor do_reset and os boot function args Kumar Gala
2008-08-26 21:48                             ` Wolfgang Denk
2008-08-26 21:46                           ` [U-Boot] [PATCH 14/15] fdt: Added resize command Wolfgang Denk
2008-08-26 21:45                         ` [U-Boot] [PATCH 13/15] fdt: refactor initrd related code Wolfgang Denk
2008-08-26 21:45                         ` Wolfgang Denk
2008-08-26 21:43                       ` [U-Boot] [PATCH 12/15] fdt: refactor fdt resize code Wolfgang Denk
2008-08-26 21:42                     ` [U-Boot] [PATCH 11/15] bootm: refactor image detection and os load steps Wolfgang Denk
2008-08-26 21:38                   ` [U-Boot] [PATCH 10/15] bootm: move lmb into the bootm_headers_t structure Wolfgang Denk
2008-08-26 21:37                 ` [U-Boot] [PATCH 09/15] bootm: Set working fdt address as part of the bootm flow Wolfgang Denk
2008-08-26 21:37               ` [U-Boot] [PATCH 08/15] bootm: refactor fdt locating and relocation code Wolfgang Denk
2008-08-26 21:35             ` [U-Boot] [PATCH 07/15] bootm: refactor ramdisk locating code Wolfgang Denk
2008-08-21 12:02           ` [U-Boot] [PATCH 06/15] bootm: refactor entry point code Kumar Gala
2008-08-26 21:34             ` Wolfgang Denk
2008-08-26 21:47               ` Jerry Van Baren
2008-08-26 21:57                 ` Wolfgang Denk
2008-08-27  0:07                   ` Kumar Gala
2008-08-26 21:31           ` Wolfgang Denk
2008-08-18 23:07         ` [U-Boot] [PATCH 05/15] fdt: fdt addr w/o any args reports back the current working address Wolfgang Denk
2008-08-18 23:23           ` Jerry Van Baren
2008-08-20 22:56         ` Wolfgang Denk
2008-08-18 23:04       ` [U-Boot] [PATCH 04/15] fdt: added the ability to set initrd start/end via chosen command Wolfgang Denk
2008-08-20 22:56       ` Wolfgang Denk
2008-08-18 22:59     ` [U-Boot] [PATCH 03/15] Add command to enable/disable interrupts Wolfgang Denk
2008-08-18 23:18       ` Kumar Gala
2008-08-20 22:53     ` Wolfgang Denk
2008-08-18 22:57   ` [U-Boot] [PATCH 02/15] Clean up usage of icache_disable/dcache_disable Wolfgang Denk
2008-08-18 22:55 ` [U-Boot] [PATCH 01/15] Update linux bootm to support ePAPR client interface Wolfgang Denk

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=1218806685-3615-1-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