radeonfb on Pegasos

Frank Wille <[email protected]>
Newsgroups gmane.os.netbsd.ports.ofppc
Organization Privates Internet Ostwestfalen/Lippe e.V.
Message-ID <[email protected]>
As mentioned in an earlier posting on this list radeonfb_attach() failed
when writing to the register space of the card. Now I did some debugging:

It happens in radeonfb_scratch_test(). First it reads a 32-bit register, which
works. Then it writes to the same register and crashes, because the
bus_space_map_write4-function (pbs_scalr.pbss_write_4) is a null-pointer!

Inspecting the memory with ddb showed me that the whole bus_space_tag_t
structure is destroyed! But only after the first read-access, although
nothing spectacular happens in between!

Looking at the address of the PCI mem-tag irritated me. It was something
like 0xd00053xx, which is in the same region as the Radeon's register space,
starting at 0xd0000000.

Then I remembered the KERNEL_SR and VM_MIN_KERNEL_ADDRESS defines, which, as
I understand it, define the start address of kernel-memory allocations?
KERNEL_SR is 13, so it is 0xd0000000 as well!

Maybe we have a conflict on the Pegasos?

The memory space for both PCI hosts occupy a memory range from 0x80000000 to
0xdfffffff. KERNEL_SR 13 probably won't work?

Without exactly knowing what I do, I changed KERNEL_SR to 10, KERNEL2_SR to
11 and USER_SR (which was at 11) to 14. But then the kernel panics
immediately (before the copyright):

panic: _uvm_mapent_check: bad entry 0xa0001018 (/home/frank/netbsd/current/src/sys/uvm/uvm_map.c:1488)

Hmm... I'm lost at the moment...

-- 
    _  Frank Wille ([email protected])
 _ //  http://sun.hasenbraten.de/~frank/
 \X/   Phx @ #AmigaGer
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.