On 2015/01/22 11:34, John Merriam wrote:
> On 2015-01-21 18:36, John Merriam wrote:
> >On 1/21/2015 1:43 PM, Stefan Sperling wrote:
> >>There is supposed to be a bounce buffer in bce to cope with
> >>systems with more than 1GB but perhaps it is broken.
> >>
> >
> >I installed the old 1GB DIMM that came with the machine when I
> >acquired it, and you are correct, it seems to work fine with <= 1GB
> >RAM.
> >
> >Next question is how to fix it so it works with > 1GB RAM.
> 
> Hmmm.  I looked at sys/dev/pci/if_bce.c and it looks to me like this patch:
> 
> http://marc.info/?l=openbsd-tech&m=130183146308043
> 
> is still in place.
> 
> I then downloaded version 1.35 (dated 4/3/2011) of if_bce.c from
> cvsweb.openbsd.org and did a diff against version 1.40 (in -current now) of
> if_bce.c and there are hardly any differences.  The main change is the call
> to m_devget() removing the 5th parameter which was NULL.  That first
> parameter to m_devget looks funny to me.  After thinking about it I think I
> know what it's doing but it just looks weird to me.  Anyway, the only other
> changes besides includes from 1.35 to 1.40 are in the bce_ioctl() function
> and they don't look like they would make any difference to me.
> 
> So, what could be the problem then?  Theoretically it did work as of the
> 1.35 if_bce.c revision which seems to have shipped in OpenBSD 5.0.  This
> message:
> 
> http://marc.info/?l=openbsd-tech&m=130217668909255
> 
> seems to verify that it did actually work at one point.

Would presumably be a change in uvm somewhere. (paddr_t)(0x40000000 - 1)
is passed as 'high' to uvm_km_kmemalloc_pla -> uvm_pglistalloc and is
meant to constrain the addresses.

Identifying when (at least which release) it broke might be a good start..

Reply via email to