On 01.12.2009, at 19:33, Dima Ilyevsky wrote: > Hello All, > > I have a question about read permissions of TBL SPR for all ppc processors: > I have discovered that my application, compiled by WindRiver diab compiler > and running in vxworks OS on ppc405 architecture bumps into exception > generated when trying to read TBL or TBU registers:
Unless Linux does something funky, mftlb, mftbu (and mftb on 64 bit) are readable from PR=1. int main() { long tbu=0, tbl=0; asm("mftbu %0" : "=r" (tbu)); asm("mftbl %0" : "=r" (tbl)); printf("TB: %#x %#x\n", tbl, tbu); } ag...@lychee:/tmp> ./mftb TB: 0xc0397180 0x603 However it can't be written to: asm("mttbl %0" : : "r" (tbl)); ag...@lychee:/tmp> ./mftb Illegal instruction So yes, I'd suspect a bug in qemu here. Feel free to send a patch. Alex