~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/sparc/kernel/itlb_miss.S

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/sparc/kernel/itlb_miss.S (Architecture i386) and /arch/sparc/kernel/itlb_miss.S (Architecture sparc)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 /* ITLB ** ICACHE line 1: Context 0 check and       2 /* ITLB ** ICACHE line 1: Context 0 check and TSB load  */
  3         ldxa    [%g0] ASI_IMMU_TSB_8KB_PTR, %g      3         ldxa    [%g0] ASI_IMMU_TSB_8KB_PTR, %g1 ! Get TSB 8K pointer
  4         ldxa    [%g0] ASI_IMMU, %g6                 4         ldxa    [%g0] ASI_IMMU, %g6             ! Get TAG TARGET
  5         srlx    %g6, 48, %g5                        5         srlx    %g6, 48, %g5                    ! Get context
  6         sllx    %g6, 22, %g6                        6         sllx    %g6, 22, %g6                    ! Zero out context
  7         brz,pn  %g5, kvmap_itlb                     7         brz,pn  %g5, kvmap_itlb                 ! Context 0 processing
  8          srlx   %g6, 22, %g6                        8          srlx   %g6, 22, %g6                    ! Delay slot
  9         TSB_LOAD_QUAD(%g1, %g4)                     9         TSB_LOAD_QUAD(%g1, %g4)                 ! Load TSB entry
 10         cmp     %g4, %g6                           10         cmp     %g4, %g6                        ! Compare TAG
 11                                                    11 
 12 /* ITLB ** ICACHE line 2: TSB compare and TLB      12 /* ITLB ** ICACHE line 2: TSB compare and TLB load      */
 13         bne,pn  %xcc, tsb_miss_itlb                13         bne,pn  %xcc, tsb_miss_itlb             ! Miss
 14          mov    FAULT_CODE_ITLB, %g3               14          mov    FAULT_CODE_ITLB, %g3
 15         sethi   %hi(_PAGE_EXEC_4U), %g4            15         sethi   %hi(_PAGE_EXEC_4U), %g4
 16         andcc   %g5, %g4, %g0                      16         andcc   %g5, %g4, %g0                   ! Executable?
 17         be,pn   %xcc, tsb_do_fault                 17         be,pn   %xcc, tsb_do_fault
 18          nop                                       18          nop                                    ! Delay slot, fill me
 19         stxa    %g5, [%g0] ASI_ITLB_DATA_IN        19         stxa    %g5, [%g0] ASI_ITLB_DATA_IN     ! Load TLB
 20         retry                                      20         retry                                   ! Trap done
 21                                                    21 
 22 /* ITLB ** ICACHE line 3:                          22 /* ITLB ** ICACHE line 3:                               */
 23         nop                                        23         nop
 24         nop                                        24         nop
 25         nop                                        25         nop
 26         nop                                        26         nop
 27         nop                                        27         nop
 28         nop                                        28         nop
 29         nop                                        29         nop
 30         nop                                        30         nop
 31                                                    31 
 32 /* ITLB ** ICACHE line 4:                          32 /* ITLB ** ICACHE line 4:                               */
 33         nop                                        33         nop
 34         nop                                        34         nop
 35         nop                                        35         nop
 36         nop                                        36         nop
 37         nop                                        37         nop
 38         nop                                        38         nop
 39         nop                                        39         nop
 40         nop                                        40         nop
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php