summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2010-04-08 01:25:41 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2010-04-08 01:25:41 +0200
commit538308b7794563fa87d28fd26aac45c83be78ddb (patch)
treed76fefdb92971de1ceed831b6ca20972b9291eb2
parent690d2c6a6fd7512dce0761f21a1d18fb49ca1fcb (diff)
Fix bootstrap additional mapping
* i386/intel/pmap.c (pmap_bootstrap): Use pt_entry_t type instead of vm_offset_t to map additional kernel space.
-rw-r--r--i386/intel/pmap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/i386/intel/pmap.c b/i386/intel/pmap.c
index aab088c..3ee6338 100644
--- a/i386/intel/pmap.c
+++ b/i386/intel/pmap.c
@@ -683,7 +683,7 @@ void pmap_bootstrap()
l1_map[n_l1map] = (pt_entry_t*) phystokv(pmap_grab_page());
for (j = 0; j < NPTES; j++)
- l1_map[n_l1map][j] = intel_ptob(pfn_to_mfn((i - lin2pdenum(VM_MIN_KERNEL_ADDRESS)) * NPTES + j)) | INTEL_PTE_VALID | INTEL_PTE_WRITE;
+ l1_map[n_l1map][j] = (((pt_entry_t)pfn_to_mfn((i - lin2pdenum(VM_MIN_KERNEL_ADDRESS)) * NPTES + j)) << PAGE_SHIFT) | INTEL_PTE_VALID | INTEL_PTE_WRITE;
pmap_set_page_readonly_init(l1_map[n_l1map]);
if (!hyp_mmuext_op_mfn (MMUEXT_PIN_L1_TABLE, kv_to_mfn (l1_map[n_l1map])))
panic("couldn't pin page %p(%p)", l1_map[n_l1map], (vm_offset_t) kv_to_ma (l1_map[n_l1map]));