Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/sun4u/start.S

    r1b20da0 ra35b458  
    8585        ! Get bits (PHYSMEM_ADDR_SIZE - 1):13 of physmem_base.
    8686        srlx %l6, 13, %l5
    87        
     87
    8888        ! l5 <= physmem_base[(PHYSMEM_ADDR_SIZE - 1):13]
    8989        sllx %l5, 13 + (63 - (PHYSMEM_ADDR_SIZE - 1)), %l5
     
    101101        wrpr %g0, NWINDOWS - 1, %cleanwin       ! prevent needless clean_window
    102102                                                ! traps for kernel
    103                                                
     103
    104104        wrpr %g0, 0, %wstate                    ! use default spill/fill trap
    105105
     
    132132        set (TLB_DEMAP_CONTEXT << TLB_DEMAP_TYPE_SHIFT) | (context_id << \
    133133                TLB_DEMAP_CONTEXT_SHIFT), %r1
    134        
     134
    135135        ! demap context 0
    136136        SET_TLB_DEMAP_CMD(g1, TLB_DEMAP_NUCLEUS)
     
    161161        sllx %r2, TTE_V_SHIFT, %r2; \
    162162        or %r1, %r2, %r1;
    163        
     163
    164164        ! write DTLB data and install the kernel mapping
    165165        SET_TLB_DATA(g1, g2, TTE_L | TTE_W)     ! use non-global mapping
     
    182182        stxa %g1, [%g0] ASI_DTLB_DATA_IN_REG
    183183        membar #Sync
    184        
     184
    185185        /*
    186186         * Now is time to take over the IMMU. Unfortunatelly, it cannot be done
     
    202202         * the taken over DTLB.
    203203         */
    204        
     204
    205205        set kernel_image_start, %g5
    206        
     206
    207207        ! write ITLB tag of context 1
    208208        SET_TLB_TAG(g1, MEM_CONTEXT_TEMP)
     
    215215        stxa %g1, [%g0] ASI_ITLB_DATA_IN_REG
    216216        flush %g5
    217        
     217
    218218        ! switch to context 1
    219219        mov MEM_CONTEXT_TEMP, %g1
    220220        stxa %g1, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!!
    221221        flush %g5
    222        
     222
    223223        ! demap context 0
    224224        SET_TLB_DEMAP_CMD(g1, TLB_DEMAP_NUCLEUS)
    225225        stxa %g0, [%g1] ASI_IMMU_DEMAP
    226226        flush %g5
    227        
     227
    228228        ! write ITLB tag of context 0
    229229        SET_TLB_TAG(g1, MEM_CONTEXT_KERNEL)
     
    244244        stxa %g0, [%g1] ASI_IMMU_DEMAP
    245245        flush %g5
    246        
     246
    247247        ! set context 0 in the primary context register
    248248        stxa %g0, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!!
    249249        flush %g5
    250        
     250
    251251        ! leave nucleus - using primary context, i.e. context 0
    252252        wrpr %g0, 0, %tl
     
    271271        or %l3, %l5, %l3
    272272        stx %l3, [%l4 + %lo(kernel_8k_tlb_data_template)]
    273        
     273
    274274        ! flush the whole D-cache
    275275        set (DCACHE_SIZE - DCACHE_LINE_SIZE), %g1
    276276        stxa %g0, [%g1] ASI_DCACHE_TAG
    277        
     277
    2782780:
    279279        membar #Sync
     
    282282        stxa %g0, [%g1] ASI_DCACHE_TAG
    283283        membar #Sync
    284        
     284
    285285        /*
    286286         * So far, we have not touched the stack.
     
    290290        or %sp, %lo(temporary_boot_stack), %sp
    291291        sub %sp, STACK_BIAS, %sp
    292        
     292
    293293        /*
    294294         * Call sparc64_pre_main(bootinfo)
     
    296296        call sparc64_pre_main
    297297        mov %o1, %o0
    298        
     298
    299299        /*
    300300         * Create the first stack frame.
     
    372372        /* Not reached. */
    373373#endif
    374        
     374
    3753750:
    376376        ba,a %xcc, 0b
Note: See TracChangeset for help on using the changeset viewer.