From: Marek S. <ma...@st...> - 2003-07-27 00:52:52
|
Hello Geert On 26.07.03, you wrote: > In kernel/resoure.c:request_resource(), print the contents of the passed > `root' and `new' resources. The routine will fail if new isn't a subset of > root, but you want to know why it happens. I found where is the source of this problem!!!! This is/was a very long night ;) In 2.4.21 (or maybe earlier, but after 2.4.18) there is a new code in PCI drivers. This code tries to "reparent" resources, that failed to allocate (arch/ppc/kernel/pci.c, line 343). This happens to the "bridge resource" of PM2 bridge ("PCI: Cannot allocate resource region 1 of PCI bridge 0" line in log from kernel 2.4.18). In 2.4.21 when allocating this resource region fails, kernel tries to "reparent" it (whatever this means) - line "PCI: reparented B/CVisionPPC PCI mem [e0000000..fffc0000] under B/CVisionPPC PCI mem" line in 2.4.21 log. There are (IMHO) 2 ways of fixing this bug: 1. remove/comment whole code which "reparents" the resources (ugly way) 2. add some code to apus_pci.c, which will set-up the pci-bridge properly, that it's won't cause these problems (pretty way) Actually I don't know how to do the second. I simply commented out the line from arch/ppc/kernel/pci.c, but that caused other errors during startup. However the pm2fb driver and XFree with glint are working now. :))) Regards Ps. I attached dmesg log from both kernels: 2.4.{18,21} In 2.4.21 the DEBUG in apus_pci.c was disabled, so don't be surprised, that there is less debug stuff. -- Marek Szyprowski .. GG:2309080 .. mailto:ma...@am... .. ...... happy AmigaOS, MacOS and Debian/Linux user ........ ........... http://march.home.staszic.waw.pl/ ............ |