CNS11XX FreeBSD port completed

Yohanes Nugroho yohanes at gmail.com
Fri Dec 25 17:48:38 UTC 2009


Hi,

To make it easy for others to read the changes I have made, attached
is the diff version against SVN head. There is one change that may be
should not be commited. In vfs_mount.c, I added

pause("WAIT", hz * 10);

That line can be removed if the patch from this:

http://lists.freebsd.org/pipermail/freebsd-current/2009-October/012361.html

is applied

-- 
Regards
Yohanes
http://yohan.es/


On Fri, Dec 11, 2009 at 9:27 PM, Yohanes Nugroho <yohanes at gmail.com> wrote:
> Hi,
>
> Today I have "completed" the CNS11XX (Cavium Econa ARM formerly known
> as StarSemi STR9104) FreeBSD ARM Port. By "complete" I mean I have
> written all the drivers (usb, network, and flash). I haven't checked
> the correctness of the implementation. The device is a network
> attached storage, Emprex NSD-100, sent to me by Bruce Simpson.
>
> This is my first FreeBSD port, so I think there will be mistakes on my
> code. So I am requesting anyone who have time to have a look at the
> code, or if you have the same device, may be you can try it. You will
> need to solder a serial port to the device to try it.
>
> From the usability point of view, the port is usable. I can put the
> FreeBSD kernel to the flash, and boot it from there with the root
> filesystem on a USB disk (the boot loader also supports booting from
> tftp, and during the development I boot using tftp). The device can
> enter multi user mode, and I can ssh/ftp to the device, and compile
> some things on the device itself.
>
> The only problem left (at least what is visible from user space) is
> the slow network speed (2 megabyte per second, while the linux version
> is around 3.8 megabyte per second). Pyun YongHyeon have helped me a
> lot with the network driver (I am currently asking him to have a final
> look at the driver). I have tried following all of his suggestions to
> make a better (more correct driver), and I suspect the problem is not
> on the network driver itself.
>
> I am suspecting that the problem is in pmap. There has been several
> pmap related problems lately (see
> http://lists.freebsd.org/pipermail/freebsd-arm/2009-October/002030.html).
> It is also possible that the pmap code is now fine, and I have made
> errors when porting the NetBSD CPU code for FA526 to FreeBSD.
>
> If I compile my current code with the latest code from HEAD, and
> activated WITNESS and DIAGNOSTIC i will get the error at err-1.txt,
> and  If I activated WITNESS, DIAGNOSTIC and INVARIANT i got this the
> message in err-2.txt. With the same options I didn't get this error
> several months ago .
>
> My code is available at
>
> http://p4db.freebsd.org/depotTreeBrowser.cgi?FSPC=//depot/projects/str91xx/src/sys/arm/econa&HIDEDEL=NO
>
> plus additional code from to support FA526 CPU adapted from NetBSD:
>
> http://p4db.freebsd.org/fileLogView.cgi?FSPC=//depot/projects/str91xx/src/sys/arm/arm/cpufunc_asm_fa526.S
> http://p4db.freebsd.org/fileViewer.cgi?FSPC=//depot/projects/str91xx/src/sys/arm/arm/cpufunc.c
>
> Instruction to compile, and write to flash using dd to cfi0 is available at:
>
> http://tinyhack.com/2009/09/28/cnx11xxstr91xx-freebsd-progress/
> http://tinyhack.com/2009/12/11/cns11xx-freebsd-port-completed/
>
> --
> Regards
> Yohanes
> http://yohan.es/
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cns11xx.diff
Type: text/x-patch
Size: 145766 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arm/attachments/20091225/7a294121/cns11xx-0001.bin


More information about the freebsd-arm mailing list