From e9bf8877dae5e818e27d6949f3410a4e31efc2d0 Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Mon, 4 Apr 2011 15:18:59 +1000 Subject: [PATCH 1/7] eNET: Fix undefined reference to `monitor_flash_len' commit cfbe861506e2dc3250ac99dc45bb3d1ac60f4857 removed the definition of monitor_flash_len from the eNET which was not picked up due to extensive use of the SRAM configuration target for testing Signed-off-by: Graeme Russ --- board/eNET/eNET.c | 2 ++ 1 file changed, 2 insertions(+) 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); From ec8016c856af29de2f2ca6c3692929423673bf66 Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Wed, 13 Apr 2011 19:43:24 +1000 Subject: [PATCH 2/7] eNET: Fix saveenv crash CONFIG_ENV_SIZE = CONFIG_ENV_SECT_SIZE = 128kB but CONFIG_SYS_STACK_SIZE is only 32kB resulting in saveenv causing a stack overflow and crashing U-Boot. Resolve by reducing CONFIG_ENV_SIZE to 4kB Also fix up CONFIG_SYS_MALLOC_LEN to correctly use environment sector size and add some comments to the memory organisation configuration Signed-off-by: Graeme Russ --- include/configs/eNET.h | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/include/configs/eNET.h b/include/configs/eNET.h index 34a9d6866f..f3ef7d2f92 100644 --- a/include/configs/eNET.h +++ b/include/configs/eNET.h @@ -158,16 +158,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 +201,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 From e413554f9df28b383eeb8e8e5de35848b15d74aa Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Wed, 13 Apr 2011 19:43:25 +1000 Subject: [PATCH 3/7] eNET: Remove config.mk By including in the ld script, CONFIG_SYS_MONITOR_LEN (defined in the boards config file) can be used in lieu of FLASH_SIZE (defined in the board specific config.mk) As this is the last remaining entry in the board specific config.mk, this file can now be removed Signed-off-by: Graeme Russ --- arch/i386/cpu/u-boot.lds | 5 +++-- board/eNET/config.mk | 24 ------------------------ 2 files changed, 3 insertions(+), 26 deletions(-) delete mode 100644 board/eNET/config.mk diff --git a/arch/i386/cpu/u-boot.lds b/arch/i386/cpu/u-boot.lds index 98a548d62e..55974228b5 100644 --- a/arch/i386/cpu/u-boot.lds +++ b/arch/i386/cpu/u-boot.lds @@ -21,6 +21,7 @@ * MA 02111-1307 USA */ +#include 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/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 From dbf7115a326fa70ac3e4ca87497c7e21c6642b45 Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Wed, 13 Apr 2011 19:43:26 +1000 Subject: [PATCH 4/7] x86: Code cleanup Make the copyright notices in the x86 files consistent and update them with proper attributions for recent updates Also fix a few comment style/accuracy and whitespace/blank line issues Signed-off-by: Graeme Russ --- arch/i386/cpu/cpu.c | 31 ++++++++++--------- arch/i386/cpu/interrupts.c | 8 ++--- arch/i386/cpu/resetvec.S | 3 +- arch/i386/cpu/sc520/sc520.c | 8 ++--- arch/i386/cpu/sc520/sc520_car.S | 5 ++-- arch/i386/cpu/sc520/sc520_pci.c | 14 ++++----- arch/i386/cpu/sc520/sc520_sdram.c | 4 +-- arch/i386/cpu/sc520/sc520_ssi.c | 5 +--- arch/i386/cpu/sc520/sc520_timer.c | 7 +++-- arch/i386/cpu/start.S | 28 +++++++---------- arch/i386/cpu/start16.S | 6 +++- arch/i386/lib/bios.S | 3 +- arch/i386/lib/bios.h | 44 +++++++++++++-------------- arch/i386/lib/bios_setup.c | 3 +- arch/i386/lib/board.c | 23 ++++++-------- arch/i386/lib/bootm.c | 15 ++++++---- arch/i386/lib/interrupts.c | 16 +++++----- arch/i386/lib/pcat_interrupts.c | 4 +-- arch/i386/lib/pcat_timer.c | 2 +- arch/i386/lib/pci.c | 18 +++++------ arch/i386/lib/pci_type1.c | 31 ++++++++++++++----- arch/i386/lib/realmode.c | 10 ++----- arch/i386/lib/realmode_switch.S | 1 - arch/i386/lib/timer.c | 5 +++- arch/i386/lib/video.c | 50 +++++++++++++------------------ arch/i386/lib/video_bios.c | 2 +- arch/i386/lib/zimage.c | 4 +-- board/eNET/eNET_pci.c | 7 +++-- 28 files changed, 174 insertions(+), 183 deletions(-) diff --git a/arch/i386/cpu/cpu.c b/arch/i386/cpu/cpu.c index 2339cd41bb..5ca0c9156c 100644 --- a/arch/i386/cpu/cpu.c +++ b/arch/i386/cpu/cpu.c @@ -1,6 +1,9 @@ /* + * (C) Copyright 2008-2011 + * Graeme Russ, + * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. + * Daniel Engström, Omicron Ceti AB, * * (C) Copyright 2002 * Sysgo Real-Time Solutions, GmbH @@ -29,18 +32,16 @@ * MA 02111-1307 USA */ -/* - * CPU specific code - */ - #include #include #include #include #include -/* 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); diff --git a/arch/i386/cpu/interrupts.c b/arch/i386/cpu/interrupts.c index 1cefe02c86..62bcadc486 100644 --- a/arch/i386/cpu/interrupts.c +++ b/arch/i386/cpu/interrupts.c @@ -1,9 +1,9 @@ /* - * (C) Copyright 2008 - * Graeme Russ, graeme.russ@gmail.com. + * (C) Copyright 2008-2011 + * Graeme Russ, * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. + * Daniel Engström, Omicron Ceti AB, * * 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/i386/cpu/resetvec.S index d9222dd2fc..27021bd721 100644 --- a/arch/i386/cpu/resetvec.S +++ b/arch/i386/cpu/resetvec.S @@ -1,7 +1,8 @@ /* * U-boot - i386 Startup Code * - * Copyright (c) 2002 Omicron Ceti AB, Daniel Engström + * (C) Copyright 2002 + * Daniel Engström, Omicron Ceti AB, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/cpu/sc520/sc520.c b/arch/i386/cpu/sc520/sc520.c index d0c313b91a..edc1a5c0f2 100644 --- a/arch/i386/cpu/sc520/sc520.c +++ b/arch/i386/cpu/sc520/sc520.c @@ -1,6 +1,9 @@ /* + * (C) Copyright 2008-2011 + * Graeme Russ, + * * (C) Copyright 2002 - * Daniel Engstr�m, Omicron Ceti AB . + * Daniel Engström, Omicron Ceti AB, * * 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 #include #include diff --git a/arch/i386/cpu/sc520/sc520_car.S b/arch/i386/cpu/sc520/sc520_car.S index 22f5225311..a33f94f491 100644 --- a/arch/i386/cpu/sc520/sc520_car.S +++ b/arch/i386/cpu/sc520/sc520_car.S @@ -1,6 +1,6 @@ /* - * (C) Copyright 2010 - * Graeme Russ . + * (C) Copyright 2010-2011 + * Graeme Russ, * * See file CREDITS for list of people who contributed to this * project. @@ -21,7 +21,6 @@ * MA 02111-1307 USA */ - #include #include #include diff --git a/arch/i386/cpu/sc520/sc520_pci.c b/arch/i386/cpu/sc520/sc520_pci.c index b91773435e..8cd7ffecdb 100644 --- a/arch/i386/cpu/sc520/sc520_pci.c +++ b/arch/i386/cpu/sc520/sc520_pci.c @@ -1,6 +1,9 @@ /* + * (C) Copyright 2008-2011 + * Graeme Russ, + * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB . + * Daniel Engström, Omicron Ceti AB, * * 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 #include #include @@ -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/i386/cpu/sc520/sc520_sdram.c b/arch/i386/cpu/sc520/sc520_sdram.c index d5ab55df06..f3623f53f2 100644 --- a/arch/i386/cpu/sc520/sc520_sdram.c +++ b/arch/i386/cpu/sc520/sc520_sdram.c @@ -1,6 +1,6 @@ /* - * (C) Copyright 2010 - * Graeme Russ . + * (C) Copyright 2010,2011 + * Graeme Russ, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/cpu/sc520/sc520_ssi.c b/arch/i386/cpu/sc520/sc520_ssi.c index 6e5e346303..ac58d25970 100644 --- a/arch/i386/cpu/sc520/sc520_ssi.c +++ b/arch/i386/cpu/sc520/sc520_ssi.c @@ -1,6 +1,6 @@ /* * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB . + * Daniel Engström, Omicron Ceti AB, * * 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 #include #include @@ -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/i386/cpu/sc520/sc520_timer.c index d5617e91f6..1bcfe67c94 100644 --- a/arch/i386/cpu/sc520/sc520_timer.c +++ b/arch/i386/cpu/sc520/sc520_timer.c @@ -1,6 +1,9 @@ /* + * (C) Copyright 2008-2011 + * Graeme Russ, + * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB . + * Daniel Engström, Omicron Ceti AB, * * 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 #include #include diff --git a/arch/i386/cpu/start.S b/arch/i386/cpu/start.S index 00313897ce..2124a42c9d 100644 --- a/arch/i386/cpu/start.S +++ b/arch/i386/cpu/start.S @@ -1,7 +1,11 @@ /* * U-boot - i386 Startup Code * - * Copyright (c) 2002 Omicron Ceti AB, Daniel Engström + * (C) Copyright 2008-2011 + * Graeme Russ, + * + * (C) Copyright 2002 + * Daniel Engström, Omicron Ceti AB, * * See file CREDITS for list of people who contributed to this * project. @@ -22,13 +26,11 @@ * MA 02111-1307 USA */ - #include #include #include #include - .section .text .code32 .globl _start @@ -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/i386/cpu/start16.S index 7dc5358366..d2e5d136fa 100644 --- a/arch/i386/cpu/start16.S +++ b/arch/i386/cpu/start16.S @@ -1,7 +1,11 @@ /* * U-boot - i386 Startup Code * - * Copyright (c) 2002, 2003 Omicron Ceti AB, Daniel Engström + * (C) Copyright 2008-2011 + * Graeme Russ, + * + * (C) Copyright 2002,2003 + * Daniel Engström, Omicron Ceti AB, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/lib/bios.S b/arch/i386/lib/bios.S index 48f1b81122..660a244394 100644 --- a/arch/i386/lib/bios.S +++ b/arch/i386/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, * * 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/i386/lib/bios.h index 4901f8917a..3c8d61a6f4 100644 --- a/arch/i386/lib/bios.h +++ b/arch/i386/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, * * 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_setup.c b/arch/i386/lib/bios_setup.c index 75407c173c..6949b35069 100644 --- a/arch/i386/lib/bios_setup.c +++ b/arch/i386/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, * * 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/i386/lib/board.c index e0f9803e5e..6d947c6c28 100644 --- a/arch/i386/lib/board.c +++ b/arch/i386/lib/board.c @@ -1,9 +1,12 @@ /* - * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, daniel@omicron.se + * (C) Copyright 2008-2011 + * Graeme Russ, * * (C) Copyright 2002 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * Daniel Engström, Omicron Ceti AB, + * + * (C) Copyright 2002 + * Wolfgang Denk, DENX Software Engineering, * * (C) Copyright 2002 * Sysgo Real-Time Solutions, GmbH @@ -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/i386/lib/bootm.c index b36e58d9ec..a21a21f1f7 100644 --- a/arch/i386/lib/bootm.c +++ b/arch/i386/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 diff --git a/arch/i386/lib/interrupts.c b/arch/i386/lib/interrupts.c index 5a28278280..a2c598f9a4 100644 --- a/arch/i386/lib/interrupts.c +++ b/arch/i386/lib/interrupts.c @@ -1,21 +1,21 @@ /* * (C) Copyright 2009 - * Graeme Russ, graeme.russ@gmail.com + * Graeme Russ, * * (C) Copyright 2007 - * Daniel Hellstrom, Gaisler Research, daniel@gaisler.com + * Daniel Hellstrom, Gaisler Research, * * (C) Copyright 2006 - * Detlev Zundel, DENX Software Engineering, dzu@denx.de + * Detlev Zundel, DENX Software Engineering, * * (C) Copyright -2003 - * Wolfgang Denk, DENX Software Engineering, wd@denx.de. + * Wolfgang Denk, DENX Software Engineering, * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, daniel@omicron.se + * Daniel Engström, Omicron Ceti AB, * * (C) Copyright 2001 - * Josh Huber , Mission Critical Linux, Inc. + * Josh Huber, Mission Critical Linux, Inc, * * 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/i386/lib/pcat_interrupts.c index 67e6e97e35..364c435837 100644 --- a/arch/i386/lib/pcat_interrupts.c +++ b/arch/i386/lib/pcat_interrupts.c @@ -1,9 +1,9 @@ /* * (C) Copyright 2009 - * Graeme Russ, graeme.russ@gmail.com + * Graeme Russ, * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. + * Daniel Engström, Omicron Ceti AB, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/lib/pcat_timer.c b/arch/i386/lib/pcat_timer.c index 1373fd125c..1911c6c19d 100644 --- a/arch/i386/lib/pcat_timer.c +++ b/arch/i386/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, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/lib/pci.c b/arch/i386/lib/pci.c index 9020e7ce76..e791e88bd4 100644 --- a/arch/i386/lib/pci.c +++ b/arch/i386/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, * * 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/i386/lib/pci_type1.c index 225ae4a990..8ce5b33e3d 100644 --- a/arch/i386/lib/pci_type1.c +++ b/arch/i386/lib/pci_type1.c @@ -1,15 +1,30 @@ +/* + * (C) Copyright 2002 + * Daniel Engström, Omicron Ceti AB, + * + * 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 + */ + /* * Support for type PCI configuration cycles. * based on pci_indirect.c - * - * Copyright (C) 2002 Daniel Engström, Omicron Ceti AB, daniel@omicron.se. - * - * 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. */ - #include #include #include diff --git a/arch/i386/lib/realmode.c b/arch/i386/lib/realmode.c index 2dda95b064..5be827c66b 100644 --- a/arch/i386/lib/realmode.c +++ b/arch/i386/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, * * See file CREDITS for list of people who contributed to this * project. @@ -26,10 +26,8 @@ #include #include - #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/i386/lib/realmode_switch.S index d6c74ecd79..fce4eccab0 100644 --- a/arch/i386/lib/realmode_switch.S +++ b/arch/i386/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/i386/lib/timer.c index 5cb1f54fb5..8fc68cdcb8 100644 --- a/arch/i386/lib/timer.c +++ b/arch/i386/lib/timer.c @@ -1,6 +1,9 @@ /* + * (C) Copyright 2008,2009 + * Graeme Russ, + * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB, daniel@omicron.se. + * Daniel Engström, Omicron Ceti AB, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/lib/video.c b/arch/i386/lib/video.c index c58ed104cc..b29075c490 100644 --- a/arch/i386/lib/video.c +++ b/arch/i386/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, * * See file CREDITS for list of people who contributed to this * project. @@ -30,7 +30,6 @@ #include #include - /* 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= 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 (i8042_kbd_init()) { + if (stdio_register(&vga_dev) == 0) + return 1; + + 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/i386/lib/video_bios.c index c8060e60a7..6bc4335743 100644 --- a/arch/i386/lib/video_bios.c +++ b/arch/i386/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, * * See file CREDITS for list of people who contributed to this * project. diff --git a/arch/i386/lib/zimage.c b/arch/i386/lib/zimage.c index 0c42072691..cc4b40e64c 100644 --- a/arch/i386/lib/zimage.c +++ b/arch/i386/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, * * 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/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, * * (C) Copyright 2002 - * Daniel Engström, Omicron Ceti AB . + * Daniel Engström, Omicron Ceti AB, * * 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 #include #include From fea25720013f84427a0ba8833a38614fcaf488ba Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Wed, 13 Apr 2011 19:43:28 +1000 Subject: [PATCH 5/7] x86: Rename i386 to x86 Signed-off-by: Graeme Russ --- MAKEALL | 4 ++-- Makefile | 4 ++-- README | 2 +- arch/{i386 => x86}/config.mk | 0 arch/{i386 => x86}/cpu/Makefile | 0 arch/{i386 => x86}/cpu/config.mk | 2 +- arch/{i386 => x86}/cpu/cpu.c | 2 +- arch/{i386 => x86}/cpu/interrupts.c | 0 arch/{i386 => x86}/cpu/resetvec.S | 2 +- arch/{i386 => x86}/cpu/sc520/Makefile | 0 arch/{i386 => x86}/cpu/sc520/sc520.c | 0 arch/{i386 => x86}/cpu/sc520/sc520_car.S | 0 arch/{i386 => x86}/cpu/sc520/sc520_pci.c | 0 arch/{i386 => x86}/cpu/sc520/sc520_sdram.c | 0 arch/{i386 => x86}/cpu/sc520/sc520_ssi.c | 0 arch/{i386 => x86}/cpu/sc520/sc520_timer.c | 0 arch/{i386 => x86}/cpu/start.S | 6 +++--- arch/{i386 => x86}/cpu/start16.S | 2 +- arch/{i386 => x86}/cpu/u-boot.lds | 0 arch/{i386 => x86}/include/asm/bitops.h | 0 arch/{i386 => x86}/include/asm/bootparam.h | 0 arch/{i386 => x86}/include/asm/byteorder.h | 0 arch/{i386 => x86}/include/asm/config.h | 0 arch/{i386 => x86}/include/asm/e820.h | 0 arch/{i386 => x86}/include/asm/errno.h | 0 arch/{i386 => x86}/include/asm/global_data.h | 0 arch/{i386 => x86}/include/asm/i8254.h | 0 arch/{i386 => x86}/include/asm/i8259.h | 0 arch/{i386 => x86}/include/asm/ibmpc.h | 0 arch/{i386 => x86}/include/asm/ic/pci.h | 0 arch/{i386 => x86}/include/asm/ic/sc520.h | 0 arch/{i386 => x86}/include/asm/ic/ssi.h | 0 arch/{i386 => x86}/include/asm/interrupt.h | 4 ++-- arch/{i386 => x86}/include/asm/io.h | 0 arch/{i386 => x86}/include/asm/ioctl.h | 0 arch/{i386 => x86}/include/asm/ist.h | 0 arch/{i386 => x86}/include/asm/pci.h | 0 arch/{i386 => x86}/include/asm/posix_types.h | 0 arch/{i386 => x86}/include/asm/processor-flags.h | 0 arch/{i386 => x86}/include/asm/processor.h | 0 arch/{i386 => x86}/include/asm/ptrace.h | 0 arch/{i386 => x86}/include/asm/realmode.h | 0 arch/{i386 => x86}/include/asm/string.h | 0 arch/{i386 => x86}/include/asm/types.h | 0 .../asm/u-boot-i386.h => x86/include/asm/u-boot-x86.h} | 4 ++-- arch/{i386 => x86}/include/asm/u-boot.h | 0 arch/{i386 => x86}/include/asm/unaligned.h | 0 arch/{i386 => x86}/include/asm/video/edid.h | 0 arch/{i386 => x86}/include/asm/zimage.h | 0 arch/{i386 => x86}/lib/Makefile | 0 arch/{i386 => x86}/lib/bios.S | 0 arch/{i386 => x86}/lib/bios.h | 0 arch/{i386 => x86}/lib/bios_pci.S | 0 arch/{i386 => x86}/lib/bios_setup.c | 0 arch/{i386 => x86}/lib/board.c | 2 +- arch/{i386 => x86}/lib/bootm.c | 0 arch/{i386 => x86}/lib/interrupts.c | 0 arch/{i386 => x86}/lib/pcat_interrupts.c | 0 arch/{i386 => x86}/lib/pcat_timer.c | 0 arch/{i386 => x86}/lib/pci.c | 0 arch/{i386 => x86}/lib/pci_type1.c | 0 arch/{i386 => x86}/lib/realmode.c | 0 arch/{i386 => x86}/lib/realmode_switch.S | 0 arch/{i386 => x86}/lib/timer.c | 0 arch/{i386 => x86}/lib/video.c | 0 arch/{i386 => x86}/lib/video_bios.c | 0 arch/{i386 => x86}/lib/zimage.c | 0 boards.cfg | 4 ++-- common/exports.c | 2 +- doc/{README-i386 => README-x86} | 2 +- examples/standalone/stubs.c | 4 ++-- include/common.h | 6 +++--- include/configs/eNET.h | 1 - include/exports.h | 2 +- 74 files changed, 27 insertions(+), 28 deletions(-) rename arch/{i386 => x86}/config.mk (100%) rename arch/{i386 => x86}/cpu/Makefile (100%) rename arch/{i386 => x86}/cpu/config.mk (94%) rename arch/{i386 => x86}/cpu/cpu.c (98%) rename arch/{i386 => x86}/cpu/interrupts.c (100%) rename arch/{i386 => x86}/cpu/resetvec.S (97%) rename arch/{i386 => x86}/cpu/sc520/Makefile (100%) rename arch/{i386 => x86}/cpu/sc520/sc520.c (100%) rename arch/{i386 => x86}/cpu/sc520/sc520_car.S (100%) rename arch/{i386 => x86}/cpu/sc520/sc520_pci.c (100%) rename arch/{i386 => x86}/cpu/sc520/sc520_sdram.c (100%) rename arch/{i386 => x86}/cpu/sc520/sc520_ssi.c (100%) rename arch/{i386 => x86}/cpu/sc520/sc520_timer.c (100%) rename arch/{i386 => x86}/cpu/start.S (97%) rename arch/{i386 => x86}/cpu/start16.S (98%) rename arch/{i386 => x86}/cpu/u-boot.lds (100%) rename arch/{i386 => x86}/include/asm/bitops.h (100%) rename arch/{i386 => x86}/include/asm/bootparam.h (100%) rename arch/{i386 => x86}/include/asm/byteorder.h (100%) rename arch/{i386 => x86}/include/asm/config.h (100%) rename arch/{i386 => x86}/include/asm/e820.h (100%) rename arch/{i386 => x86}/include/asm/errno.h (100%) rename arch/{i386 => x86}/include/asm/global_data.h (100%) rename arch/{i386 => x86}/include/asm/i8254.h (100%) rename arch/{i386 => x86}/include/asm/i8259.h (100%) rename arch/{i386 => x86}/include/asm/ibmpc.h (100%) rename arch/{i386 => x86}/include/asm/ic/pci.h (100%) rename arch/{i386 => x86}/include/asm/ic/sc520.h (100%) rename arch/{i386 => x86}/include/asm/ic/ssi.h (100%) rename arch/{i386 => x86}/include/asm/interrupt.h (95%) rename arch/{i386 => x86}/include/asm/io.h (100%) rename arch/{i386 => x86}/include/asm/ioctl.h (100%) rename arch/{i386 => x86}/include/asm/ist.h (100%) rename arch/{i386 => x86}/include/asm/pci.h (100%) rename arch/{i386 => x86}/include/asm/posix_types.h (100%) rename arch/{i386 => x86}/include/asm/processor-flags.h (100%) rename arch/{i386 => x86}/include/asm/processor.h (100%) rename arch/{i386 => x86}/include/asm/ptrace.h (100%) rename arch/{i386 => x86}/include/asm/realmode.h (100%) rename arch/{i386 => x86}/include/asm/string.h (100%) rename arch/{i386 => x86}/include/asm/types.h (100%) rename arch/{i386/include/asm/u-boot-i386.h => x86/include/asm/u-boot-x86.h} (93%) rename arch/{i386 => x86}/include/asm/u-boot.h (100%) rename arch/{i386 => x86}/include/asm/unaligned.h (100%) rename arch/{i386 => x86}/include/asm/video/edid.h (100%) rename arch/{i386 => x86}/include/asm/zimage.h (100%) rename arch/{i386 => x86}/lib/Makefile (100%) rename arch/{i386 => x86}/lib/bios.S (100%) rename arch/{i386 => x86}/lib/bios.h (100%) rename arch/{i386 => x86}/lib/bios_pci.S (100%) rename arch/{i386 => x86}/lib/bios_setup.c (100%) rename arch/{i386 => x86}/lib/board.c (99%) rename arch/{i386 => x86}/lib/bootm.c (100%) rename arch/{i386 => x86}/lib/interrupts.c (100%) rename arch/{i386 => x86}/lib/pcat_interrupts.c (100%) rename arch/{i386 => x86}/lib/pcat_timer.c (100%) rename arch/{i386 => x86}/lib/pci.c (100%) rename arch/{i386 => x86}/lib/pci_type1.c (100%) rename arch/{i386 => x86}/lib/realmode.c (100%) rename arch/{i386 => x86}/lib/realmode_switch.S (100%) rename arch/{i386 => x86}/lib/timer.c (100%) rename arch/{i386 => x86}/lib/video.c (100%) rename arch/{i386 => x86}/lib/video_bios.c (100%) rename arch/{i386 => x86}/lib/zimage.c (100%) rename doc/{README-i386 => README-x86} (97%) 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 similarity index 100% rename from arch/i386/config.mk rename to arch/x86/config.mk diff --git a/arch/i386/cpu/Makefile b/arch/x86/cpu/Makefile similarity index 100% rename from arch/i386/cpu/Makefile rename to arch/x86/cpu/Makefile diff --git a/arch/i386/cpu/config.mk b/arch/x86/cpu/config.mk similarity index 94% rename from arch/i386/cpu/config.mk rename to 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 similarity index 98% rename from arch/i386/cpu/cpu.c rename to arch/x86/cpu/cpu.c index 5ca0c9156c..0c5d7c3d53 100644 --- a/arch/i386/cpu/cpu.c +++ b/arch/x86/cpu/cpu.c @@ -149,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 similarity index 100% rename from arch/i386/cpu/interrupts.c rename to arch/x86/cpu/interrupts.c diff --git a/arch/i386/cpu/resetvec.S b/arch/x86/cpu/resetvec.S similarity index 97% rename from arch/i386/cpu/resetvec.S rename to arch/x86/cpu/resetvec.S index 27021bd721..c690d2516e 100644 --- a/arch/i386/cpu/resetvec.S +++ b/arch/x86/cpu/resetvec.S @@ -1,5 +1,5 @@ /* - * U-boot - i386 Startup Code + * U-boot - x86 Startup Code * * (C) Copyright 2002 * Daniel Engström, Omicron Ceti AB, diff --git a/arch/i386/cpu/sc520/Makefile b/arch/x86/cpu/sc520/Makefile similarity index 100% rename from arch/i386/cpu/sc520/Makefile rename to arch/x86/cpu/sc520/Makefile diff --git a/arch/i386/cpu/sc520/sc520.c b/arch/x86/cpu/sc520/sc520.c similarity index 100% rename from arch/i386/cpu/sc520/sc520.c rename to arch/x86/cpu/sc520/sc520.c diff --git a/arch/i386/cpu/sc520/sc520_car.S b/arch/x86/cpu/sc520/sc520_car.S similarity index 100% rename from arch/i386/cpu/sc520/sc520_car.S rename to arch/x86/cpu/sc520/sc520_car.S diff --git a/arch/i386/cpu/sc520/sc520_pci.c b/arch/x86/cpu/sc520/sc520_pci.c similarity index 100% rename from arch/i386/cpu/sc520/sc520_pci.c rename to arch/x86/cpu/sc520/sc520_pci.c diff --git a/arch/i386/cpu/sc520/sc520_sdram.c b/arch/x86/cpu/sc520/sc520_sdram.c similarity index 100% rename from arch/i386/cpu/sc520/sc520_sdram.c rename to arch/x86/cpu/sc520/sc520_sdram.c diff --git a/arch/i386/cpu/sc520/sc520_ssi.c b/arch/x86/cpu/sc520/sc520_ssi.c similarity index 100% rename from arch/i386/cpu/sc520/sc520_ssi.c rename to arch/x86/cpu/sc520/sc520_ssi.c diff --git a/arch/i386/cpu/sc520/sc520_timer.c b/arch/x86/cpu/sc520/sc520_timer.c similarity index 100% rename from arch/i386/cpu/sc520/sc520_timer.c rename to arch/x86/cpu/sc520/sc520_timer.c diff --git a/arch/i386/cpu/start.S b/arch/x86/cpu/start.S similarity index 97% rename from arch/i386/cpu/start.S rename to arch/x86/cpu/start.S index 2124a42c9d..7ccc076fec 100644 --- a/arch/i386/cpu/start.S +++ b/arch/x86/cpu/start.S @@ -1,5 +1,5 @@ /* - * U-boot - i386 Startup Code + * U-boot - x86 Startup Code * * (C) Copyright 2008-2011 * Graeme Russ, @@ -35,8 +35,8 @@ .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 diff --git a/arch/i386/cpu/start16.S b/arch/x86/cpu/start16.S similarity index 98% rename from arch/i386/cpu/start16.S rename to arch/x86/cpu/start16.S index d2e5d136fa..f1b9d0a0c9 100644 --- a/arch/i386/cpu/start16.S +++ b/arch/x86/cpu/start16.S @@ -1,5 +1,5 @@ /* - * U-boot - i386 Startup Code + * U-boot - x86 Startup Code * * (C) Copyright 2008-2011 * Graeme Russ, diff --git a/arch/i386/cpu/u-boot.lds b/arch/x86/cpu/u-boot.lds similarity index 100% rename from arch/i386/cpu/u-boot.lds rename to arch/x86/cpu/u-boot.lds diff --git a/arch/i386/include/asm/bitops.h b/arch/x86/include/asm/bitops.h similarity index 100% rename from arch/i386/include/asm/bitops.h rename to arch/x86/include/asm/bitops.h diff --git a/arch/i386/include/asm/bootparam.h b/arch/x86/include/asm/bootparam.h similarity index 100% rename from arch/i386/include/asm/bootparam.h rename to arch/x86/include/asm/bootparam.h diff --git a/arch/i386/include/asm/byteorder.h b/arch/x86/include/asm/byteorder.h similarity index 100% rename from arch/i386/include/asm/byteorder.h rename to arch/x86/include/asm/byteorder.h diff --git a/arch/i386/include/asm/config.h b/arch/x86/include/asm/config.h similarity index 100% rename from arch/i386/include/asm/config.h rename to arch/x86/include/asm/config.h diff --git a/arch/i386/include/asm/e820.h b/arch/x86/include/asm/e820.h similarity index 100% rename from arch/i386/include/asm/e820.h rename to arch/x86/include/asm/e820.h diff --git a/arch/i386/include/asm/errno.h b/arch/x86/include/asm/errno.h similarity index 100% rename from arch/i386/include/asm/errno.h rename to arch/x86/include/asm/errno.h diff --git a/arch/i386/include/asm/global_data.h b/arch/x86/include/asm/global_data.h similarity index 100% rename from arch/i386/include/asm/global_data.h rename to arch/x86/include/asm/global_data.h diff --git a/arch/i386/include/asm/i8254.h b/arch/x86/include/asm/i8254.h similarity index 100% rename from arch/i386/include/asm/i8254.h rename to arch/x86/include/asm/i8254.h diff --git a/arch/i386/include/asm/i8259.h b/arch/x86/include/asm/i8259.h similarity index 100% rename from arch/i386/include/asm/i8259.h rename to arch/x86/include/asm/i8259.h diff --git a/arch/i386/include/asm/ibmpc.h b/arch/x86/include/asm/ibmpc.h similarity index 100% rename from arch/i386/include/asm/ibmpc.h rename to arch/x86/include/asm/ibmpc.h diff --git a/arch/i386/include/asm/ic/pci.h b/arch/x86/include/asm/ic/pci.h similarity index 100% rename from arch/i386/include/asm/ic/pci.h rename to 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 similarity index 100% rename from arch/i386/include/asm/ic/sc520.h rename to 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 similarity index 100% rename from arch/i386/include/asm/ic/ssi.h rename to arch/x86/include/asm/ic/ssi.h diff --git a/arch/i386/include/asm/interrupt.h b/arch/x86/include/asm/interrupt.h similarity index 95% rename from arch/i386/include/asm/interrupt.h rename to 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 -/* 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 similarity index 100% rename from arch/i386/include/asm/io.h rename to arch/x86/include/asm/io.h diff --git a/arch/i386/include/asm/ioctl.h b/arch/x86/include/asm/ioctl.h similarity index 100% rename from arch/i386/include/asm/ioctl.h rename to arch/x86/include/asm/ioctl.h diff --git a/arch/i386/include/asm/ist.h b/arch/x86/include/asm/ist.h similarity index 100% rename from arch/i386/include/asm/ist.h rename to arch/x86/include/asm/ist.h diff --git a/arch/i386/include/asm/pci.h b/arch/x86/include/asm/pci.h similarity index 100% rename from arch/i386/include/asm/pci.h rename to arch/x86/include/asm/pci.h diff --git a/arch/i386/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h similarity index 100% rename from arch/i386/include/asm/posix_types.h rename to 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 similarity index 100% rename from arch/i386/include/asm/processor-flags.h rename to arch/x86/include/asm/processor-flags.h diff --git a/arch/i386/include/asm/processor.h b/arch/x86/include/asm/processor.h similarity index 100% rename from arch/i386/include/asm/processor.h rename to arch/x86/include/asm/processor.h diff --git a/arch/i386/include/asm/ptrace.h b/arch/x86/include/asm/ptrace.h similarity index 100% rename from arch/i386/include/asm/ptrace.h rename to arch/x86/include/asm/ptrace.h diff --git a/arch/i386/include/asm/realmode.h b/arch/x86/include/asm/realmode.h similarity index 100% rename from arch/i386/include/asm/realmode.h rename to arch/x86/include/asm/realmode.h diff --git a/arch/i386/include/asm/string.h b/arch/x86/include/asm/string.h similarity index 100% rename from arch/i386/include/asm/string.h rename to arch/x86/include/asm/string.h diff --git a/arch/i386/include/asm/types.h b/arch/x86/include/asm/types.h similarity index 100% rename from arch/i386/include/asm/types.h rename to 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 similarity index 93% rename from arch/i386/include/asm/u-boot-i386.h rename to 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 similarity index 100% rename from arch/i386/include/asm/u-boot.h rename to arch/x86/include/asm/u-boot.h diff --git a/arch/i386/include/asm/unaligned.h b/arch/x86/include/asm/unaligned.h similarity index 100% rename from arch/i386/include/asm/unaligned.h rename to arch/x86/include/asm/unaligned.h diff --git a/arch/i386/include/asm/video/edid.h b/arch/x86/include/asm/video/edid.h similarity index 100% rename from arch/i386/include/asm/video/edid.h rename to arch/x86/include/asm/video/edid.h diff --git a/arch/i386/include/asm/zimage.h b/arch/x86/include/asm/zimage.h similarity index 100% rename from arch/i386/include/asm/zimage.h rename to arch/x86/include/asm/zimage.h diff --git a/arch/i386/lib/Makefile b/arch/x86/lib/Makefile similarity index 100% rename from arch/i386/lib/Makefile rename to arch/x86/lib/Makefile diff --git a/arch/i386/lib/bios.S b/arch/x86/lib/bios.S similarity index 100% rename from arch/i386/lib/bios.S rename to arch/x86/lib/bios.S diff --git a/arch/i386/lib/bios.h b/arch/x86/lib/bios.h similarity index 100% rename from arch/i386/lib/bios.h rename to arch/x86/lib/bios.h diff --git a/arch/i386/lib/bios_pci.S b/arch/x86/lib/bios_pci.S similarity index 100% rename from arch/i386/lib/bios_pci.S rename to arch/x86/lib/bios_pci.S diff --git a/arch/i386/lib/bios_setup.c b/arch/x86/lib/bios_setup.c similarity index 100% rename from arch/i386/lib/bios_setup.c rename to arch/x86/lib/bios_setup.c diff --git a/arch/i386/lib/board.c b/arch/x86/lib/board.c similarity index 99% rename from arch/i386/lib/board.c rename to arch/x86/lib/board.c index 6d947c6c28..df54222211 100644 --- a/arch/i386/lib/board.c +++ b/arch/x86/lib/board.c @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include #ifdef CONFIG_BITBANGMII diff --git a/arch/i386/lib/bootm.c b/arch/x86/lib/bootm.c similarity index 100% rename from arch/i386/lib/bootm.c rename to arch/x86/lib/bootm.c diff --git a/arch/i386/lib/interrupts.c b/arch/x86/lib/interrupts.c similarity index 100% rename from arch/i386/lib/interrupts.c rename to arch/x86/lib/interrupts.c diff --git a/arch/i386/lib/pcat_interrupts.c b/arch/x86/lib/pcat_interrupts.c similarity index 100% rename from arch/i386/lib/pcat_interrupts.c rename to arch/x86/lib/pcat_interrupts.c diff --git a/arch/i386/lib/pcat_timer.c b/arch/x86/lib/pcat_timer.c similarity index 100% rename from arch/i386/lib/pcat_timer.c rename to arch/x86/lib/pcat_timer.c diff --git a/arch/i386/lib/pci.c b/arch/x86/lib/pci.c similarity index 100% rename from arch/i386/lib/pci.c rename to arch/x86/lib/pci.c diff --git a/arch/i386/lib/pci_type1.c b/arch/x86/lib/pci_type1.c similarity index 100% rename from arch/i386/lib/pci_type1.c rename to arch/x86/lib/pci_type1.c diff --git a/arch/i386/lib/realmode.c b/arch/x86/lib/realmode.c similarity index 100% rename from arch/i386/lib/realmode.c rename to arch/x86/lib/realmode.c diff --git a/arch/i386/lib/realmode_switch.S b/arch/x86/lib/realmode_switch.S similarity index 100% rename from arch/i386/lib/realmode_switch.S rename to arch/x86/lib/realmode_switch.S diff --git a/arch/i386/lib/timer.c b/arch/x86/lib/timer.c similarity index 100% rename from arch/i386/lib/timer.c rename to arch/x86/lib/timer.c diff --git a/arch/i386/lib/video.c b/arch/x86/lib/video.c similarity index 100% rename from arch/i386/lib/video.c rename to arch/x86/lib/video.c diff --git a/arch/i386/lib/video_bios.c b/arch/x86/lib/video_bios.c similarity index 100% rename from arch/i386/lib/video_bios.c rename to arch/x86/lib/video_bios.c diff --git a/arch/i386/lib/zimage.c b/arch/x86/lib/zimage.c similarity index 100% rename from arch/i386/lib/zimage.c rename to arch/x86/lib/zimage.c 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-x86 similarity index 97% rename from doc/README-i386 rename to doc/README-x86 index c560d22f46..e8c2fc907e 100644 --- a/doc/README-i386 +++ b/doc/README-x86 @@ -1,4 +1,4 @@ -This is my attempt to port U-Boot to the i386 platform. This +This is my attempt to port U-Boot to the x86 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 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 # include /* ARM version to be fixed! */ #endif /* CONFIG_ARM */ -#ifdef CONFIG_I386 /* x86 version to be fixed! */ -# include -#endif /* CONFIG_I386 */ +#ifdef CONFIG_X86 /* x86 version to be fixed! */ +# include +#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 f3ef7d2f92..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 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 From b7af5831850ca238c60f50304490f4ec6270af0c Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Wed, 13 Apr 2011 19:43:29 +1000 Subject: [PATCH 6/7] sc520: Move reset to stand-alone file Partial linking allows weak functions to be overridden in files containing only one function. Moving the sc520 override of reset_cpu gets rid of an ugly #ifdef Signed-off-by: Graeme Russ --- arch/x86/cpu/sc520/Makefile | 1 + arch/x86/cpu/sc520/sc520.c | 10 -------- arch/x86/cpu/sc520/sc520_reset.c | 40 ++++++++++++++++++++++++++++++++ 3 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 arch/x86/cpu/sc520/sc520_reset.c diff --git a/arch/x86/cpu/sc520/Makefile b/arch/x86/cpu/sc520/Makefile index 54260b6107..694b61ee42 100644 --- a/arch/x86/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/x86/cpu/sc520/sc520.c b/arch/x86/cpu/sc520/sc520.c index edc1a5c0f2..8c410a2337 100644 --- a/arch/x86/cpu/sc520/sc520.c +++ b/arch/x86/cpu/sc520/sc520.c @@ -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/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, + * + * (C) Copyright 2002 + * Daniel Engström, Omicron Ceti AB, + * + * 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 +#include +#include + +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 */ +} From b3acbb221d97908a85b07563408fa4560703ff15 Mon Sep 17 00:00:00 2001 From: Graeme Russ Date: Wed, 13 Apr 2011 19:43:30 +1000 Subject: [PATCH 7/7] x86: Update MAINTAINERS and delete README files The README files are totally out-of-date to the point where they do more harm than good Signed-off-by: Graeme Russ --- MAINTAINERS | 4 +-- doc/README-x86 | 74 -------------------------------------------------- doc/TODO-i386 | 29 -------------------- 3 files changed, 2 insertions(+), 105 deletions(-) delete mode 100644 doc/README-x86 delete mode 100644 doc/TODO-i386 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 +Graeme Russ - sc520_cdp x86 + eNET AMD SC520 ######################################################################### # MIPS Systems: # diff --git a/doc/README-x86 b/doc/README-x86 deleted file mode 100644 index e8c2fc907e..0000000000 --- a/doc/README-x86 +++ /dev/null @@ -1,74 +0,0 @@ -This is my attempt to port U-Boot to the x86 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?