summaryrefslogtreecommitdiff
path: root/lib_i386
Commit message (Collapse)AuthorAgeLines
* Generic udelay() with watchdog supportIngo van Lil2009-12-05-1/+1
| | | | | | | | | | | | | 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>
* i386: Final RelocationGraeme Russ2009-12-05-70/+93
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Move references to link script exportsGraeme Russ2009-12-05-11/+11
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Remove inline asm symbols from .dynsymGraeme Russ2009-12-05-0/+72
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Rearrange Interupt HandlingGraeme Russ2009-12-05-34/+3
| | | | | | In preperation for full relocation Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Reorder source objects in lib_i386 MakefileGraeme Russ2009-12-05-4/+4
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Fix malloc initializationGraeme Russ2009-12-05-8/+7
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Add bb_miiphy_init call before any ethernet bring-up code.Luigi 'Comio' Mantellini2009-10-10-1/+8
| | | | | Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* push LOAD_ADDR out to arch mk filesMike Frysinger2009-09-04-0/+2
| | | | | | | | | | Rather than maintain/extend the current ifeq($(ARCH)) mess that exists in the standalone Makefile, push the setting up of LOAD_ADDR out to the arch config.mk (and rename to STANDALONE_LOAD_ADDR in the process). This keeps the common code clean and lets the arch do whatever crazy crap it wants in its own area. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* i386: Moved PCI from #ifdef to conditional compile for sc520 boardsGraeme Russ2009-09-04-10/+2
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* i386: Misc PCI fixupsGraeme Russ2009-09-04-10/+10
| | | | | | | | | | | | | | | | | | | | 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>
* i386: Fix regression introduced by commit 8c63d47651f7Graeme Russ2009-09-04-0/+5
| | | | | | A local variable was deleted that should not have been Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Consolidate arch-specific sbrk() implementationsPeter Tyser2009-09-04-21/+0
| | | | Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* Move architecture specific config.mk files into subdirsPeter Tyser2009-07-21-0/+26
| | | | | | | | This cleans up U-Boot's toplevel directory a bit and makes the architecture 'config.mk' file naming and location similar to board and cpu 'config.mk' files Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* stdio/device: rework function naming conventionJean-Christophe PLAGNIOL-VILLARD2009-07-18-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | So far the console API uses the following naming convention: ======Extract====== typedef struct device_t; int device_register (device_t * dev); int devices_init (void); int device_deregister(char *devname); struct list_head* device_get_list(void); device_t* device_get_by_name(char* name); device_t* device_clone(device_t *dev); ======= which is too generic and confusing. Instead of using device_XX and device_t we change this into stdio_XX and stdio_dev This will also allow to add later a generic device mechanism in order to have support for multiple devices and driver instances. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Edited commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
* rename include/zlib.h to include/u-boot/zlib.hJean-Christophe PLAGNIOL-VILLARD2009-04-04-1/+1
| | | | | | | | | Some systems have zlib.h installed in /usr/include/. This isn't the desired file for u-boot code - we want the one in include/zlib.h. This rename will avoid the conflict. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Add basic relocation to i386 portGraeme Russ2009-03-20-3/+30
| | | | Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* Implement SC520 timersGraeme Russ2009-03-20-0/+211
| | | | Signed-off-by: Graeme Russ <graeme.russ at gmail.com>
* Rewrite i386 interrupt handlingGraeme Russ2009-03-20-0/+326
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* lib_*/board.c: do not initialize bi_enet*addr in global dataMike Frysinger2009-03-20-17/+0
| | | | | | | | | | | | | | | | | | | | | | | Since everyone is using the environment for mac address storage, there is no point in seeding the global data. The arches that are converted here: i386 m68k microblaze mips nios nios2 sh sparc Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Ben Warren <biggerbadderben@gmail.com> CC: Daniel Hellstrom <daniel@gaisler.com> CC: Michal Simek <monstr@seznam.cz> CC: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp> CC: Scott McNutt <smcnutt@psyent.com> CC: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
* Update U-Boot's build timestamp on every compilePeter Tyser2008-12-06-1/+2
| | | | | | | Use the GNU 'date' command to auto-generate a new U-Boot timestamp on every compile. Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
* bootm: Add subcommandsKumar Gala2008-10-29-0/+3
| | | | | | | | | | | | | | Add the ability to break the steps of the bootm command into several subcommands: start, loados, ramdisk, fdt, bdt, cmdline, prep, go. This allows us to do things like manipulate device trees before they are passed to a booting kernel or setup memory for a secondary core in multicore situations. Not all OS types support all subcommands (currently only start, loados, ramdisk, fdt, and go are supported). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* rename CFG_ macros to CONFIG_SYSJean-Christophe PLAGNIOL-VILLARD2008-10-18-2/+2
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* Update i386 code (sc520_cdp)Graeme Russ2008-09-09-8/+16
| | | | | | Attempt to bring i386 / sc520 inline with master Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* bootm: refactor do_reset and os boot function argsKumar Gala2008-08-26-7/+2
| | | | | | | | | | | | There is no need for each OS specific function to call do_reset() we can just do it once in bootm. This means its feasible on an error for the OS boot function to return. Also, remove passing in cmd_tbl_t as its not needed by the OS boot functions. flag isn't currently used but might be in the future so we left it alone. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* bootm: refactor ramdisk locating codeKumar Gala2008-08-26-7/+1
| | | | | | | | Move determing if we have a ramdisk and where its located into the common code. Keep track of the ramdisk start and end in the bootm_headers_t image struct. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Consolidate strmhz() implementationHaavard Skinnemoen2008-08-21-13/+0
| | | | | | | | | | ARM, i386, m68k and ppc all have identical implementations of strmhz(). Other architectures don't provide this function at all. This patch moves strmhz() into lib_generic, reducing code duplication and providing a more unified API across architectures. Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
* Fix fallout from autostart revertKumar Gala2008-08-12-5/+1
| | | | | | | | The autostart revert caused a bit of duplicated code as well as code that was using images->autostart that needs to get removed so we can build again. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* Big white-space cleanup.Wolfgang Denk2008-05-21-75/+75
| | | | | | | | | | | 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>
* i386/bootm: remove unused varJean-Christophe PLAGNIOL-VILLARD2008-05-19-1/+0
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* allow ports to override go behaviorMike Frysinger2008-04-18-0/+8
| | | | | | Split the arch-specific logic out of the common go code and into a dedicated weak function called do_go_exec() that lives in cpu directories. This will need review from i386/nios people to make sure I didn't break them.
* [new uImage] Add new uImage format support to arch specific do_bootm_linux() ↵Marian Balakowicz2008-03-12-5/+21
| | | | | | | | | | | routines This patch updates architecture specific implementations of do_bootm_linux() adding new uImage format handling for operations like get kernel entry point address, get kernel image data start address. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Remove unnecessary arguments passed to ramdisk routinesMarian Balakowicz2008-03-12-2/+5
| | | | | | | boot_get_ramdisk() and image_get_ramdisk() do not need all cmdtp, flag, argc and argv arguments. Simplify routines definition. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Update naming convention for bootm/uImage related codeMarian Balakowicz2008-02-29-1/+1
| | | | | | | | | | | | | | | This patch introduces the following prefix convention for the image format handling and bootm related code: genimg_ - dual format shared code image_ - legacy uImage format specific code fit_ - new uImage format specific code boot_ - booting process related code Related routines are renamed and a few pieces of code are moved around and re-grouped. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Respect autostart setting in linux bootmKumar Gala2008-02-29-0/+3
| | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org> Acked-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Move image verify flag to bootm_headers structureMarian Balakowicz2008-02-27-2/+2
| | | | | | | | | | Do not pass image verification flag directly to related routines. Simplify argument passing and move it to the bootm_header structure which contains curently processed image specific data and is already being passed on the argument list. Signed-off-by: Marian Balakowicz <m8@semihalf.com> Acked-by: Kumar Gala <galak@kernel.crashing.org>
* [Makefile] Sort COBJS in lib_<arch> MakefilesMarian Balakowicz2008-02-27-7/+16
| | | | Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Add dual format uImage support frameworkMarian Balakowicz2008-02-25-11/+24
| | | | | | | | | | | | | | This patch adds framework for dual format images. Format detection is added and the bootm controll flow is updated to include cases for new FIT format uImages. When the legacy (image_header based) format is detected appropriate legacy specific handling is invoked. For the new (FIT based) format uImages dual boot framework has a minial support, that will only print out a corresponding debug messages. Implementation of the FIT specific handling will be added in following patches. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Factor out common image_get_ramdisk() routineMarian Balakowicz2008-02-07-73/+3
| | | | | | | | Architecture specific do_bootm_linux() routines share common ramdisk image processing code. Move this code to a common helper routine. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Rename architecture specific bootm code filesMarian Balakowicz2008-02-07-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Implementation of the do_bootm_linux() and other bootm helper routines is architecture specific code. As such it resides in lib_<arch> directories in files named <arch>_linux.c This patch renames those files to a more clear and accurate lib_<arch>/bootm.c form. List of the renamed files: lib_arm/armlinux.c -> lib_arm/bootm.c lib_avr32/avr32_linux.c -> lib_avr32/bootm.c lib_blackfin/bf533_linux.c -> lib_blackfin/bootm.c lib_i386/i386_linux.c -> lib_i386/bootm.c lib_m68k/m68k_linux.c -> lib_m68k/bootm.c lib_microblaze/microblaze_linux.c -> lib_microblaze/bootm.c lib_mips/mips_linux.c -> lib_mips/bootm.c lib_nios/nios_linux.c -> lib_nios/bootm.c lib_nios2/nios_linux.c -> lib_nios2/bootm.c lib_ppc/ppc_linux.c -> lib_ppc/bootm.c lib_sh/sh_linux.c -> lib_sh/bootm.c Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Cleanup image header pointer use in bootm codeMarian Balakowicz2008-02-07-48/+33
| | | | | | | - use single image header pointer instead of a set of auxilliary variables. - add multi component image helper routines: get component size/data address Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Fix uImage header pointer use in i386 do_bootm_linux()Marian Balakowicz2008-02-07-3/+3
| | | | | | | Use image header copy instead of a (possibly corrupted) pointer to a initial image location. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Remove I386 uImage fake_header() routineMarian Balakowicz2008-02-07-61/+0
| | | | | | | | | I386 targets are not using a uImage format, instead fake header is added to ram image before it is further processed by bootm. Remove this fixup and force proper uImage use for I386. Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* [new uImage] Define a API for image handling operationsMarian Balakowicz2008-02-07-44/+33
| | | | | | | | | - Add inline helper macros for basic header processing - Move common non inline code common/image.c - Replace direct header access with the API routines - Rename IH_CPU_* to IH_ARCH_* Signed-off-by: Marian Balakowicz <m8@semihalf.com>
* disk/ doc/ lib_*/ and tools/: Remove lingering references to CFG_CMD_* symbols.Jon Loeliger2007-07-10-2/+2
| | | | | | | | Fixed some broken instances of "#ifdef CMD_CFG_IDE" too. Those always evaluated TRUE, and thus were always compiled even when IDE really wasn't defined/wanted. Signed-off-by: Jon Loeliger <jdl@freescale.com>
* lib_{arm,avr32,blackfin,generic,i386}/: Remove obsolete references to ↵Jon Loeliger2007-07-09-9/+8
| | | | | | CONFIG_COMMANDS Signed-off-by: Jon Loeliger <jdl@freescale.com>
* lib_*/: Augment CONFIG_COMMANDS tests with defined(CONFIG_CMD_*).Jon Loeliger2007-07-04-8/+9
| | | | | | | | | | | | | | 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>
* Move "ar" flags to config.mk to allow for silent "make -s"Wolfgang Denk2006-10-09-1/+1
| | | | Based on patch by Mike Frysinger, 20 Jun 2006
* Add support for a saving build objects in a separate directory.Marian Balakowicz2006-09-01-8/+9
| | | | | | | | | | | | | | | | | | | | | 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.
* Fix multi-part image support on i386 platform.Wolfgang Denk2006-07-21-0/+6
| | | | Patch by David Updegraff, 19 Aug 2005