diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2008-11-10 15:18:48 +0000 |
---|---|---|
committer | Thomas Schwinge <tschwinge@gnu.org> | 2009-06-18 00:27:20 +0200 |
commit | a652906986e061b69fee367ff20a87d2a6b16dd3 (patch) | |
tree | 48a8d48830041215afe8fe8e27eac5c29a926d6e /i386/configfrag.ac | |
parent | 039405897aa8245990bc6249e58a6595debcc21e (diff) | |
download | gnumach-a652906986e061b69fee367ff20a87d2a6b16dd3.tar.gz gnumach-a652906986e061b69fee367ff20a87d2a6b16dd3.tar.bz2 gnumach-a652906986e061b69fee367ff20a87d2a6b16dd3.zip |
2008-11-10 Samuel Thibault <samuel.thibault@ens-lyon.org>
[task #8135 --- ``PAE for GNU Mach']
* i386/configfrag.ac: Add --enable-pae option, which defines PAE.
* i386/i386/i386asm.sym (PDPSHIFT, PDEMASK): New assembly macros.
* i386/i386/locore.S [PAE] (copyout_retry): Use page directory pointer
bits.
* i386/i386at/model_dep.c [PAE] (i386at_init): Set second initial 2MB
page. Enable PAE bit. Set cr3 to page directory pointer table instead
of page directory.
* i386/intel/pmap.c [PAE] (pmap_bootstrap, pmap_create): Allocate 4
pages for dirbase. Setup pdpbase.
[PAE] (pmap_destroy): Free 4 pages from dirbase. Free pdpbase.
* i386/intel/pmap.h [PAE] (pt_entry_t): Typedef to unsigned long long.
[PAE] (PDPSHIFT, PDPNUM, PDPMASK): New macros.
[PAE] (PDESHIFT, PDEMASK, PTEMASK): Set to PAE values.
[PAE] (lin2pdenum, NPDES): Make them take the page directory pointer
index into account too.
[PAE] (struct pmap): Add `pdpbase' member.
(set_dirbase): Remove macro, replaced by...
(set_pmap): New macro, taking a pmap instead of the dirbase.
(PMAP_ACTIVATE_USER): Use set_pmap instead of set_dirbase.
Diffstat (limited to 'i386/configfrag.ac')
-rw-r--r-- | i386/configfrag.ac | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/i386/configfrag.ac b/i386/configfrag.ac index bada87df..19112a05 100644 --- a/i386/configfrag.ac +++ b/i386/configfrag.ac @@ -102,6 +102,16 @@ if [ x"$enable_lpr" = xyes ]; then] [else] AM_CONDITIONAL([enable_lpr], [false]) [fi] + + +AC_ARG_ENABLE([pae], + AS_HELP_STRING([--enable-pae], [enable PAE support])) +[if [ x"$enable_pae" = xyes ]; then] + AC_DEFINE([PAE], [1], [PAE support]) + AM_CONDITIONAL([enable_pae], [true]) +[else] + AM_CONDITIONAL([enable_pae], [false]) +[fi] dnl Local Variables: dnl mode: autoconf |