[NSWI004] TLB refill

Georgii Ekserdzhian gxrjan at gmail.com
Fri Dec 11 15:55:51 CET 2020


Good afternoon.

I have a question regarding TLB refill:
1) In the hints you ask "What happens when timer interrupt occurs when in
the middle of TLB exception handling?" I don't see how that is possible. We
call TLB exception handler from handle_exception_handle during which the
interrupts are disabled, right?
2) You also asked what happens when handle_tlb_refill returns. Once again
wouldn't it just return handle_exception_general?
3) My team wrote the code for TLB refill. So in theory we update the TLB
with the proper entry, so once the handle_exception_returns it should go
back to the instruction that caused the exception. But the code goes back
to the handle_exception_general function. And I think I understand why. We
experienced the same thing with timer interrupts, where we didn't reset one
bit and CPU thought that interrupt was still going on and it would cycle
back to handle_exception_general. So some bit is set somewhere, which tells
the CPU that exception is still going on. But I don't know which bit I need
to reset(or set) to calm the CPU. I suspect EXL has something to do with
it, but I'm not sure. I read about it the manual over and over and it seems
like it has some many meanings and different consequences that I get lost.

Georgii Ekserdzhian
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://d3s.mff.cuni.cz/pipermail/nswi004/attachments/20201211/ef79e3e8/attachment.htm>


More information about the NSWI004 mailing list