I'v added a code to debug the TLB misses in my kernel (2.2)
I'm running QED RM5271 in big mips mode ; I'v added the following code :
8004de54: 3c010300 lui $at,0x300
8004de58: ac200000 sw $zero,0($at)
which simply writes zero to virtual address 0x03000000, this code is
invoked in kernel mode in kernel space and tries to write to user space.
after this I get a TLB exception with an error TLBL (TLB miss because of
load or instruction fetch) !!!!!!!!!!!!!!!
instead of TLBS.
the CP0_STATUS = 00800008
p.s. I have also strange values in the BADVADDR and CONEXT.
can any one speculate what is the problem ?
do I need to do any thing special to access user space in kernel mode ?