Port-i386 archive

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

Re: i386 PAE support (Patches)



On Sun, Dec 20, 2009 at 08:38:30PM +0000, Jeremy Morse wrote:
> Hi port-i386,
> 
> A while ago I took interest in native PAE on i386 - I've no idea whether
> there are any plans for supporting it, but I've generated some patches
> that successfully boot a system with PAE addressing.
> 
> The good news is that it works (at least for me), can address high
> memory correctly, and seems stable. The bad news is that I might have
> broken Xen with pmap changes, as it's not an area I have any experience
> in. (A XEN3PAE_DOM0 kernel still boots though).
> 
> All the important changes (diff'd against NetBSD-5) are in:
> http://www.netbsd.org/~jmorse/pae/corebits.diff
> 
> There're also a bunch of format string fixes for code that expects a
> paddr_t to be a u_long. See http://www.netbsd.org/~jmorse/pae/notes.txt
> for some more detail.
> 
> Hope someone finds this useful.

This looks good. One comment:
defined(PAE) && defined(i386)
is redundant, as I don't think we're ever going to see PAE on !i386
in the x86 MD code. These #if could be simplified.

what issue with ptoa() did you see ? I understand how bad trucating to
vaddr_t here can be, but it's not an issue with Xen so I wonder why
it's needed in the native case.
To me it looks like ptoa() is used on both physical and virtual addresses
or size, and in some case to compute a virtual address/size from a
physical one (like in uvm_init_limits() or proc0_init()).
A closer look is probably needd here.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--


Home | Main Index | Thread Index | Old Index