Arm920T Cache problem

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
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

Re: Arm920T Cache problem
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

Site Timeline