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