On 07.03.10 10:43, Masao Uebayashi wrote: > I've been spending LOTS of time to investigate various devicess sources, to > understand some questions I've had, like: > > - Why NetBSD/arm has no bus_space_mmap(4)? > - Why tty locking is messy? > - Why sys/dev/wscons has so many #ifdef's? (Modular unfriendly!) > - How dk(4) is enumerated? > : > > After absorbed myself 3 days now, I think I've figured out almost all of > problems I've had and how I can fix these. Before going directly to the > answer, let me summarize problems I've found: >
> b) Consistent device topology management is missing > > The reason why NetBSD/arm has no bus_space_mmap(9) has turned out to be the > fact that we have no consistent (MI) way to manage physical address space of > devices. NetBSD/mips has a working bus_space_mmap(9) in > sys/arch/mips/mips/bus_space_alignstride_chipdep.c. It defines address > windows and manage it by itself. > > Who wants to reimplement it on all cpus/ports/platforms? Considering physical > address space is a pretty much simple concept - a single linear address space. > And we already manage (kind of) tree of devices in autoconf(9). Do we want > to manage such a topology in many places? No. The good news: dyoung@ and I started with prototyping pmem(9) that provides an MI physical address space management. The bad news: We had no time to continue on this for more than a year now. Christoph