[haiku-commits] r39961 - haiku/trunk/src/system/boot/platform/bios_ia32

  • From: mmlr@xxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Mon, 27 Dec 2010 03:15:05 +0100 (CET)

Author: mmlr
Date: 2010-12-27 03:15:05 +0100 (Mon, 27 Dec 2010)
New Revision: 39961
Changeset: http://dev.haiku-os.org/changeset/39961
Ticket: http://dev.haiku-os.org/ticket/7026

Modified:
   haiku/trunk/src/system/boot/platform/bios_ia32/mmu.cpp
Log:
Undo the part of r34947 that changed the re-use check. It wasn't broken, since
the address variable is incremented in the loop above and at the end will be
equal to sNextVirtualAddress if the address space can be reused. Fixes early
boot resets due to wrongly reused virtual addresses (and them being freed while
still in use by the original user). Fixes #7026, thanks to Urias for testing.


Modified: haiku/trunk/src/system/boot/platform/bios_ia32/mmu.cpp
===================================================================
--- haiku/trunk/src/system/boot/platform/bios_ia32/mmu.cpp      2010-12-27 
01:44:43 UTC (rev 39960)
+++ haiku/trunk/src/system/boot/platform/bios_ia32/mmu.cpp      2010-12-27 
02:15:05 UTC (rev 39961)
@@ -474,7 +474,7 @@
                address += B_PAGE_SIZE;
        }
 
-       if (address + size == sNextVirtualAddress) {
+       if (address == sNextVirtualAddress) {
                // we can actually reuse the virtual address space
                sNextVirtualAddress -= size;
        }


Other related posts:

  • » [haiku-commits] r39961 - haiku/trunk/src/system/boot/platform/bios_ia32 - mmlr