cvs commit: src/sys/dev/bce if_bcereg.h

Warner Losh imp at bsdimp.com
Tue Apr 25 23:33:26 UTC 2006


From: Scott Long <scottl at samsco.org>
Subject: Re: cvs commit: src/sys/dev/bce if_bcereg.h
Date: Tue, 25 Apr 2006 13:43:58 -0600

> John Baldwin wrote:
> > On Tuesday 25 April 2006 15:24, Scott Long wrote:
> > 
> >>John Baldwin wrote:
> >>
> >>>jhb         2006-04-25 19:18:48 UTC
> >>>
> >>>  FreeBSD src repository
> >>>
> >>>  Modified files:
> >>>    sys/dev/bce          if_bcereg.h 
> >>>  Log:
> >>>  Fix half of the current i386 tinderbox failure.  max_bus_addr should be a
> >>>  bus_addr_t rather than a bus_size_t.
> >>>  
> >>>  Revision  Changes    Path
> >>>  1.2       +1 -1      src/sys/dev/bce/if_bcereg.h
> >>
> >>Actually, bus_size_t should also be aware of PAE.
> > 
> > That may be true as well, I'll defer to your judgement on that one.  In
> > this case bus_dma_tag_create()'s low_addr argument is supposed to be a
> > bus_addr_t according to the man page. :)
> > 
> 
> Both the lowaddr and highaddr arguments are bus_addr_t.  The more I 
> think about it, the boundary argument should really be a bus_addr_t.

The problem is that PAE's bus_size_t is a 32-bit quantity, when it
should be a 64-bit quantity:

#ifdef PAE
typedef uint64_t bus_addr_t;
#else
typedef uint32_t bus_addr_t;
#endif
typedef uint32_t bus_size_t;

For bus addresses, we should use bus_addr_t, of course, but the above
is wrong.  I don't have a PAE machine, or I'd commit my local changes
that fix this...

Warner


More information about the cvs-src mailing list