tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys



On Wed Dec 10 2008 at 09:14:19 +0000, Martin Husemann wrote:
> On Tue, Dec 09, 2008 at 08:45:46PM +0000, Antti Kantee wrote:
> > Log Message:
> > Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr,
> > which is now the "API" provided by the pmap module.  pmap_kernel()
> > remains as the syntactic sugar.
> 
> Where was this discussed? What is the benefit?
> Where is kernel_pmap_ptr initialized and why is there an indirection?

The purpose is to make pmap saner, as currently the implementation is
pretty split between pmap.h and pmap.c.  Turns out that pmap_kernel()
is the biggest inconsistency, at least for my purposes.

My ultimate goal is to unify the ABI of rump libs and kernel modules so
that we don't have to build the same thing twice.  Modules are modules...

I really seriously doubt pmap_kernel() makes any measureable difference
whatsoever for the MI pmap API purposes.  But it's a good thing I didn't
make it a function call like I was planning to ;)

> In file included from ../../../../uvm/uvm_pmap.h:92,
>                  from ../../../../uvm/uvm_extern.h:474,
>                  from ../../../../uvm/uvm.h:46,
>                  from /tmp/genassym.4556/assym.c:16:
> ./machine/pmap.h:184:1: error: "pmap_kernel" redefined
> In file included from ../../../../uvm/uvm_extern.h:474,
>                  from ../../../../uvm/uvm.h:46,
>                  from /tmp/genassym.4556/assym.c:16:

That damage, as you've discovered (and fixed), was done after my changes.


Home | Main Index | Thread Index | Old Index