Porting FreeBSD-S3c2410 - Root file system

Ho Van Than hvanthan at gmail.com
Mon Jul 5 07:17:46 UTC 2010


Hi Andrew,

I did it, thanks for your help. But I ping command in freebsd is very slow
than linux OS, did you met that problem?

With freeBSD, ping result

/sbin/ping 192.168.9.1
64 bytes from 192.168.9.1: icmp_seq=14 ttl=255 time=19.896 ms
64 bytes from 192.168.9.1: icmp_seq=15 ttl=255 time=19.645 ms
64 bytes from 192.168.9.1: icmp_seq=16 ttl=255 time=9.819 ms
64 bytes from 192.168.9.1: icmp_seq=17 ttl=255 time=10.279 ms
64 bytes from 192.168.9.1: icmp_seq=18 ttl=255 time=10.250 ms
64 bytes from 192.168.9.1: icmp_seq=19 ttl=255 time=9.780 ms
--- 192.168.9.1 ping statistics ---
347 packets transmitted, 338 packets received, 2.6% packet loss
round-trip min/avg/max/stddev = 8.947/19.267/1049.740/56.342 ms

With Linux Ping result
[root at utu-Linux]\$ ping 192.168.9.1
PING 192.168.9.1 (192.168.9.1): 56 data bytes
PING 192.168.9.1 (192.168.9.1): 56 data bytes
64 bytes from 192.168.9.1: seq=0 ttl=255 time=2.231 ms
64 bytes from 192.168.9.1: seq=1 ttl=255 time=1.497 ms
64 bytes from 192.168.9.1: seq=2 ttl=255 time=1.325 ms
64 bytes from 192.168.9.1: seq=3 ttl=255 time=1.566 ms

--- 192.168.9.1 ping statistics ---
16 packets transmitted, 16 packets received, 0% packet loss
round-trip min/avg/max = 1.325/1.533/2.231 ms

On Wed, Jun 30, 2010 at 10:01 AM, Andrew Turner <andrew at fubar.geek.nz>wrote:

> On Wed, 30 Jun 2010 07:40:58 +0700
> Ho Van Than <hvanthan at gmail.com> wrote:
>
> > Hi,
> >
> > I patched dm9000 to source code and compiled ok but still not yet
> > success. I have a question at booting time "dm9000" auto run with
> > kernel or we have to manual run it. (sorry I am newbie in FreeBSD).
>
> The patch only provides the driver. It doesn't contain the changes
> required to attach the driver to the rest of the system as it depends
> on how the chip is attached to the micro. Assuming it is connected to
> the memory bus you should only need to (within sys/arm/s3c2xx0):
>
>  * Edit s3c24x0_machdep.c to add an entry to s3c24x0_devmap. You should
>   be able to copy one of the other entries and change the first three
>   fields (virtual address, physical address and size). Set the virtual
>   address to something free in the kernel space (above 0xc0000000).
>   0xe8000000 should work. The physical address is the address the
>   DM9000 is attached to, this will depend on which chip select it is
>   attached to. The size is the size of the register space on the
>   DM9000, 0x100.
>  * Edit s3c24x0.c and add to s3c24x0_attach a call bus_space_map. You
>   will need to give it the physical address and size from above. You
>   can create the handle for the last argument for this look in
>   s3c2xx0var.h at the _ioh entries in struct s3c2xx0_softc.
>  * In the same function add the following just before the call to
>   bus_space_probe:
>
> child = s3c24x0_add_child(dev, 0, "dme", 0);
> bus_set_resource(child, SYS_RES_MEMORY, 0, <virtual address>, 0x100);
>
>   Change the virtual address to what you set it to in the first step.
>
> I've been working on simplifying this process but haven't finished it
> yet.
>
> Andrew
>
> --
> Andrew Turner
> WhiteQueue Consulting http://whitequeue.com/
> Custom FreeBSD and Linux development
>
>


More information about the freebsd-arm mailing list