summaryrefslogtreecommitdiff
path: root/board/eNET
Commit message (Collapse)AuthorAgeLines
* x86: Make cpu init functions weakGraeme Russ2011-02-12-22/+0
|
* x86: Parametize values used in linker scriptGraeme Russ2011-02-12-0/+1
|
* eNET: Create distinct board configurationsGraeme Russ2011-02-12-1/+0
| | | | | | Position independant functionality is due for removal from the x86 architecture, so create two distinct configurations - One for Flash and one for SRAM
* x86: Align config.mk and linker scripts with other archesGraeme Russ2011-02-12-108/+0
|
* Switch from archive libraries to partial linkingSebastien Carlier2010-11-17-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, weak symbols were not overridden by non-weak symbols found in archive libraries when linking with recent versions of binutils. As stated in the System V ABI, "the link editor does not extract archive members to resolve undefined weak symbols". This commit changes all Makefiles to use partial linking (ld -r) instead of creating library archives, which forces all symbols to participate in linking, allowing non-weak symbols to override weak symbols as intended. This approach is also used by Linux, from which the gmake function cmd_link_o_target (defined in config.mk and used in all Makefiles) is inspired. The name of each former library archive is preserved except for extensions which change from ".a" to ".o". This commit updates references accordingly where needed, in particular in some linker scripts. This commit reveals board configurations that exclude some features but include source files that depend these disabled features in the build, resulting in undefined symbols. Known such cases include: - disabling CMD_NET but not CMD_NFS; - enabling CONFIG_OF_LIBFDT but not CONFIG_QE. Signed-off-by: Sebastien Carlier <sebastien.carlier@gmail.com>
* Rename TEXT_BASE: fix merge conflictsWolfgang Denk2010-10-18-4/+4
| | | | | | | | Commit 14d0a02a "Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE" missed a few places, especially for boards that were added inbetween. Fix the remaining issues. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Rename TEXT_BASE into CONFIG_SYS_TEXT_BASEWolfgang Denk2010-10-18-1/+1
| | | | | | | | | | | | The change is currently needed to be able to remove the board configuration scripting from the top level Makefile and replace it by a simple, table driven script. Moving this configuration setting into the "CONFIG_*" name space is also desirable because it is needed if we ever should move forward to a Kconfig driven configuration system. Signed-off-by: Wolfgang Denk <wd@denx.de>
* x86: Use loops instead of memcpy/memset in board_init_fGraeme Russ2010-10-07-1/+2
| | | | | | | Provides a small speed increase and prepares for fully relocatable image. Downside is the TEXT_BASE, bss, load address etc must ALL be aligned on a a 4-byte boundary which is not such a terrible restriction as everything is already 4-byte aligned anyway
* x86: Rearrange linker scriptGraeme Russ2010-10-07-21/+18
| | | | Tidy up the linker script and discard some sections to save space
* x86: Rename linker script symbolsGraeme Russ2010-10-07-12/+9
| | | | Create more generic names for the symbols exported from the linker script
* x86: Remove usage of %ebp as a return pointerGraeme Russ2010-10-07-3/+2
| | | | Using %ebp as a return pointer prevents creating 'load anywhere' images
* x86: Remove progress indication in low-level initGraeme Russ2010-10-07-12/+0
| | | | | Progress indication is not relocation friendly so remove it in preperation for full relocatability support
* x86: use gc sections to reduce image sizeGraeme Russ2010-10-07-5/+5
| | | | | Follow the discussion of Charles Manning and Mike Frysinger. Using gc_sections helps reduce image size.
* x86: Use TEXT_BASE in linker scriptsGraeme Russ2010-10-07-4/+4
| | | | | | Use TEXT_BASE rather than a hard-coded base address on x86 linker scripts. This will allow any board to define its base link address without having to modify the linker script
* eNET: Implement eNET WatchdogGraeme Russ2010-05-06-0/+46
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* eNET: Add PC/AT compatibility setup functionGraeme Russ2010-05-06-0/+38
| | | | | | | | The eNET uses the sc520 software timers rather than the PC/AT clones Set all interrupts and timers up to be PC/AT compatible Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* eNET: Add support for onboard RTL8100B (RTL8139) chipsGraeme Russ2010-05-06-0/+7
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* sc520: Board Specific PCI InitGraeme Russ2010-05-06-0/+33
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* x86: Use CONFIG_SERIAL_MULTIGraeme Russ2010-05-06-1/+2
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* x86: Add RAM bootstrap functionalityGraeme Russ2010-05-06-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | Add a parameter to the 32-bit entry to indicate if entry is from Real Mode or not. If entry is from Real Mode, execute the destructive 'sizer' routine to determine memory size as we are booting cold and running in Flash. If not entering from Real Mode, we are executing a U-Boot image from RAM and therefore the memory size is already known (and running 'sizer' will destroy the running image) There are now two 32-bit entry points. The first is the 'in RAM' entry point which exists at the start of the U-Boot binary image. As such, you can load u-boot.bin in RAM and jump directly to the load address without needing to calculate any offsets. The second entry point is used by the real-to-protected mode switch This patch also changes TEXT_BASE to 0x6000000 (in RAM). You can load the resulting image at 0x6000000 and simple go 0x6000000 from the u-boot prompt Hopefully a later patch will completely elliminate any dependency on TEXT_BASE like a relocatable linux kernel (perfect world) Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* x86: Fix MMCR AccessGraeme Russ2010-05-06-43/+43
| | | | | | Change sc520 MMCR Access to use memory accessor functions Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Change directory-specific CFLAGS to use full pathPeter Tyser2010-04-13-1/+1
| | | | | | | | | | | | | | | | | | Previously, a specific file or directory could be compiled with custom CFLAGS by adding a Makefile variable such as: CFLAGS_dlmalloc.o = <custom flags for common/dlmalloc.c> or CFLAGS_lib = <custom flags for lib directory> This method breaks down once multiple files or directories share the same path. Eg FLAGS_fileA = <custom flags> would incorrectly result in both dir1/fileA.c and dir2/fileA.c being compiled with <custom flags>. This change allows finer grained control which we need once we move lib_$ARCH to arch/$ARCH/lib/ and lib_generic/ to lib/. Without this change all lib/ directories would share the same custom CFLAGS. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* i386: Final RelocationGraeme Russ2009-12-05-9/+38
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Remove inline asm symbols from .dynsymGraeme Russ2009-12-05-0/+2
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix link collisions resulting from gcc4.4.1 upgradeGraeme Russ2009-12-05-0/+1
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix dlmalloc compile warningGraeme Russ2009-12-05-0/+1
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Add PCI support to eNET boardGraeme Russ2009-09-04-0/+96
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Moved PCI from #ifdef to conditional compile for sc520 boardsGraeme Russ2009-09-04-5/+5
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Replace [read, write]_mmcr_[byte, word, long] with memory mapped structureGraeme Russ2009-09-04-43/+43
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Change inline asm global symbols to localGraeme Russ2009-09-04-2/+2
| | | | | | | | gcc 4.3.2 optimiser creates multiple copies of inline asm (who knows why) Remove use of global names for labels to prevent 'symbol already defined' errors Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Fix all linker script to handle all rodata sectionsTrent Piepho2009-03-20-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recent gcc added a new unaligned rodata section called '.rodata.str1.1', which needs to be added the the linker script. Instead of just adding this one section, we use a wildcard ".rodata*" to get all rodata linker section gcc has now and might add in the future. However, '*(.rodata*)' by itself will result in sub-optimal section ordering. The sections will be sorted by object file, which causes extra padding between the unaligned rodata.str.1.1 of one object file and the aligned rodata of the next object file. This is easy to fix by using the SORT_BY_ALIGNMENT command. This patch has not be tested one most of the boards modified. Some boards have a linker script that looks something like this: *(.text) . = ALIGN(16); *(.rodata) *(.rodata.str1.4) *(.eh_frame) I change this to: *(.text) . = ALIGN(16); *(.eh_frame) *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) This means the start of rodata will no longer be 16 bytes aligned. However, the boundary between text and rodata/eh_frame is still aligned to 16 bytes, which is what I think the real purpose of the ALIGN call is. Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
* Renamed cpu/i386/reset.S to resetvec.SGraeme Russ2009-01-24-3/+3
| | | | | | | Brings i386 in line with other CPUs with a reset vector and frees up reset.c for CPU reset functions Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Added initial eNET board supportGraeme Russ2009-01-24-0/+513
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>