Changeset d75628da in mainline


Ignore:
Timestamp:
2011-10-18T22:51:34Z (13 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
069b80d, 7bd2c19
Parents:
e5291e0
Message:

Set Interruption Vector Address register before any kernel C code can
generate a speculation exception.

Location:
kernel/arch/ia64/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia64/src/ia64.c

    re5291e0 rd75628da  
    9393void arch_pre_mm_init(void)
    9494{
    95         /*
    96          * Set Interruption Vector Address (i.e. location of interruption vector
    97          * table).
    98          */
    99         iva_write((uintptr_t) &ivt);
    100         srlz_d();
    101        
    10295}
    10396
  • kernel/arch/ia64/src/start.S

    re5291e0 rd75628da  
    156156         * Now we are paging.
    157157         */
     158
     159        #
     160        # Set Interruption Vector Address
     161        # (i.e. location of interruption vector table)
     162        #
     163        movl r8 = ivt ;;
     164        mov cr.iva = r8
     165        srlz.d ;;       
     166
    158167       
    159168        # Switch to register bank 1
     
    165174        mov ar.bspstore = r8
    166175        loadrs
    167        
    168         #
    169         # Initialize memory stack to some sane value and allocate a scratch are
     176
     177        #
     178        # Initialize memory stack to some sane value and allocate a scratch area
    170179        # on it.
    171180        #
     
    187196        srlz.i
    188197        srlz.d ;;
    189        
     198
    190199        br.call.sptk.many b0 = arch_pre_main
    1912000:
Note: See TracChangeset for help on using the changeset viewer.