x86_32: compiles with PAE enabled.
authorSimon Gerber <simon.gerber@hp.com>
Thu, 19 Jun 2014 00:22:15 +0000 (17:22 -0700)
committerSimon Gerber <simon.gerber@inf.ethz.ch>
Thu, 30 Apr 2015 19:19:28 +0000 (21:19 +0200)
Signed-off-by: Simon Gerber <simon.gerber@hp.com>

kernel/arch/x86_32/page_mappings_arch.c
kernel/arch/x86_32/startup_arch.c
lib/barrelfish/target/x86_32/pmap_target.c

index 8fe2f00..7bd4aef 100644 (file)
@@ -469,9 +469,9 @@ void paging_dump_tables(struct dcb *dispatcher)
 
 #ifdef CONFIG_PAE
     // loop over pdpt entries
-    for (int pdir_index = 0; pdir_index < X86_64_PDPTE_SIZE; pdir_index++) {
+    for (int pdir_index = 0; pdir_index < X86_32_PDPTE_SIZE; pdir_index++) {
         // get pdir
-        union x86_32_pdpte_entry *pdir = (union x86_64_pdir_entry *)root_pt + pdir_index;
+        union x86_32_pdpte_entry *pdir = (union x86_32_pdpte_entry *)root_pt + pdir_index;
         if (!pdir->raw) { continue; }
         genpaddr_t pdir_gp = pdir->d.base_addr << BASE_PAGE_BITS;
         lvaddr_t pdir_lv = local_phys_to_mem(gen_phys_to_local_phys(pdir_gp));
index 5fe6c3a..8bc8952 100644 (file)
@@ -5,6 +5,7 @@
 
 /*
  * Copyright (c) 2007-2013 ETH Zurich.
+ * Copyright (c) 2014, HP Labs.
  * All rights reserved.
  *
  * This file is distributed under the terms in the attached LICENSE file.
@@ -119,9 +120,9 @@ errval_t startup_map_init(lvaddr_t vbase, lpaddr_t base, size_t size,
                     + X86_32_PDIR_BASE(vaddr) * X86_32_PTABLE_SIZE
                     + X86_32_PTABLE_BASE(vaddr)];
 
-        debug(SUBSYS_PAGING, "Mapping 4K page: vaddr = 0x%x, base = 0x%x, "
-              "PDPTE_BASE = %u, PDIR_BASE = %u, "
-              "PTABLE_BASE = %u -- ", vaddr, base, X86_32_PDPTE_BASE(vaddr),
+        debug(SUBSYS_PAGING, "Mapping 4K page: vaddr = 0x%"PRIxLVADDR
+              ", base = 0x%"PRIxLPADDR", PDPTE_BASE = %lu, PDIR_BASE = %lu, "
+              "PTABLE_BASE = %lu -- ", vaddr, base, X86_32_PDPTE_BASE(vaddr),
               X86_32_PDIR_BASE(vaddr), X86_32_PTABLE_BASE(vaddr));
 #else
         union x86_32_ptable_entry *ptable_base = &init_ptable[
index 40ec1cf..fa7147b 100644 (file)
@@ -144,7 +144,7 @@ static struct vnode *find_pdir(struct pmap_x86 *pmap, genvaddr_t base)
 
 #ifdef CONFIG_PAE
     // PDPT mapping
-    return find_vnode(root, X86_32_PDPT_BASE(base));
+    return find_vnode(root, X86_32_PDPTE_BASE(base));
 #else
     return root;
 #endif