Arm920T Cache problem

Jul 07, 2004 1 Replies

Having a problem with caching that I can't seem to figure out. Here's the situation.



Current, my video memory is located at 0x00100000 My text buffer for an emulated text mode is located at 0x00300000



When I set those two regions cached (C=1, B=1), everything works just fine....



Now, if I map those identical regions to a virtual address.


0xA0000000 for the video
0xB0000000 for the text buffer

The video buffer appears to work fine (but then again, I'm also not reading from it).



The text buffer however, I seem to get odd problems of it not being updated correctly. Almost as if the cache is becoming incoherent.



If I turn caching off (C=0,B=0)....everything works, though I obviously suffer a loss in speed that I would like to avoid.



I've also tried all combinations for the C & B bits. B=1 never causes a problem, C=1 always causes a problem. Normally I'd just say ok, I can't cache this. But, since it works when NOT using a virtual address, I'm wondering why it doesn't work when I do use a virtual address.



Any help is greatly appreciated!!!



Thanks,



Stephan


Found the problem...

Header file wasn't being updated soooo..

One function was accessing physical address.. One function was accessing virtual address of same physical address..

Yea, cache is gonna luv that one...

Stephan

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required