PATCH: enable use of memory beyond kseg0

C. Jayachandran c.jayachandran at gmail.com
Fri Mar 19 12:18:56 UTC 2010


On Tue, Mar 16, 2010 at 7:05 AM, Neel Natu <neelnatu at gmail.com> wrote:
> This patch enables use of physical memory that is beyond the direct
> mapped kseg0 region.
>
> The basic idea is to use KVA from the kseg2 region for mapping page
> table pages that lie beyond the direct mapped region.
>
> The TLB miss handler can now recursively fault into the TLB invalid
> handler if it dereferences a kseg2 page table page address that is not
> in the TLB. The TLB invalid handler had to be extensively modified but
> in the end came out much cleaner.
>
> I have tested this on a uni and multi-processor Sibyte with 1GB of
> memory. It would be useful if this patch had some independent testing
> as well.
>
> Please review.
>
> http://people.freebsd.org/~neel/mips_beyond_kseg.diff

This fixes the crash I was seeing during 'make -j16 buildworld' on
XLR. The buildworld completed after running about 6 hours over NFS
mounted src and obj dir, so the patch looks good. I haven't done any
performance comparisons yet.

JC.


More information about the freebsd-mips mailing list