Ignore:
Timestamp:
2014-10-30T12:48:50Z (11 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
3579629
Parents:
aef669b
Message:

sparc64/sun4v trap overhaul.

  • Handle interrupt, MMU and other essential traps via exc_dispatch()
  • Handle data_access_exception on TL>1
  • Switch the sun4v code to the previously modified istate_t structure
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/trap/interrupt.c

    raef669b rcade9c1  
    6060            "instruction_access_error", false,
    6161            instruction_access_error);
     62
     63#ifdef SUN4V
     64        exc_register(TT_IAE_UNAUTH_ACCESS,
     65            "iae_unauth_access", false,
     66            instruction_access_exception);
     67        exc_register(TT_IAE_NFO_PAGE,
     68            "iae_nfo_page", false,
     69            instruction_access_exception);
     70#endif
     71
    6272        exc_register(TT_ILLEGAL_INSTRUCTION,
    6373            "illegal_instruction", false,
     
    7282            "unimplemented_STD", false,
    7383            unimplemented_STD);
     84
     85#ifdef SUN4V
     86        exc_register(TT_DAE_INVALID_ASI,
     87            "dae_invalid_asi", false,
     88            data_access_exception);
     89        exc_register(TT_DAE_PRIVILEGE_VIOLATION,
     90            "dae_privilege_violation", false,
     91            data_access_exception);
     92        exc_register(TT_DAE_NC_PAGE,
     93            "dae_nc_page", false,
     94            data_access_exception);
     95        exc_register(TT_DAE_NC_PAGE,
     96            "dae_nc_page", false,
     97            data_access_exception);
     98        exc_register(TT_DAE_NFO_PAGE,
     99            "dae_nfo_page", false,
     100            data_access_exception);
     101#endif
     102
    74103        exc_register(TT_FP_DISABLED,
    75104            "fp_disabled", true,
     
    116145            tick_interrupt);
    117146
    118 #ifdef SUN4u
     147#ifdef SUN4U
    119148        exc_register(TT_INTERRUPT_VECTOR_TRAP,
    120149            "interrupt_vector_trap", true,
     
    131160            "fast_data_access_protection", true,
    132161            fast_data_access_protection);       
     162
     163#ifdef SUN4V
     164        exc_register(TT_CPU_MONDO,
     165            "cpu_mondo", true,
     166            cpu_mondo);
     167#endif
     168
    133169}
    134170
Note: See TracChangeset for help on using the changeset viewer.