Page MenuHomeFreeBSD

Introduce MIPS ubldr
ClosedPublic

Authored by Sgalabov_gmail.com on Feb 17 2016, 2:12 PM.
Tags
Referenced Files
F122682622: D5313.diff
Mon, Jul 7, 10:18 AM
Unknown Object (File)
Wed, Jul 2, 9:47 PM
Unknown Object (File)
Tue, Jul 1, 5:19 PM
Unknown Object (File)
Tue, Jul 1, 12:16 AM
Unknown Object (File)
Mon, Jun 30, 11:35 PM
Unknown Object (File)
Mon, Jun 30, 6:36 AM
Unknown Object (File)
Sat, Jun 28, 4:16 PM
Unknown Object (File)
Wed, Jun 25, 2:43 PM
Subscribers
None

Details

Summary

This review aims at introducing ubldr (loader with U-Boot interface) for MIPS (32 and 64-bit, LE and BE).
The changes were tested with QEMU's 'mips' target.

Most of the implementation was lifted from the ARM version, the appropriate MIPS-specific things were implemented.

With these changes I am able to go all the way through the u-boot->ubldr->kernel boot chain in QEMU on all combinations of bit-ness and endian-ness.

For the tests I've used FAT32 disk images (as FAT32 is supported by U-boot), which include /boot/kernel/kernel and /boot/kernel/ubldr.bin

In U-boot I do:
fatload ide 0 <LOAD_ADDR> /boot/kernel/ubldr.bin; go <LOAD_ADDR>
where LOAD_ADDR is 80800000 for 32-bit and ffffffff80800000 for 64-bit

Then it's the usual ubldr that takes over and loads and starts a kernel.

I've submitted the relevant patches to U-boot as well, so hopefully they'll be integrated too (the 32-bit version was integrated already).

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable