Subversion Repositories HelenOS

Rev

Rev 1891 | Rev 1978 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1891 Rev 1954
Line 58... Line 58...
58
 
58
 
59
.macro FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
59
.macro FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
60
    /*
60
    /*
61
     * First, try to refill TLB from TSB.
61
     * First, try to refill TLB from TSB.
62
     */
62
     */
63
 
-
 
64
#ifdef CONFIG_TSB
63
#ifdef CONFIG_TSB
65
    ldxa [%g0] ASI_IMMU, %g1            ! read TSB Tag Target Register
64
    ldxa [%g0] ASI_IMMU, %g1            ! read TSB Tag Target Register
66
    ldxa [%g0] ASI_IMMU_TSB_8KB_PTR_REG, %g2    ! read TSB 8K Pointer
65
    ldxa [%g0] ASI_IMMU_TSB_8KB_PTR_REG, %g2    ! read TSB 8K Pointer
67
    ldda [%g2] ASI_NUCLEUS_QUAD_LDD, %g4        ! 16-byte atomic load into %g4 and %g5
66
    ldda [%g2] ASI_NUCLEUS_QUAD_LDD, %g4        ! 16-byte atomic load into %g4 and %g5
68
    cmp %g1, %g4                    ! is this the entry we are looking for?
67
    cmp %g1, %g4                    ! is this the entry we are looking for?
Line 82... Line 81...
82
     * First, try to refill TLB from TSB.
81
     * First, try to refill TLB from TSB.
83
     */
82
     */
84
 
83
 
85
#ifdef CONFIG_TSB
84
#ifdef CONFIG_TSB
86
    ldxa [%g0] ASI_DMMU, %g1            ! read TSB Tag Target Register
85
    ldxa [%g0] ASI_DMMU, %g1            ! read TSB Tag Target Register
87
    srlx %g1, TSB_TAG_TARGET_CONTEXT_SHIFT, %g2 ! is this kernel miss?
86
    srlx %g1, TSB_TAG_TARGET_CONTEXT_SHIFT, %g2 ! is this a kernel miss?
88
    brz,pn %g2, 0f
87
    brz,pn %g2, 0f
89
    ldxa [%g0] ASI_DMMU_TSB_8KB_PTR_REG, %g3    ! read TSB 8K Pointer
88
    ldxa [%g0] ASI_DMMU_TSB_8KB_PTR_REG, %g3    ! read TSB 8K Pointer
90
    ldda [%g3] ASI_NUCLEUS_QUAD_LDD, %g4        ! 16-byte atomic load into %g4 and %g5
89
    ldda [%g3] ASI_NUCLEUS_QUAD_LDD, %g4        ! 16-byte atomic load into %g4 and %g5
91
    cmp %g1, %g4                    ! is this the entry we are looking for?
90
    cmp %g1, %g4                    ! is this the entry we are looking for?
92
    bne,pn %xcc, 0f
91
    bne,pn %xcc, 0f