WRCTL
WRCTL(CTL_FSTATUS, flags);
WRCTL(CTL_IENABLE, ienable);
WRCTL(CTL_IENABLE, ienable);
WRCTL(CTL_PTEADDR, (addr >> PAGE_SHIFT) << 2);
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_PTEADDR, pteaddr_invalid(addr));
WRCTL(CTL_TLBACC, 0);
WRCTL(CTL_TLBMISC, org_misc);
WRCTL(CTL_PTEADDR, line << 2);
WRCTL(CTL_TLBMISC, TLBMISC_RD | (way << TLBMISC_WAY_SHIFT));
WRCTL(CTL_TLBMISC, org_misc);
WRCTL(CTL_PTEADDR, pteaddr_invalid(addr));
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_TLBACC, 0);
WRCTL(CTL_TLBMISC, org_misc);
WRCTL(CTL_PTEADDR, pteaddr_invalid(addr));
WRCTL(CTL_TLBMISC, TLBMISC_WE | (way << TLBMISC_WAY_SHIFT) |
WRCTL(CTL_TLBACC, 0);
WRCTL(CTL_TLBMISC, org_misc);
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_PTEADDR, (addr >> PAGE_SHIFT) << 2);
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_TLBMISC, tlbmisc);
WRCTL(CTL_PTEADDR, pteaddr_invalid(addr));
WRCTL(CTL_TLBACC, tlbacc);
WRCTL(CTL_TLBMISC, org_misc);