On 24.07.2010 17:54, Matthias Drochner wrote:
> 
> c...@cubidou.net said:
>> Kernel modules, on the other hand...
> 
> Hmm, didn't think of that. (using them myself only for testing)
> 
>> a gaping ABI incompatibility is completely unacceptable
> 
> There are two ways to fix this without the 64-bit-paddr overhead,
> a short-term and a long-term one.
> The short-term fix would be to use another module load path.
> This is close to calling it a different port, but it would
> not affect userland.

"i386pae" and "i386"? Huh... then we will get i386xenpae, i386xen, and
so on?

> A more correct but more expensive fix would be to keep out
> paddr_t from the kernel ABI relevant to modules.

Then bus_addr_t and paddr_t should be split.

I do not think that there are many modules that make use of
paddr_t-bound variables; in itself, it should remain within uvm and pmap.

My biggest concern is that there is no real "stable KPI" we could rely
on. rmind@ is reworking the pmap/uvm code in its branch, but told me (in
a private mail) that it may take some time before he merges it. So I
asked if I could commit PAE first and come back to it later.

A long term fix would be to reuse (and probably extend) the modular
world, and have some kind of "one kernel fits all" possibility for x86,
because paddr_t/PD/PT handling also differs with Xen. But making that
work in a safe and consistant manner, without breaking ABI, needs more
thought that I currently could put in my patch.

Cheers,

-- 
Jean-Yves Migeon
jeanyves.mig...@free.fr

Reply via email to