Main goal of the project:
- To port FreeBSD to Efika, an e300 based evaluation board.
Main steps to be taken:
- overview of the hardware, gathering and revieving documentation,
- review of existing ports on similar architecture,
- comparison and trial merge of A. Turner's code with the CURRENT,
- writing basic driver - an interrupt controller,
- adding some basic peripherials: modelling the newbus hierarchy model of integrated devices, such as internal bus, UART,
- writing device drivers for on-chip peripherials,
(I remind all about my blog where I post comments on the project: http://bitbay.blogspot.com/)
After having done that it is expected to be able to operate in a single user mode.
Recently, I've been playing with the board in our lab in order to configure it. Here's the snaphot of the Efika OF booting:
And finally, a success: efika boots FreeBSD after merging A. Turner's code with the CURRENT. The code required manual patching due to some changes in the src layout. Here's a proof :
I've managed to fire the KDB, so I have the access to the running kernel and verbose boot thanks to the bootverbose:
At the moment kernel stops where devices are attached. Among them, there should be a PIC driver, which is missing...
Efika Devices Tree
I'm using an old mac PIC driver as a skeleton of future Efika's PIC driver. Here we have a dev trees, in real situation, in original driver case and in the present Efika's case.
Here, we see devices interconnected by physicsl bus:
The newbus model is in fact a logical mapping of the physical situation to well organized structure:
What differs Efika from i.e. mac, is the OCP bus, that is prior to pci. This was an important point on the way to reach the devices initialization. Now we have:
Roadmap and timetable
Description |
Status |
Comments |
Date |
Establish Wiki |
Done |
|
25-IV-2008 |
Establish p4 branch |
Done |
|
25-IV-2008 |
Gather documentation |
Got: e300, MPC5200, newbus... |
Lot's of documentation collected |
|
Find A.T. Efika starter Kit |
Done |
|
11-V-2008 |
Apply patches do CURRENT |
Done |
Problems with layout change since FBSD 6.x, RESOLVED |
24-V-2008 |
Build and test patched version |
Done |
Kernel successfuly boots over tftp |
29-V-2008 |
Initial p4 submit of merged src: we are ready to code |
Done |
|
12-VI-2008 |
Turn on debug info in the devices code |
|
No req. at the momment |
|
Fix the OF_xxx() functions family |
Done |
The *OF_buf storage was a problem |
19-VIII-2008 |
Check of proper device enumeration from OF |
Done |
Adding ofwbus driver showed good names |
26-VIII-2008 |
Build the PIC driver skeleton |
Done |
powermac/hrowpic.c used |
26-VIII-2008 |
Build the PIC driver |
Temporarily suspended |
I'm deeply involved in new, huge project of creating European Games Academy and European Games Centr (www.ega.org.pl). I plan to come back to the Efika project in not so far future and to use FreeBSD in the development of some sort of new kind of computer games related device... |
|
Future work: newbus model, UART... |
|
TBA |
|
Here's our hero:
http://www.genesi-usa.com/efika.php
and this is my P4 branch (to be changed to the new one soon):
http://perforce.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/soc2008/vi0&HIDEDEL=NO