This is an old revision of the document!


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:

efika_of.jpg

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

efika1stboot.jpg

I've managed to fire the KDB, so I have the access to the running kernel and verbose boot thanks to the bootverbose: kdb.jpg

At the moment kernel stops where devices are attached. Among them, there should be a PIC driver, which is missing…

picpanic.jpg

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:

real-dev-tree.jpg

The newbus model is in fact a logical mapping of the physical situation to well organized structure:

heathrow-newbus.jpg

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:

efika-newbus.jpg

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 Efica project in not so far future…
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

  • porting_freebsd_to_efika_ppc_bring_up.1225658647.txt.gz
  • Last modified: 2008/11/02 20:44
  • by PrzemekWitaszczyk