[haiku-development] Re: State of ppc

  • From: Andreas Färber <andreas.faerber@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sat, 2 Jan 2010 17:00:42 +0100


Am 01.01.2010 um 08:28 schrieb Andreas Färber:

INIT: init VM semaphores
PANIC: looking up page failed for pa 0x80800000

This I solved by filtering the system-supplied memory mappings to keep.
http://dev.haiku-os.org/ticket/5193

I then get an error that some page it tries to unmap has a cache associated.
With this workaround applied:

diff --git a/src/system/kernel/arch/ppc/arch_vm.cpp b/src/system/ kernel/arch/ppc/arch_vm.cpp
index df815ce..72f4c3c 100644
--- a/src/system/kernel/arch/ppc/arch_vm.cpp
+++ b/src/system/kernel/arch/ppc/arch_vm.cpp
@@ -130,7 +130,7 @@ arch_vm_init_end(kernel_args *args)

// Throw away any address space mappings we've inherited from the boot
        // loader and have not yet turned into an area.
-       vm_free_unused_boot_loader_range(0, 0xffffffff - B_PAGE_SIZE + 1);
+       //vm_free_unused_boot_loader_range(0, 0xffffffff - B_PAGE_SIZE + 1);

        return B_OK;
 }

I now get:

[...]
INIT: init VM semaphores
arch_vm_init_end(): 2 virtual ranges to keep:
  start: 0x00132000, size: 0x9000
    no kernel address, skipping...
  start: 0xff800000, size: 0x200000
create_anonymous_area [1] boot loader reserved area: size 0x200000
map_backing_store: aspace 0x84a2d000, cache 0x84a41078, *vaddr 0xff800000, offset 0x0, size 2097152, addressSpec 1, wiring 6, protection 48, area 0x80003eb8, areaName 'boot loader reserved area'
vm_create_anonymous_area: done
unreserve_boot_loader_ranges()
map_backing_store: aspace 0x84a2d000, cache 0x84a41168, *vaddr 0xccccc000, offset 0x0, size 262144, addressSpec 1, wiring 6, protection 0, area 0x80003f5c, areaName 'uninitialized heap memory' map_backing_store: aspace 0x84a2d000, cache 0x84a41258, *vaddr 0xdeadb000, offset 0x0, size 262144, addressSpec 1, wiring 6, protection 0, area 0x80003f5c, areaName 'freed heap memory'
INIT: init generic syscall
INIT: init scheduler
scheduler_init: found 1 logical cpu
scheduler_init: using simple scheduler
INIT: init threads
create_anonymous_area [1] undertaker_2_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41348, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003ce8, areaName 'undertaker_2_kstack'
vm_create_anonymous_area: done
INIT: init kernel daemons
create_anonymous_area [1] kernel daemon_3_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41438, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d98, areaName 'kernel daemon_3_kstack'
vm_create_anonymous_area: done
create_anonymous_area [1] resource resizer_4_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41528, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d98, areaName 'resource resizer_4_kstack'
vm_create_anonymous_area: done
INIT: init VM threads
create_anonymous_area [1] page scrubber_5_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41618, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d98, areaName 'page scrubber_5_kstack'
vm_create_anonymous_area: done
create_anonymous_area [1] page writer_6_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41708, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d98, areaName 'page writer_6_kstack'
vm_create_anonymous_area: done
create_anonymous_area [1] page daemon_7_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a417f8, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d98, areaName 'page daemon_7_kstack'
vm_create_anonymous_area: done
create_anonymous_area [1] object cache resizer_8_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a418e8, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d98, areaName 'object cache resizer_8_kstack'
vm_create_anonymous_area: done
create_anonymous_area [1] dedicated grow heap: size 0x100000
map_backing_store: aspace 0x84a2d000, cache 0x84a419d8, *vaddr 0x00000000, offset 0x0, size 1048576, addressSpec 5, wiring 2, protection 48, area 0x80003e98, areaName 'dedicated grow heap'
vm_create_anonymous_area: done
heap_add_area: area -1 added to grow heap 0x80900000 - usable range 0x80902000 - 0x80a00000
create_anonymous_area [1] heap grower_9_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41ac8, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003d48, areaName 'heap grower_9_kstack'
vm_create_anonymous_area: done
create_anonymous_area [1] low resource manager_10_kstack: size 0x4000
map_backing_store: aspace 0x84a2d000, cache 0x84a41bb8, *vaddr 0x00000000, offset 0x0, size 16384, addressSpec 4, wiring 2, protection 176, area 0x80003db8, areaName 'low resource manager_10_kstack'
vm_create_anonymous_area: done

There it hangs. The virtual address looks odd, haven't investigated further.

I'm off for now, have fun!

Andreas

Other related posts: