Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Sep 2009 18:14:28 +0400
From:      Stanislav Sedov <stas@FreeBSD.org>
To:        Tom Judge <tom@tomjudge.com>
Cc:        Rui Paulo <rpaulo@gmail.com>, freebsd-arm@freebsd.org
Subject:   Re: Adding support for the Intel SS4000-E NAS aka the EM-7210
Message-ID:  <20090925181428.5cfc759f.stas@FreeBSD.org>
In-Reply-To: <4ABCCB7D.9030503@tomjudge.com>
References:  <4AB7A398.4040905@tomjudge.com> <5B269040-CEB8-4E07-9023-9605B04A62DA@gmail.com> <4ABCC0AA.7040003@tomjudge.com> <20090925172049.ebecbd64.stas@FreeBSD.org> <4ABCCB7D.9030503@tomjudge.com>

next in thread | previous in thread | raw e-mail | index | archive | help
--Signature=_Fri__25_Sep_2009_18_14_28_+0400__HENyz5YKaXN6A38
Content-Type: text/plain; charset=US-ASCII
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, 25 Sep 2009 13:54:05 +0000
Tom Judge <tom@tomjudge.com> mentioned:

> Stanislav Sedov wrote:
> > On Fri, 25 Sep 2009 13:07:54 +0000
> > Tom Judge <tom@tomjudge.com> mentioned:
> >
> >  =20
> >> Rui Paulo wrote:
> >>    =20
> >>> On 21 Sep 2009, at 17:02, Tom Judge wrote:
> >>>
> >>> <SNIP>
> >>> Are you sure 0x200000 is the correct load address?
> >>>
> >>> --=20
> >>> Rui Paulo
> >>>
> >>>
> >>>
> >>>      =20
> >> Hi Rui,
> >>
> >> First I would like to say thanks for replying, this is my first=20
> >> experiment with trying to get freebsd to work on another platform so=20
> >> please treat me a newbe to all this (thanks).
> >>
> >> Looking that where the linux kernel is loaded it seems the load addres=
s=20
> >> is 0x01008000.
> >>
> >> However it seems like it could be loaded at 0x200000, as there is a=20
> >> second copy of redboot on the unit, that supports the NIC, that is=20
> >> loaded add this address.
> >>
> >> See this here for the details of what get loaded where on the unit:
> >> http://www.tomjudge.com/index.php/SS4000-E/FreeBSD_Install
> >>    =20
> >
> > The default load address of the AVILA FreeBSD kernel is 10200000 so
> > it expects to be loaded here.  As I see from your patch you changed
> > it to be 0x01008000 instead.  So you should probably either load the
> > kernel to this address, or change the corresponding KERNPHYSADDR
> > parameter to 0x200000.
> >
> >  =20
>=20
> When I had KERNPHYSADDR and KERNVIRTADDR set to 0x01008000 I was unable=20
> to make any progress on getting the system to boot.  Last night I was=20
> working on the patch again, and started by using the std.aliva file as a=
=20
> base for my std.em7210 rather than std.ep80219.  However I have not yet=20
> had a chance to test this as I was working my way though making user the=
=20
> devmap matched the devmap used by the linux kernel.
>=20
> I have also been looking at alvia_machdep.c + eq80219_machdep.c and=20
> comparing it to the em7210_machdep.c to remove magic numbers and replace=
=20
> them with macros/defines as used in the aliva board.
>=20
> Here is my current work: http://www.tomjudge.com/tmp/patch-em7210-round2

This looks better, but you're still using weird addresses
for phys_avail and dump_avail ARM_USE_SMALL_ALLOC case.  I don't know
the memory layout of this board, but using addresses starting from
0xa0000000 for page mappings looks really wrong to me.

BTW, I noticed you're using 0x0 address for the start address of the
physical memory?  Is it correct?  Usualy, this address is the CPU start
address and thus boot ROM gets mapped here so CPU can start executing
ROM code upon boot.  But your board may use different layout so you'd
need to check this.

>=20
> > Does this board has JTAG port available?  It will make the debugging
> > much easier.
> >
> >  =20
> Yes there is a jtag port on the board, it seems to be a standard 20 pin=20
> ARM header on the board (see image here:=20
> http://www.kwaak.net/fotos/fotos-nas/slide_14.html).
>=20
> Can anyone recommend a reasonably priced jtag cable? Preferable that=20
> would work on FreeBSD.
>=20

The choice of JTAG depends on the software that will be used.  For me,
OpenOCD works well.  I can recommend the FTDI based cables as they're
really fast and well supported (OpenMoko, for example, distributes one
of them; they're usually Jtagkey clones).  Simple Wiggler-like cables
are much clower and less reliable, but is very cheap and can be made
easily at home if not availble in shops (as it's merealy a pin-to-pin
conversion from JTAG to IEEE1284).  They requre the parallel LPT port to
be present, though.

--=20
Stanislav Sedov
ST4096-RIPE

--Signature=_Fri__25_Sep_2009_18_14_28_+0400__HENyz5YKaXN6A38
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----

iQIcBAEBAgAGBQJKvNBEAAoJEKN82nOYvCd0lBEQAJbKXbIXkxYYdb6AdQb3KGuL
FNjMudPnBY2e4RWHWKKhKu0jCB79pFeR353xeFrWB9GFwWpt5SGCz0pzeUlyr6jB
cveEC0BqQTHcrU0IKLOHcoJ2WNCfH4kolHOSLUDkIB8HPn+HI9UdDEHiNRgTerE0
6FgPGxEwbGOFRuRFw+W/yDDYqKgjLrKjIgYwlYOOoZgS8YT3l3sBNkcIalh36vw3
Iv9ZHmCBxWKOtvjsYtIMmBWtpmbPyMwXRCTAs0/OEtDkAFeCeNoRtekNpVjcAOuC
g6Jf+a2ZkS5Jg0WtcZTiXog5X4sCBSocghKv53StIDy3miCpwph18pnX+3VIBBg8
Ct+2uRGC3Hsa5iYUMAgQvDc5jegTnKvlaPSoOnFyBrina8Mh25c18TnYVA3FoVgX
jxS/7UV4cmC4oai1Oc2AmYwwmqvWik8u44aE0OImp85RhCLF/2rktkgiuzhABnSZ
JJIxftfvpvvEjlQr/cQVVPu/jkgleWNAOmktwTywov0TBStDM58Hq0pKvq05qstW
MqclenKaHQtHxgSSTObcKRvKKe7CNw4hS3m3o8YfujXFNAr0t/lfZeaNvFqSeLwW
4hDCuy8mFS2HZPgUqMgSJifJZSpjvM78jalVAoZcUfneoltLQvtAhXn+a8dXt9PE
yoblDlfFlPRUD82Oo7FH
=EFlY
-----END PGP SIGNATURE-----

--Signature=_Fri__25_Sep_2009_18_14_28_+0400__HENyz5YKaXN6A38--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090925181428.5cfc759f.stas>