diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-28 17:02:21 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-03-28 17:02:40 +0100 |
commit | 356cd427a6b0ec7905045034e31ec3012bc5b600 (patch) | |
tree | f9dc6b8a9b8d84a02706f12f84d7a1312a33d1d9 | |
parent | 22c2d7ea38baa8ee9b3e99ede27451409178571e (diff) | |
parent | 0b3504b6db86c531e8b53b8e9aa9030db6e72357 (diff) |
Merge branch 'master' into master-x86_64
-rw-r--r-- | i386/intel/pmap.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c index bb47edf5..4b223ec5 100644 --- a/i386/intel/pmap.c +++ b/i386/intel/pmap.c @@ -1281,8 +1281,8 @@ pmap_t pmap_create(vm_size_t size) kmem_cache_free(&pmap_cache, (vm_address_t) p); return PMAP_NULL; } - memset(p->pdpbase, 0, INTEL_PGBYTES); + memset(p->pdpbase, 0, INTEL_PGBYTES); { for (i = 0; i < PDPNUM; i++) WRITE_PTE(&p->pdpbase[i], @@ -1290,6 +1290,7 @@ pmap_t pmap_create(vm_size_t size) | INTEL_PTE_VALID | INTEL_PTE_WRITE); } #ifdef __x86_64__ + // FIXME: use kmem_cache_alloc instead if (kmem_alloc_wired(kernel_map, (vm_offset_t *)&p->l4base, INTEL_PGBYTES) != KERN_SUCCESS) @@ -1297,6 +1298,7 @@ pmap_t pmap_create(vm_size_t size) memset(p->l4base, 0, INTEL_PGBYTES); WRITE_PTE(&p->l4base[0], pa_to_pte(kvtophys((vm_offset_t) p->pdpbase)) | INTEL_PTE_VALID | INTEL_PTE_WRITE); #ifdef MACH_PV_PAGETABLES + // FIXME: use kmem_cache_alloc instead if (kmem_alloc_wired(kernel_map, (vm_offset_t *)&p->user_pdpbase, INTEL_PGBYTES) != KERN_SUCCESS) @@ -1307,6 +1309,7 @@ pmap_t pmap_create(vm_size_t size) for (i = 0; i < lin2pdpnum(VM_MAX_ADDRESS); i++) WRITE_PTE(&p->user_pdpbase[i], pa_to_pte(kvtophys((vm_offset_t) page_dir[i])) | INTEL_PTE_VALID | INTEL_PTE_WRITE); } + // FIXME: use kmem_cache_alloc instead if (kmem_alloc_wired(kernel_map, (vm_offset_t *)&p->user_l4base, INTEL_PGBYTES) != KERN_SUCCESS) |