Author: bonefish Date: 2010-05-03 00:50:30 +0200 (Mon, 03 May 2010) New Revision: 36589 Changeset: http://dev.haiku-os.org/changeset/36589/haiku Modified: haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp Log: memory_type_to_pte_flags(): Also set the write-through flag for uncacheable memory. This avoids implementation defined behavior on Pentium Pro/II when intersecting with an write-combining or write-protected MTRR range. Modified: haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp =================================================================== --- haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp 2010-05-02 22:35:18 UTC (rev 36588) +++ haiku/trunk/src/system/kernel/arch/x86/arch_vm_translation_map.cpp 2010-05-02 22:50:30 UTC (rev 36589) @@ -163,11 +163,11 @@ // (usually only write-combining for the frame buffer). switch (memoryType) { case B_MTR_UC: - return X86_PTE_CACHING_DISABLED; + return X86_PTE_CACHING_DISABLED | X86_PTE_WRITE_THROUGH; case B_MTR_WC: // X86_PTE_WRITE_THROUGH would be closer, but the combination with - // MTRR WC is "implementation defined" for Pentium [Pro]. + // MTRR WC is "implementation defined" for Pentium Pro/II. return 0; case B_MTR_WT: