summaryrefslogtreecommitdiff
path: root/lib_i386/i386_linux.c
diff options
context:
space:
mode:
authorMarian Balakowicz <m8@semihalf.com>2008-01-31 13:20:06 +0100
committerWolfgang Denk <wd@denx.de>2008-02-07 01:12:57 +0100
commit4a995edec1ac163d9326d143ffe2b47e7543407f (patch)
treef69ac1a596c3eadb1e9db93c5b5c678d26b804f7 /lib_i386/i386_linux.c
parent7582438c285bf0cef82909d0f232de64ec567a8a (diff)
downloadu-boot-4a995edec1ac163d9326d143ffe2b47e7543407f.tar.gz
[new uImage] Rename architecture specific bootm code files
Implementation of the do_bootm_linux() and other bootm helper routines is architecture specific code. As such it resides in lib_<arch> directories in files named <arch>_linux.c This patch renames those files to a more clear and accurate lib_<arch>/bootm.c form. List of the renamed files: lib_arm/armlinux.c -> lib_arm/bootm.c lib_avr32/avr32_linux.c -> lib_avr32/bootm.c lib_blackfin/bf533_linux.c -> lib_blackfin/bootm.c lib_i386/i386_linux.c -> lib_i386/bootm.c lib_m68k/m68k_linux.c -> lib_m68k/bootm.c lib_microblaze/microblaze_linux.c -> lib_microblaze/bootm.c lib_mips/mips_linux.c -> lib_mips/bootm.c lib_nios/nios_linux.c -> lib_nios/bootm.c lib_nios2/nios_linux.c -> lib_nios2/bootm.c lib_ppc/ppc_linux.c -> lib_ppc/bootm.c lib_sh/sh_linux.c -> lib_sh/bootm.c Signed-off-by: Marian Balakowicz <m8@semihalf.com>
Diffstat (limited to 'lib_i386/i386_linux.c')
-rw-r--r--lib_i386/i386_linux.c142
1 files changed, 0 insertions, 142 deletions
diff --git a/lib_i386/i386_linux.c b/lib_i386/i386_linux.c
deleted file mode 100644
index 27a2b0d9ab..0000000000
--- a/lib_i386/i386_linux.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * (C) Copyright 2002
- * Sysgo Real-Time Solutions, GmbH <www.elinos.com>
- * Marius Groeger <mgroeger@sysgo.de>
- *
- * Copyright (C) 2001 Erik Mouw (J.A.K.Mouw@its.tudelft.nl)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <common.h>
-#include <command.h>
-#include <image.h>
-#include <zlib.h>
-#include <asm/byteorder.h>
-#include <asm/zimage.h>
-
-/*cmd_boot.c*/
-extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
-void do_bootm_linux(cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],
- image_header_t *hdr, int verify)
-{
- void *base_ptr;
-
- ulong os_data, os_len;
- ulong rd_data, rd_len;
- ulong initrd_start, initrd_end;
- image_header_t *rd_hdr;
-
- /*
- * Check if there is an initrd image
- */
- if (argc >= 3) {
- rd_hdr = (image_header_t *)simple_strtoul (argv[2], NULL, 16);
- printf ("## Loading Ramdisk Image at %08lx ...\n", rd_hdr);
-
- if (!image_check_magic (rd_hdr)) {
- printf ("Bad Magic Number\n");
- do_reset (cmdtp, flag, argc, argv);
- }
-
- if (!image_check_hcrc (rd_hdr)) {
- printf ("Bad Header Checksum\n");
- do_reset (cmdtp, flag, argc, argv);
- }
-
- print_image_hdr (rd_hdr);
-
- rd_data = image_get_data (rd_hdr);
- rd_len = image_get_data_size (rd_hdr);
-
- if (verify) {
- printf (" Verifying Checksum ... ");
- if (!image_check_dcrc (rd_hdr)) {
- printf ("Bad Data CRC\n");
- do_reset (cmdtp, flag, argc, argv);
- }
- printf ("OK\n");
- }
-
- if (!image_check_os (rd_hdr, IH_OS_LINUX) ||
- !image_check_arch (rd_hdr, IH_ARCH_I386) ||
- !image_check_type (rd_hdr, IH_TYPE_RAMDISK)) {
- printf ("No Linux i386 Ramdisk Image\n");
- do_reset (cmdtp, flag, argc, argv);
- }
-
- /*
- * Now check if we have a multifile image
- */
- } else if (image_check_type (hdr, IH_TYPE_MULTI)) {
- /*
- * Get second entry data start address and len
- */
- image_multi_getimg (hdr, 1, &rd_data, &rd_len);
- } else {
- /*
- * no initrd image
- */
- rd_data = rd_len = 0;
- }
-
-#ifdef DEBUG
- if (!rd_data) {
- printf ("No initrd\n");
- }
-#endif
-
- if (rd_data) {
- initrd_start = rd_data;
- initrd_end = initrd_start + rd_len;
- printf (" Loading Ramdisk to %08lx, end %08lx ... ",
- initrd_start, initrd_end);
- memmove ((void *)initrd_start, (void *)rd_data, rd_len);
- printf ("OK\n");
- } else {
- initrd_start = 0;
- initrd_end = 0;
- }
-
- /* if multi-part image, we need to advance base ptr */
- if (image_check_type (hdr, IH_TYPE_MULTI)) {
- image_multi_getimg (hdr, 0, &os_data, &os_len);
- } else {
- os_data = image_get_data (hdr);
- os_len = image_get_data_size (hdr);
- }
-
- base_ptr = load_zimage ((void*)os_data, os_len,
- initrd_start, rd_len, 0);
-
- if (NULL == base_ptr) {
- printf ("## Kernel loading failed ...\n");
- do_reset(cmdtp, flag, argc, argv);
-
- }
-
-#ifdef DEBUG
- printf ("## Transferring control to Linux (at address %08x) ...\n",
- (u32)base_ptr);
-#endif
-
- /* we assume that the kernel is in place */
- printf("\nStarting kernel ...\n\n");
-
- boot_zimage(base_ptr);
-
-}