Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Nov 2007 15:52:33 +1100 (EST)
From:      Ian Smith <smithi@nimnet.asn.au>
To:        =?ISO-8859-1?Q?S=F8ren_Schmidt?= <sos@deepcore.dk>
Cc:        freebsd-stable@freebsd.org, Henrik Brix Andersen <brix@freebsd.org>, sos@freebsd.org
Subject:   Re: 7 on Soekris net4801?
Message-ID:  <Pine.BSF.3.96.1071110144528.24131A-100000@gaia.nimnet.asn.au>
In-Reply-To: <4732F067.7080601@deepcore.dk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 8 Nov 2007, Søren Schmidt wrote:
 > 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().

:)  Thanks for the pointer.

 > 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.

So it's the "can't do 64K DMA transfers" problem biting?  I poked around
through savecore.c and kerneldump.h but couldn't figure out where it
might set anything like that up; it's all a bit far over my head.

What might be needed to fix this?  Using 32K (64 sectors) for the Geode
instead (and perhaps the/some cyrix, as it sets up for 126 sectors too)? 

Cheers, Ian




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.1071110144528.24131A-100000>