Here is my imarginal LM32 TLB refill handler in psedo assember code. I never step across TLB off/on issue here.
It's O(1) algorithm to update TLB content made possible by layouting PTE in a single linear array in kernel address space. Note that some i386 OS employs the very same O(1) lookup strategy but most users are not aware of the fact. TLBrefill: # sometimes called fast TLB miss handler entry rcsr $et, CONTEXT ld $et, 0($et) wcsr TLBLO, $et Note that it does not check the validity of $et value before TLB injection before wcsr. The occasion will be catched by another exceptional condition to be solved by OS (in longer code path) The O(1) array is mapped in kernel address space by TLB. There is such an occasion that the ld insn triggers TLB miss *while exception handler path* and it's the case while EXL bit takes effect. -nisimura _______________________________________________ Devel mailing list [email protected] https://ssl.serverraum.org/lists/listinfo/devel
