> On 24.07.2010 09:50, Christoph Egger wrote: > >> XXX Mixing PAE and !PAE modules may lead to unwanted/unexpected results. > >> This > >> cannot be solved easily, and needs lots of thinking before being declared > >> safe (paddr_t/bus_addr_t size handling, PD/PT macros abstractions). > > > > How about making paddr_t always 64bit? That makes it much easier to deal > > with in libkvm. > > 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. .mrg.