Changeset 93b000e in rtems
- Timestamp:
- 10/01/14 11:53:03 (9 years ago)
- Branches:
- 4.11, 5, master
- Children:
- 9a8b2984
- Parents:
- 456eab7d
- git-author:
- Daniel Cederman <cederman@…> (10/01/14 11:53:03)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (10/02/14 05:29:05)
- Location:
- c/src/lib/libbsp/sparc
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/lib/libbsp/sparc/leon3/include/bsp.h
r456eab7d r93b000e 216 216 extern void BSP_shared_interrupt_mask(int irq); 217 217 218 /* Irq used by the shared memory driver and for inter-processor interrupts. 219 * The variable is weakly linked. Redefine the variable in your application 220 * to override the BSP default. 221 * See startup/bspsmp.c for the default value. 222 */ 223 extern unsigned char LEON3_mp_irq; 224 218 225 #ifdef __cplusplus 219 226 } -
c/src/lib/libbsp/sparc/leon3/include/leon.h
r456eab7d r93b000e 119 119 120 120 /* Macros used for manipulating bits in LEON3 GP Timer Control Register */ 121 122 #define LEON3_MP_IRQ 14 /* Irq used by shared memory driver */123 121 124 122 #define LEON3_IRQMPSTATUS_CPUNR 28 -
c/src/lib/libbsp/sparc/leon3/shmsupp/getcfg.c
r456eab7d r93b000e 61 61 { 62 62 NULL, 63 1 << LEON3_MP_IRQ, /* USER OVERRIDABLE*/63 0, /* USER OVERRIDABLE - Uses default MP-IRQ if 0 */ 64 64 4, 65 65 }, … … 94 94 (vol_u32 *) &(LEON3_IrqCtrl_Regs->force[LEON3_Cpu_Index]); 95 95 if (BSP_shm_cfgtbl.Intr.value == 0) 96 BSP_shm_cfgtbl.Intr.value = 1 << LEON3_ MP_IRQ; /* Use default MP-IRQ */96 BSP_shm_cfgtbl.Intr.value = 1 << LEON3_mp_irq; /* Use default MP-IRQ */ 97 97 BSP_shm_cfgtbl.Intr.length = 4; 98 98 -
c/src/lib/libbsp/sparc/leon3/shmsupp/mpisr.c
r456eab7d r93b000e 46 46 * This is thought to be the interrupt to use. 47 47 */ 48 LEON_Unmask_interrupt(LEON3_ MP_IRQ);49 set_vector((rtems_isr_entry) Shm_isr, LEON_TRAP_TYPE(LEON3_ MP_IRQ), 1);48 LEON_Unmask_interrupt(LEON3_mp_irq); 49 set_vector((rtems_isr_entry) Shm_isr, LEON_TRAP_TYPE(LEON3_mp_irq), 1); 50 50 } -
c/src/lib/libbsp/sparc/leon3/startup/bspsmp.c
r456eab7d r93b000e 22 22 #include <stdlib.h> 23 23 24 /* Irq used by shared memory driver and for inter-processor interrupts. 25 * Can be overridden by being defined in the application. 26 */ 27 unsigned char LEON3_mp_irq __attribute__((weak)) = 14; 28 24 29 #if !defined(__leon__) || defined(RTEMS_PARAVIRT) 25 30 uint32_t _CPU_SMP_Get_current_processor( void ) … … 42 47 leon3_set_cache_control_register(0x80000F); 43 48 /* Unmask IPI interrupts at Interrupt controller for this CPU */ 44 LEON3_IrqCtrl_Regs->mask[cpu_index_self] |= 1U << LEON3_ MP_IRQ;49 LEON3_IrqCtrl_Regs->mask[cpu_index_self] |= 1U << LEON3_mp_irq; 45 50 46 51 _SMP_Start_multitasking_on_secondary_processor(); … … 52 57 53 58 if ( rtems_configuration_get_maximum_processors() > 1 ) { 54 LEON_Unmask_interrupt(LEON3_ MP_IRQ);55 set_vector(bsp_inter_processor_interrupt, LEON_TRAP_TYPE(LEON3_ MP_IRQ), 1);59 LEON_Unmask_interrupt(LEON3_mp_irq); 60 set_vector(bsp_inter_processor_interrupt, LEON_TRAP_TYPE(LEON3_mp_irq), 1); 56 61 } 57 62 … … 80 85 { 81 86 /* send interrupt to destination CPU */ 82 LEON3_IrqCtrl_Regs->force[target_processor_index] = 1 << LEON3_ MP_IRQ;87 LEON3_IrqCtrl_Regs->force[target_processor_index] = 1 << LEON3_mp_irq; 83 88 } 84 89 -
c/src/lib/libbsp/sparc/shared/irq/irq-shared.c
r456eab7d r93b000e 33 33 34 34 for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) { 35 #if defined(LEON3 _MP_IRQ) && \35 #if defined(LEON3) && \ 36 36 (defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)) 37 37 /* Don't install IRQ handler on IPI interrupt */ 38 if (i == LEON3_ MP_IRQ)38 if (i == LEON3_mp_irq) 39 39 continue; 40 40 #endif
Note: See TracChangeset
for help on using the changeset viewer.