In a couple of places, I've read that the iop doesn't have a mmu/tlb, and that the virtual address space is fixed to be the entire physical address space. It isn't possible to remap stuff as you normally would with a mmu.
However, some docs about the ps1 cpu go into some detail about the tlb. In addition, I was looking at the bios for the ps2, and some of the code for the iop writes to entrylo/entryhi, and calls tlbwr, signs of it having a tlb.
So what gives? Is the tlb just stripped down/lacks most features, or is the tlb on the iop differant from the tlb on the r3000a in the playstation 1?
iop tlb question
Hm I made a mistake. It was just writing 0 to those registers, which I didn't notice until now. I'm assuming that the psx doc by Joshua Walker is wrong when it goes in depth on the tlb. However, I once saw something about some company that ported Linux to run on the psx. How did they do that if it doesn't have an operational tlb?
http://en.wikipedia.org/wiki/Runix
PSXLinux (also known as Runix) is a Linux kernel and development kit for the PlayStation (MIPS-NOMMU). PSXLinux is based on the μClinux 2.4.x kernel (www.uClinux.org) and contains specific support for the Sony PlayStation.