Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/include/arch/trap/sun4v/mmu.h

    rcade9c1 r730ff63  
    7373
    7474.macro FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
    75         mov TT_FAST_INSTRUCTION_ACCESS_MMU_MISS, %g2
    76         clr %g5         ! XXX
    77         PREEMPTIBLE_HANDLER exc_dispatch
     75        PREEMPTIBLE_HANDLER fast_instruction_access_mmu_miss
    7876.endm
    7977
     
    125123         * mapped. In such a case, this handler will be called from TL = 1.
    126124         * We handle the situation by pretending that the MMU miss occurred
    127          * on TL = 0. Once the MMU miss trap is serviced, the instruction which
     125         * on TL = 0. Once the MMU miss trap is services, the instruction which
    128126         * caused the spill/fill trap is restarted, the spill/fill trap occurs,
    129          * but this time its handler accesses memory which is mapped.
     127         * but this time its handler accesse memory which IS mapped.
    130128         */
    131129        .if (\tl > 0)
     
    133131        .endif
    134132
    135         mov TT_FAST_DATA_ACCESS_MMU_MISS, %g2
     133        /*
     134         * Save the faulting virtual page and faulting context to the %g2
     135         * register. The most significant 51 bits of the %g2 register will
     136         * contain the virtual address which caused the fault truncated to the
     137         * page boundary. The least significant 13 bits of the %g2 register
     138         * will contain the number of the context in which the fault occurred.
     139         * The value of the %g2 register will be passed as a parameter to the
     140         * higher level service routine.
     141         */
     142        or %g1, %g3, %g2
    136143
    137         /*
    138          * Save the faulting virtual page and faulting context to the %g5
    139          * register. The most significant 51 bits of the %g5 register will
    140          * contain the virtual address which caused the fault truncated to the
    141          * page boundary. The least significant 13 bits of the %g5 register
    142          * will contain the number of the context in which the fault occurred.
    143          * The value of the %g5 register will be stored in the istate structure
    144          * for inspeciton by the higher level service routine.
    145          */
    146         or %g1, %g3, %g5
    147 
    148         PREEMPTIBLE_HANDLER exc_dispatch
     144        PREEMPTIBLE_HANDLER fast_data_access_mmu_miss
    149145.endm
    150146
     
    174170        sllx %g1, TTE_DATA_TADDR_OFFSET, %g1
    175171
    176         mov TT_FAST_DATA_ACCESS_PROTECTION, %g2
     172        /* the same as for FAST_DATA_ACCESS_MMU_MISS_HANDLER */
     173        or %g1, %g3, %g2
    177174
    178         /* the same as for FAST_DATA_ACCESS_MMU_MISS_HANDLER */
    179         or %g1, %g3, %g5
    180 
    181         PREEMPTIBLE_HANDLER exc_dispatch
     175        PREEMPTIBLE_HANDLER fast_data_access_protection
    182176.endm
    183177#endif /* __ASM__ */
Note: See TracChangeset for help on using the changeset viewer.