7 on Soekris net4801?

Søren Schmidt sos at deepcore.dk
Thu Nov 8 03:18:17 PST 2007


Ian Smith wrote:
> On Sat, 3 Nov 2007, Henrik Brix Andersen wrote:
>  > On Sun, Nov 04, 2007 at 02:59:36AM +1100, Ian Smith wrote:
>  > > any particular/new issues with RELENG_7 on the Soekris net4801?
>  > > 
>  > > Thought I should check before upgrading my T23 as a build platform ..
>  > > I haven't done this before, and will be relying on the howtos for 6.X
>  > 
>  > I recently upgraded two of my net4801s to RELENG_7 - the only problem
>  > I have seen so far, is that savecore(8) attempts to do non-aligned DMA
>  > transfers and fails. I haven't had time to dig further into this issue
>  > yet, though.
>
> Thanks, Brix.  I'm wondering if that's still (again?) to do with item 3
> at http://www.soekris.com/Issue0003.htm ? I've no idea whether a similar
> 'quick-fix' to that given for FreeBSD 4.X to /sys/dev/ata/ata-dma.c
> would work with the 5.5-S and 6.1-R code I have here, noting that the
> alignment is now specified in bytes rather than the earlier bytes-1, so
> '4' is presumably the value needed for dword alignment.
>
> Hmm, ok, trying to dig a little deeper .. rev 1.118 notes say:
>
>   Add support for a the National Geode SC1100. Thanks to Soekris engineering
>   for sponsoring a Soekris 4801 to make this support.
>
> but I couldn't find anywhere in 1.118 or in later versions up to 1.147
> (RELENG_7, HEAD) that does anything other than 'ch->dma->alignment = 2;'
>
> (Not that me not finding it means much :)  I also noticed at 1.137.2.2: 
>
>   Add support for using DMA on dump, greatly speeds up the dump process.
>
> Copying Soren in case he may have a bead on this, but it hardly seems
> any impediment to preparation or building for it when the box arrives.
>
>   
Actually aligment is set to 16 but a bit untraditionally in 
ata_national_setmode().

I should change that to do it in an ata_national_allocate() function 
which now can contain just a few lines.

I'd figure that the problem is that the geode chip doesn't support 128 
sector writes just up to 126, that is not honered from the dump rutine IIRC.

-Søren



More information about the freebsd-stable mailing list