History log of /freebsd-10.0-release/sys/boot/uboot/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
259065 07-Dec-2013 gjb

- Copy stable/10 (r259064) to releng/10.0 as part of the
10.0-RELEASE cycle.
- Update __FreeBSD_version [1]
- Set branch name to -RC1

[1] 10.0-CURRENT __FreeBSD_version value ended at '55', so
start releng/10.0 at '100' so the branch is started with
a value ending in zero.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


247200 23-Feb-2013 kientzle

Print kernel args as late as possible before jumping into kernel.


246948 18-Feb-2013 kientzle

Clarify an error message. The addresses here are
really offsets within the primary mapped memory block
(which may not start at address zero).


246135 30-Jan-2013 ian

Do metadata relocation fixup on all loaded modules, not just the kernel.

Approved by: cognet (mentor)


243693 30-Nov-2012 gonzo

- Implement "fdt mres" sub-command that prints reserved memory regions
- 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.


243526 25-Nov-2012 kientzle

Print kernel args when booting the kernel.


241809 21-Oct-2012 ae

Add the flags parameter to the disk_open() function and DISK_F_NOCACHE
flag, that disables the caching of partition tables metadata.
Use this flag for floppies in the libi386/biosdisk driver.


241053 29-Sep-2012 ae

Almost each time when loader opens a file, this leads to calling
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.


240276 09-Sep-2012 ae

Update according to the change of struct uboot_devdesc.


240275 09-Sep-2012 ae

Build disk.c only when DISK_SUPPORT is enabled.


240274 09-Sep-2012 ae

Update uboot's disk driver to use new DISK API.


240273 09-Sep-2012 ae

Use disk_fmtdev() and disk_parsedev() functions from the new DISK API.


240272 09-Sep-2012 ae

Make struct uboot_devdesc compatible with struct disk_devdesc.


235694 20-May-2012 kientzle

Determine kernel load address dynamically from u-boot memory map.

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.


235609 18-May-2012 gber

Add architecture dependent code to support NAND Framework on Marvell SoCs.

Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks


235529 17-May-2012 kientzle

Access the device tree blob via copyin/copyout.

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).


235095 06-May-2012 kientzle

Ooops. Back out changes to main.c from r235094.

This change is specific to BeagleBone; I need to figure out how to
generalize this before committing.


235094 06-May-2012 kientzle

Don't call strcmp with a NULL pointer.

In particular, on the AM335x, which comes up with no memory
mapped to low addresses, dereferencing the NULL causes a crash.


234860 01-May-2012 kientzle

Teach ubldr(8) about simple MBR partitioning.


233287 21-Mar-2012 marius

Use the common/shared CRC-32 implementation instead of duplicating it.

MFC after: 1 week


233230 20-Mar-2012 raj

Improve device tree blob (DTB) handling in loader(8).

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


227739 19-Nov-2011 andreast

Rename the linker emulation name for powerpc and powerc64. This is needed that
we can also use the upstream binutils linker where we have to have a unique
name for the FreeBSD emulation.


211680 23-Aug-2010 imp

MF tbemd: Minor tweaks, prefer MACHINE_CPUARCH generally to MACHINE_ARCH (which simplifies some powerpc/powerpc64 ifs)


209920 12-Jul-2010 nwhitehorn

Provide support in loader for booting 64-bit PowerPC kernels. Like amd64,
64-bit PowerPC kernels are loaded by a 32-bit loader, since nearly all
powerpc64 firmwares execute in 32-bit mode.


209909 11-Jul-2010 raj

Get rid of bootinfo for good in loader (U-Boot-based) and ARM.

For FDT-enabled platforms the device tree is a modern replacement for bootinfo
config data.


209125 13-Jun-2010 raj

Fix conditional FDT support in loader(8).


208538 25-May-2010 raj

Initial loader(8) support for Flattened Device Tree.

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


208535 25-May-2010 raj

Mostly revert r200691. U-Boot syscall() entry point returns 1 on success.


208534 25-May-2010 raj

Use loader devices only when they initialized properly.


204318 25-Feb-2010 raj

Minor style correction.


204317 25-Feb-2010 raj

Fix handling of GPT disk partition index.

Obtained from: Semihalf
MFC after: 1 week


204316 25-Feb-2010 raj

Let loader(8) for U-Boot use default storage more flexibly.

Obtained from: Semihalf
MFC after: 1 week


200691 18-Dec-2009 marcel

Fix ub_env_enum(): syscall() returns 0 when properly invoked.


199534 19-Nov-2009 raj

Provide an effective (relocated) address when building modules metadata.

This lets modules loaded dynamically in loader(8) work for U-Boot-based
platforms.

MFC after: 1 week


199193 11-Nov-2009 antoine

- Remove trailing ";" after if statement
- Remove #if 0 section that was never needed/used

Reviewed by: raj@
MFC after: 1 month


193387 03-Jun-2009 raj

Make GPT style partitiong endian-safe in U-Boot support library.

Submitted by: Piotr Ziecik
Obtained from: Semihalf


193111 30-May-2009 marcel

Fix NETIF_DEBUG compilation.


191829 05-May-2009 raj

GPT style partitioning for loader(8) with U-Boot support library (tested on
ARM).

Submitted by: Piotr Ziecik kosmo ! semihalf dot com


186231 17-Dec-2008 raj

Improve style(9) in PowerPC U-Boot support lib.


185099 19-Nov-2008 raj

Initial storage functionality for U-Boot support library.

- 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


183878 14-Oct-2008 raj

Initial support of loader(8) for ARM machines running U-Boot.

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


183599 04-Oct-2008 raj

Minor style(9) fixes for U-Boot API glue.


183598 04-Oct-2008 raj

U-Boot API glue improvements:

- 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)


183198 19-Sep-2008 sobomax

Backout rev 183181. It appears that I should have been using boot-device
of "cd:,\\:tbxi" with properly configured boot.tbxi, instead of booting
\boot\loader directly. Rev 183168 could probably stay, since it can be
viewed as an anti-foot-shooting measure and has no impact on normal
operation. I can revert it as well, if anybody objects.


182732 03-Sep-2008 raj

Improve loader support for U-Boot.

- add new diag commands: devinfo, sysinfo for U-Boot-style details about the system
configuration
- better memory info summary
- style corrections

Obtained from: Semihalf


182724 03-Sep-2008 raj

Make metadata.c shared across all platforms using U-Boot.

This will [soon] be needed for ARM.


182723 03-Sep-2008 raj

Move U-Boot compatibility library to WARNS=2 level.


180012 25-Jun-2008 ru

Enable GCC stack protection (aka Propolice) for userland:
- 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>


177152 13-Mar-2008 obrien

style(9) & style.Makefile(9)

Reviewed by: raj


177108 12-Mar-2008 raj

Eliminate artificial increasing of 'netdev_opens' counter in loader's 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)


176482 23-Feb-2008 marcel

o Include glue.h
o Support multiple memory regions.


176481 23-Feb-2008 marcel

o Build libuboot with -msoft-float like everything else.
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.


176480 23-Feb-2008 marcel

Add the appropriate license information. This file is double
licensed under GPL and BSD.

Thanks to: raj@


176348 16-Feb-2008 marcel

MFp4 (e500):

Add support for U-Boot. This uses the U-Boot API as developed by
Rafal and which is (will be) part of U-Boot 1.3.2 and later.

Credits to: raj@