How FreeBSD manage more than 4GB on 32 bits architecture

Lowell Gilbert freebsd-questions-local at
Thu Apr 9 13:17:06 UTC 2015

Pierre-Yves Péneau <Pierre-Yves.Peneau at> writes:

> For my internship, I have to find a way to manage more than 4GB of
> memory with 32 bits processors. It seems that the FreeBSD kernel is the
> perfect candidate for that. According to the architecture handbook(*),
> "FreeBSD could theoretically handle memory configurations up to 8TB on a
> 32 bit platform."

This is quoting the Architecture Handbook's KVM memory mapping section. The
following sentence reads "However, since most 32 bit platforms are only
capable of mapping 4GB of ram, this is a moot point."

> For the last two days, I was looking for documentation, articles,
> thesis, or e-mails on that topic, but I can't find relevant
> informations. Is anybody have informations on that topic ? Where should
> I start to read the source code to find my answers ?

I'm going to guess that the idea behind that comment is that FreeBSD's page
tables can hold 2G (2^31) entries. At a 4k page size, that would give you
8TB of memory. But that only helps you if the hardware is physically
capable of reading from more than 4G different locations.

Therefore, the question becomes: what kind of hardware are you going to use
that can keep track of those locations?

As a side note, I would also recommend the book "The Design and
Implementation of the FreeBSD Operating System," now out in a new edition.

Good luck.

More information about the freebsd-questions mailing list