Subject: Re: need advice regarding Au 1550 (MIPS) memory mapping
To: Garrett D'Amore <garrett_damore@tadpole.com>
From: Garrett D'Amore <garrett_damore@tadpole.com>
List: port-mips
Date: 10/14/2005 10:58:08
Okay, I have PCI working now, mostly.  (wi(4) doesn't work, because the 
bus_space_read_multi_stream() seems busted -- I don't understand it, but 
I'm getting scrambled data here -- not endian reversed, but almost as if 
caching is busted or somesuch.  I have work to do there.  Advice from 
anyone who's seem problems with wi(4) like this would be helpful.)

But ath(4) works fine.  So DMA, basic register access, and interrupt 
mapping seems to work.

Here's why we need a new port, though:

* paddr_t really does have to be 64-bit, I think, in order for mmap() to 
work properly for mmap() to work (needed for framebuffers).

* the bus_space_align_chipdep.c logic from the generic mips port is 
busted for little endian busses when the processor is running in 
big-endian mode.  And it lacks the bus_space_XXX_stream methods (it 
#define's them to the non-stream versions).

* having a new paddr_t seems to break some tools.  vmstat is busted 
right now, and my first guess is that this data structure is busted.  
Kernel grovelers will be busted as well.

So, my "aumips" port (maybe "alchemy" is a better name?) is going to 
remain apart from evbmips, for the time being.

Hopefully I'll be submitting patches back to netbsd before too long.

    -- Garrett