Subject: Re: user mapping pci memory
To: Gordon W. Ross <gwr@mc.com>
From: Matthias Drochner <drochner@zelux6.zel.kfa-juelich.de>
List: tech-kern
Date: 03/13/1997 19:35:41
Excerpts from netbsd: 13-Mar-97 Re: user mapping pci memory "Gordon W.
Ross"@mc.com (1338)
> The d_map return value includes the ASI.
> Maybe it should return a PTE...
>
> > On some machines it is quite possible that the physical address exceeds
> > the size of the virtual address space.
The bus.h framework (which is not used on suns as I see, but will be
one day?) implies that every physical region can be descibed by
a "bus_space_tag" and an address.
It would lead to a consistent view of the hardware if the same
arguments were used for a function which calculates the value
finally used by the pmap functions.
I have to admit that I see some problems with the bus.h model
when it comes to a higher number of "subspaces" - it does not scale
well. To PCI drivers, 2 "bus_space_tag"s are passed, for memory
and IO space. You probably don't want to pass 2^6 tags to VME
devices (ok, I know that not all of them are valid address modifiers).
However, this can be solved in different ways, and because the MMU
or whatever mapping hardware has to be programmed the same
way for device driver accesses like for user mappings 2 different
semantics seem unneccesary for me.
best regards
Matthias Drochner