diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-03-24 02:59:16 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2012-03-24 02:59:16 +0100 |
commit | 0ef8bca36fdf3c57c90c948a4894c4baf5e0c3fd (patch) | |
tree | 08f74a99ef3034474814252eecc1191d3bc9a952 /i386/intel | |
parent | 2ec0334d36910ff59727f1c6b3efc6648209020a (diff) |
Make sure BIOS area is mapped in kernel threads
* i386/i386at/model_dep.c (i386at_init): Map BIOS memory at 0.
* i386/intel/pmap.c (pmap_create): Do not map BIOS memory in user tasks.
Diffstat (limited to 'i386/intel')
-rw-r--r-- | i386/intel/pmap.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index d8865b2..f0623de 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -1128,6 +1128,12 @@ pmap_t pmap_create(size) panic("pmap_create"); memcpy(p->dirbase, kernel_page_dir, PDPNUM * INTEL_PGBYTES); +#ifdef LINUX_DEV +#if VM_MIN_KERNEL_ADDRESS != 0 + /* Do not map BIOS in user tasks */ + p->dirbase[lin2pdenum(LINEAR_MIN_KERNEL_ADDRESS - VM_MIN_KERNEL_ADDRESS)] = 0; +#endif +#endif #ifdef MACH_XEN { int i; |