Changeset a52e2f4 in mainline for kernel/arch/sparc64/src/trap


Ignore:
Timestamp:
2016-04-23T20:27:28Z (10 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
0407636
Parents:
27f67f5
Message:

sparc64: use asmtool.h macros for defining symbols

Location:
kernel/arch/sparc64/src/trap
Files:
3 edited

Legend:

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

    r27f67f5 ra52e2f4  
    3737.text
    3838
     39#include <abi/asmtool.h>
    3940#include <arch/trap/trap_table.h>
    4041#include <arch/trap/regwin.h>
     
    5556 */
    5657.align TABLE_SIZE
    57 .global trap_table
    58 trap_table:
     58SYMBOL(trap_table)
    5959
    6060/* TT = 0x08, TL = 0, instruction_access_exception */
    6161.org trap_table + TT_INSTRUCTION_ACCESS_EXCEPTION*ENTRY_SIZE
    62 .global instruction_access_exception_tl0
    63 instruction_access_exception_tl0:
     62SYMBOL(instruction_access_exception_tl0)
    6463        wrpr %g0, PSTATE_AG_BIT | PSTATE_PRIV_BIT, %pstate
    6564        mov TT_INSTRUCTION_ACCESS_EXCEPTION, %g2
     
    6968/* TT = 0x0a, TL = 0, instruction_access_error */
    7069.org trap_table + TT_INSTRUCTION_ACCESS_ERROR*ENTRY_SIZE
    71 .global instruction_access_error_tl0
    72 instruction_access_error_tl0:
     70SYMBOL(instruction_access_error_tl0)
    7371        mov TT_INSTRUCTION_ACCESS_ERROR, %g2
    7472        clr %g5
     
    7775/* TT = 0x10, TL = 0, illegal_instruction */
    7876.org trap_table + TT_ILLEGAL_INSTRUCTION*ENTRY_SIZE
    79 .global illegal_instruction_tl0
    80 illegal_instruction_tl0:
     77SYMBOL(illegal_instruction_tl0)
    8178        mov TT_ILLEGAL_INSTRUCTION, %g2
    8279        clr %g5
     
    8582/* TT = 0x11, TL = 0, privileged_opcode */
    8683.org trap_table + TT_PRIVILEGED_OPCODE*ENTRY_SIZE
    87 .global privileged_opcode_tl0
    88 privileged_opcode_tl0:
     84SYMBOL(privileged_opcode_tl0)
    8985        mov TT_PRIVILEGED_OPCODE, %g2
    9086        clr %g5
     
    9389/* TT = 0x12, TL = 0, unimplemented_LDD */
    9490.org trap_table + TT_UNIMPLEMENTED_LDD*ENTRY_SIZE
    95 .global unimplemented_LDD_tl0
    96 unimplemented_LDD_tl0:
     91SYMBOL(unimplemented_LDD_tl0)
    9792        mov TT_UNIMPLEMENTED_LDD, %g2
    9893        clr %g5
     
    10196/* TT = 0x13, TL = 0, unimplemented_STD */
    10297.org trap_table + TT_UNIMPLEMENTED_STD*ENTRY_SIZE
    103 .global unimplemented_STD_tl0
    104 unimplemented_STD_tl0:
     98SYMBOL(unimplemented_STD_tl0)
    10599        mov TT_UNIMPLEMENTED_STD, %g2
    106100        clr %g5
     
    109103/* TT = 0x20, TL = 0, fb_disabled handler */
    110104.org trap_table + TT_FP_DISABLED*ENTRY_SIZE
    111 .global fb_disabled_tl0
    112 fp_disabled_tl0:
     105SYMBOL(fp_disabled_tl0)
    113106        mov TT_FP_DISABLED, %g2
    114107        clr %g5
     
    117110/* TT = 0x21, TL = 0, fb_exception_ieee_754 handler */
    118111.org trap_table + TT_FP_EXCEPTION_IEEE_754*ENTRY_SIZE
    119 .global fb_exception_ieee_754_tl0
    120 fp_exception_ieee_754_tl0:
     112SYMBOL(fp_exception_ieee_754_tl0)
    121113        mov TT_FP_EXCEPTION_IEEE_754, %g2
    122114        clr %g5
     
    125117/* TT = 0x22, TL = 0, fb_exception_other handler */
    126118.org trap_table + TT_FP_EXCEPTION_OTHER*ENTRY_SIZE
    127 .global fb_exception_other_tl0
    128 fp_exception_other_tl0:
     119SYMBOL(fp_exception_other_tl0)
    129120        mov TT_FP_EXCEPTION_OTHER, %g2
    130121        clr %g5
     
    133124/* TT = 0x23, TL = 0, tag_overflow */
    134125.org trap_table + TT_TAG_OVERFLOW*ENTRY_SIZE
    135 .global tag_overflow_tl0
    136 tag_overflow_tl0:
     126SYMBOL(tag_overflow_tl0)
    137127        mov TT_TAG_OVERFLOW, %g2
    138128        clr %g5
     
    141131/* TT = 0x24, TL = 0, clean_window handler */
    142132.org trap_table + TT_CLEAN_WINDOW*ENTRY_SIZE
    143 .global clean_window_tl0
    144 clean_window_tl0:
     133SYMBOL(clean_window_tl0)
    145134        CLEAN_WINDOW_HANDLER
    146135
    147136/* TT = 0x28, TL = 0, division_by_zero */
    148137.org trap_table + TT_DIVISION_BY_ZERO*ENTRY_SIZE
    149 .global division_by_zero_tl0
    150 division_by_zero_tl0:
     138SYMBOL(division_by_zero_tl0)
    151139        mov TT_DIVISION_BY_ZERO, %g2
    152140        clr %g5
     
    155143/* TT = 0x30, TL = 0, data_access_exception */
    156144.org trap_table + TT_DATA_ACCESS_EXCEPTION*ENTRY_SIZE
    157 .global data_access_exception_tl0
    158 data_access_exception_tl0:
     145SYMBOL(data_access_exception_tl0)
    159146        wrpr %g0, PSTATE_AG_BIT | PSTATE_PRIV_BIT, %pstate
    160147        mov TT_DATA_ACCESS_EXCEPTION, %g2
     
    164151/* TT = 0x32, TL = 0, data_access_error */
    165152.org trap_table + TT_DATA_ACCESS_ERROR*ENTRY_SIZE
    166 .global data_access_error_tl0
    167 data_access_error_tl0:
     153SYMBOL(data_access_error_tl0)
    168154        mov TT_DATA_ACCESS_ERROR, %g2
    169155        clr %g5
     
    172158/* TT = 0x34, TL = 0, mem_address_not_aligned */
    173159.org trap_table + TT_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    174 .global mem_address_not_aligned_tl0
    175 mem_address_not_aligned_tl0:
     160SYMBOL(mem_address_not_aligned_tl0)
    176161        mov TT_MEM_ADDRESS_NOT_ALIGNED, %g2
    177162        clr %g5
     
    180165/* TT = 0x35, TL = 0, LDDF_mem_address_not_aligned */
    181166.org trap_table + TT_LDDF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    182 .global LDDF_mem_address_not_aligned_tl0
    183 LDDF_mem_address_not_aligned_tl0:
     167SYMBOL(LDDF_mem_address_not_aligned_tl0)
    184168        mov TT_LDDF_MEM_ADDRESS_NOT_ALIGNED, %g2
    185169        clr %g5
     
    188172/* TT = 0x36, TL = 0, STDF_mem_address_not_aligned */
    189173.org trap_table + TT_STDF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    190 .global STDF_mem_address_not_aligned_tl0
    191 STDF_mem_address_not_aligned_tl0:
     174SYMBOL(STDF_mem_address_not_aligned_tl0)
    192175        mov TT_STDF_MEM_ADDRESS_NOT_ALIGNED, %g2
    193176        clr %g5
     
    196179/* TT = 0x37, TL = 0, privileged_action */
    197180.org trap_table + TT_PRIVILEGED_ACTION*ENTRY_SIZE
    198 .global privileged_action_tl0
    199 privileged_action_tl0:
     181SYMBOL(privileged_action_tl0)
    200182        mov TT_PRIVILEGED_ACTION, %g2
    201183        clr %g5
     
    204186/* TT = 0x38, TL = 0, LDQF_mem_address_not_aligned */
    205187.org trap_table + TT_LDQF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    206 .global LDQF_mem_address_not_aligned_tl0
    207 LDQF_mem_address_not_aligned_tl0:
     188SYMBOL(LDQF_mem_address_not_aligned_tl0)
    208189        mov TT_LDQF_MEM_ADDRESS_NOT_ALIGNED, %g2
    209190        clr %g5
     
    212193/* TT = 0x39, TL = 0, STQF_mem_address_not_aligned */
    213194.org trap_table + TT_STQF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    214 .global STQF_mem_address_not_aligned_tl0
    215 STQF_mem_address_not_aligned_tl0:
     195SYMBOL(STQF_mem_address_not_aligned_tl0)
    216196        mov TT_STQF_MEM_ADDRESS_NOT_ALIGNED, %g2
    217197        clr %g5
     
    220200/* TT = 0x41, TL = 0, interrupt_level_1 handler */
    221201.org trap_table + TT_INTERRUPT_LEVEL_1*ENTRY_SIZE
    222 .global interrupt_level_1_handler_tl0
    223 interrupt_level_1_handler_tl0:
     202SYMBOL(interrupt_level_1_handler_tl0)
    224203        mov TT_INTERRUPT_LEVEL_1, %g2
    225204        clr %g5
     
    228207/* TT = 0x42, TL = 0, interrupt_level_2 handler */
    229208.org trap_table + TT_INTERRUPT_LEVEL_2*ENTRY_SIZE
    230 .global interrupt_level_2_handler_tl0
    231 interrupt_level_2_handler_tl0:
     209SYMBOL(interrupt_level_2_handler_tl0)
    232210        mov TT_INTERRUPT_LEVEL_2, %g2
    233211        clr %g5
     
    236214/* TT = 0x43, TL = 0, interrupt_level_3 handler */
    237215.org trap_table + TT_INTERRUPT_LEVEL_3*ENTRY_SIZE
    238 .global interrupt_level_3_handler_tl0
    239 interrupt_level_3_handler_tl0:
     216SYMBOL(interrupt_level_3_handler_tl0)
    240217        mov TT_INTERRUPT_LEVEL_3, %g2
    241218        clr %g5
     
    244221/* TT = 0x44, TL = 0, interrupt_level_4 handler */
    245222.org trap_table + TT_INTERRUPT_LEVEL_4*ENTRY_SIZE
    246 .global interrupt_level_4_handler_tl0
    247 interrupt_level_4_handler_tl0:
     223SYMBOL(interrupt_level_4_handler_tl0)
    248224        mov TT_INTERRUPT_LEVEL_4, %g2
    249225        clr %g5
     
    252228/* TT = 0x45, TL = 0, interrupt_level_5 handler */
    253229.org trap_table + TT_INTERRUPT_LEVEL_5*ENTRY_SIZE
    254 .global interrupt_level_5_handler_tl0
    255 interrupt_level_5_handler_tl0:
     230SYMBOL(interrupt_level_5_handler_tl0)
    256231        mov TT_INTERRUPT_LEVEL_5, %g2
    257232        clr %g5
     
    260235/* TT = 0x46, TL = 0, interrupt_level_6 handler */
    261236.org trap_table + TT_INTERRUPT_LEVEL_6*ENTRY_SIZE
    262 .global interrupt_level_6_handler_tl0
    263 interrupt_level_6_handler_tl0:
     237SYMBOL(interrupt_level_6_handler_tl0)
    264238        mov TT_INTERRUPT_LEVEL_6, %g2
    265239        clr %g5
     
    268242/* TT = 0x47, TL = 0, interrupt_level_7 handler */
    269243.org trap_table + TT_INTERRUPT_LEVEL_7*ENTRY_SIZE
    270 .global interrupt_level_7_handler_tl0
    271 interrupt_level_7_handler_tl0:
     244SYMBOL(interrupt_level_7_handler_tl0)
    272245        mov TT_INTERRUPT_LEVEL_7, %g2
    273246        clr %g5
     
    276249/* TT = 0x48, TL = 0, interrupt_level_8 handler */
    277250.org trap_table + TT_INTERRUPT_LEVEL_8*ENTRY_SIZE
    278 .global interrupt_level_8_handler_tl0
    279 interrupt_level_8_handler_tl0:
     251SYMBOL(interrupt_level_8_handler_tl0)
    280252        mov TT_INTERRUPT_LEVEL_8, %g2
    281253        clr %g5
     
    284256/* TT = 0x49, TL = 0, interrupt_level_9 handler */
    285257.org trap_table + TT_INTERRUPT_LEVEL_9*ENTRY_SIZE
    286 .global interrupt_level_9_handler_tl0
    287 interrupt_level_9_handler_tl0:
     258SYMBOL(interrupt_level_9_handler_tl0)
    288259        mov TT_INTERRUPT_LEVEL_9, %g2
    289260        clr %g5
     
    292263/* TT = 0x4a, TL = 0, interrupt_level_10 handler */
    293264.org trap_table + TT_INTERRUPT_LEVEL_10*ENTRY_SIZE
    294 .global interrupt_level_10_handler_tl0
    295 interrupt_level_10_handler_tl0:
     265SYMBOL(interrupt_level_10_handler_tl0)
    296266        mov TT_INTERRUPT_LEVEL_10, %g2
    297267        clr %g5
     
    300270/* TT = 0x4b, TL = 0, interrupt_level_11 handler */
    301271.org trap_table + TT_INTERRUPT_LEVEL_11*ENTRY_SIZE
    302 .global interrupt_level_11_handler_tl0
    303 interrupt_level_11_handler_tl0:
     272SYMBOL(interrupt_level_11_handler_tl0)
    304273        mov TT_INTERRUPT_LEVEL_11, %g2
    305274        clr %g5
     
    308277/* TT = 0x4c, TL = 0, interrupt_level_12 handler */
    309278.org trap_table + TT_INTERRUPT_LEVEL_12*ENTRY_SIZE
    310 .global interrupt_level_12_handler_tl0
    311 interrupt_level_12_handler_tl0:
     279SYMBOL(interrupt_level_12_handler_tl0)
    312280        mov TT_INTERRUPT_LEVEL_12, %g2
    313281        clr %g5
     
    316284/* TT = 0x4d, TL = 0, interrupt_level_13 handler */
    317285.org trap_table + TT_INTERRUPT_LEVEL_13*ENTRY_SIZE
    318 .global interrupt_level_13_handler_tl0
    319 interrupt_level_13_handler_tl0:
     286SYMBOL(interrupt_level_13_handler_tl0)
    320287        mov TT_INTERRUPT_LEVEL_13, %g2
    321288        clr %g5
     
    324291/* TT = 0x4e, TL = 0, interrupt_level_14 handler */
    325292.org trap_table + TT_INTERRUPT_LEVEL_14*ENTRY_SIZE
    326 .global interrupt_level_14_handler_tl0
    327 interrupt_level_14_handler_tl0:
     293SYMBOL(interrupt_level_14_handler_tl0)
    328294        mov TT_INTERRUPT_LEVEL_14, %g2
    329295        clr %g5
     
    332298/* TT = 0x4f, TL = 0, interrupt_level_15 handler */
    333299.org trap_table + TT_INTERRUPT_LEVEL_15*ENTRY_SIZE
    334 .global interrupt_level_15_handler_tl0
    335 interrupt_level_15_handler_tl0:
     300SYMBOL(interrupt_level_15_handler_tl0)
    336301        mov TT_INTERRUPT_LEVEL_15, %g2
    337302        clr %g5
     
    340305/* TT = 0x60, TL = 0, interrupt_vector_trap handler */
    341306.org trap_table + TT_INTERRUPT_VECTOR_TRAP*ENTRY_SIZE
    342 .global interrupt_vector_trap_handler_tl0
    343 interrupt_vector_trap_handler_tl0:
     307SYMBOL(interrupt_vector_trap_handler_tl0)
    344308        mov TT_INTERRUPT_VECTOR_TRAP, %g2
    345309        clr %g5
     
    348312/* TT = 0x64, TL = 0, fast_instruction_access_MMU_miss */
    349313.org trap_table + TT_FAST_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
    350 .global fast_instruction_access_mmu_miss_handler_tl0
    351 fast_instruction_access_mmu_miss_handler_tl0:
     314SYMBOL(fast_instruction_access_mmu_miss_handler_tl0)
    352315        FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
    353316
    354317/* TT = 0x68, TL = 0, fast_data_access_MMU_miss */
    355318.org trap_table + TT_FAST_DATA_ACCESS_MMU_MISS*ENTRY_SIZE
    356 .global fast_data_access_mmu_miss_handler_tl0
    357 fast_data_access_mmu_miss_handler_tl0:
     319SYMBOL(fast_data_access_mmu_miss_handler_tl0)
    358320        FAST_DATA_ACCESS_MMU_MISS_HANDLER 0
    359321
    360322/* TT = 0x6c, TL = 0, fast_data_access_protection */
    361323.org trap_table + TT_FAST_DATA_ACCESS_PROTECTION*ENTRY_SIZE
    362 .global fast_data_access_protection_handler_tl0
    363 fast_data_access_protection_handler_tl0:
     324SYMBOL(fast_data_access_protection_handler_tl0)
    364325        FAST_DATA_ACCESS_PROTECTION_HANDLER 0
    365326
    366327/* TT = 0x80, TL = 0, spill_0_normal handler */
    367328.org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE
    368 .global spill_0_normal_tl0
    369 spill_0_normal_tl0:
     329SYMBOL(spill_0_normal_tl0)
    370330        SPILL_NORMAL_HANDLER_KERNEL
    371331
    372332/* TT = 0x84, TL = 0, spill_1_normal handler */
    373333.org trap_table + TT_SPILL_1_NORMAL*ENTRY_SIZE
    374 .global spill_1_normal_tl0
    375 spill_1_normal_tl0:
     334SYMBOL(spill_1_normal_tl0)
    376335        SPILL_NORMAL_HANDLER_USERSPACE
    377336
    378337/* TT = 0x88, TL = 0, spill_2_normal handler */
    379338.org trap_table + TT_SPILL_2_NORMAL*ENTRY_SIZE
    380 .global spill_2_normal_tl0
    381 spill_2_normal_tl0:
     339SYMBOL(spill_2_normal_tl0)
    382340        SPILL_TO_USPACE_WINDOW_BUFFER
    383341
    384342/* TT = 0xa0, TL = 0, spill_0_other handler */
    385343.org trap_table + TT_SPILL_0_OTHER*ENTRY_SIZE
    386 .global spill_0_other_tl0
    387 spill_0_other_tl0:
     344SYMBOL(spill_0_other_tl0)
    388345        SPILL_TO_USPACE_WINDOW_BUFFER
    389346
    390347/* TT = 0xc0, TL = 0, fill_0_normal handler */
    391348.org trap_table + TT_FILL_0_NORMAL*ENTRY_SIZE
    392 .global fill_0_normal_tl0
    393 fill_0_normal_tl0:
     349SYMBOL(fill_0_normal_tl0)
    394350        FILL_NORMAL_HANDLER_KERNEL
    395351
    396352/* TT = 0xc4, TL = 0, fill_1_normal handler */
    397353.org trap_table + TT_FILL_1_NORMAL*ENTRY_SIZE
    398 .global fill_1_normal_tl0
    399 fill_1_normal_tl0:
     354SYMBOL(fill_1_normal_tl0)
    400355        FILL_NORMAL_HANDLER_USERSPACE
    401356
     
    410365    127
    411366.org trap_table + (TT_TRAP_INSTRUCTION_0+\cur)*ENTRY_SIZE
    412 .global trap_instruction_\cur\()_tl0
    413 trap_instruction_\cur\()_tl0:
     367SYMBOL(trap_instruction_\cur\()_tl0)
    414368        mov \cur, %g2
    415369        ba %xcc, trap_instruction_handler
     
    423377/* TT = 0x08, TL > 0, instruction_access_exception */
    424378.org trap_table + (TT_INSTRUCTION_ACCESS_EXCEPTION+512)*ENTRY_SIZE
    425 .global instruction_access_exception_tl1
    426 instruction_access_exception_tl1:
     379SYMBOL(instruction_access_exception_tl1)
    427380        wrpr %g0, 1, %tl
    428381        wrpr %g0, PSTATE_AG_BIT | PSTATE_PRIV_BIT, %pstate
     
    433386/* TT = 0x0a, TL > 0, instruction_access_error */
    434387.org trap_table + (TT_INSTRUCTION_ACCESS_ERROR+512)*ENTRY_SIZE
    435 .global instruction_access_error_tl1
    436 instruction_access_error_tl1:
     388SYMBOL(instruction_access_error_tl1)
    437389        wrpr %g0, 1, %tl
    438390        mov TT_INSTRUCTION_ACCESS_ERROR, %g2
     
    442394/* TT = 0x10, TL > 0, illegal_instruction */
    443395.org trap_table + (TT_ILLEGAL_INSTRUCTION+512)*ENTRY_SIZE
    444 .global illegal_instruction_tl1
    445 illegal_instruction_tl1:
     396SYMBOL(illegal_instruction_tl1)
    446397        wrpr %g0, 1, %tl
    447398        mov TT_ILLEGAL_INSTRUCTION, %g2
     
    451402/* TT = 0x24, TL > 0, clean_window handler */
    452403.org trap_table + (TT_CLEAN_WINDOW+512)*ENTRY_SIZE
    453 .global clean_window_tl1
    454 clean_window_tl1:
     404SYMBOL(clean_window_tl1)
    455405        CLEAN_WINDOW_HANDLER
    456406
    457407/* TT = 0x28, TL > 0, division_by_zero */
    458408.org trap_table + (TT_DIVISION_BY_ZERO+512)*ENTRY_SIZE
    459 .global division_by_zero_tl1
    460 division_by_zero_tl1:
     409SYMBOL(division_by_zero_tl1)
    461410        wrpr %g0, 1, %tl
    462411        mov TT_DIVISION_BY_ZERO, %g2
     
    466415/* TT = 0x30, TL > 0, data_access_exception */
    467416.org trap_table + (TT_DATA_ACCESS_EXCEPTION+512)*ENTRY_SIZE
    468 .global data_access_exception_tl1
    469 data_access_exception_tl1:
     417SYMBOL(data_access_exception_tl1)
    470418        wrpr %g0, 1, %tl
    471419        wrpr %g0, PSTATE_AG_BIT | PSTATE_PRIV_BIT, %pstate
     
    476424/* TT = 0x32, TL > 0, data_access_error */
    477425.org trap_table + (TT_DATA_ACCESS_ERROR+512)*ENTRY_SIZE
    478 .global data_access_error_tl1
    479 data_access_error_tl1:
     426SYMBOL(data_access_error_tl1)
    480427        wrpr %g0, 1, %tl
    481428        mov TT_DATA_ACCESS_ERROR, %g2
     
    485432/* TT = 0x34, TL > 0, mem_address_not_aligned */
    486433.org trap_table + (TT_MEM_ADDRESS_NOT_ALIGNED+512)*ENTRY_SIZE
    487 .global mem_address_not_aligned_tl1
    488 mem_address_not_aligned_tl1:
     434SYMBOL(mem_address_not_aligned_tl1)
    489435        wrpr %g0, 1, %tl
    490436        mov TT_MEM_ADDRESS_NOT_ALIGNED, %g2
     
    494440/* TT = 0x68, TL > 0, fast_data_access_MMU_miss */
    495441.org trap_table + (TT_FAST_DATA_ACCESS_MMU_MISS+512)*ENTRY_SIZE
    496 .global fast_data_access_mmu_miss_handler_tl1
    497 fast_data_access_mmu_miss_handler_tl1:
     442SYMBOL(fast_data_access_mmu_miss_handler_tl1)
    498443        FAST_DATA_ACCESS_MMU_MISS_HANDLER 1
    499444
    500445/* TT = 0x6c, TL > 0, fast_data_access_protection */
    501446.org trap_table + (TT_FAST_DATA_ACCESS_PROTECTION+512)*ENTRY_SIZE
    502 .global fast_data_access_protection_handler_tl1
    503 fast_data_access_protection_handler_tl1:
     447SYMBOL(fast_data_access_protection_handler_tl1)
    504448        FAST_DATA_ACCESS_PROTECTION_HANDLER 1
    505449
    506450/* TT = 0x80, TL > 0, spill_0_normal handler */
    507451.org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE
    508 .global spill_0_normal_tl1
    509 spill_0_normal_tl1:
     452SYMBOL(spill_0_normal_tl1)
    510453        SPILL_NORMAL_HANDLER_KERNEL
    511454
    512455/* TT = 0x88, TL > 0, spill_2_normal handler */
    513456.org trap_table + (TT_SPILL_2_NORMAL+512)*ENTRY_SIZE
    514 .global spill_2_normal_tl1
    515 spill_2_normal_tl1:
     457SYMBOL(spill_2_normal_tl1)
    516458        SPILL_TO_USPACE_WINDOW_BUFFER
    517459
    518460/* TT = 0xa0, TL > 0, spill_0_other handler */
    519461.org trap_table + (TT_SPILL_0_OTHER+512)*ENTRY_SIZE
    520 .global spill_0_other_tl1
    521 spill_0_other_tl1:
     462SYMBOL(spill_0_other_tl1)
    522463        SPILL_TO_USPACE_WINDOW_BUFFER
    523464
    524465/* TT = 0xc0, TL > 0, fill_0_normal handler */
    525466.org trap_table + (TT_FILL_0_NORMAL+512)*ENTRY_SIZE
    526 .global fill_0_normal_tl1
    527 fill_0_normal_tl1:
     467SYMBOL(fill_0_normal_tl1)
    528468        FILL_NORMAL_HANDLER_KERNEL
    529469
     
    914854.endm
    915855
    916 .global preemptible_handler
    917 preemptible_handler:
     856SYMBOL(preemptible_handler)
    918857        PREEMPTIBLE_HANDLER_TEMPLATE 0
    919858
    920 .global trap_instruction_handler
    921 trap_instruction_handler:
     859SYMBOL(trap_instruction_handler)
    922860        PREEMPTIBLE_HANDLER_TEMPLATE 1
  • kernel/arch/sparc64/src/trap/sun4v/mmu.S

    r27f67f5 ra52e2f4  
    3737.text
    3838
     39#include <abi/asmtool.h>
    3940#include <arch/trap/sun4v/mmu.h>
    4041#include <arch/trap/trap_table.h>
     
    4849 *       %g1    virtual address that has caused the miss
    4950 */
    50 .global install_identity_mapping
    51 install_identity_mapping:
    52 
     51SYMBOL(install_identity_mapping)
    5352        /* output registers mustn't be clobbered during the hypercall, SAVE is too risky */
    5453        mov %o0, %g3
  • kernel/arch/sparc64/src/trap/sun4v/trap_table.S

    r27f67f5 ra52e2f4  
    3838.text
    3939
     40#include <abi/asmtool.h>
    4041#include <arch/trap/trap_table.h>
    4142#include <arch/trap/regwin.h>
     
    5859 */
    5960.align TABLE_SIZE
    60 .global trap_table
    61 trap_table:
     61SYMBOL(trap_table)
    6262
    6363/* TT = 0x08, TL = 0, instruction_access_exception */
    6464/* TT = 0x08, TL = 0, IAE_privilege_violation on UltraSPARC T2 */
    6565.org trap_table + TT_INSTRUCTION_ACCESS_EXCEPTION*ENTRY_SIZE
    66 .global instruction_access_exception_tl0
    67 instruction_access_exception_tl0:
     66SYMBOL(instruction_access_exception_tl0)
    6867        mov TT_INSTRUCTION_ACCESS_EXCEPTION, %g2
    6968        clr %g5
     
    7271/* TT = 0x09, TL = 0, instruction_access_mmu_miss */
    7372.org trap_table + TT_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
    74 .global instruction_access_mmu_miss_handler_tl0
     73SYMBOL(instruction_access_mmu_miss_handler_tl0)
    7574        ba,a %xcc, fast_instruction_access_mmu_miss_handler_tl0
    7675
    7776/* TT = 0x0a, TL = 0, instruction_access_error */
    7877.org trap_table + TT_INSTRUCTION_ACCESS_ERROR*ENTRY_SIZE
    79 .global instruction_access_error_tl0
    80 instruction_access_error_tl0:
     78SYMBOL(instruction_access_error_tl0)
    8179        mov TT_INSTRUCTION_ACCESS_ERROR, %g2
    8280        clr %g5
     
    8583/* TT = 0x0b, TL = 0, IAE_unauth_access */
    8684.org trap_table + TT_IAE_UNAUTH_ACCESS*ENTRY_SIZE
    87 .global iae_unauth_access_tl0
    88 iae_unauth_access_tl0:
     85SYMBOL(iae_unauth_access_tl0)
    8986        mov TT_IAE_UNAUTH_ACCESS, %g2
    9087        clr %g5
     
    9390/* TT = 0x0c, TL = 0, IAE_nfo_page */
    9491.org trap_table + TT_IAE_NFO_PAGE*ENTRY_SIZE
    95 .global iae_nfo_page_tl0
    96 iae_nfo_page_tl0:
     92SYMBOL(iae_nfo_page_tl0)
    9793        mov TT_IAE_NFO_PAGE, %g2
    9894        clr %g5
     
    10197/* TT = 0x10, TL = 0, illegal_instruction */
    10298.org trap_table + TT_ILLEGAL_INSTRUCTION*ENTRY_SIZE
    103 .global illegal_instruction_tl0
    104 illegal_instruction_tl0:
     99SYMBOL(illegal_instruction_tl0)
    105100        mov TT_ILLEGAL_INSTRUCTION, %g2
    106101        clr %g5
     
    109104/* TT = 0x11, TL = 0, privileged_opcode */
    110105.org trap_table + TT_PRIVILEGED_OPCODE*ENTRY_SIZE
    111 .global privileged_opcode_tl0
    112 privileged_opcode_tl0:
     106SYMBOL(privileged_opcode_tl0)
    113107        mov TT_PRIVILEGED_OPCODE, %g2
    114108        clr %g5
     
    117111/* TT = 0x12, TL = 0, unimplemented_LDD */
    118112.org trap_table + TT_UNIMPLEMENTED_LDD*ENTRY_SIZE
    119 .global unimplemented_LDD_tl0
    120 unimplemented_LDD_tl0:
     113SYMBOL(unimplemented_LDD_tl0)
    121114        mov TT_UNIMPLEMENTED_LDD, %g2
    122115        clr %g5
     
    125118/* TT = 0x13, TL = 0, unimplemented_STD */
    126119.org trap_table + TT_UNIMPLEMENTED_STD*ENTRY_SIZE
    127 .global unimplemented_STD_tl0
    128 unimplemented_STD_tl0:
     120SYMBOL(unimplemented_STD_tl0)
    129121        mov TT_UNIMPLEMENTED_STD, %g2
    130122        clr %g5
     
    133125/* TT = 0x14, TL = 0, DAE_invalid_asi */
    134126.org trap_table + TT_DAE_INVALID_ASI*ENTRY_SIZE
    135 .global dae_invalid_asi_tl0
    136 dae_invalid_asi_tl0:
     127SYMBOL(dae_invalid_asi_tl0)
    137128        mov TT_DAE_INVALID_ASI, %g2
    138129        clr %g5
     
    141132/* TT = 0x15, TL = 0, DAE_privilege_violation */
    142133.org trap_table + TT_DAE_PRIVILEGE_VIOLATION*ENTRY_SIZE
    143 .global dae_privilege_violation_tl0
    144 dae_privilege_violation_tl0:
     134SYMBOL(dae_privilege_violation_tl0)
    145135        mov TT_DAE_PRIVILEGE_VIOLATION, %g2
    146136        clr %g5
     
    149139/* TT = 0x16, TL = 0, DAE_nc_page */
    150140.org trap_table + TT_DAE_NC_PAGE*ENTRY_SIZE
    151 .global dae_nc_page_tl0
    152 dae_nc_page_tl0:
     141SYMBOL(dae_nc_page_tl0)
    153142        mov TT_DAE_NC_PAGE, %g2
    154143        clr %g5
     
    157146/* TT = 0x17, TL = 0, DAE_nfo_page */
    158147.org trap_table + TT_DAE_NFO_PAGE*ENTRY_SIZE
    159 .global dae_nfo_page_tl0
    160 dae_nfo_page_tl0:
     148SYMBOL(dae_nfo_page_tl0)
    161149        mov TT_DAE_NFO_PAGE, %g2
    162150        clr %g5
     
    165153/* TT = 0x20, TL = 0, fb_disabled handler */
    166154.org trap_table + TT_FP_DISABLED*ENTRY_SIZE
    167 .global fb_disabled_tl0
    168 fp_disabled_tl0:
     155SYMBOL(fp_disabled_tl0)
    169156        mov TT_FP_DISABLED, %g2
    170157        clr %g5
     
    173160/* TT = 0x21, TL = 0, fb_exception_ieee_754 handler */
    174161.org trap_table + TT_FP_EXCEPTION_IEEE_754*ENTRY_SIZE
    175 .global fb_exception_ieee_754_tl0
    176 fp_exception_ieee_754_tl0:
     162SYMBOL(fp_exception_ieee_754_tl0)
    177163        mov TT_FP_EXCEPTION_IEEE_754, %g2
    178164        clr %g5
     
    181167/* TT = 0x22, TL = 0, fb_exception_other handler */
    182168.org trap_table + TT_FP_EXCEPTION_OTHER*ENTRY_SIZE
    183 .global fb_exception_other_tl0
    184 fp_exception_other_tl0:
     169SYMBOL(fp_exception_other_tl)
    185170        mov TT_FP_EXCEPTION_OTHER, %g2
    186171        clr %g5
     
    189174/* TT = 0x23, TL = 0, tag_overflow */
    190175.org trap_table + TT_TAG_OVERFLOW*ENTRY_SIZE
    191 .global tag_overflow_tl0
    192 tag_overflow_tl0:
     176SYMBOL(tag_overflow_tl0)
    193177        mov TT_TAG_OVERFLOW, %g2
    194178        clr %g5
     
    197181/* TT = 0x24, TL = 0, clean_window handler */
    198182.org trap_table + TT_CLEAN_WINDOW*ENTRY_SIZE
    199 .global clean_window_tl0
    200 clean_window_tl0:
     183SYMBOL(clean_window_tl0)
    201184        CLEAN_WINDOW_HANDLER
    202185
    203186/* TT = 0x28, TL = 0, division_by_zero */
    204187.org trap_table + TT_DIVISION_BY_ZERO*ENTRY_SIZE
    205 .global division_by_zero_tl0
    206 division_by_zero_tl0:
     188SYMBOL(division_by_zero_tl0)
    207189        mov TT_DIVISION_BY_ZERO, %g2
    208190        clr %g5
     
    212194/* TT = 0x30, TL = 0, DAE_side_effect_page for UltraPSARC T2 */
    213195.org trap_table + TT_DATA_ACCESS_EXCEPTION*ENTRY_SIZE
    214 .global data_access_exception_tl0
    215 data_access_exception_tl0:
     196SYMBOL(data_access_exception_tl0)
    216197        mov TT_DATA_ACCESS_EXCEPTION, %g2
    217198        clr %g5
     
    220201/* TT = 0x31, TL = 0, data_access_mmu_miss */
    221202.org trap_table + TT_DATA_ACCESS_MMU_MISS*ENTRY_SIZE
    222 .global data_access_mmu_miss_tl0
    223 data_access_mmu_miss_tl0:
     203SYMBOL(data_access_mmu_miss_tl0)
    224204        ba,a %xcc, fast_data_access_mmu_miss_handler_tl0
    225205
    226206/* TT = 0x32, TL = 0, data_access_error */
    227207.org trap_table + TT_DATA_ACCESS_ERROR*ENTRY_SIZE
    228 .global data_access_error_tl0
    229 data_access_error_tl0:
     208SYMBOL(data_access_error_tl0)
    230209        mov TT_DATA_ACCESS_ERROR, %g2
    231210        clr %g5
     
    234213/* TT = 0x34, TL = 0, mem_address_not_aligned */
    235214.org trap_table + TT_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    236 .global mem_address_not_aligned_tl0
    237 mem_address_not_aligned_tl0:
     215SYMBOL(mem_address_not_aligned_tl0)
    238216        mov TT_MEM_ADDRESS_NOT_ALIGNED, %g2
    239217        clr %g5
     
    242220/* TT = 0x35, TL = 0, LDDF_mem_address_not_aligned */
    243221.org trap_table + TT_LDDF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    244 .global LDDF_mem_address_not_aligned_tl0
    245 LDDF_mem_address_not_aligned_tl0:
     222SYMBOL(LDDF_mem_address_not_aligned_tl0)
    246223        mov TT_LDDF_MEM_ADDRESS_NOT_ALIGNED, %g2
    247224        clr %g5
     
    250227/* TT = 0x36, TL = 0, STDF_mem_address_not_aligned */
    251228.org trap_table + TT_STDF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    252 .global STDF_mem_address_not_aligned_tl0
    253 STDF_mem_address_not_aligned_tl0:
     229SYMBOL(STDF_mem_address_not_aligned_tl0)
    254230        mov TT_STDF_MEM_ADDRESS_NOT_ALIGNED, %g2
    255231        clr %g5
     
    258234/* TT = 0x37, TL = 0, privileged_action */
    259235.org trap_table + TT_PRIVILEGED_ACTION*ENTRY_SIZE
    260 .global privileged_action_tl0
    261 privileged_action_tl0:
     236SYMBOL(privileged_action_tl0)
    262237        mov TT_PRIVILEGED_ACTION, %g2
    263238        clr %g5
     
    266241/* TT = 0x38, TL = 0, LDQF_mem_address_not_aligned */
    267242.org trap_table + TT_LDQF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    268 .global LDQF_mem_address_not_aligned_tl0
    269 LDQF_mem_address_not_aligned_tl0:
     243SYMBOL(LDQF_mem_address_not_aligned_tl0)
    270244        mov TT_LDQF_MEM_ADDRESS_NOT_ALIGNED, %g2
    271245        clr %g5
     
    274248/* TT = 0x39, TL = 0, STQF_mem_address_not_aligned */
    275249.org trap_table + TT_STQF_MEM_ADDRESS_NOT_ALIGNED*ENTRY_SIZE
    276 .global STQF_mem_address_not_aligned_tl0
    277 STQF_mem_address_not_aligned_tl0:
     250SYMBOL(STQF_mem_address_not_aligned_tl0)
    278251        mov TT_STQF_MEM_ADDRESS_NOT_ALIGNED, %g2
    279252        clr %g5
     
    282255/* TT = 0x41, TL = 0, interrupt_level_1 handler */
    283256.org trap_table + TT_INTERRUPT_LEVEL_1*ENTRY_SIZE
    284 .global interrupt_level_1_handler_tl0
    285 interrupt_level_1_handler_tl0:
     257SYMBOL(interrupt_level_1_handler_tl0)
    286258        mov TT_INTERRUPT_LEVEL_1, %g2
    287259        clr %g5
     
    290262/* TT = 0x42, TL = 0, interrupt_level_2 handler */
    291263.org trap_table + TT_INTERRUPT_LEVEL_2*ENTRY_SIZE
    292 .global interrupt_level_2_handler_tl0
    293 interrupt_level_2_handler_tl0:
     264SYMBOL(interrupt_level_2_handler_tl0)
    294265        mov TT_INTERRUPT_LEVEL_2, %g2
    295266        clr %g5
     
    298269/* TT = 0x43, TL = 0, interrupt_level_3 handler */
    299270.org trap_table + TT_INTERRUPT_LEVEL_3*ENTRY_SIZE
    300 .global interrupt_level_3_handler_tl0
    301 interrupt_level_3_handler_tl0:
     271SYMBOL(interrupt_level_3_handler_tl0)
    302272        mov TT_INTERRUPT_LEVEL_3, %g2
    303273        clr %g5
     
    306276/* TT = 0x44, TL = 0, interrupt_level_4 handler */
    307277.org trap_table + TT_INTERRUPT_LEVEL_4*ENTRY_SIZE
    308 .global interrupt_level_4_handler_tl0
    309 interrupt_level_4_handler_tl0:
     278SYMBOL(interrupt_level_4_handler_tl0)
    310279        mov TT_INTERRUPT_LEVEL_4, %g2
    311280        clr %g5
     
    314283/* TT = 0x45, TL = 0, interrupt_level_5 handler */
    315284.org trap_table + TT_INTERRUPT_LEVEL_5*ENTRY_SIZE
    316 .global interrupt_level_5_handler_tl0
    317 interrupt_level_5_handler_tl0:
     285SYMBOL(interrupt_level_5_handler_tl0)
    318286        mov TT_INTERRUPT_LEVEL_5, %g2
    319287        clr %g5
     
    322290/* TT = 0x46, TL = 0, interrupt_level_6 handler */
    323291.org trap_table + TT_INTERRUPT_LEVEL_6*ENTRY_SIZE
    324 .global interrupt_level_6_handler_tl0
    325 interrupt_level_6_handler_tl0:
     292SYMBOL(interrupt_level_6_handler_tl0)
    326293        mov TT_INTERRUPT_LEVEL_6, %g2
    327294        clr %g5
     
    330297/* TT = 0x47, TL = 0, interrupt_level_7 handler */
    331298.org trap_table + TT_INTERRUPT_LEVEL_7*ENTRY_SIZE
    332 .global interrupt_level_7_handler_tl0
    333 interrupt_level_7_handler_tl0:
     299SYMBOL(interrupt_level_7_handler_tl0)
    334300        mov TT_INTERRUPT_LEVEL_7, %g2
    335301        clr %g5
     
    338304/* TT = 0x48, TL = 0, interrupt_level_8 handler */
    339305.org trap_table + TT_INTERRUPT_LEVEL_8*ENTRY_SIZE
    340 .global interrupt_level_8_handler_tl0
    341 interrupt_level_8_handler_tl0:
     306SYMBOL(interrupt_level_8_handler_tl0)
    342307        mov TT_INTERRUPT_LEVEL_8, %g2
    343308        clr %g5
     
    346311/* TT = 0x49, TL = 0, interrupt_level_9 handler */
    347312.org trap_table + TT_INTERRUPT_LEVEL_9*ENTRY_SIZE
    348 .global interrupt_level_9_handler_tl0
    349 interrupt_level_9_handler_tl0:
     313SYMBOL(interrupt_level_9_handler_tl0)
    350314        mov TT_INTERRUPT_LEVEL_9, %g2
    351315        clr %g5
     
    354318/* TT = 0x4a, TL = 0, interrupt_level_10 handler */
    355319.org trap_table + TT_INTERRUPT_LEVEL_10*ENTRY_SIZE
    356 .global interrupt_level_10_handler_tl0
    357 interrupt_level_10_handler_tl0:
     320SYMBOL(interrupt_level_10_handler_tl0)
    358321        mov TT_INTERRUPT_LEVEL_10, %g2
    359322        clr %g5
     
    362325/* TT = 0x4b, TL = 0, interrupt_level_11 handler */
    363326.org trap_table + TT_INTERRUPT_LEVEL_11*ENTRY_SIZE
    364 .global interrupt_level_11_handler_tl0
    365 interrupt_level_11_handler_tl0:
     327SYMBOL(interrupt_level_11_handler_tl0)
    366328        mov TT_INTERRUPT_LEVEL_11, %g2
    367329        clr %g5
     
    370332/* TT = 0x4c, TL = 0, interrupt_level_12 handler */
    371333.org trap_table + TT_INTERRUPT_LEVEL_12*ENTRY_SIZE
    372 .global interrupt_level_12_handler_tl0
    373 interrupt_level_12_handler_tl0:
     334SYMBOL(interrupt_level_12_handler_tl0)
    374335        mov TT_INTERRUPT_LEVEL_12, %g2
    375336        clr %g5
     
    378339/* TT = 0x4d, TL = 0, interrupt_level_13 handler */
    379340.org trap_table + TT_INTERRUPT_LEVEL_13*ENTRY_SIZE
    380 .global interrupt_level_13_handler_tl0
    381 interrupt_level_13_handler_tl0:
     341SYMBOL(interrupt_level_13_handler_tl0)
    382342        mov TT_INTERRUPT_LEVEL_13, %g2
    383343        clr %g5
     
    386346/* TT = 0x4e, TL = 0, interrupt_level_14 handler */
    387347.org trap_table + TT_INTERRUPT_LEVEL_14*ENTRY_SIZE
    388 .global interrupt_level_14_handler_tl0
    389 interrupt_level_14_handler_tl0:
     348SYMBOL(interrupt_level_14_handler_tl0)
    390349        mov TT_INTERRUPT_LEVEL_14, %g2
    391350        clr %g5
     
    394353/* TT = 0x4f, TL = 0, interrupt_level_15 handler */
    395354.org trap_table + TT_INTERRUPT_LEVEL_15*ENTRY_SIZE
    396 .global interrupt_level_15_handler_tl0
    397 interrupt_level_15_handler_tl0:
     355SYMBOL(interrupt_level_15_handler_tl0)
    398356        mov TT_INTERRUPT_LEVEL_15, %g2
    399357        clr %g5
     
    402360/* TT = 0x64, TL = 0, fast_instruction_access_MMU_miss */
    403361.org trap_table + TT_FAST_INSTRUCTION_ACCESS_MMU_MISS*ENTRY_SIZE
    404 .global fast_instruction_access_mmu_miss_handler_tl0
    405 fast_instruction_access_mmu_miss_handler_tl0:
     362SYMBOL(fast_instruction_access_mmu_miss_handler_tl0)
    406363        FAST_INSTRUCTION_ACCESS_MMU_MISS_HANDLER
    407364
    408365/* TT = 0x68, TL = 0, fast_data_access_MMU_miss */
    409366.org trap_table + TT_FAST_DATA_ACCESS_MMU_MISS*ENTRY_SIZE
    410 .global fast_data_access_mmu_miss_handler_tl0
    411 fast_data_access_mmu_miss_handler_tl0:
     367SYMBOL(fast_data_access_mmu_miss_handler_tl0)
    412368        FAST_DATA_ACCESS_MMU_MISS_HANDLER 0
    413369
    414370/* TT = 0x6c, TL = 0, fast_data_access_protection */
    415371.org trap_table + TT_FAST_DATA_ACCESS_PROTECTION*ENTRY_SIZE
    416 .global fast_data_access_protection_handler_tl0
    417 fast_data_access_protection_handler_tl0:
     372SYMBOL(fast_data_access_protection_handler_tl0)
    418373        FAST_DATA_ACCESS_PROTECTION_HANDLER 0
    419374
    420375/* TT = 0x7c, TL = 0, cpu_mondo */
    421376.org trap_table + TT_CPU_MONDO*ENTRY_SIZE
    422 .global cpu_mondo_handler_tl0
    423 cpu_mondo_handler_tl0:
     377SYMBOL(cpu_mondo_handler_tl0)
    424378        mov TT_CPU_MONDO, %g2
    425379        clr %g5
     
    428382/* TT = 0x80, TL = 0, spill_0_normal handler */
    429383.org trap_table + TT_SPILL_0_NORMAL*ENTRY_SIZE
    430 .global spill_0_normal_tl0
    431 spill_0_normal_tl0:
     384SYMBOL(spill_0_normal_tl0)
    432385        SPILL_NORMAL_HANDLER_KERNEL
    433386
    434387/* TT = 0x84, TL = 0, spill_1_normal handler */
    435388.org trap_table + TT_SPILL_1_NORMAL*ENTRY_SIZE
    436 .global spill_1_normal_tl0
    437 spill_1_normal_tl0:
     389SYMBOL(spill_1_normal_tl0)
    438390        SPILL_NORMAL_HANDLER_USERSPACE
    439391
    440392/* TT = 0x88, TL = 0, spill_2_normal handler */
    441393.org trap_table + TT_SPILL_2_NORMAL*ENTRY_SIZE
    442 .global spill_2_normal_tl0
    443 spill_2_normal_tl0:
     394SYMBOL(spill_2_normal_tl0)
    444395        SPILL_TO_USPACE_WINDOW_BUFFER
    445396
    446397/* TT = 0xa0, TL = 0, spill_0_other handler */
    447398.org trap_table + TT_SPILL_0_OTHER*ENTRY_SIZE
    448 .global spill_0_other_tl0
    449 spill_0_other_tl0:
     399SYMBOL(spill_0_other_tl0)
    450400        SPILL_TO_USPACE_WINDOW_BUFFER
    451401
    452402/* TT = 0xc0, TL = 0, fill_0_normal handler */
    453403.org trap_table + TT_FILL_0_NORMAL*ENTRY_SIZE
    454 .global fill_0_normal_tl0
    455 fill_0_normal_tl0:
     404SYMBOL(fill_0_normal_tl0)
    456405        FILL_NORMAL_HANDLER_KERNEL
    457406
    458407/* TT = 0xc4, TL = 0, fill_1_normal handler */
    459408.org trap_table + TT_FILL_1_NORMAL*ENTRY_SIZE
    460 .global fill_1_normal_tl0
    461 fill_1_normal_tl0:
     409SYMBOL(fill_1_normal_tl0)
    462410        FILL_NORMAL_HANDLER_USERSPACE
    463411
     
    472420    127
    473421.org trap_table + (TT_TRAP_INSTRUCTION_0+\cur)*ENTRY_SIZE
    474 .global trap_instruction_\cur\()_tl0
    475 trap_instruction_\cur\()_tl0:
     422SYMBOL(trap_instruction_\cur\()_tl0)
    476423        mov \cur, %g2
    477424        ba %xcc, trap_instruction_handler
     
    486433/* TT = 0x08, TL > 0, IAE_privilege_violation on UltraSPARC T2 */
    487434.org trap_table + (TT_INSTRUCTION_ACCESS_EXCEPTION+512)*ENTRY_SIZE
    488 .global instruction_access_exception_tl1
    489 instruction_access_exception_tl1:
     435SYMBOL(instruction_access_exception_tl1)
    490436        wrpr %g0, 1, %tl
    491437        mov TT_INSTRUCTION_ACCESS_EXCEPTION, %g2
     
    495441/* TT = 0x09, TL > 0, instruction_access_mmu_miss */
    496442.org trap_table + (TT_INSTRUCTION_ACCESS_MMU_MISS+512)*ENTRY_SIZE
    497 .global instruction_access_mmu_miss_handler_tl1
     443SYMBOL(instruction_access_mmu_miss_handler_tl1)
    498444        wrpr %g0, 1, %tl
    499445        ba,a %xcc, fast_instruction_access_mmu_miss_handler_tl0
     
    501447/* TT = 0x0a, TL > 0, instruction_access_error */
    502448.org trap_table + (TT_INSTRUCTION_ACCESS_ERROR+512)*ENTRY_SIZE
    503 .global instruction_access_error_tl1
    504 instruction_access_error_tl1:
     449SYMBOL(instruction_access_error_tl1)
    505450        wrpr %g0, 1, %tl
    506451        mov TT_INSTRUCTION_ACCESS_ERROR, %g2
     
    510455/* TT = 0x0b, TL > 0, IAE_unauth_access */
    511456.org trap_table + (TT_IAE_UNAUTH_ACCESS+512)*ENTRY_SIZE
    512 .global iae_unauth_access_tl1
    513 iae_unauth_access_tl1:
     457SYMBOL(iae_unauth_access_tl1)
    514458        wrpr %g0, 1, %tl
    515459        mov TT_IAE_UNAUTH_ACCESS, %g2
     
    519463/* TT = 0x0c, TL > 0, IAE_nfo_page */
    520464.org trap_table + (TT_IAE_NFO_PAGE+512)*ENTRY_SIZE
    521 .global iae_nfo_page_tl1
    522 iae_nfo_page_tl1:
     465SYMBOL(iae_nfo_page_tl1)
    523466        wrpr %g0, 1, %tl
    524467        mov TT_IAE_NFO_PAGE, %g2
     
    528471/* TT = 0x10, TL > 0, illegal_instruction */
    529472.org trap_table + (TT_ILLEGAL_INSTRUCTION+512)*ENTRY_SIZE
    530 .global illegal_instruction_tl1
    531 illegal_instruction_tl1:
     473SYMBOL(illegal_instruction_tl1)
    532474        wrpr %g0, 1, %tl
    533475        mov TT_ILLEGAL_INSTRUCTION, %g2
     
    537479/* TT = 0x14, TL > 0, DAE_invalid_asi */
    538480.org trap_table + (TT_DAE_INVALID_ASI+512)*ENTRY_SIZE
    539 .global dae_invalid_asi_tl1
    540 dae_invalid_asi_tl1:
     481SYMBOL(dae_invalid_asi_tl1)
    541482        wrpr %g0, 1, %tl
    542483        mov TT_DAE_INVALID_ASI, %g2
     
    546487/* TT = 0x15, TL > 0, DAE_privilege_violation */
    547488.org trap_table + (TT_DAE_PRIVILEGE_VIOLATION+512)*ENTRY_SIZE
    548 .global dae_privilege_violation_tl1
    549 dae_privilege_violation_tl1:
     489SYMBOL(dae_privilege_violation_tl1)
    550490        wrpr %g0, 1, %tl
    551491        mov TT_DAE_PRIVILEGE_VIOLATION, %g2
     
    555495/* TT = 0x16, TL > 0, DAE_nc_page */
    556496.org trap_table + (TT_DAE_NC_PAGE+512)*ENTRY_SIZE
    557 .global dae_nc_page_tl1
    558 dae_nc_page_tl1:
     497SYMBOL(dae_nc_page_tl1)
    559498        wrpr %g0, 1, %tl
    560499        mov TT_DAE_NC_PAGE, %g2
     
    564503/* TT = 0x17, TL > 0, DAE_nfo_page */
    565504.org trap_table + (TT_DAE_NFO_PAGE+512)*ENTRY_SIZE
    566 .global dae_nfo_page_tl1
    567 dae_nfo_page_tl1:
     505SYMBOL(dae_nfo_page_tl1)
    568506        wrpr %g0, 1, %tl
    569507        mov TT_DAE_NFO_PAGE, %g2
     
    573511/* TT = 0x24, TL > 0, clean_window handler */
    574512.org trap_table + (TT_CLEAN_WINDOW+512)*ENTRY_SIZE
    575 .global clean_window_tl1
    576 clean_window_tl1:
     513SYMBOL(clean_window_tl1)
    577514        CLEAN_WINDOW_HANDLER
    578515
    579516/* TT = 0x28, TL > 0, division_by_zero */
    580517.org trap_table + (TT_DIVISION_BY_ZERO+512)*ENTRY_SIZE
    581 .global division_by_zero_tl1
    582 division_by_zero_tl1:
     518SYMBOL(division_by_zero_tl1)
    583519        wrpr %g0, 1, %tl
    584520        mov TT_DIVISION_BY_ZERO, %g2
     
    588524/* TT = 0x30, TL > 0, data_access_exception */
    589525.org trap_table + (TT_DATA_ACCESS_EXCEPTION+512)*ENTRY_SIZE
    590 .global data_access_exception_tl1
    591 data_access_exception_tl1:
     526SYMBOL(data_access_exception_tl1)
    592527        wrpr %g0, 1, %tl
    593528        mov TT_DATA_ACCESS_EXCEPTION, %g2
     
    597532/* TT = 0x31, TL > 0, data_access_mmu_miss */
    598533.org trap_table + (TT_DATA_ACCESS_MMU_MISS+512)*ENTRY_SIZE
    599 .global data_access_mmu_miss_tl1
    600 data_access_mmu_miss_tl1:
     534SYMBOL(data_access_mmu_miss_tl1)
    601535        ba,a %xcc, fast_data_access_mmu_miss_handler_tl1
    602536
    603537/* TT = 0x32, TL > 0, data_access_error */
    604538.org trap_table + (TT_DATA_ACCESS_ERROR+512)*ENTRY_SIZE
    605 .global data_access_error_tl1
    606 data_access_error_tl1:
     539SYMBOL(data_access_error_tl1)
    607540        wrpr %g0, 1, %tl
    608541        mov TT_DATA_ACCESS_ERROR, %g2
     
    612545/* TT = 0x34, TL > 0, mem_address_not_aligned */
    613546.org trap_table + (TT_MEM_ADDRESS_NOT_ALIGNED+512)*ENTRY_SIZE
    614 .global mem_address_not_aligned_tl1
    615 mem_address_not_aligned_tl1:
     547SYMBOL(mem_address_not_aligned_tl1)
    616548        wrpr %g0, 1, %tl
    617549        mov TT_MEM_ADDRESS_NOT_ALIGNED, %g2
     
    621553/* TT = 0x68, TL > 0, fast_data_access_MMU_miss */
    622554.org trap_table + (TT_FAST_DATA_ACCESS_MMU_MISS+512)*ENTRY_SIZE
    623 .global fast_data_access_mmu_miss_handler_tl1
    624 fast_data_access_mmu_miss_handler_tl1:
     555SYMBOL(fast_data_access_mmu_miss_handler_tl1)
    625556        FAST_DATA_ACCESS_MMU_MISS_HANDLER 1
    626557
    627558/* TT = 0x6c, TL > 0, fast_data_access_protection */
    628559.org trap_table + (TT_FAST_DATA_ACCESS_PROTECTION+512)*ENTRY_SIZE
    629 .global fast_data_access_protection_handler_tl1
    630 fast_data_access_protection_handler_tl1:
     560SYMBOL(fast_data_access_protection_handler_tl1)
    631561        FAST_DATA_ACCESS_PROTECTION_HANDLER 1
    632562
    633563/* TT = 0x7c, TL > 0, cpu_mondo */
    634564.org trap_table + (TT_CPU_MONDO+512)*ENTRY_SIZE
    635 .global cpu_mondo_handler_tl1
    636 cpu_mondo_handler_tl1:
     565SYMBOL(cpu_mondo_handler_tl1)
    637566        wrpr %g0, %tl
    638567        mov TT_CPU_MONDO, %g2
     
    642571/* TT = 0x80, TL > 0, spill_0_normal handler */
    643572.org trap_table + (TT_SPILL_0_NORMAL+512)*ENTRY_SIZE
    644 .global spill_0_normal_tl1
    645 spill_0_normal_tl1:
     573SYMBOL(spill_0_normal_tl1)
    646574        SPILL_NORMAL_HANDLER_KERNEL
    647575
    648576/* TT = 0x88, TL > 0, spill_2_normal handler */
    649577.org trap_table + (TT_SPILL_2_NORMAL+512)*ENTRY_SIZE
    650 .global spill_2_normal_tl1
    651 spill_2_normal_tl1:
     578SYMBOL(spill_2_normal_tl1)
    652579        SPILL_TO_USPACE_WINDOW_BUFFER
    653580
    654581/* TT = 0xa0, TL > 0, spill_0_other handler */
    655582.org trap_table + (TT_SPILL_0_OTHER+512)*ENTRY_SIZE
    656 .global spill_0_other_tl1
    657 spill_0_other_tl1:
     583SYMBOL(spill_0_other_tl1)
    658584        SPILL_TO_USPACE_WINDOW_BUFFER
    659585
    660586/* TT = 0xc0, TL > 0, fill_0_normal handler */
    661587.org trap_table + (TT_FILL_0_NORMAL+512)*ENTRY_SIZE
    662 .global fill_0_normal_tl1
    663 fill_0_normal_tl1:
     588SYMBOL(fill_0_normal_tl1)
    664589        FILL_NORMAL_HANDLER_KERNEL
    665590
     
    11781103.endm
    11791104
    1180 .global preemptible_handler
    1181 preemptible_handler:
     1105SYMBOL(preemptible_handler)
    11821106        PREEMPTIBLE_HANDLER_TEMPLATE 0
    11831107
    1184 .global trap_instruction_handler
    1185 trap_instruction_handler:
     1108SYMBOL(trap_instruction_handler)
    11861109        PREEMPTIBLE_HANDLER_TEMPLATE 1
Note: See TracChangeset for help on using the changeset viewer.