Hay tres directorios relacionados con sparc:
rtems-4.6.0 \ cpukit \ score \ cpu \ sparc \ cpu.c
rtems-4.6.0 \ c \ src \ lib \ libbsp \ sparc \ shared \ bspstart.c
rtems-4.6.0 \ c \ src \ lib \ libcpu \ sparc \ cache \ cache.c
A
rtems-4.6.0 \ cpukit \ score \ include \ rtems \ score \ isr.h
11 #define _ISR_Install_vector (_vector, _new_handler, _old_handler) \ 12 _CPU_ISR_install_vector (_vector, _new_handler, _old_handler)
rtems-4.6.0 \ cpukit \ score \ cpu \ sparc \ cpu.c
1 / * PÁGINA 2 * 3 * _CPU_ISR_install_vector 4 * 5 * Esta rutina del núcleo instala el controlador RTEMS para el vector 6 * especificado. 7 * 8 * Parámetros de entrada: 9 * vector - vector de interrupción número 10 * new_handler - ISR de reemplazo para este vector número 11 * old_handler - puntero al ISR anterior para este vector número 12 * 13 * Parámetros de salida: 14 * * old_handler - ex ISR para este vector número 15 * 16 * / 17 18 void _CPU_ISR_install_vector ( 19 vector unsigned32, 20 proc_ptr new_handler, 21 proc_ptr * old_handler 22 ) 23 { 24 unsigned32 real_vector; 25 proc_ptr ignorado; 26 27 / * 28 * Obtenga el número de trampa "real" para este vector ignorando el 29 síncrono versus el indicador asíncrono incluido con nuestros números de vector. 30 * / 31 32 real_vector = SPARC_REAL_TRAP_NUMBER (vector); 33 34 / * 35 * Devuelve el controlador ISR anterior. 36 * / 37 38 * old_handler = _ISR_Vector_table [real_vector]; 39 40 / * 41 * Instale el contenedor para que este ISR se pueda invocar correctamente. 42 * / 43 44 _CPU_ISR_install_raw_handler (vector, _ISR_Handler, e ignorado); 45 46 / * 47 * Ponemos la dirección ISR real del usuario en '_ISR_vector_table'. Esta voluntad 48 * ser utilizado por el _ISR_Handler por lo que el usuario tiene el control. 49 * / 50 51 _ISR_Vector_table [real_vector] = new_handler; 52 }
Lugar sustancial