From 8d2572165b60b1138320effd9c69c0585b954092 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Sun, 13 Jun 2010 19:58:43 +0000 Subject: [PATCH] X86PagingMethodPAE::PutPageTableEntryInTable(): Incorrectly used 32 bit type, which caused the upper 32 bit of the address to be ignored, thus mapping to the wrong page. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37130 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp b/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp index 6420418e46..cfcb9d0032 100644 --- a/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp +++ b/src/system/kernel/arch/x86/paging/pae/X86PagingMethodPAE.cpp @@ -766,7 +766,7 @@ X86PagingMethodPAE::PutPageTableEntryInTable(pae_page_table_entry* entry, phys_addr_t physicalAddress, uint32 attributes, uint32 memoryType, bool globalPage) { - page_table_entry page = (physicalAddress & X86_PAE_PTE_ADDRESS_MASK) + pae_page_table_entry page = (physicalAddress & X86_PAE_PTE_ADDRESS_MASK) | X86_PAE_PTE_PRESENT | (globalPage ? X86_PAE_PTE_GLOBAL : 0) | MemoryTypeToPageTableEntryFlags(memoryType);