FreeBSD on MPC8349 (e300 core)

Peter Grehan grehan at freebsd.org
Thu Jul 10 07:23:14 UTC 2008


Hi Marek,

> We have FreeBSD 6.3 running on our Freescale MPC8349 board (e300
> core).

  Excellent !

> But, unfortunately, it is not stable and we don't know what to
> do now.
> 
> We have added several things to FreeBSD 6.3 to make it work on our
> board: 1. Some workarounds for OpenBIOS. 2. IMISS, DLMISS and DSMISS
> exceptions handlers in trap_subr.S. 3. Other hardware dependent
> stuff.

  There is a SoC project this year to port to the Efika platform:

    http://wiki.freebsd.org/Porting_FreeBSD_to_Efika_%28PPC_bring_up%29

  The *MISS exception handlers are in that, via some patches that Andrew
Turner contributed many moons back.

> We have noticed that there were some errors in pmap: 1. Unnecessary
> ptegidx shift in pmap_pte_insert function (already fixed in 7.0).

  Yep, needs to be MFC'd back to RELENG_6.

> 2. Hash table overflows when the system works with high load - caused
> by non-uniform PTE entries distribution in the hash table.

  Have you tried increasing the size of the hash table ? That is a simple
workaround. As you may have seen, there is no facility for overflow of
the secondary hash bucket: that is something that could be added.

> Unfortunately we still have problems with the system. We experience
> random processes crashes when the system is starting. It happens
> approximately once for 20 boots. If the system does not crash at the
> startup, everything works fine. We do not know where to look for the
> solution: pmap? vm?

  Is it a hang ? A panic ? If the latter, do you have a console trace ?

> Could you help us? Any suggestions were to start or something else we
> could do? Do you plan to work with e300 and e600 cores? And if so,
> when do you plan to implement IMISS, DLMISS and DSMISS exceptions
> handlers? Our might not work properly.

  As above, the code from the SoC project will probably make it's way 
into the codebase.

later,

Peter.


More information about the freebsd-ppc mailing list