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

Matthew Jacob mj at
Tue Apr 25 23:56:01 UTC 2006

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

Why do you believe that it should be a 64 bit quantity under PAE?

Strictly speaking, I don't believe it is. PAE allows you to *address* 
36 physical address bits of memory using Dual Address cycles, but the 
underlying bus is still a 32 bit bus.

More information about the cvs-src mailing list