summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2011-04-13 21:53:09 +0200
committerWolfgang Denk <wd@denx.de>2011-04-13 21:53:09 +0200
commit107b56bdd8e82b07458df11f8df4a01067512281 (patch)
tree5408cb88b9aaf65e8b8e96ea812ae09e506bea22
parent2c51983b810d73946f653a4385c65a8b7babbbe1 (diff)
parent880c80d004acdc7370ab892df51c37c0cf0ff86d (diff)
Merge branch 'master' of git://git.denx.de/u-boot-x86
-rw-r--r--MAINTAINERS4
-rwxr-xr-xMAKEALL4
-rw-r--r--Makefile4
-rw-r--r--README2
-rw-r--r--arch/x86/config.mk (renamed from arch/i386/config.mk)0
-rw-r--r--arch/x86/cpu/Makefile (renamed from arch/i386/cpu/Makefile)0
-rw-r--r--arch/x86/cpu/config.mk (renamed from arch/i386/cpu/config.mk)2
-rw-r--r--arch/x86/cpu/cpu.c (renamed from arch/i386/cpu/cpu.c)33
-rw-r--r--arch/x86/cpu/interrupts.c (renamed from arch/i386/cpu/interrupts.c)8
-rw-r--r--arch/x86/cpu/resetvec.S (renamed from arch/i386/cpu/resetvec.S)5
-rw-r--r--arch/x86/cpu/sc520/Makefile (renamed from arch/i386/cpu/sc520/Makefile)1
-rw-r--r--arch/x86/cpu/sc520/sc520.c (renamed from arch/i386/cpu/sc520/sc520.c)18
-rw-r--r--arch/x86/cpu/sc520/sc520_car.S (renamed from arch/i386/cpu/sc520/sc520_car.S)5
-rw-r--r--arch/x86/cpu/sc520/sc520_pci.c (renamed from arch/i386/cpu/sc520/sc520_pci.c)14
-rw-r--r--arch/x86/cpu/sc520/sc520_reset.c40
-rw-r--r--arch/x86/cpu/sc520/sc520_sdram.c (renamed from arch/i386/cpu/sc520/sc520_sdram.c)4
-rw-r--r--arch/x86/cpu/sc520/sc520_ssi.c (renamed from arch/i386/cpu/sc520/sc520_ssi.c)5
-rw-r--r--arch/x86/cpu/sc520/sc520_timer.c (renamed from arch/i386/cpu/sc520/sc520_timer.c)7
-rw-r--r--arch/x86/cpu/start.S (renamed from arch/i386/cpu/start.S)34
-rw-r--r--arch/x86/cpu/start16.S (renamed from arch/i386/cpu/start16.S)8
-rw-r--r--arch/x86/cpu/u-boot.lds (renamed from arch/i386/cpu/u-boot.lds)5
-rw-r--r--arch/x86/include/asm/bitops.h (renamed from arch/i386/include/asm/bitops.h)0
-rw-r--r--arch/x86/include/asm/bootparam.h (renamed from arch/i386/include/asm/bootparam.h)0
-rw-r--r--arch/x86/include/asm/byteorder.h (renamed from arch/i386/include/asm/byteorder.h)0
-rw-r--r--arch/x86/include/asm/config.h (renamed from arch/i386/include/asm/config.h)0
-rw-r--r--arch/x86/include/asm/e820.h (renamed from arch/i386/include/asm/e820.h)0
-rw-r--r--arch/x86/include/asm/errno.h (renamed from arch/i386/include/asm/errno.h)0
-rw-r--r--arch/x86/include/asm/global_data.h (renamed from arch/i386/include/asm/global_data.h)0
-rw-r--r--arch/x86/include/asm/i8254.h (renamed from arch/i386/include/asm/i8254.h)0
-rw-r--r--arch/x86/include/asm/i8259.h (renamed from arch/i386/include/asm/i8259.h)0
-rw-r--r--arch/x86/include/asm/ibmpc.h (renamed from arch/i386/include/asm/ibmpc.h)0
-rw-r--r--arch/x86/include/asm/ic/pci.h (renamed from arch/i386/include/asm/ic/pci.h)0
-rw-r--r--arch/x86/include/asm/ic/sc520.h (renamed from arch/i386/include/asm/ic/sc520.h)0
-rw-r--r--arch/x86/include/asm/ic/ssi.h (renamed from arch/i386/include/asm/ic/ssi.h)0
-rw-r--r--arch/x86/include/asm/interrupt.h (renamed from arch/i386/include/asm/interrupt.h)4
-rw-r--r--arch/x86/include/asm/io.h (renamed from arch/i386/include/asm/io.h)0
-rw-r--r--arch/x86/include/asm/ioctl.h (renamed from arch/i386/include/asm/ioctl.h)0
-rw-r--r--arch/x86/include/asm/ist.h (renamed from arch/i386/include/asm/ist.h)0
-rw-r--r--arch/x86/include/asm/pci.h (renamed from arch/i386/include/asm/pci.h)0
-rw-r--r--arch/x86/include/asm/posix_types.h (renamed from arch/i386/include/asm/posix_types.h)0
-rw-r--r--arch/x86/include/asm/processor-flags.h (renamed from arch/i386/include/asm/processor-flags.h)0
-rw-r--r--arch/x86/include/asm/processor.h (renamed from arch/i386/include/asm/processor.h)0
-rw-r--r--arch/x86/include/asm/ptrace.h (renamed from arch/i386/include/asm/ptrace.h)0
-rw-r--r--arch/x86/include/asm/realmode.h (renamed from arch/i386/include/asm/realmode.h)0
-rw-r--r--arch/x86/include/asm/string.h (renamed from arch/i386/include/asm/string.h)0
-rw-r--r--arch/x86/include/asm/types.h (renamed from arch/i386/include/asm/types.h)0
-rw-r--r--arch/x86/include/asm/u-boot-x86.h (renamed from arch/i386/include/asm/u-boot-i386.h)4
-rw-r--r--arch/x86/include/asm/u-boot.h (renamed from arch/i386/include/asm/u-boot.h)0
-rw-r--r--arch/x86/include/asm/unaligned.h (renamed from arch/i386/include/asm/unaligned.h)0
-rw-r--r--arch/x86/include/asm/video/edid.h (renamed from arch/i386/include/asm/video/edid.h)0
-rw-r--r--arch/x86/include/asm/zimage.h (renamed from arch/i386/include/asm/zimage.h)0
-rw-r--r--arch/x86/lib/Makefile (renamed from arch/i386/lib/Makefile)0
-rw-r--r--arch/x86/lib/bios.S (renamed from arch/i386/lib/bios.S)3
-rw-r--r--arch/x86/lib/bios.h (renamed from arch/i386/lib/bios.h)44
-rw-r--r--arch/x86/lib/bios_pci.S (renamed from arch/i386/lib/bios_pci.S)0
-rw-r--r--arch/x86/lib/bios_setup.c (renamed from arch/i386/lib/bios_setup.c)3
-rw-r--r--arch/x86/lib/board.c (renamed from arch/i386/lib/board.c)23
-rw-r--r--arch/x86/lib/bootm.c (renamed from arch/i386/lib/bootm.c)15
-rw-r--r--arch/x86/lib/interrupts.c (renamed from arch/i386/lib/interrupts.c)16
-rw-r--r--arch/x86/lib/pcat_interrupts.c (renamed from arch/i386/lib/pcat_interrupts.c)4
-rw-r--r--arch/x86/lib/pcat_timer.c (renamed from arch/i386/lib/pcat_timer.c)2
-rw-r--r--arch/x86/lib/pci.c (renamed from arch/i386/lib/pci.c)18
-rw-r--r--arch/x86/lib/pci_type1.c (renamed from arch/i386/lib/pci_type1.c)27
-rw-r--r--arch/x86/lib/realmode.c (renamed from arch/i386/lib/realmode.c)10
-rw-r--r--arch/x86/lib/realmode_switch.S (renamed from arch/i386/lib/realmode_switch.S)1
-rw-r--r--arch/x86/lib/timer.c (renamed from arch/i386/lib/timer.c)5
-rw-r--r--arch/x86/lib/video.c (renamed from arch/i386/lib/video.c)48
-rw-r--r--arch/x86/lib/video_bios.c (renamed from arch/i386/lib/video_bios.c)2
-rw-r--r--arch/x86/lib/zimage.c (renamed from arch/i386/lib/zimage.c)4
-rw-r--r--board/eNET/config.mk24
-rw-r--r--board/eNET/eNET.c2
-rw-r--r--board/eNET/eNET_pci.c7
-rw-r--r--boards.cfg4
-rw-r--r--common/exports.c2
-rw-r--r--doc/README-i38674
-rw-r--r--doc/TODO-i38629
-rw-r--r--examples/standalone/stubs.c4
-rw-r--r--include/common.h6
-rw-r--r--include/configs/eNET.h24
-rw-r--r--include/exports.h2
80 files changed, 261 insertions, 353 deletions
diff --git a/MAINTAINERS b/MAINTAINERS
index 8af9b090ce..7a015a5e83 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -905,9 +905,9 @@ Unknown / orphaned boards:
# Board CPU #
#########################################################################
-Daniel Engström <daniel@omicron.se>
+Graeme Russ <graeme.russ@gmail.com>
- sc520_cdp x86
+ eNET AMD SC520
#########################################################################
# MIPS Systems: #
diff --git a/MAKEALL b/MAKEALL
index e1b928fdb5..6acece7cad 100755
--- a/MAKEALL
+++ b/MAKEALL
@@ -544,10 +544,10 @@ LIST_mips_el=" \
"
#########################################################################
-## i386 Systems
+## x86 Systems
#########################################################################
-LIST_x86="$(boards_by_arch i386)"
+LIST_x86="$(boards_by_arch x86)"
#########################################################################
## Nios-II Systems
diff --git a/Makefile b/Makefile
index 1d571347a2..713dba1d5f 100644
--- a/Makefile
+++ b/Makefile
@@ -34,7 +34,7 @@ TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h
VERSION_FILE = $(obj)include/version_autogenerated.h
HOSTARCH := $(shell uname -m | \
- sed -e s/i.86/i386/ \
+ sed -e s/i.86/x86/ \
-e s/sun4u/sparc64/ \
-e s/arm.*/arm/ \
-e s/sa110/arm/ \
@@ -167,7 +167,7 @@ include $(TOPDIR)/config.mk
# U-Boot objects....order is important (i.e. start must be first)
OBJS = $(CPUDIR)/start.o
-ifeq ($(CPU),i386)
+ifeq ($(CPU),x86)
OBJS += $(CPUDIR)/start16.o
OBJS += $(CPUDIR)/resetvec.o
endif
diff --git a/README b/README
index c9fedd8011..4917e26443 100644
--- a/README
+++ b/README
@@ -164,7 +164,7 @@ Directory Hierarchy:
/blackfin Files generic to Analog Devices Blackfin architecture
/cpu CPU specific files
/lib Architecture specific library files
- /i386 Files generic to i386 architecture
+ /x86 Files generic to x86 architecture
/cpu CPU specific files
/lib Architecture specific library files
/m68k Files generic to m68k architecture
diff --git a/arch/i386/config.mk b/arch/x86/config.mk
index e9452012a6..e9452012a6 100644
--- a/arch/i386/config.mk
+++ b/arch/x86/config.mk
diff --git a/arch/i386/cpu/Makefile b/arch/x86/cpu/Makefile
index ddde83c91d..ddde83c91d 100644
--- a/arch/i386/cpu/Makefile
+++ b/arch/x86/cpu/Makefile
diff --git a/arch/i386/cpu/config.mk b/arch/x86/cpu/config.mk
index 9b2e2c9fe1..d1b528a437 100644
--- a/arch/i386/cpu/config.mk
+++ b/arch/x86/cpu/config.mk
@@ -23,7 +23,7 @@
CROSS_COMPILE ?= i386-linux-
-PLATFORM_CPPFLAGS += -DCONFIG_I386 -D__I386__ -march=i386 -Werror
+PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -march=i386 -Werror
# DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!
LDPPFLAGS += -DRESET_SEG_START=0xffff0000
diff --git a/arch/i386/cpu/cpu.c b/arch/x86/cpu/cpu.c
index 2339cd41bb..0c5d7c3d53 100644
--- a/arch/i386/cpu/cpu.c
+++ b/arch/x86/cpu/cpu.c
@@ -1,6 +1,9 @@
/*
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* (C) Copyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
@@ -29,18 +32,16 @@
* MA 02111-1307 USA
*/
-/*
- * CPU specific code
- */
-
#include <common.h>
#include <command.h>
#include <asm/processor.h>
#include <asm/processor-flags.h>
#include <asm/interrupt.h>
-/* Constructor for a conventional segment GDT (or LDT) entry */
-/* This is a macro so it can be used in initializers */
+/*
+ * Constructor for a conventional segment GDT (or LDT) entry
+ * This is a macro so it can be used in initialisers
+ */
#define GDT_ENTRY(flags, base, limit) \
((((base) & 0xff000000ULL) << (56-24)) | \
(((flags) & 0x0000f0ffULL) << 40) | \
@@ -48,10 +49,6 @@
(((base) & 0x00ffffffULL) << 16) | \
(((limit) & 0x0000ffffULL)))
-/*
- * Set up the GDT
- */
-
struct gdt_ptr {
u16 len;
u32 ptr;
@@ -59,8 +56,10 @@ struct gdt_ptr {
static void reload_gdt(void)
{
- /* There are machines which are known to not boot with the GDT
- being 8-byte unaligned. Intel recommends 16 byte alignment. */
+ /*
+ * There are machines which are known to not boot with the GDT
+ * being 8-byte unaligned. Intel recommends 16 byte alignment
+ */
static const u64 boot_gdt[] __attribute__((aligned(16))) = {
/* CS: code, read/execute, 4 GB, base 0 */
[GDT_ENTRY_32BIT_CS] = GDT_ENTRY(0xc09b, 0, 0xfffff),
@@ -86,7 +85,6 @@ static void reload_gdt(void)
: : "m" (gdt) : "ecx");
}
-
int x86_cpu_init_f(void)
{
const u32 em_rst = ~X86_CR0_EM;
@@ -125,7 +123,9 @@ int cpu_init_r(void) __attribute__((weak, alias("x86_cpu_init_r")));
int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
printf ("resetting ...\n");
- udelay(50000); /* wait 50 ms */
+
+ /* wait 50 ms */
+ udelay(50000);
disable_interrupts();
reset_cpu(0);
@@ -136,7 +136,6 @@ int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
void flush_cache (unsigned long dummy1, unsigned long dummy2)
{
asm("wbinvd\n");
- return;
}
void __attribute__ ((regparm(0))) generate_gpf(void);
@@ -150,7 +149,7 @@ asm(".globl generate_gpf\n"
void __reset_cpu(ulong addr)
{
- printf("Resetting using i386 Triple Fault\n");
+ printf("Resetting using x86 Triple Fault\n");
set_vector(13, generate_gpf); /* general protection fault handler */
set_vector(8, generate_gpf); /* double fault handler */
generate_gpf(); /* start the show */
diff --git a/arch/i386/cpu/interrupts.c b/arch/x86/cpu/interrupts.c
index 1cefe02c86..62bcadc486 100644
--- a/arch/i386/cpu/interrupts.c
+++ b/arch/x86/cpu/interrupts.c
@@ -1,9 +1,9 @@
/*
- * (C) Copyright 2008
- * Graeme Russ, graeme.russ@gmail.com.
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* Portions of this file are derived from the Linux kernel source
* Copyright (C) 1991, 1992 Linus Torvalds
@@ -45,7 +45,7 @@
* read/write functions for the control registers and messing everything up.
* A memory clobber would solve the problem, but would prevent reordering of
* all loads stores around it, which can hurt performance. Solution is to
- * use a variable and mimic reads and writes to it to enforce serialization
+ * use a variable and mimic reads and writes to it to enforce serialisation
*/
static unsigned long __force_order;
diff --git a/arch/i386/cpu/resetvec.S b/arch/x86/cpu/resetvec.S
index d9222dd2fc..c690d2516e 100644
--- a/arch/i386/cpu/resetvec.S
+++ b/arch/x86/cpu/resetvec.S
@@ -1,7 +1,8 @@
/*
- * U-boot - i386 Startup Code
+ * U-boot - x86 Startup Code
*
- * Copyright (c) 2002 Omicron Ceti AB, Daniel Engström <denaiel@omicron.se>
+ * (C) Copyright 2002
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/cpu/sc520/Makefile b/arch/x86/cpu/sc520/Makefile
index 54260b6107..694b61ee42 100644
--- a/arch/i386/cpu/sc520/Makefile
+++ b/arch/x86/cpu/sc520/Makefile
@@ -33,6 +33,7 @@ LIB := $(obj)lib$(SOC).o
COBJS-$(CONFIG_SYS_SC520) += sc520.o
COBJS-$(CONFIG_PCI) += sc520_pci.o
+COBJS-$(CONFIG_SYS_SC520_RESET) += sc520_reset.o
COBJS-$(CONFIG_SYS_SC520) += sc520_sdram.o
COBJS-$(CONFIG_SYS_SC520_SSI) += sc520_ssi.o
COBJS-$(CONFIG_SYS_SC520_TIMER) += sc520_timer.o
diff --git a/arch/i386/cpu/sc520/sc520.c b/arch/x86/cpu/sc520/sc520.c
index d0c313b91a..8c410a2337 100644
--- a/arch/i386/cpu/sc520/sc520.c
+++ b/arch/x86/cpu/sc520/sc520.c
@@ -1,6 +1,9 @@
/*
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
* (C) Copyright 2002
- * Daniel Engstr�m, Omicron Ceti AB <daniel@omicron.se>.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -21,9 +24,6 @@
* MA 02111-1307 USA
*/
-/* stuff specific for the sc520,
- * but idependent of implementation */
-
#include <common.h>
#include <asm/io.h>
#include <asm/processor-flags.h>
@@ -65,13 +65,3 @@ int cpu_init_r(void)
return x86_cpu_init_r();
}
-#ifdef CONFIG_SYS_SC520_RESET
-void reset_cpu(ulong addr)
-{
- printf("Resetting using SC520 MMCR\n");
- /* Write a '1' to the SYS_RST of the RESCFG MMCR */
- writeb(0x01, &sc520_mmcr->rescfg);
-
- /* NOTREACHED */
-}
-#endif
diff --git a/arch/i386/cpu/sc520/sc520_car.S b/arch/x86/cpu/sc520/sc520_car.S
index 22f5225311..a33f94f491 100644
--- a/arch/i386/cpu/sc520/sc520_car.S
+++ b/arch/x86/cpu/sc520/sc520_car.S
@@ -1,6 +1,6 @@
/*
- * (C) Copyright 2010
- * Graeme Russ <graeme.russ@gmail.com>.
+ * (C) Copyright 2010-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -21,7 +21,6 @@
* MA 02111-1307 USA
*/
-
#include <config.h>
#include <asm/processor-flags.h>
#include <asm/ic/sc520.h>
diff --git a/arch/i386/cpu/sc520/sc520_pci.c b/arch/x86/cpu/sc520/sc520_pci.c
index b91773435e..8cd7ffecdb 100644
--- a/arch/i386/cpu/sc520/sc520_pci.c
+++ b/arch/x86/cpu/sc520/sc520_pci.c
@@ -1,6 +1,9 @@
/*
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -21,8 +24,6 @@
* MA 02111-1307 USA
*/
-/* stuff specific for the sc520, but independent of implementation */
-
#include <common.h>
#include <pci.h>
#include <asm/io.h>
@@ -54,7 +55,6 @@ static struct {
{ SC520_IRQ15, 1, 0x80 }
};
-
/* The interrupt used for PCI INTA-INTD */
int sc520_pci_ints[15] = {
-1, -1, -1, -1, -1, -1, -1, -1,
@@ -68,9 +68,8 @@ int pci_sc520_set_irq(int pci_pin, int irq)
u8 tmpb;
u16 tmpw;
-# if 1
- printf("set_irq(): map INT%c to IRQ%d\n", pci_pin + 'A', irq);
-#endif
+ debug("set_irq(): map INT%c to IRQ%d\n", pci_pin + 'A', irq);
+
if (irq < 0 || irq > 15) {
return -1; /* illegal irq */
}
@@ -138,5 +137,4 @@ void pci_sc520_init(struct pci_controller *hose)
/* enable target memory acceses on host brige */
pci_write_config_word(0, PCI_COMMAND,
PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER);
-
}
diff --git a/arch/x86/cpu/sc520/sc520_reset.c b/arch/x86/cpu/sc520/sc520_reset.c
new file mode 100644
index 0000000000..79ef976838
--- /dev/null
+++ b/arch/x86/cpu/sc520/sc520_reset.c
@@ -0,0 +1,40 @@
+/*
+ * (C) Copyright 2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
+ * (C) Copyright 2002
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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 <asm/io.h>
+#include <asm/ic/sc520.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void reset_cpu(ulong addr)
+{
+ printf("Resetting using SC520 MMCR\n");
+ /* Write a '1' to the SYS_RST of the RESCFG MMCR */
+ writeb(0x01, &sc520_mmcr->rescfg);
+
+ /* NOTREACHED */
+}
diff --git a/arch/i386/cpu/sc520/sc520_sdram.c b/arch/x86/cpu/sc520/sc520_sdram.c
index d5ab55df06..f3623f53f2 100644
--- a/arch/i386/cpu/sc520/sc520_sdram.c
+++ b/arch/x86/cpu/sc520/sc520_sdram.c
@@ -1,6 +1,6 @@
/*
- * (C) Copyright 2010
- * Graeme Russ <graeme.russ@gmail.com>.
+ * (C) Copyright 2010,2011
+ * Graeme Russ, <graeme.russ@gmail.com>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/cpu/sc520/sc520_ssi.c b/arch/x86/cpu/sc520/sc520_ssi.c
index 6e5e346303..ac58d25970 100644
--- a/arch/i386/cpu/sc520/sc520_ssi.c
+++ b/arch/x86/cpu/sc520/sc520_ssi.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -21,8 +21,6 @@
* MA 02111-1307 USA
*/
-/* stuff specific for the sc520, but independent of implementation */
-
#include <common.h>
#include <asm/io.h>
#include <asm/ic/ssi.h>
@@ -77,7 +75,6 @@ u8 ssi_txrx_byte(u8 data)
return readb(&sc520_mmcr->ssircv);
}
-
void ssi_tx_byte(u8 data)
{
writeb(data, &sc520_mmcr->ssixmit);
diff --git a/arch/i386/cpu/sc520/sc520_timer.c b/arch/x86/cpu/sc520/sc520_timer.c
index d5617e91f6..1bcfe67c94 100644
--- a/arch/i386/cpu/sc520/sc520_timer.c
+++ b/arch/x86/cpu/sc520/sc520_timer.c
@@ -1,6 +1,9 @@
/*
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -21,8 +24,6 @@
* MA 02111-1307 USA
*/
-/* stuff specific for the sc520, but independent of implementation */
-
#include <common.h>
#include <asm/io.h>
#include <asm/interrupt.h>
diff --git a/arch/i386/cpu/start.S b/arch/x86/cpu/start.S
index 00313897ce..7ccc076fec 100644
--- a/arch/i386/cpu/start.S
+++ b/arch/x86/cpu/start.S
@@ -1,7 +1,11 @@
/*
- * U-boot - i386 Startup Code
+ * U-boot - x86 Startup Code
*
- * Copyright (c) 2002 Omicron Ceti AB, Daniel Engström <denaiel@omicron.se>
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
+ * (C) Copyright 2002
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -22,19 +26,17 @@
* MA 02111-1307 USA
*/
-
#include <config.h>
#include <version.h>
#include <asm/global_data.h>
#include <asm/processor-flags.h>
-
.section .text
.code32
.globl _start
.type _start, @function
-.globl _i386boot_start
-_i386boot_start:
+.globl _x86boot_start
+_x86boot_start:
/*
* This is the fail safe 32-bit bootstrap entry point. The
* following code is not executed from a cold-reset (actually, a
@@ -56,8 +58,8 @@ _i386boot_start:
_start:
/* This is the 32-bit cold-reset entry point */
- movl $0x18, %eax /* Load our segement registes, the
- * gdt have already been loaded by start16.S */
+ /* Load the segement registes to match the gdt loaded in start16.S */
+ movl $0x18, %eax
movw %ax, %fs
movw %ax, %ds
movw %ax, %gs
@@ -82,21 +84,13 @@ car_init_ret:
* starting at CONFIG_SYS_CAR_ADDR to be used as a temporary stack
*/
movl $CONFIG_SYS_INIT_SP_ADDR, %esp
- movl $CONFIG_SYS_INIT_GD_ADDR, %ebp
-
- /* Set Boot Flags in Global Data */
- movl %ebx, (GD_FLAGS * 4)(%ebp)
-
- /* Determine our load offset (and put in Global Data) */
- call 1f
-1: popl %ecx
- subl $1b, %ecx
- movl %ecx, (GD_LOAD_OFF * 4)(%ebp)
/* Set parameter to board_init_f() to boot flags */
- movl (GD_FLAGS * 4)(%ebp), %eax
+ xorl %eax, %eax
+ movw %bx, %ax
- call board_init_f /* Enter, U-boot! */
+ /* Enter, U-boot! */
+ call board_init_f
/* indicate (lack of) progress */
movw $0x85, %ax
diff --git a/arch/i386/cpu/start16.S b/arch/x86/cpu/start16.S
index 7dc5358366..f1b9d0a0c9 100644
--- a/arch/i386/cpu/start16.S
+++ b/arch/x86/cpu/start16.S
@@ -1,7 +1,11 @@
/*
- * U-boot - i386 Startup Code
+ * U-boot - x86 Startup Code
*
- * Copyright (c) 2002, 2003 Omicron Ceti AB, Daniel Engström <denaiel@omicron.se>
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
+ * (C) Copyright 2002,2003
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds
index 98a548d62e..55974228b5 100644
--- a/arch/i386/cpu/u-boot.lds
+++ b/arch/x86/cpu/u-boot.lds
@@ -21,6 +21,7 @@
* MA 02111-1307 USA
*/
+#include <config.h>
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
@@ -89,8 +90,8 @@ SECTIONS
* Reset Vector at the end of the Flash ROM
*/
. = START_16;
- .start16 : AT (CONFIG_SYS_TEXT_BASE + (FLASH_SIZE - RESET_SEG_SIZE + START_16)) { KEEP(*(.start16)); }
+ .start16 : AT (CONFIG_SYS_TEXT_BASE + (CONFIG_SYS_MONITOR_LEN - RESET_SEG_SIZE + START_16)) { KEEP(*(.start16)); }
. = RESET_VEC_LOC;
- .resetvec : AT (CONFIG_SYS_TEXT_BASE + (FLASH_SIZE - RESET_SEG_SIZE + RESET_VEC_LOC)) { KEEP(*(.resetvec)); }
+ .resetvec : AT (CONFIG_SYS_TEXT_BASE + (CONFIG_SYS_MONITOR_LEN - RESET_SEG_SIZE + RESET_VEC_LOC)) { KEEP(*(.resetvec)); }
}
diff --git a/arch/i386/include/asm/bitops.h b/arch/x86/include/asm/bitops.h
index c7a38f237a..c7a38f237a 100644
--- a/arch/i386/include/asm/bitops.h
+++ b/arch/x86/include/asm/bitops.h
diff --git a/arch/i386/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h
index 140095117e..140095117e 100644
--- a/arch/i386/include/asm/bootparam.h
+++ b/arch/x86/include/asm/bootparam.h
diff --git a/arch/i386/include/asm/byteorder.h b/arch/x86/include/asm/byteorder.h
index 7dfeb8bbed..7dfeb8bbed 100644
--- a/arch/i386/include/asm/byteorder.h
+++ b/arch/x86/include/asm/byteorder.h
diff --git a/arch/i386/include/asm/config.h b/arch/x86/include/asm/config.h
index 049c44eaf8..049c44eaf8 100644
--- a/arch/i386/include/asm/config.h
+++ b/arch/x86/include/asm/config.h
diff --git a/arch/i386/include/asm/e820.h b/arch/x86/include/asm/e820.h
index d155ce9cee..d155ce9cee 100644
--- a/arch/i386/include/asm/e820.h
+++ b/arch/x86/include/asm/e820.h
diff --git a/arch/i386/include/asm/errno.h b/arch/x86/include/asm/errno.h
index 4c82b503d9..4c82b503d9 100644
--- a/arch/i386/include/asm/errno.h
+++ b/arch/x86/include/asm/errno.h
diff --git a/arch/i386/include/asm/global_data.h b/arch/x86/include/asm/global_data.h
index f8a16d646f..f8a16d646f 100644
--- a/arch/i386/include/asm/global_data.h
+++ b/arch/x86/include/asm/global_data.h
diff --git a/arch/i386/include/asm/i8254.h b/arch/x86/include/asm/i8254.h
index aafdfb8060..aafdfb8060 100644
--- a/arch/i386/include/asm/i8254.h
+++ b/arch/x86/include/asm/i8254.h
diff --git a/arch/i386/include/asm/i8259.h b/arch/x86/include/asm/i8259.h
index 774d7a31e7..774d7a31e7 100644
--- a/arch/i386/include/asm/i8259.h
+++ b/arch/x86/include/asm/i8259.h
diff --git a/arch/i386/include/asm/ibmpc.h b/arch/x86/include/asm/ibmpc.h
index e35cbd887a..e35cbd887a 100644
--- a/arch/i386/include/asm/ibmpc.h
+++ b/arch/x86/include/asm/ibmpc.h
diff --git a/arch/i386/include/asm/ic/pci.h b/arch/x86/include/asm/ic/pci.h
index 2e4376b9b0..2e4376b9b0 100644
--- a/arch/i386/include/asm/ic/pci.h
+++ b/arch/x86/include/asm/ic/pci.h
diff --git a/arch/i386/include/asm/ic/sc520.h b/arch/x86/include/asm/ic/sc520.h
index 956c1c2636..956c1c2636 100644
--- a/arch/i386/include/asm/ic/sc520.h
+++ b/arch/x86/include/asm/ic/sc520.h
diff --git a/arch/i386/include/asm/ic/ssi.h b/arch/x86/include/asm/ic/ssi.h
index bd48eab161..bd48eab161 100644
--- a/arch/i386/include/asm/ic/ssi.h
+++ b/arch/x86/include/asm/ic/ssi.h
diff --git a/arch/i386/include/asm/interrupt.h b/arch/x86/include/asm/interrupt.h
index d32ef8b190..be52fe40d0 100644
--- a/arch/i386/include/asm/interrupt.h
+++ b/arch/x86/include/asm/interrupt.h
@@ -29,10 +29,10 @@
#include <asm/types.h>
-/* arch/i386/cpu/interrupts.c */
+/* arch/x86/cpu/interrupts.c */
void set_vector(u8 intnum, void *routine);
-/* arch/i386/lib/interupts.c */
+/* arch/x86/lib/interupts.c */
void disable_irq(int irq);
void enable_irq(int irq);
diff --git a/arch/i386/include/asm/io.h b/arch/x86/include/asm/io.h
index 9b757d489e..9b757d489e 100644
--- a/arch/i386/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
diff --git a/arch/i386/include/asm/ioctl.h b/arch/x86/include/asm/ioctl.h
index b279fe06df..b279fe06df 100644
--- a/arch/i386/include/asm/ioctl.h
+++ b/arch/x86/include/asm/ioctl.h
diff --git a/arch/i386/include/asm/ist.h b/arch/x86/include/asm/ist.h
index 7e5dff1de0..7e5dff1de0 100644
--- a/arch/i386/include/asm/ist.h
+++ b/arch/x86/include/asm/ist.h
diff --git a/arch/i386/include/asm/pci.h b/arch/x86/include/asm/pci.h
index 050a2bb868..050a2bb868 100644
--- a/arch/i386/include/asm/pci.h
+++ b/arch/x86/include/asm/pci.h
diff --git a/arch/i386/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h
index 5529f32702..5529f32702 100644
--- a/arch/i386/include/asm/posix_types.h
+++ b/arch/x86/include/asm/posix_types.h
diff --git a/arch/i386/include/asm/processor-flags.h b/arch/x86/include/asm/processor-flags.h
index 7a3e836eb2..7a3e836eb2 100644
--- a/arch/i386/include/asm/processor-flags.h
+++ b/arch/x86/include/asm/processor-flags.h
diff --git a/arch/i386/include/asm/processor.h b/arch/x86/include/asm/processor.h
index 22a129813c..22a129813c 100644
--- a/arch/i386/include/asm/processor.h
+++ b/arch/x86/include/asm/processor.h
diff --git a/arch/i386/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h
index a727dbfb05..a727dbfb05 100644
--- a/arch/i386/include/asm/ptrace.h
+++ b/arch/x86/include/asm/ptrace.h
diff --git a/arch/i386/include/asm/realmode.h b/arch/x86/include/asm/realmode.h
index 9177e4ec0d..9177e4ec0d 100644
--- a/arch/i386/include/asm/realmode.h
+++ b/arch/x86/include/asm/realmode.h
diff --git a/arch/i386/include/asm/string.h b/arch/x86/include/asm/string.h
index 3643a79fdf..3643a79fdf 100644
--- a/arch/i386/include/asm/string.h
+++ b/arch/x86/include/asm/string.h
diff --git a/arch/i386/include/asm/types.h b/arch/x86/include/asm/types.h
index 9a40e383eb..9a40e383eb 100644
--- a/arch/i386/include/asm/types.h
+++ b/arch/x86/include/asm/types.h
diff --git a/arch/i386/include/asm/u-boot-i386.h b/arch/x86/include/asm/u-boot-x86.h
index 7b39bd2ae0..944e1a2005 100644
--- a/arch/i386/include/asm/u-boot-i386.h
+++ b/arch/x86/include/asm/u-boot-x86.h
@@ -35,7 +35,7 @@ void timer_isr(void *);
typedef void (timer_fnc_t) (void);
int register_timer_isr (timer_fnc_t *isr_func);
-/* Architecture specific - can be in arch/i386/cpu/, arch/i386/lib/, or $(BOARD)/ */
+/* Architecture specific - can be in arch/x86/cpu/, arch/x86/lib/, or $(BOARD)/ */
int timer_init(void);
int dram_init_f(void);
@@ -51,7 +51,7 @@ void setup_pcat_compatibility(void);
void isa_unmap_rom(u32 addr);
u32 isa_map_rom(u32 bus_addr, int size);
-/* arch/i386/lib/... */
+/* arch/x86/lib/... */
int video_bios_init(void);
int video_init(void);
diff --git a/arch/i386/include/asm/u-boot.h b/arch/x86/include/asm/u-boot.h
index a43b3aaded..a43b3aaded 100644
--- a/arch/i386/include/asm/u-boot.h
+++ b/arch/x86/include/asm/u-boot.h
diff --git a/arch/i386/include/asm/unaligned.h b/arch/x86/include/asm/unaligned.h
index 6cecbbb211..6cecbbb211 100644
--- a/arch/i386/include/asm/unaligned.h
+++ b/arch/x86/include/asm/unaligned.h
diff --git a/arch/i386/include/asm/video/edid.h b/arch/x86/include/asm/video/edid.h
index 928c342b33..928c342b33 100644
--- a/arch/i386/include/asm/video/edid.h
+++ b/arch/x86/include/asm/video/edid.h
diff --git a/arch/i386/include/asm/zimage.h b/arch/x86/include/asm/zimage.h
index b6266e456a..b6266e456a 100644
--- a/arch/i386/include/asm/zimage.h
+++ b/arch/x86/include/asm/zimage.h
diff --git a/arch/i386/lib/Makefile b/arch/x86/lib/Makefile
index 71e94f76f3..71e94f76f3 100644
--- a/arch/i386/lib/Makefile
+++ b/arch/x86/lib/Makefile
diff --git a/arch/i386/lib/bios.S b/arch/x86/lib/bios.S
index 48f1b81122..660a244394 100644
--- a/arch/i386/lib/bios.S
+++ b/arch/x86/lib/bios.S
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -42,7 +42,6 @@
* a general purpose replacement for a real BIOS !!
*/
-
.section .bios, "ax"
.code16
.org 0
diff --git a/arch/i386/lib/bios.h b/arch/x86/lib/bios.h
index 4901f8917a..3c8d61a6f4 100644
--- a/arch/i386/lib/bios.h
+++ b/arch/x86/lib/bios.h
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -57,7 +57,7 @@
#define OFFS_FLAGS 44 /* 16bit */
#define SEGMENT 0x40
-#define STACK 0x800 /* stack at 0x40:0x800 -> 0x800 */
+#define STACK 0x800 /* stack at 0x40:0x800 -> 0x800 */
/* save general registers */
/* save some segments */
@@ -67,28 +67,26 @@
/* setup BIOS stackpointer */
#define MAKE_BIOS_STACK \
- pushal ; \
- pushw %ds ; \
- pushw %gs ; \
- pushw %es ; \
- pushw %ss ; \
- popw %gs ; \
- movw $SEGMENT,%ax ; \
- movw %ax,%ds ; \
- movw %ax,%es ; \
- movw %ax,%ss ; \
- movw %sp,%bp ; \
- movw $STACK,%sp
+ pushal; \
+ pushw %ds; \
+ pushw %gs; \
+ pushw %es; \
+ pushw %ss; \
+ popw %gs; \
+ movw $SEGMENT, %ax; \
+ movw %ax, %ds; \
+ movw %ax, %es; \
+ movw %ax, %ss; \
+ movw %sp, %bp; \
+ movw $STACK, %sp
#define RESTORE_CALLERS_STACK \
- pushw %gs ; /* restore callers stack segment */ \
- popw %ss ; \
- movw %bp,%sp ; /* restore stackpointer */ \
- \
- popw %es ; /* restore segment selectors */ \
- popw %gs ; \
- popw %ds ; \
- \
- popal /* restore GP registers */
+ pushw %gs; /* restore callers stack segment */ \
+ popw %ss; \
+ movw %bp, %sp; /* restore stackpointer */ \
+ popw %es; /* restore segment selectors */ \
+ popw %gs; \
+ popw %ds; \
+ popal /* restore GP registers */
#endif
diff --git a/arch/i386/lib/bios_pci.S b/arch/x86/lib/bios_pci.S
index 9e412e5e4c..9e412e5e4c 100644
--- a/arch/i386/lib/bios_pci.S
+++ b/arch/x86/lib/bios_pci.S
diff --git a/arch/i386/lib/bios_setup.c b/arch/x86/lib/bios_setup.c
index 75407c173c..6949b35069 100644
--- a/arch/i386/lib/bios_setup.c
+++ b/arch/x86/lib/bios_setup.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -21,7 +21,6 @@
* MA 02111-1307 USA
*/
-
/*
* Partly based on msbios.c from rolo 1.6:
*----------------------------------------------------------------------
diff --git a/arch/i386/lib/board.c b/arch/x86/lib/board.c
index e0f9803e5e..df54222211 100644
--- a/arch/i386/lib/board.c
+++ b/arch/x86/lib/board.c
@@ -1,9 +1,12 @@
/*
+ * (C) Copyright 2008-2011
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* (C) Copyright 2002
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ * Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
*
* (C) Copyright 2002
* Sysgo Real-Time Solutions, GmbH <www.elinos.com>
@@ -38,7 +41,7 @@
#include <net.h>
#include <ide.h>
#include <serial.h>
-#include <asm/u-boot-i386.h>
+#include <asm/u-boot-x86.h>
#include <elf.h>
#ifdef CONFIG_BITBANGMII
@@ -103,13 +106,6 @@ static int display_banner (void)
return (0);
}
-/*
- * WARNING: this code looks "cleaner" than the PowerPC version, but
- * has the disadvantage that you either get nothing, or everything.
- * On PowerPC, you might see "DRAM: " before the system hangs - which
- * gives a simple yet clear indication which part of the
- * initialization if failing.
- */
static int display_dram_config (void)
{
int i;
@@ -141,7 +137,6 @@ static void display_flash_config (ulong size)
* can relocate the monitor code to RAM.
*/
-
/*
* All attempts to come up with a "common" initialization sequence
* that works for all boards and architectures failed: some of the
@@ -251,13 +246,13 @@ static int do_elf_reloc_fixups(void)
return 0;
}
-/*
- * Load U-Boot into RAM, initialize BSS, perform relocation adjustments
- */
+/* Load U-Boot into RAM, initialize BSS, perform relocation adjustments */
void board_init_f(ulong boot_flags)
{
init_fnc_t **init_fnc_ptr;
+ gd->flags = boot_flags;
+
for (init_fnc_ptr = init_sequence_f; *init_fnc_ptr; ++init_fnc_ptr) {
if ((*init_fnc_ptr)() != 0)
hang();
diff --git a/arch/i386/lib/bootm.c b/arch/x86/lib/bootm.c
index b36e58d9ec..a21a21f1f7 100644
--- a/arch/i386/lib/bootm.c
+++ b/arch/x86/lib/bootm.c
@@ -5,10 +5,13 @@
*
* 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.
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * 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
@@ -17,8 +20,8 @@
*
* 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
- *
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
*/
#include <common.h>
diff --git a/arch/i386/lib/interrupts.c b/arch/x86/lib/interrupts.c
index 5a28278280..a2c598f9a4 100644
--- a/arch/i386/lib/interrupts.c
+++ b/arch/x86/lib/interrupts.c
@@ -1,21 +1,21 @@
/*
* (C) Copyright 2009
- * Graeme Russ, graeme.russ@gmail.com
+ * Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2007
- * Daniel Hellstrom, Gaisler Research, daniel@gaisler.com
+ * Daniel Hellstrom, Gaisler Research, <daniel@gaisler.com>
*
* (C) Copyright 2006
- * Detlev Zundel, DENX Software Engineering, dzu@denx.de
+ * Detlev Zundel, DENX Software Engineering, <dzu@denx.de>
*
* (C) Copyright -2003
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
+ * Wolfgang Denk, DENX Software Engineering, <wd@denx.de>
*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* (C) Copyright 2001
- * Josh Huber <huber@mclx.com>, Mission Critical Linux, Inc.
+ * Josh Huber, Mission Critical Linux, Inc, <huber@mclx.com>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -38,11 +38,11 @@
/*
* This file contains the high-level API for the interrupt sub-system
- * of the i386 port of U-Boot. Most of the functionality has been
+ * of the x86 port of U-Boot. Most of the functionality has been
* shamelessly stolen from the leon2 / leon3 ports of U-Boot.
* Daniel Hellstrom, Detlev Zundel, Wolfgang Denk and Josh Huber are
* credited for the corresponding work on those ports. The original
- * interrupt handling routines for the i386 port were written by
+ * interrupt handling routines for the x86 port were written by
* Daniel Engström
*/
diff --git a/arch/i386/lib/pcat_interrupts.c b/arch/x86/lib/pcat_interrupts.c
index 67e6e97e35..364c435837 100644
--- a/arch/i386/lib/pcat_interrupts.c
+++ b/arch/x86/lib/pcat_interrupts.c
@@ -1,9 +1,9 @@
/*
* (C) Copyright 2009
- * Graeme Russ, graeme.russ@gmail.com
+ * Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/lib/pcat_timer.c b/arch/x86/lib/pcat_timer.c
index 1373fd125c..1911c6c19d 100644
--- a/arch/i386/lib/pcat_timer.c
+++ b/arch/x86/lib/pcat_timer.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/lib/pci.c b/arch/x86/lib/pci.c
index 9020e7ce76..e791e88bd4 100644
--- a/arch/i386/lib/pci.c
+++ b/arch/x86/lib/pci.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -54,10 +54,9 @@ int pci_shadow_rom(pci_dev_t dev, unsigned char *dest)
class_code &= 0xffffff00;
class_code >>= 8;
-#if 0
- printf("PCI Header Vendor %04x device %04x class %06x\n",
+ debug("PCI Header Vendor %04x device %04x class %06x\n",
vendor, device, class_code);
-#endif
+
/* Enable the rom addess decoder */
pci_write_config_dword(dev, PCI_ROM_ADDRESS, (u32)PCI_ROM_ADDRESS_MASK);
pci_read_config_dword(dev, PCI_ROM_ADDRESS, &addr_reg);
@@ -70,13 +69,12 @@ int pci_shadow_rom(pci_dev_t dev, unsigned char *dest)
size = (~(addr_reg&PCI_ROM_ADDRESS_MASK))+1;
-#if 0
- printf("ROM is %d bytes\n", size);
-#endif
+ debug("ROM is %d bytes\n", size);
+
rom_addr = pci_get_rom_window(hose, size);
-#if 0
- printf("ROM mapped at %x \n", rom_addr);
-#endif
+
+ debug("ROM mapped at %x\n", rom_addr);
+
pci_write_config_dword(dev, PCI_ROM_ADDRESS,
pci_phys_to_mem(dev, rom_addr)
|PCI_ROM_ADDRESS_ENABLE);
diff --git a/arch/i386/lib/pci_type1.c b/arch/x86/lib/pci_type1.c
index 225ae4a990..8ce5b33e3d 100644
--- a/arch/i386/lib/pci_type1.c
+++ b/arch/x86/lib/pci_type1.c
@@ -1,15 +1,30 @@
/*
- * Support for type PCI configuration cycles.
- * based on pci_indirect.c
+ * (C) Copyright 2002
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
- * Copyright (C) 2002 Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
+ * See file CREDITS for list of people who contributed to this
+ * project.
*
* 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.
+ * 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
*/
+/*
+ * Support for type PCI configuration cycles.
+ * based on pci_indirect.c
+ */
#include <common.h>
#include <asm/io.h>
#include <pci.h>
diff --git a/arch/i386/lib/realmode.c b/arch/x86/lib/realmode.c
index 2dda95b064..5be827c66b 100644
--- a/arch/i386/lib/realmode.c
+++ b/arch/x86/lib/realmode.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -26,10 +26,8 @@
#include <asm/ptrace.h>
#include <asm/realmode.h>
-
#define REALMODE_MAILBOX ((char*)0xe00)
-
extern ulong __realmode_start;
extern ulong __realmode_size;
extern char realmode_enter;
@@ -57,13 +55,11 @@ int enter_realmode(u16 seg, u16 off, struct pt_regs *in, struct pt_regs *out)
{
/* setup out thin bios emulation */
- if (bios_setup()) {
+ if (bios_setup())
return -1;
- }
- if (realmode_setup()) {
+ if (realmode_setup())
return -1;
- }
in->eip = off;
in->xcs = seg;
diff --git a/arch/i386/lib/realmode_switch.S b/arch/x86/lib/realmode_switch.S
index d6c74ecd79..fce4eccab0 100644
--- a/arch/i386/lib/realmode_switch.S
+++ b/arch/x86/lib/realmode_switch.S
@@ -21,7 +21,6 @@
* MA 02111-1307 USA
*/
-
/* 32bit -> 16bit -> 32bit mode switch code */
/*
diff --git a/arch/i386/lib/timer.c b/arch/x86/lib/timer.c
index 5cb1f54fb5..8fc68cdcb8 100644
--- a/arch/i386/lib/timer.c
+++ b/arch/x86/lib/timer.c
@@ -1,6 +1,9 @@
/*
+ * (C) Copyright 2008,2009
+ * Graeme Russ, <graeme.russ@gmail.com>
+ *
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/lib/video.c b/arch/x86/lib/video.c
index c58ed104cc..b29075c490 100644
--- a/arch/i386/lib/video.c
+++ b/arch/x86/lib/video.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -30,7 +30,6 @@
#include <asm/io.h>
#include <asm/pci.h>
-
/* basic textmode I/O from linux kernel */
static char *vidmem = (char *)0xb8000;
static int vidport;
@@ -42,9 +41,9 @@ static void beep(int dur)
int i;
outb_p(3, 0x61);
- for (i=0;i<10*dur;i++) {
+ for (i = 0; i < 10*dur; i++)
udelay(1000);
- }
+
outb_p(0, 0x61);
}
@@ -52,8 +51,8 @@ static void scroll(void)
{
int i;
- memcpy ( vidmem, vidmem + cols * 2, ( lines - 1 ) * cols * 2 );
- for ( i = ( lines - 1 ) * cols * 2; i < lines * cols * 2; i += 2 )
+ memcpy(vidmem, vidmem + cols * 2, (lines - 1) * cols * 2);
+ for (i = (lines - 1) * cols * 2; i < lines * cols * 2; i += 2)
vidmem[i] = ' ';
}
@@ -61,14 +60,14 @@ static void __video_putc(const char c, int *x, int *y)
{
if (c == '\n') {
(*x) = 0;
- if ( ++(*y) >= lines ) {
+ if (++(*y) >= lines) {
scroll();
(*y)--;
}
} else if (c == '\b') {
if ((*x) != 0) {
--(*x);
- vidmem [ ( (*x) + cols * (*y) ) * 2 ] = ' ';
+ vidmem[((*x) + cols * (*y)) * 2] = ' ';
}
} else if (c == '\r') {
(*x) = 0;
@@ -106,16 +105,15 @@ static void __video_putc(const char c, int *x, int *y)
}
} else if (c == '\f') {
int i;
- for (i=0;i<lines*cols*2;i+=2) {
+ for (i = 0; i < lines * cols * 2; i += 2)
vidmem[i] = 0;
- }
(*x) = 0;
(*y) = 0;
} else {
- vidmem [ ( (*x) + cols * (*y) ) * 2 ] = c;
- if ( ++(*x) >= cols ) {
+ vidmem[((*x) + cols * (*y)) * 2] = c;
+ if (++(*x) >= cols) {
(*x) = 0;
- if ( ++(*y) >= lines ) {
+ if (++(*y) >= lines) {
scroll();
(*y)--;
}
@@ -150,9 +148,8 @@ static void video_puts(const char *s)
x = orig_x;
y = orig_y;
- while ( ( c = *s++ ) != '\0' ) {
+ while ((c = *s++) != '\0')
__video_putc(c, &x, &y);
- }
orig_x = x;
orig_y = y;
@@ -189,10 +186,8 @@ int video_init(void)
#if 0
printf("pos %x %d %d\n", pos, orig_x, orig_y);
#endif
- if (orig_y > lines) {
+ if (orig_y > lines)
orig_x = orig_y =0;
- }
-
memset(&vga_dev, 0, sizeof(vga_dev));
strcpy(vga_dev.name, "vga");
@@ -203,13 +198,11 @@ int video_init(void)
vga_dev.tstc = NULL; /* 'tstc' function */
vga_dev.getc = NULL; /* 'getc' function */
- if (stdio_register(&vga_dev) == 0) {
- return 1;
- }
+ if (stdio_register(&vga_dev) == 0)
+ return 1;
- if (i8042_kbd_init()) {
+ if (i8042_kbd_init())
return 1;
- }
memset(&kbd_dev, 0, sizeof(kbd_dev));
strcpy(kbd_dev.name, "kbd");
@@ -220,18 +213,17 @@ int video_init(void)
kbd_dev.tstc = i8042_tstc; /* 'tstc' function */
kbd_dev.getc = i8042_getc; /* 'getc' function */
- if (stdio_register(&kbd_dev) == 0) {
- return 1;
- }
+ if (stdio_register(&kbd_dev) == 0)
+ return 1;
+
return 0;
}
int drv_video_init(void)
{
- if (video_bios_init()) {
+ if (video_bios_init())
return 1;
- }
return video_init();
}
diff --git a/arch/i386/lib/video_bios.c b/arch/x86/lib/video_bios.c
index c8060e60a7..6bc4335743 100644
--- a/arch/i386/lib/video_bios.c
+++ b/arch/x86/lib/video_bios.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
diff --git a/arch/i386/lib/zimage.c b/arch/x86/lib/zimage.c
index 0c42072691..cc4b40e64c 100644
--- a/arch/i386/lib/zimage.c
+++ b/arch/x86/lib/zimage.c
@@ -1,6 +1,6 @@
/*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB, daniel@omicron.se
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -22,7 +22,7 @@
*/
/*
- * Linux i386 zImage and bzImage loading
+ * Linux x86 zImage and bzImage loading
*
* based on the procdure described in
* linux/Documentation/i386/boot.txt
diff --git a/board/eNET/config.mk b/board/eNET/config.mk
deleted file mode 100644
index 9d2dfa535b..0000000000
--- a/board/eNET/config.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-#
-# (C) Copyright 2002
-# Daniel Engström, Omicron Ceti AB, daniel@omicron.se.
-#
-# See file CREDITS for list of people who contributed to this
-# project.
-#
-# 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
-#
-
-LDPPFLAGS += -DFLASH_SIZE=0x40000
diff --git a/board/eNET/eNET.c b/board/eNET/eNET.c
index dd0ce54516..2a5636c073 100644
--- a/board/eNET/eNET.c
+++ b/board/eNET/eNET.c
@@ -35,6 +35,8 @@
DECLARE_GLOBAL_DATA_PTR;
+unsigned long monitor_flash_len = CONFIG_SYS_MONITOR_LEN;
+
static void enet_timer_isr(void);
static void enet_toggle_run_led(void);
static void enet_setup_pars(void);
diff --git a/board/eNET/eNET_pci.c b/board/eNET/eNET_pci.c
index fefb1a4fbe..a03090e540 100644
--- a/board/eNET/eNET_pci.c
+++ b/board/eNET/eNET_pci.c
@@ -1,9 +1,9 @@
/*
- * (C) Copyright 2008
- * Graeme Russ, graeme.russ@gmail.com.
+ * (C) Copyright 2008,2009
+ * Graeme Russ, <graeme.russ@gmail.com>
*
* (C) Copyright 2002
- * Daniel Engström, Omicron Ceti AB <daniel@omicron.se>.
+ * Daniel Engström, Omicron Ceti AB, <daniel@omicron.se>
*
* See file CREDITS for list of people who contributed to this
* project.
@@ -23,6 +23,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston,
* MA 02111-1307 USA
*/
+
#include <common.h>
#include <pci.h>
#include <asm/pci.h>
diff --git a/boards.cfg b/boards.cfg
index a45bd83a15..554e06c121 100644
--- a/boards.cfg
+++ b/boards.cfg
@@ -205,8 +205,8 @@ ibf-dsp561 blackfin blackfin
ip04 blackfin blackfin
tcm-bf518 blackfin blackfin
tcm-bf537 blackfin blackfin
-eNET i386 i386 eNET - sc520 eNET:SYS_TEXT_BASE=0x38040000
-eNET_SRAM i386 i386 eNET - sc520 eNET:SYS_TEXT_BASE=0x19000000
+eNET x86 x86 eNET - sc520 eNET:SYS_TEXT_BASE=0x38040000
+eNET_SRAM x86 x86 eNET - sc520 eNET:SYS_TEXT_BASE=0x19000000
idmr m68k mcf52x2
TASREG m68k mcf52x2 tasreg esd
M5208EVBE m68k mcf52x2 m5208evbe freescale
diff --git a/common/exports.c b/common/exports.c
index 3dff7351bc..717e4afe6d 100644
--- a/common/exports.c
+++ b/common/exports.c
@@ -15,7 +15,7 @@ unsigned long get_version(void)
/* Reuse _exports.h with a little trickery to avoid bitrot */
#define EXPORT_FUNC(sym) gd->jt[XF_##sym] = (void *)sym;
-#if !defined(CONFIG_I386) && !defined(CONFIG_PPC)
+#if !defined(CONFIG_X86) && !defined(CONFIG_PPC)
# define install_hdlr dummy
# define free_hdlr dummy
#else /* kludge for non-standard function naming */
diff --git a/doc/README-i386 b/doc/README-i386
deleted file mode 100644
index c560d22f46..0000000000
--- a/doc/README-i386
+++ /dev/null
@@ -1,74 +0,0 @@
-This is my attempt to port U-Boot to the i386 platform. This
-work was sponsored by my emplyer, Omicron Ceti AB. http://www.omicron.se
-
-It is currently capable of booting a linux bzImage from flash on
-the AMD SC520 CDP platform.
-
-It was originally based on PPCBoot taken from the CVS October 28 2002.
-
-To compile:
-
-1) Unpack the source tree, either from the complete tarball or
- from the virgin snapshot + the patch
-
-2) Configure the source
- $ make sc520_cdp_comfig
- $ make
-
-To use this code on the CDP:
-1) Make a suitable kernel, I used 2.4.19 with the mtd-support updated
- from the MTD CVS and a patch to allow root=/dev/mtdblock1 which I
- included at the end of this file.
- The following options in the MTD section might be useful:
-
- CONFIG_MTD_PHYSMAP=y
- CONFIG_MTD_PHYSMAP_START=38100000
- CONFIG_MTD_PHYSMAP_LEN=7a0000
- CONFIG_MTD_PHYSMAP_BUSWIDTH=2
-
-
-2) Program it in to the CDP flashbank with remon
- u-boot.bin should be programmed att offset 0x7e000 and the kernel at
- offset 0. If you want to use a jffs2 root file system (not included here),
- it should be programmed to offset 0x100000.
-
- remon> z
- remon> yi
- remon> ns u-boot.bin 7e0000
- remon> ns bzImage 0
- remon> ns image.jffs2 100000
-
-3) Connect a terminal to the 25pin serial port at 9600bps, and start the CDP.
-
- remon> z
- remon> g
-
-4) U-Boot should output some message and a prompt on the terminal, to
- start the kernel issue the following command:
-
- BOOT> bootm
-
-5) The kernel should boot, and mount the root filesystem if present.
-
-We hope you find this stuff useful
-Daniel Engström, Omicron Ceti AB, daniel@omicron.se
-
-
---- linux-2.4.19-orig/init/do_mounts.c Sat Aug 3 02:39:46 2002
-+++ linux-2.4.19/init/do_mounts.c Mon Sep 23 16:21:33 2002
-@@ -224,6 +224,14 @@
- { "ftlc", 0x2c10 },
- { "ftld", 0x2c18 },
- { "mtdblock", 0x1f00 },
-+ { "mtdblock0", 0x1f00 },
-+ { "mtdblock1", 0x1f01 },
-+ { "mtdblock2", 0x1f02 },
-+ { "mtdblock3", 0x1f03 },
-+ { "mtdblock4", 0x1f04 },
-+ { "mtdblock5", 0x1f05 },
-+ { "mtdblock6", 0x1f06 },
-+ { "mtdblock7", 0x1f07 },
- { NULL, 0 }
- };
-
--------------------
diff --git a/doc/TODO-i386 b/doc/TODO-i386
deleted file mode 100644
index 9b6c5d41ab..0000000000
--- a/doc/TODO-i386
+++ /dev/null
@@ -1,29 +0,0 @@
-i386 port missing features:
-* i386 cleaness (wbinvld is 486+ ... )
-* Pentium TSC timer/udelay
-* setup the BIOS data area and BIOS equipment word to reflect machine config.
-* Make reset work (from Linux and from the boot prompt)
-* DMA, FDC, RTC, KBC initialization
-* split of part of arch/i386/cpu/interrupt.c to cpu/i385/entry.c?
-* re-entry of protected mode from real mode, should be added to realmode_switch.S
- (and used by INT 10h and INT 16h handlers for console I/O during early
- linux boot...)
-* missing functions in arch/i386/lib and arch/i386/cpu
-* speaker beep interface
-
-
-SC520 missing features:
-* Watchdog
-* SC520 timer/udelay
-* SC520 3rd PIC
-* SC520 ICE serial
-* SC520 MMCR reset
-
-SC520 CDP board support missing features:
-* environment in sram
-
-SC520 CDP board support bugs:
-* SPI EEPROM support does not work
-* 0x680 LEDS dos not work for me
-* is it possible to make both the internal serial ports and the
- ports on the sio work at the same time?
diff --git a/examples/standalone/stubs.c b/examples/standalone/stubs.c
index 2d2e7098b7..507d38ceaf 100644
--- a/examples/standalone/stubs.c
+++ b/examples/standalone/stubs.c
@@ -4,7 +4,7 @@
#define GCC_VERSION (__GNUC__ * 1000 + __GNUC_MINOR__)
#endif /* GCC_VERSION */
-#if defined(CONFIG_I386)
+#if defined(CONFIG_X86)
/*
* x86 does not have a dedicated register to store the pointer to
* the global_data. Thus the jump table address is stored in a
@@ -198,7 +198,7 @@ void app_startup(char * const *argv)
*cp++ = 0;
}
-#if defined(CONFIG_I386)
+#if defined(CONFIG_X86)
/* x86 does not have a dedicated register for passing global_data */
global_data = (gd_t *)argv[-1];
jt = global_data->jt;
diff --git a/include/common.h b/include/common.h
index 9ba16012fe..21c05db3f4 100644
--- a/include/common.h
+++ b/include/common.h
@@ -272,9 +272,9 @@ int setenv (char *, char *);
# include <asm/setup.h>
# include <asm/u-boot-arm.h> /* ARM version to be fixed! */
#endif /* CONFIG_ARM */
-#ifdef CONFIG_I386 /* x86 version to be fixed! */
-# include <asm/u-boot-i386.h>
-#endif /* CONFIG_I386 */
+#ifdef CONFIG_X86 /* x86 version to be fixed! */
+# include <asm/u-boot-x86.h>
+#endif /* CONFIG_X86 */
#ifdef CONFIG_AUTO_COMPLETE
int env_complete(char *var, int maxv, char *cmdv[], int maxsz, char *buf);
diff --git a/include/configs/eNET.h b/include/configs/eNET.h
index 34a9d6866f..548d52c6a0 100644
--- a/include/configs/eNET.h
+++ b/include/configs/eNET.h
@@ -33,7 +33,6 @@
* High Level Configuration Options
* (easy to change)
*/
-#define CONFIG_X86
#define CONFIG_SYS_SC520
#define CONFIG_SYS_SC520_SSI
#define CONFIG_SHOW_BOOT_PROGRESS
@@ -158,16 +157,19 @@
/*-----------------------------------------------------------------------
* Memory organization:
* 32kB Stack
+ * 16kB Cache-As-RAM @ 0x19200000
* 256kB Monitor
+ * (128kB + Environment Sector Size) malloc pool
*/
-#define CONFIG_SYS_STACK_SIZE 0x8000
+#define CONFIG_SYS_STACK_SIZE (32 * 1024)
#define CONFIG_SYS_CAR_ADDR 0x19200000
-#define CONFIG_SYS_CAR_SIZE 0x00004000
+#define CONFIG_SYS_CAR_SIZE (16 * 1024)
#define CONFIG_SYS_INIT_SP_ADDR (CONFIG_SYS_CAR_ADDR + \
CONFIG_SYS_CAR_SIZE)
#define CONFIG_SYS_MONITOR_BASE CONFIG_SYS_TEXT_BASE
#define CONFIG_SYS_MONITOR_LEN (256 * 1024)
-#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SIZE + 128*1024)
+#define CONFIG_SYS_MALLOC_LEN (CONFIG_ENV_SECT_SIZE + \
+ 128*1024)
/* Address of temporary Global Data */
#define CONFIG_SYS_INIT_GD_ADDR CONFIG_SYS_CAR_ADDR
@@ -198,17 +200,25 @@
#define CONFIG_SYS_FLASH_LEGACY_512Kx8
#define CONFIG_SYS_FLASH_ERASE_TOUT 2000 /* ms */
#define CONFIG_SYS_FLASH_WRITE_TOUT 2000 /* ms */
+
/*-----------------------------------------------------------------------
* Environment configuration
+ * - Boot flash is 512kB with 64kB sectors
+ * - StrataFlash is 32MB with 128kB sectors
+ * - Redundant embedded environment is 25% of the Boot flash
+ * - Redundant StrataFlash environment is <1% of the StrataFlash
+ * - Environment is therefore located in StrataFlash
+ * - Primary copy is located in first sector of first flash
+ * - Redundant copy is located in second sector of first flash
+ * - Stack is only 32kB, so environment size is limited to 4kB
*/
#define CONFIG_ENV_IS_IN_FLASH
#define CONFIG_ENV_SECT_SIZE 0x20000
-#define CONFIG_ENV_SIZE CONFIG_ENV_SECT_SIZE
+#define CONFIG_ENV_SIZE 0x01000
#define CONFIG_ENV_ADDR CONFIG_SYS_FLASH_BASE_1
-/* Redundant Copy */
#define CONFIG_ENV_ADDR_REDUND (CONFIG_SYS_FLASH_BASE_1 + \
CONFIG_ENV_SECT_SIZE)
-#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SECT_SIZE
+#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
/*-----------------------------------------------------------------------
* PCI configuration
diff --git a/include/exports.h b/include/exports.h
index 6382311662..ddd1bf4946 100644
--- a/include/exports.h
+++ b/include/exports.h
@@ -45,7 +45,7 @@ enum {
#define XF_VERSION 6
-#if defined(CONFIG_I386)
+#if defined(CONFIG_X86)
extern gd_t *global_data;
#endif