On Tue, Feb 23, 2010 at 04:57:55PM +0100, Jean-Yves Migeon wrote: > > I would like to see paddr_t and related types always be 64-bit, > regardless > > of whether the kernel is PAE enabled. If not we effectively create a new > > platform. > > Yep, i386-pae. IMHO, modules cannot be "safely" shared between PAE and > non-PAE.
Yes. And I don't think making paddr_t 64bits unconditionally would make them magically compatible for modules. There would be other issues. > > > Do you envision any compatibility problems with userspace > > applications from this change? > > Typical userspace applications, no. However, I suspect that programs like > crash(8) or libkvm would be affected by such a change. As well as those > reading stuff directly in kmem. I don't think so. kmem grovellers care about virtual addresses, not physical addresses. At last I've not noticed anything bad with i386PAE Xen kernels. > > There is much more work for in-kernel code though; for example, iterating > through the PDs/PTs is not as easy as iterating in a paddr_t array > (consider a 64-bits paddr_t with a non-PAE kernel). We would have to split > pd_entry_t from paddr_t, which is currently not the case. Sure, you can't change the hardware to make the formats the same :) I don't know if anything outside kernel tries to read the PTE though. -- Manuel Bouyer <bou...@antioche.eu.org> NetBSD: 26 ans d'experience feront toujours la difference --