Martijn Stolk | 7 Jun 2010 00:32
Picon
Gravatar

Re: Trying to add post-fbprintf per-architecture callback (i.e. for DMA'ing)

The memPhysMap() gives me the virtual address for the given physical 
address. For some reason, this address still works after the MMU is 
disabled. I'm not sure why. I suppose the Machine should have a way to 
determine wether the MMU is currently enabled or disabled, so that it 
can use the correct addresses. It works for the QSD8xxx, but that's 
probably an exception then ;-)

Regards,
Martijn

On 6-6-2010 23:50, Kevin O'Connor wrote:
> On Sun, Jun 06, 2010 at 11:13:37PM +0200, Martijn Stolk wrote:
>    
>> Thanks for your response. You were correct, calculating the function
>> address that way does make it work.
>>      
> Great!
>
>    
>> However, now I probably need to
>> keep two addresses, or transform the address once the MMU is
>> disabled. This is because fbprintf() is used before and after the
>> MMU is disabled.
>>      
> Yeah, that is a pain.  I guess transforming the address just
> before/after the call to preloader() isn't so bad.
>
> Is that why there are calls to memPhysMap() in getPostFbCallback()?
> Will that mean also having to switch between using phys addresses and
> virt addresses there as well?
>
>    
>> Regarding moving the callback to the linboot.cpp, I don't see why
>> (or how). The callback is specifically meant to be called after an
>> fbprintf()
>>      
> Sorry - I missed that.  (I thought it was just called once to do
> initialization).  Please ignore my original comment.
>
> -Kevin
>    


Gmane