FreeBSD/mips

Embedding FreeBSD

FreeBSD now runs on the MIPS platform. FreeBSD/mips
supports MIPS-32 and MIPS-64 targets, including SMP
for multicore support.

FreeBSD/mips is targeted at the embedded MIPS
marketplace. FreeBSD has run on the MIPS platform
for many years. Juniper ported FreeBSD to the Mips
platform in the late 1990's. However, concern about
intellectual property issues kept Juniper from
contributing the port back to FreeBSD until recently.
The contributed port was a 64-bit mips port.

In the mean time, many efforts were made to bring
FreeBSD to the mips platform. The first substantial
effort to bring FreeBSD to the Mips platform was
done by Juli Mallet. This effort made it to single
user, but never further than that. This effort was
abandoned due to a change in Juli's life. The port
languished.

Two years ago at BSDcan, as my involvement with
FreeBSD/arm was growing, I tried to rally the troops
into doing a FreeBSD/mips port. My efforts resulted
in what has been commonly called the "mips2" effort.
The name comes from the choice of //depot/projects/mips2
to host the work in perforce. A number of people
worked on the earliest versions of the port, but
it too languished and seemed destined to suffer the
same fate as earlier efforts. Then, two individuals
stood up and started working on the port. Wojciech
A. Koszek and Oleksandr Tymoshenko pulled in code
from the prior efforts. Through their efforts of
stabilizing this code, the port to the single user
stage and ported it to three different platforms.
Others ported it to a few more. Snapshots of this
work were released from time to time.

Cavium Networks picked up one of these snapshots
and ported it to their multicore mips64 network
processor. Cavium has kindly donated much of their
work to the comminuty.

In December, I started at Cisco systems. My first
job was to merge all the divergent variants of
FreeBSD/mips and get it into shape to push into the
tree. With luck, this should be in the tree before
I give my talk.

In parallel to this, other advances in the embedded
support for FreeBSD have been happening as well.
I'll talk about new device drivers, new subsystems,
and new build tools that help to support the embedded
developer.