All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kumar Gala <galak@kernel.crashing.org>
To: u-boot@lists.denx.de
Subject: [U-Boot] [WIP][PATCH 08/11] bootm: move lmb into the bootm_headers_t structure
Date: Tue, 12 Aug 2008 08:44:33 -0500	[thread overview]
Message-ID: <1218548676-25159-9-git-send-email-galak@kernel.crashing.org> (raw)
In-Reply-To: <1218548676-25159-8-git-send-email-galak@kernel.crashing.org>

To allow for persistent state between future bootm subcommands we need
the lmb to exist in a global state.  Moving it into the bootm_headers_t
allows us to do that.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
 common/cmd_bootm.c |   11 ++++-------
 include/image.h    |    4 +++-
 lib_m68k/bootm.c   |    2 +-
 lib_ppc/bootm.c    |    2 +-
 lib_sparc/bootm.c  |    2 +-
 5 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/common/cmd_bootm.c b/common/cmd_bootm.c
index c5dbf76..598f5af 100644
--- a/common/cmd_bootm.c
+++ b/common/cmd_bootm.c
@@ -169,20 +169,17 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 	phys_size_t	mem_size;
 	int		ret;
 
-	struct lmb lmb;
-
 	memset ((void *)&images, 0, sizeof (images));
 	images.verify = getenv_yesno ("verify");
-	images.lmb = &lmb;
 
-	lmb_init(&lmb);
+	lmb_init(&images.lmb);
 
 	mem_start = getenv_bootm_low();
 	mem_size = getenv_bootm_size();
 
-	lmb_add(&lmb, (phys_addr_t)mem_start, mem_size);
+	lmb_add(&images.lmb, (phys_addr_t)mem_start, mem_size);
 
-	board_lmb_reserve(&lmb);
+	board_lmb_reserve(&images.lmb);
 
 	/* get kernel image header, start address and length */
 	os_hdr = boot_get_kernel (cmdtp, flag, argc, argv,
@@ -388,7 +385,7 @@ int do_bootm (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 
 	show_boot_progress (8);
 
-	lmb_reserve(&lmb, load_start, (load_end - load_start));
+	lmb_reserve(&images.lmb, load_start, (load_end - load_start));
 
 	switch (os) {
 	default:			/* handled by (original) Linux case */
diff --git a/include/image.h b/include/image.h
index 04dd7d2..1975012 100644
--- a/include/image.h
+++ b/include/image.h
@@ -229,7 +229,9 @@ typedef struct bootm_headers {
 #endif
 
 	int		verify;		/* getenv("verify")[0] != 'n' */
-	struct lmb	*lmb;		/* for memory mgmt */
+#ifndef USE_HOSTCC
+	struct lmb	lmb;		/* for memory mgmt */
+#endif
 } bootm_headers_t;
 
 /*
diff --git a/lib_m68k/bootm.c b/lib_m68k/bootm.c
index 241721d..1c3b9c9 100644
--- a/lib_m68k/bootm.c
+++ b/lib_m68k/bootm.c
@@ -58,7 +58,7 @@ void do_bootm_linux(cmd_tbl_t * cmdtp, int flag,
 	ulong bootmap_base;
 	bd_t  *kbd;
 	void  (*kernel) (bd_t *, ulong, ulong, ulong, ulong);
-	struct lmb *lmb = images->lmb;
+	struct lmb *lmb = &images->lmb;
 
 	bootmap_base = getenv_bootm_low();
 
diff --git a/lib_ppc/bootm.c b/lib_ppc/bootm.c
index 45f6a47..fb3cccc 100644
--- a/lib_ppc/bootm.c
+++ b/lib_ppc/bootm.c
@@ -73,7 +73,7 @@ do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
 			  ulong r7, ulong r8, ulong r9);
 	int	ret;
 	ulong	of_size = images->ft_len;
-	struct lmb *lmb = images->lmb;
+	struct lmb *lmb = &images->lmb;
 
 #if defined(CONFIG_OF_LIBFDT)
 	char	*of_flat_tree = images->ft_addr;
diff --git a/lib_sparc/bootm.c b/lib_sparc/bootm.c
index 71d34ba..aac05e4 100644
--- a/lib_sparc/bootm.c
+++ b/lib_sparc/bootm.c
@@ -93,7 +93,7 @@ void do_bootm_linux(cmd_tbl_t * cmdtp, int flag, int argc, char *argv[],
 	unsigned int data, len, checksum;
 	unsigned int initrd_addr, kernend;
 	void (*kernel) (struct linux_romvec *, void *);
-	struct lmb *lmb = images->lmb;
+	struct lmb *lmb = &images->lmb;
 	int ret;
 
 	if (images->legacy_hdr_valid) {
-- 
1.5.5.1

  reply	other threads:[~2008-08-12 13:44 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-12 13:44 [U-Boot] [WIP][PATCH 00/11] bootm refactoring Kumar Gala
2008-08-12 13:44 ` [U-Boot] [WIP][PATCH 01/11] Update linux bootm to support ePAPR client interface Kumar Gala
2008-08-12 13:44   ` [U-Boot] [WIP][PATCH 02/11] add ability to disable ft_board_setup as part of bootm Kumar Gala
2008-08-12 13:44     ` [U-Boot] [WIP][PATCH 03/11] Clean up usage of icache_disable/dcache_disable Kumar Gala
2008-08-12 13:44       ` [U-Boot] [WIP][PATCH 04/11] bootm: refactor entry point code Kumar Gala
2008-08-12 13:44         ` [U-Boot] [WIP][PATCH 05/11] bootm: refactor ramdisk locating code Kumar Gala
2008-08-12 13:44           ` [U-Boot] [WIP][PATCH 06/11] bootm: refactor fdt locating and relocation code Kumar Gala
2008-08-12 13:44             ` [U-Boot] [WIP][PATCH 07/11] bootm: Set working fdt address as part of the bootm flow Kumar Gala
2008-08-12 13:44               ` Kumar Gala [this message]
2008-08-12 13:44                 ` [U-Boot] [WIP][PATCH 09/11] bootm: refactor image detection and os load steps Kumar Gala
2008-08-12 13:44                   ` [U-Boot] [WIP][PATCH 10/11] fdt: refactor fdt resize code Kumar Gala
2008-08-12 13:44                     ` [U-Boot] [WIP][PATCH 11/11] fdt: refactor initrd related code Kumar Gala
2008-08-13  5:12                   ` [U-Boot] [WIP][PATCH 09/11] bootm: refactor image detection and os load steps Jerry Van Baren
2008-08-12 20:12 ` [U-Boot] [WIP][PATCH 00/11] bootm refactoring Wolfgang Denk
2008-08-12 20:17   ` Kumar Gala
2008-08-12 23:15     ` Wolfgang Denk
2008-08-13  1:01       ` Kumar Gala
2008-08-13  5:12         ` 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=1218548676-25159-9-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.