Port-ofppc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Pegasos status
After finally getting all the required information from Matt and a MorphOS
team member I spend the last night writing the ofppc/pci/peg2pci.c module to
handle the Pegasos-specific PCI bus and interrupt mapping. It replaces
ofwpci.c in my tests.
Unfortunately with the current source from yesterday my problems start much
earlier. The only output was: "Kernel symbol table missing".
After some debugging I found a problem in ofwoea_map_space(), which is fixed
by the following patch:
--- ofwoea_machdep.c.orig 2007-10-17 21:56:43.000000000 +0200
+++ ofwoea_machdep.c 2007-10-21 16:20:46.000000000 +0200
@@ -489,11 +489,22 @@
find_ranges(node, list, &cur, RANGE_TYPE_FIRSTPCI);
range = 0;
find_ranges(node, regions, &range, RANGE_TYPE_ISA);
- if (range == 0 || cur == 0)
+ if (range > 0) {
+ for (i=0; i < range; i++)
+ if (regions[i].type == iomem) {
+ size = regions[i].size;
+ break;
+ }
+ }
+ else if (cur > 0) {
+ for (i=0; i < cur; i++)
+ if (list[i].type == iomem) {
+ size = list[i].size;
+ break;
+ }
+ }
+ else
return -1; /* no isa stuff found */
- for (i=0; i < range; i++)
- if (regions[i].type == iomem)
- size = regions[i].size;
if (iomem == RANGE_IO) {
/* the first io range is the one */
for (i=0; i < cur; i++)
Now bus_space_init() for the genppc_isa_io_space_tag is executed, but fails
(probably during extent_create()) with the following error message:
panic: kernel diagnostic assertion "vm_map_pmap(map) == pmap_kernel()" failed:
file "/usr/src/sys/uvm/uvm_km.c", line 548
genppc_isa_io_space_tag is initialized with
pbs_base = 0
pbs_offset = 0xfe000000
pbs_size = 0x10000
pbs_flags = _BUS_SPACE_LITTLE_ENDIAN | _BUS_SPACE_IO_TYPE
I'm lost at this point. Has anybody an idea?
--
_ Frank Wille (frank%phoenix.owl.de@localhost)
_ // http://sun.hasenbraten.de/~frank/
\X/ Phx @ #AmigaGer
Home |
Main Index |
Thread Index |
Old Index