Source-Changes-D archive

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

Re: CVS commit: src/sys/arch

On 24.07.2010 20:47, matthew green wrote:
>> On 24.07.2010 09:50, Christoph Egger wrote:
>> Not necessarily, the kvm(3) API manipulates PA as u_long (see
>> _kvm_kvatop in kvm_i386.c). Changing the paddr_t will need a
>> modification of this API too, and basically, all ports will have to move
>> to uint64_t PA (or put casts everywhere...)
> ah, i thought that it already used paddr_t for this.  it should, imo.
> and i'd think that libkvm should be compiled with 64bit paddr_t (ie,
> have the useland definition of paddr_t always be 64 bit) and be smart
> enough to deal with the kernel you feed it.  32 bit sparc has to deal
> with this a lot, since the page tables are considerably more different
> from sparc v8/v9 than i386 vs amd64.

That would be a solution, yes.

FWIW, I am making all PAE related macros and types prefixed with "pae_"
(~ some kind of namespace), and alias the relevant function with them in
_KERNEL when option PAE is enabled.

For kvm(3), both could be used; I could extract a value from a symbol
like "pae_enabled" out of a core file through kvm_nlist, then use the
relevant vatop functions.

Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index