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 bufferThe 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