File indexing completed on 2025-05-11 08:23:51
0001 #include <rtems.h>
0002 #include <rtems/mips/idtcpu.h>
0003 #include <stdlib.h>
0004 #include <string.h>
0005
0006 #include <libcpu/isr_entries.h>
0007
0008 void mips_install_isr_entries( void )
0009 {
0010 #if __mips == 1
0011 memcpy( (void *)UT_VEC, exc_utlb_code, 40 );
0012 memcpy( (void *)DB_VEC, exc_dbg_code, 40 );
0013 memcpy( (void *)E_VEC, exc_norm_code, 40 );
0014
0015 #elif __mips == 32
0016 memcpy( (void *)T_VEC, exc_tlb_code, 40 );
0017 memcpy( (void *)X_VEC, exc_xtlb_code, 40 );
0018 memcpy( (void *)C_VEC, exc_cache_code, 40 );
0019 memcpy( (void *)E_VEC, exc_norm_code, 40 );
0020
0021 #elif __mips == 3
0022 memcpy( (void *)T_VEC, exc_tlb_code, 40 );
0023 memcpy( (void *)X_VEC, exc_xtlb_code, 40 );
0024 memcpy( (void *)C_VEC, exc_cache_code, 40 );
0025 memcpy( (void *)E_VEC, exc_norm_code, 40 );
0026 #endif
0027
0028 rtems_cache_flush_entire_data();
0029 }