Ignore:
Timestamp:
2006-09-04T19:11:23Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
fadd381
Parents:
cfa70add
Message:

sparc64 kernel fixes

File:
1 edited

Legend:

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

    rcfa70add rfd85ae5  
    2828
    2929/**
    30  * This file contains kernel trap table.
     30 * @file
     31 * @brief This file contains kernel trap table.
    3132 */
    3233
     
    8586.global mem_address_not_aligned
    8687mem_address_not_aligned:
    87         PREEMPTIBLE_HANDLER do_mem_address_not_aligned
     88        MEM_ADDRESS_NOT_ALIGNED_HANDLER
    8889
    8990/* TT = 0x41, TL = 0, interrupt_level_1 handler */
     
    461462.global mem_address_not_aligned_high
    462463mem_address_not_aligned_high:
    463         PREEMPTIBLE_HANDLER do_mem_address_not_aligned
     464        MEM_ADDRESS_NOT_ALIGNED_HANDLER
    464465
    465466/* TT = 0x64, TL > 0, fast_instruction_access_MMU_miss */
     
    525526 */
    526527.macro PREEMPTIBLE_HANDLER_TEMPLATE is_syscall
     528        /*
     529         * ASSERT(%tl == 1)
     530         */
     531        rdpr %tl, %g3
     532        cmp %g3, 1
     533        be 1f
     534        nop
     5350:      ba 0b                                   ! this for debugging, if we ever get here
     536        nop                                     ! it will be easy to find
     537
     5381:
    527539.if NOT(\is_syscall)
    528540        rdpr %tstate, %g3
     
    536548        wrpr %g0, WSTATE_OTHER(0) | WSTATE_NORMAL(2), %wstate
    537549
     550        wrpr %g0, NWINDOW - 1, %cleanwin        ! prevent unnecessary clean_window exceptions
     551
    538552        /*
    539553         * Switch to kernel stack. The old stack is
     
    555569        /*
    556570         * Mark the CANRESTORE windows as OTHER windows.
    557          * Set CLEANWIN to NWINDOW-1 so that clean_window traps do not occur.
    558571         */
    559572        rdpr %canrestore, %l0
    560573        wrpr %l0, %otherwin
    561574        wrpr %g0, %canrestore
    562         wrpr %g0, NWINDOW - 1, %cleanwin
    563575
    564576        /*
     
    727739        ldxa [VA_SECONDARY_CONTEXT_REG] %asi, %g1
    728740        stxa %g1, [VA_PRIMARY_CONTEXT_REG] %asi
    729         flush %o7
     741        rd %pc, %g1
     742        flush %g1
    730743       
    731744        rdpr %cwp, %g1
Note: See TracChangeset for help on using the changeset viewer.