Source-Changes-D archive

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

re: CVS commit: src/sys/arch



> >> am currently checking that for all architectures except i386,
> >> sizeof(paddr_t) == sizeof(u_long).
> > 
> > sparc and 32 bit sparc64 kernels use 64 bit paddr_t.  there are some
> > mips ports that do too.  you can't assume the above equality at all,
> > not since "paddr_t" was introduced a decade+ ago.
> 
> Eeek. I can't see how I can fix that then. Would it be acceptable to say
> "the affected functions are private to kvm(3), so don't bother with this
> anyway?"

kvm is about as special case as we get in userland.

> >> - i386 will use 64 bits paddr_t for kvm(3), so we will have to discuss
> on
> z> how to make it work without too much fuzz with pre-64 bits i386 dumps.
> > 
> > i think this seems the sanest way.  make userland see the 64 bit
> > definition in all cases, and have the libkvm code DTRT.
> 
> Thing is, kvm(3) has two functions (kvm_kvatop and kvm_pa2off) that use
> PAs internally and assume they are unsigned long. I can't move i386 to 64
> bits PA without having to tweak kvm_private.h prototypes, which will affect
> all ports in turn.
> 
> IMHO, the path of least resistance would be to move to paddr_t.

i think that this sounds sane.

> It is only there for convenience, eg. when someone wants to know easily if
> its system is running under PAE.

ok.

.mrg.


Home | Main Index | Thread Index | Old Index