summaryrefslogtreecommitdiffstats
path: root/sys/boot/uboot
Commit message (Collapse)AuthorAgeFilesLines
* Print kernel args as late as possible before jumping into kernel.kientzle2013-02-231-1/+1
|
* Clarify an error message. The addresses here arekientzle2013-02-181-1/+1
| | | | | really offsets within the primary mapped memory block (which may not start at address zero).
* Do metadata relocation fixup on all loaded modules, not just the kernel.ian2013-01-301-6/+9
| | | | Approved by: cognet (mentor)
* - Implement "fdt mres" sub-command that prints reserved memory regionsgonzo2012-11-301-4/+15
| | | | | | | | | | | | | | | | | | | - Add "fdt addr" subcommand that lets you specify preloaded blob address - Do not pre-initialize blob for "fdt addr" - Do not try to load dtb every time fdt subcommand is issued, do it only once - Change the way DTB is passed to kernel. With introduction of "fdt addr" actual blob address can be not virtual but physical or reside in area higher then 64Mb. ubldr should create copy of it in kernel area and pass pointer to this newly allocated buffer which is guaranteed to work in kernel after switching on MMU. - Convert memreserv FDT info to "memreserv" property of root node FDT uses /memreserve/ data to notify OS about reserved memory areas. Technically it's not real property, it's just data blob, sequence of <start, size> pairs where both start and size are 64-bit integers. It doesn't fit nicely with OF API we use in kernel, so in order to unify thing ubldr converts this data to "memreserve" property using the same format for addresses and sizes as /memory node.
* Print kernel args when booting the kernel.kientzle2012-11-251-0/+1
|
* Add the flags parameter to the disk_open() function and DISK_F_NOCACHEae2012-10-211-1/+1
| | | | | flag, that disables the caching of partition tables metadata. Use this flag for floppies in the libi386/biosdisk driver.
* Almost each time when loader opens a file, this leads to callingae2012-09-291-0/+1
| | | | | | | | | | | | | | | | | | disk_open(). Very often this is called several times for one file. This leads to reading partition table metadata for each call. To reduce the number of disk I/O we have a simple block cache, but it is very dumb and more than half of I/O operations related to reading metadata, misses this cache. Introduce new cache layer to resolve this problem. It is independent and doesn't need initialization like bcache, and will work by default for all loaders which use the new DISK API. A successful disk_open() call to each new disk or partition produces new entry in the cache. Even more, when disk was already open, now opening of any nested partitions does not require reading top level partition table. So, if without this cache, partition table metadata was read around 20-50 times during boot, now it reads only once. This affects the booting from GPT and MBR from the UFS.
* Update according to the change of struct uboot_devdesc.ae2012-09-091-1/+1
|
* Build disk.c only when DISK_SUPPORT is enabled.ae2012-09-091-1/+6
|
* Update uboot's disk driver to use new DISK API.ae2012-09-091-592/+98
|
* Use disk_fmtdev() and disk_parsedev() functions from the new DISK API.ae2012-09-091-62/+9
|
* Make struct uboot_devdesc compatible with struct disk_devdesc.ae2012-09-091-6/+3
|
* Determine kernel load address dynamically from u-boot memory map.kientzle2012-05-203-10/+46
| | | | | | | | | | | The generic ELF loading code maps the kernel into low memory by subtracting KERN_BASE. So the copyin/copyout/readin functions are always called with low addresses. This code finds the largest DRAM block from the U-Boot memory map and adds that base to the addresses. In particular, this fixes ubldr on AM3358, which has DRAM mapped to 0x80000000 at power-on.
* Add architecture dependent code to support NAND Framework on Marvell SoCs.gber2012-05-182-0/+4
| | | | | Obtained from: Semihalf Supported by: FreeBSD Foundation, Juniper Networks
* Access the device tree blob via copyin/copyout.kientzle2012-05-171-2/+2
| | | | | | | | | | | | | The code previously assumed that copyin/copyout did no address translation and that the device tree blob could be manipulated in-place (with only a few adjustments for the ELF loader offset). This isn't possible on all platforms, so the revised code uses copyout() to copy the device tree blob into a heap-allocated buffer and then updates the device tree with copyout(). This isn't ideal, since it bloats the loader memory usage, but seems the only feasible approach (short of rewriting all of the fdt manipulation routines).
* Ooops. Back out changes to main.c from r235094.kientzle2012-05-061-11/+0
| | | | | This change is specific to BeagleBone; I need to figure out how to generalize this before committing.
* Don't call strcmp with a NULL pointer.kientzle2012-05-062-4/+18
| | | | | In particular, on the AM335x, which comes up with no memory mapped to low addresses, dereferencing the NULL causes a crash.
* Teach ubldr(8) about simple MBR partitioning.kientzle2012-05-013-2/+103
|
* Use the common/shared CRC-32 implementation instead of duplicating it.marius2012-03-212-69/+7
| | | | MFC after: 1 week
* Improve device tree blob (DTB) handling in loader(8).raj2012-03-201-7/+6
| | | | | | | | | | Enable using the statically embedded blob from the kernel, if present. The KLD loaded DTB takes precedence, but they are both recognized and handled in the same way. Submitted by: Lukasz Wojcik Obtained from: Semihalf MFC after: 1 week
* Rename the linker emulation name for powerpc and powerc64. This is needed thatandreast2011-11-191-1/+1
| | | | | we can also use the upstream binutils linker where we have to have a unique name for the FreeBSD emulation.
* MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH ↵imp2010-08-231-1/+1
| | | | (which simplifies some powerpc/powerpc64 ifs)
* Provide support in loader for booting 64-bit PowerPC kernels. Like amd64,nwhitehorn2010-07-121-0/+5
| | | | | 64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all powerpc64 firmwares execute in 32-bit mode.
* Get rid of bootinfo for good in loader (U-Boot-based) and ARM.raj2010-07-111-119/+0
| | | | | For FDT-enabled platforms the device tree is a modern replacement for bootinfo config data.
* Fix conditional FDT support in loader(8).raj2010-06-131-0/+2
|
* Initial loader(8) support for Flattened Device Tree.raj2010-05-253-9/+64
| | | | | | | | | | o This is disabled by default for now, and can be enabled using WITH_FDT at build time. o Tested with ARM and PowerPC. Reviewed by: imp Sponsored by: The FreeBSD Foundation
* Mostly revert r200691. U-Boot syscall() entry point returns 1 on success.raj2010-05-251-1/+1
|
* Use loader devices only when they initialized properly.raj2010-05-252-9/+11
|
* Minor style correction.raj2010-02-251-1/+1
|
* Fix handling of GPT disk partition index.raj2010-02-251-0/+8
| | | | | Obtained from: Semihalf MFC after: 1 week
* Let loader(8) for U-Boot use default storage more flexibly.raj2010-02-251-7/+18
| | | | | Obtained from: Semihalf MFC after: 1 week
* Fix ub_env_enum(): syscall() returns 0 when properly invoked.marcel2009-12-181-4/+3
|
* Provide an effective (relocated) address when building modules metadata.raj2009-11-191-1/+3
| | | | | | | This lets modules loaded dynamically in loader(8) work for U-Boot-based platforms. MFC after: 1 week
* - Remove trailing ";" after if statementantoine2009-11-111-6/+1
| | | | | | | - Remove #if 0 section that was never needed/used Reviewed by: raj@ MFC after: 1 month
* Make GPT style partitiong endian-safe in U-Boot support library.raj2009-06-031-13/+28
| | | | | Submitted by: Piotr Ziecik Obtained from: Semihalf
* Fix NETIF_DEBUG compilation.marcel2009-05-301-8/+2
|
* GPT style partitioning for loader(8) with U-Boot support library (tested onraj2009-05-053-27/+243
| | | | | | ARM). Submitted by: Piotr Ziecik kosmo ! semihalf dot com
* Improve style(9) in PowerPC U-Boot support lib.raj2008-12-172-8/+10
|
* Initial storage functionality for U-Boot support library.raj2008-11-196-87/+424
| | | | | | | | - Only non-sliced bsdlabel style partitioning is currently supported (but provisions are made towards GPT support, which should follow soon) - Enable storage support in loader on ARM Obtained from: Semihalf
* Initial support of loader(8) for ARM machines running U-Boot.raj2008-10-141-1/+1
| | | | | | | | | | This uses the common U-Boot support lib (sys/boot/uboot, already used on FreeBSD/powerpc), and assumes the underlying firmware has the modern API for stand-alone apps enabled in the config (CONFIG_API). Only netbooting is supported at the moment. Obtained from: Marvell, Semihalf
* Minor style(9) fixes for U-Boot API glue.raj2008-10-044-25/+23
|
* U-Boot API glue improvements:raj2008-10-044-42/+45
| | | | | | | | - extend ub_dev_read() and ub_dev_recv() so that the actual len and all error codes can be passed and processed properly; unify behaviour of these routines - introduce syscall general error code (API_ESYSC)
* Improve loader support for U-Boot.raj2008-09-033-65/+188
| | | | | | | | | - add new diag commands: devinfo, sysinfo for U-Boot-style details about the system configuration - better memory info summary - style corrections Obtained from: Semihalf
* Make metadata.c shared across all platforms using U-Boot.raj2008-09-032-1/+458
| | | | This will [soon] be needed for ARM.
* Move U-Boot compatibility library to WARNS=2 level.raj2008-09-038-40/+49
|
* Enable GCC stack protection (aka Propolice) for userland:ru2008-06-251-0/+3
| | | | | | | | | | | | | | | | | | | | | - It is opt-out for now so as to give it maximum testing, but it may be turned opt-in for stable branches depending on the consensus. You can turn it off with WITHOUT_SSP. - WITHOUT_SSP was previously used to disable the build of GNU libssp. It is harmless to steal the knob as SSP symbols have been provided by libc for a long time, GNU libssp should not have been much used. - SSP is disabled in a few corners such as system bootstrap programs (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves. - It should be safe to use -fstack-protector-all to build world, however libc will be automatically downgraded to -fstack-protector because it breaks rtld otherwise. - This option is unavailable on ia64. Enable GCC stack protection (aka Propolice) for kernel: - It is opt-out for now so as to give it maximum testing. - Do not compile your kernel with -fstack-protector-all, it won't work. Submitted by: Jeremie Le Hen <jeremie@le-hen.org>
* style(9) & style.Makefile(9)obrien2008-03-1314-258/+297
| | | | Reviewed by: raj
* Eliminate artificial increasing of 'netdev_opens' counter in loader's ↵raj2008-03-126-79/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | net_open(). This was introduced as a workaround long time ago for some Alpha firmware (which is now gone), and actually prevented net_close() to ever be called. Certain firmwares (U-Boot) need local shutdown operations to be performed on a network controller upon transaction end: such platform-specific hooks are supposed to be called via netif_close() (from within net_close()). This change effectively reverts the following CVS commit: sys/boot/common/dev_net.c revision 1.7 date: 2000/05/13 15:40:46; author: dfr; state: Exp; lines: +2 -1 Only probe network settings on the first open of the network device. The alpha firmware takes a seriously long time to open the network device the first time. Also suppress excessive output while netbooting via loader, unless debugging. While there, make sys/boot/uboot more style(9) compliant. Reviewed by: imp Approved by: cognet (mentor)
* o Include glue.hmarcel2008-02-231-12/+10
| | | | o Support multiple memory regions.
* o Build libuboot with -msoft-float like everything else.marcel2008-02-233-50/+88
| | | | | | | o Move the API prototypes to a separate header (glue.h) o Allow the platform to hint libuboot about where to look for the API signature. The uboot_address variable is expected to be defined by the platform.
OpenPOWER on IntegriCloud