Tarl Neustaedter wrote:
Continuing to work on Milax, I've found out that the infinite loop bug I'm getting here is because of an MMU problem - two different virtual addresses appear to be mapped to the same physical address.
I believe that's legal. I know that OBP used to do that on sun4s systems.
Oh that's interesting to know; however in this case I'm fairly confident it's broken :( What happens is that first the volume descriptor is read from the ISO image into a special buffer, and subsequent reads for file entries should then go into a different buffer. Unfortunately the subsequent reads into the second buffer seem to be mapped to the same memory location as the volume descriptor, and so they overwrite the volume descriptor causing things to get stuck in a tight loop because of incorrect descriptor values :(
I've actually verified this by changing a value in the second buffer and seeing the same change in the volume descriptor buffer...
ATB,
Mark.