Lines Matching full:we
199 * (PTEVADDR base, the one mapping 0x00000000) so that we can
200 * use this to obtain the virtual address of the PTE page we are
205 * miss if we are to use l32r to load the PTEVADDR base.
207 * not in TLB, we will need to handle the TLB miss which
208 * we are trying to avoid here.
231 * is problematic when we are in the middle of dealing with another
232 * exception or handling an interrupt. So we need to put the PTE page
250 * 1. We need to find the virtual address of the PTE page
252 * register ADDR_REG. To do this, we first need to find
260 * we divide the address obtained in step (a) by
266 * we can shift right 22 bits, and then shift left
269 * 2. Once we have combine the results from step (1) and
312 * We make this work by inserting TWO 4-register frames between
324 * spill our two "phantom frames" (actually not quite, as we'd need a
327 * SPILLED on interrupt entry. And if we return back into the same
328 * context we interrupted (a common case) no windows need to be
348 * arrive (we restore the natural INTLEVEL from the value in ZSR_EPS
372 /* We want an ENTRY to set a bit in windowstart and do the
373 * rotation, but we want our own SP. After that, we are
426 * we are in a interruption we don't want the system
452 * when we unmask EXCM below, the CPU will just fire the
474 * resulting frames are invalid/non-reentrant, so we can't
475 * allow nested interrupts. But we do need EXCM unmasked, as
476 * we use CALL/ENTRY instructions in the process and need to
484 /* Since we are unmasking EXCM, we need to set RING bits to kernel
485 * mode, otherwise we won't be able to run the exception handler in C.
496 * entirely new area depending on whether we find a 1 in our
518 * execution) while we muck with the windows and decrement the nested
531 * is not the same handle as we started with, we need to do a
553 /* With userspace, we cannot simply restore A1 stack pointer
554 * at this pointer because we need to swap page tables to
555 * the incoming thread, and we do not want to call that
556 * function with thread's stack. So we stash the new stack
557 * pointer into A2 first, then move it to A1 after we have
563 * returned above is not the same handle as we started
564 * with. This means we are being restored to another
646 /* If stashed DEPC is not zero, we have started servicing
647 * a double exception and yet we are here because there is
658 * vectors that may never get resolved. Since we stash DEPC
660 * once the double exception has been processed, we can use
685 * interrupted PS, instead we just assume that the CPU has
692 * We do not want to unconditionally unmask interrupts.
694 * and we need to preserve the interrupt mask.
720 * link by dumb luck, others won't. We add an extra jump just
721 * to clear space we know to be legal.