Changeset a796127 in mainline for kernel/arch/sparc64/src/start.S


Ignore:
Timestamp:
2006-08-26T18:42:11Z (18 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c8ea4a8b
Parents:
f47fd19
Message:

sparc64 work.
Bunch of changes in preparation for sparc64 mm and userspace support.
Fix alignment of hardcoded_* variables in linker script.

File:
1 edited

Legend:

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

    rf47fd19 ra796127  
    3636.register %g2, #scratch
    3737.register %g3, #scratch
    38 .register %g6, #scratch
    39 .register %g7, #scratch
    4038
    4139.section K_TEXT_START, "ax"
     
    154152         */
    155153       
    156         set kernel_image_start, %g7
     154        set kernel_image_start, %g5
    157155       
    158156        ! write ITLB tag of context 1
     
    160158        set VA_DMMU_TAG_ACCESS, %g2
    161159        stxa %g1, [%g2] ASI_IMMU
    162         flush %g7
     160        flush %g5
    163161
    164162        ! write ITLB data and install the temporary mapping in context 1
    165163        SET_TLB_DATA(g1, g2, 0)                 ! use non-global mapping
    166164        stxa %g1, [%g0] ASI_ITLB_DATA_IN_REG           
    167         flush %g7
     165        flush %g5
    168166       
    169167        ! switch to context 1
    170168        set MEM_CONTEXT_TEMP, %g1
    171169        stxa %g1, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!!
    172         flush %g7
     170        flush %g5
    173171       
    174172        ! demap context 0
    175173        SET_TLB_DEMAP_CMD(g1, TLB_DEMAP_NUCLEUS)
    176174        stxa %g0, [%g1] ASI_IMMU_DEMAP                 
    177         flush %g7
     175        flush %g5
    178176       
    179177        ! write ITLB tag of context 0
     
    181179        set VA_DMMU_TAG_ACCESS, %g2
    182180        stxa %g1, [%g2] ASI_IMMU
    183         flush %g7
     181        flush %g5
    184182
    185183        ! write ITLB data and install the permanent kernel mapping in context 0
    186184        SET_TLB_DATA(g1, g2, 0)                 ! use non-global mapping
    187185        stxa %g1, [%g0] ASI_ITLB_DATA_IN_REG           
    188         flush %g7
     186        flush %g5
    189187
    190188        ! switch to context 0
    191189        stxa %g0, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!!
    192         flush %g7
     190        flush %g5
    193191
    194192        ! ensure nucleus mapping
     
    198196        set MEM_CONTEXT_TEMP, %g1
    199197        stxa %g1, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!!
    200         flush %g7
     198        flush %g5
    201199
    202200        ! demap context 1
    203201        SET_TLB_DEMAP_CMD(g1, TLB_DEMAP_PRIMARY)
    204202        stxa %g0, [%g1] ASI_IMMU_DEMAP                 
    205         flush %g7
     203        flush %g5
    206204       
    207205        ! set context 0 in the primary context register
    208206        stxa %g0, [VA_PRIMARY_CONTEXT_REG] %asi ! ASI_DMMU is correct here !!!
    209         flush %g7
     207        flush %g5
    210208       
    211209        ! set TL back to 0
Note: See TracChangeset for help on using the changeset viewer.