Patch by Andreas Faerber with small changes by myself:

* Skip mappings to non-physical memory in the PPC MMU code. Gets the
   PPC kernel booting a little further.

Thanks! Fixes ticket #5193.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34863 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2010-01-02 18:40:07 +00:00
parent 8d9e8ba5b7
commit 5c9bd9d619
@@ -462,16 +462,22 @@ find_allocated_ranges(void *oldPageTable, void *pageTable,
puts("found page table!");
*_physicalPageTable
= (page_table_entry_group *)map->physical_address;
keepRange = false; // we keep it explicitely anyway
keepRange = false;
// we keep it explicitely anyway
}
if ((addr_t)map->physical_address <= 0x100
&& (addr_t)map->physical_address + map->length >= 0x1000) {
puts("found exception handlers!");
*_exceptionHandlers = map->virtual_address;
keepRange = false; // we keep it explicitely anyway
keepRange = false;
// we keep it explicitely anyway
}
if (map->virtual_address == oldPageTable)
keepRange = false;
if (!is_physical_memory(map->physical_address)) {
keepRange = false;
// we only get vm_pages for physical memory
}
// insert range in virtual allocated