summaryrefslogtreecommitdiff
path: root/cpu/i386
AgeCommit message (Collapse)Author
2009-12-05Generic udelay() with watchdog supportIngo van Lil
According to the PPC reference implementation the udelay() function is responsible for resetting the watchdog timer as frequently as needed. Most other architectures do not meet that requirement, so long-running operations might result in a watchdog reset. This patch adds a generic udelay() function which takes care of resetting the watchdog before calling an architecture-specific __udelay(). Signed-off-by: Ingo van Lil <inguin@gmx.de>
2009-12-05i386: Final RelocationGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-12-05i386: Remove inline asm symbols from .dynsymGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-12-05i386: Rearrange Interupt HandlingGraeme Russ
In preperation for full relocation Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-12-05i386: Fix race condition when using SC520 timersGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-09-04i386: Replace [read, write]_mmcr_[byte, word, long] with memory mapped structureGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-09-04i386: Misc PCI fixupsGraeme Russ
Change PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY (Originally done in commit ff4e66e93c1a, regressed by commit 6d7f610b09f8) Cast PCI_ROM_ADDRESS_MASK to u32 Wrap probe_pci_video() call inside #ifdef CONFIG_VIDEO Change call to pci_find_class() to pci_find_devices(). This is based on a patch submitted on 1st March 2007 (Patch that fixes the compilation errors for sc520_cdp board) by mushtaq_k This patch requires that PCI_VIDEO_VENDOR_ID and PCI_VIDEO_DEVICE_ID be specified in the board config file. Dummy values have been added for the SC520 CDP board to enable compilation, but since I do not have one of these, I do know what the values should be Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-09-04Fix sc520 timer interrupt generationGraeme Russ
The current implementation has the timer being started before the interrupt handler is installed. It the interrupt occurs before the handler is installed, the timer interrupt is never reset and the timer stops Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-09-04i386: Change inline asm global symbols to localGraeme Russ
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>
2009-08-09Dual-license IBM code contributionsJosh Boyer
It was brought to our attention that U-Boot contains code derived from the IBM OpenBIOS source code originally provided with some of the older PowerPC 4xx development boards. As a result, the original license of this code has been carried in the various files for a number of years in the U-Boot project. IBM is dual-licensing the IBM code contributions already present in U-Boot under either the terms of the GNU General Public License version 2, or the original code license already present. Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
2009-03-20Add basic relocation to i386 portGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-03-20Implement SC520 timersGraeme Russ
Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Factor out SC520 sub-featuresGraeme Russ
Moved sub-features of the SC520 code which is currently selectively compiled using #ifdef out of sc520.c into individual files selectively compiled via the makefile Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Rewrite i386 interrupt handlingGraeme Russ
Rewrite interrupt handling functionality for the i386 port. Separated functionality into separate CPU and Architecture components. It appears as if the i386 interrupt handler functionality was intended to allow multiple handlers to be installed for a given interrupt. Unfortunately, this functionality was not fully implemented and also had the problem that irq_free_handler() does not allow the passing of the handler function pointer and therefore could never be used to free specific handlers that had been installed for a given IRQ. There were also various issues with array bounds not being fully tested. I had two objectives in mind for the new implementation: 1) Keep the implementation as similar as possible to existing implementations. To that end, I have used the leon2/3 implementations as the reference 2) Seperate CPU and Architecture specific elements. All specific i386 interrupt functionality is now in cpu/i386/ with the high level API and architecture specific code in lib_i386. Functionality specific to the PC/AT architecture (i.e. cascaded i8259 PICs) has been further split out into an individual file to allow for the implementation of the PIC architecture of the SC520 CPU (supports more IRQs) Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-03-20Rename SC520 Configuration OptionsGraeme Russ
Options are now all uniformly CONFIG_SYS_SC520_<option> Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-02-25Moved SC520 Files (fix commit 407976185e0dda2c90e89027121a1071b9c77bfb)Graeme Russ
Fixes commit 407976185e0dda2c90e89027121a1071b9c77bfb Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
2009-02-07pci: Rename PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY for clarityKumar Gala
The PCI_REGION_MEMORY and PCI_REGION_MEM are a bit to similar and can be confusing when reading the code. Rename PCI_REGION_MEMORY to PCI_REGION_SYS_MEMORY to clarify its used for system memory mapping purposes. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-01-24Remove #ifdef CONFIG_SC520 in source codeGraeme Russ
CONFIG_SC520 is now used for conditional compile Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-01-24Added MMCR reset functionalityGraeme Russ
Reset function specific to AMD SC520 microcontroller - Is more of a 'hard reset' that the triple fault. Requires CONFIG_SYS_RESET_SC520 to be defined in config I would have liked to add this to a new file (cpu/i386/sc520/reset.c) but ld requires that a object file in a library arhive MUST contain at least one function which does not override a weak function (and is called from outside the object file) in order for that object file to be extracted from the archive. This would be the only function on the new file, and hence, will never get linked in. Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-01-24Moved generic (triple fault) reset codeGraeme Russ
Moved from interrupts.c to cpu.c and made into a weak function to allow vendor specific override Vendor specific CPU reset (like the AMD SC520 MMCR reset) can now be added to the vendor specific code without the need to remember to #undef usage of the generic method and if you forget to include your custom reset method, you will always get the default. Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-01-24Moved definition of set_vector() to new header fileGraeme Russ
This allows for future tidy ups and functionality that will require set_vector () Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2009-01-24Renamed cpu/i386/reset.S to resetvec.SGraeme Russ
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>
2008-12-10Fixed path to sc520 SSI include fileGraeme Russ
Signed Off By: Graeme Russ <graeme.russ@gmail.com>
2008-10-28i386: Renamed show_boot_progress in assembler codeGraeme Russ
Renamed show_boot_progress in assembler init phase to show_boot_progress_asm to avoid link conflicts with C version Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
2008-10-18rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2008-07-14cpu/i386/serial.c: Fix syntax errorsWolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-05-21Big white-space cleanup.Wolfgang Denk
This commit gets rid of a huge amount of silly white-space issues. Especially, all sequences of SPACEs followed by TAB characters get removed (unless they appear in print statements). Also remove all embedded "vim:" and "vi:" statements which hide indentation problems. Signed-off-by: Wolfgang Denk <wd@denx.de>
2008-05-19i386: Fix multiple definitions of __show_boot_progressJean-Christophe PLAGNIOL-VILLARD
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
2007-07-10cpu/ rtc/ include/: Remove lingering references to CFG_CMD_* symbols.Jon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-09cpu/[7a-ln-z]*: Remove obsolete references to CONFIG_COMMANDSJon Loeliger
Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-07-04cpu/ non-mpc*: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger
This is a compatibility step that allows both the older form and the new form to co-exist for a while until the older can be removed entirely. All transformations are of the form: Before: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) After: #if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT) || defined(CONFIG_CMD_AUTOSCRIPT) Signed-off-by: Jon Loeliger <jdl@freescale.com>
2007-05-15Fixes bug clearing the bss section for i386mushtaq khan
Hi, There is a bug in the code of clearing the bss section for processor i386.(File: cpu/i386/start.S) In the code, bss_start addr (starting addr of bss section) is put into the register %eax, but the code which clears the bss section refers to the addr pointed by %edi. This patch fixes this bug by putting bss_start into %edi register. Signed-off-by: Mushtaq Khan <mushtaq_k@procsys.com>
2006-10-09Move "ar" flags to config.mk to allow for silent "make -s"Wolfgang Denk
Based on patch by Mike Frysinger, 20 Jun 2006
2006-10-09Coding style cleanupWolfgang Denk
2006-09-04Merge with /home/m8/git/u-bootWolfgang Denk
2006-09-01Add support for a saving build objects in a separate directory.Marian Balakowicz
Modifications are based on the linux kernel approach and support two use cases: 1) Add O= to the make command line 'make O=/tmp/build all' 2) Set environement variable BUILD_DIR to point to the desired location 'export BUILD_DIR=/tmp/build' 'make' The second approach can also be used with a MAKEALL script 'export BUILD_DIR=/tmp/build' './MAKEALL' Command line 'O=' setting overrides BUILD_DIR environent variable. When none of the above methods is used the local build is performed and the object files are placed in the source directory.
2006-08-27Code cleanupWolfgang Denk
2006-08-14Update for SC520 board.Wolfgang Denk
Patch by David Updegraff, 02 Dec 2005
2006-03-31GCC-4.x fixes: clean up global data pointer initialization for all boards.Wolfgang Denk
2005-04-03Patch by Steven Scholz, 25 Oct 2004:wdenk
Declare reset_cpu() in include/common.h instead locally
2004-03-14Code cleanup; make several boards compile & link.wdenk
2003-07-24* Implement new mechanism to export U-Boot's functions to standalonewdenk
applications: instead of using (PPC-specific) system calls we now use a jump table; please see doc/README.standalone for details * Patch by Dave Westwood, 24 Jul 2003: added support for Unity OS (a proprietary OS)
2003-06-27* Code cleanup:wdenk
- remove trailing white space, trailing empty lines, C++ comments, etc. - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c) * Patches by Kenneth Johansson, 25 Jun 2003: - major rework of command structure (work done mostly by Michal Cendrowski and Joakim Kristiansen)
2003-05-31* Patch by Marc Singer, 29 May 2003:wdenk
Fixed rarp boot method for IA32 and other little-endian CPUs. * Patch by Marc Singer, 28 May 2003: Added port I/O commands. * Patch by Matthew McClintock, 28 May 2003 - cpu/mpc824x/start.S: fix relocation code when booting from RAM - minor patches for utx8245 * Patch by Daniel Engström, 28 May 2003: x86 update * Patch by Dave Ellis, 9 May 2003 + 27 May 2003: add nand flash support to SXNI855T configuration fix/extend nand flash support: - fix 'nand erase' command so does not erase bad blocks - fix 'nand write' command so does not write to bad blocks - fix nand_probe() so handles no flash detected properly - add doc/README.nand - add .jffs2 and .oob options to nand read/write - add 'nand bad' command to list bad blocks - add 'clean' option to 'nand erase' to write JFFS2 clean markers - make NAND read/write faster * Patch by Rune Torgersen, 23 May 2003: Update for MPC8266ADS board
2002-11-18* Patch by Daniel Engström, 13 Nov 2002:wdenk
Add support for i386 architecture and AMD SC520 board * Patch by Pierre Aubert, 12 Nov 2002: Add support for DOS filesystem and booting from DOS floppy disk