Changeset ca63ae2 in rtems


Ignore:
Timestamp:
Jun 13, 2013, 1:41:21 PM (6 years ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
4.11, master
Children:
07f6e41
Parents:
39e51758
git-author:
Sebastian Huber <sebastian.huber@…> (06/13/13 13:41:21)
git-committer:
Sebastian Huber <sebastian.huber@…> (07/17/13 11:09:50)
Message:

smp: Add and use _CPU_SMP_Send_interrupt()

Delete bsp_smp_interrupt_cpu().

Files:
12 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/arm/shared/arm-a9mpcore-smp.c

    r39e51758 rca63ae2  
    5757}
    5858
    59 void bsp_smp_interrupt_cpu(int cpu)
     59void _CPU_SMP_Send_interrupt( uint32_t target_processor_index )
    6060{
    6161  rtems_status_code sc = arm_gic_irq_generate_software_irq(
    6262    ARM_GIC_IRQ_SGI_0,
    6363    ARM_GIC_IRQ_SOFTWARE_IRQ_TO_ALL_IN_LIST,
    64     (uint8_t) (1U << cpu)
     64    (uint8_t) (1U << target_processor_index)
    6565  );
    6666}
  • c/src/lib/libbsp/i386/shared/smp/smp-imps.c

    r39e51758 rca63ae2  
    804804}
    805805
    806 void bsp_smp_interrupt_cpu(
    807   int cpu
    808 )
    809 {
    810   send_ipi( cpu, 0x30 );
     806void _CPU_SMP_Send_interrupt( uint32_t target_processor_index )
     807{
     808  send_ipi( target_processor_index, 0x30 );
    811809}
    812810
  • c/src/lib/libbsp/powerpc/qoriq/startup/smp.c

    r39e51758 rca63ae2  
    168168}
    169169
    170 void bsp_smp_interrupt_cpu(int core)
     170void _CPU_SMP_Send_interrupt(uint32_t target_processor_index)
    171171{
    172172  uint32_t self = ppc_processor_id();
    173   qoriq.pic.per_cpu [self].ipidr [IPI_INDEX].reg = ONE_CORE(core);
     173  qoriq.pic.per_cpu [self].ipidr [IPI_INDEX].reg =
     174    ONE_CORE(target_processor_index);
    174175}
  • c/src/lib/libbsp/shared/smp/smp_stub.c

    r39e51758 rca63ae2  
    3232}
    3333
    34 void bsp_smp_interrupt_cpu(
    35   int cpu
    36 )
     34void _CPU_SMP_Send_interrupt( uint32_t target_processor_index )
    3735{
    3836}
  • c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c

    r39e51758 rca63ae2  
    116116}
    117117
    118 void bsp_smp_interrupt_cpu(
    119   int cpu
    120 )
     118void _CPU_SMP_Send_interrupt(uint32_t target_processor_index)
    121119{
    122120  /* send interrupt to destination CPU */
    123   LEON3_IrqCtrl_Regs->force[cpu] = 1 << LEON3_MP_IRQ;
     121  LEON3_IrqCtrl_Regs->force[target_processor_index] = 1 << LEON3_MP_IRQ;
    124122}
    125123
     
    136134    if ( cpu == dest_cpu )
    137135      continue;
    138     bsp_smp_interrupt_cpu( dest_cpu );
     136    _CPU_SMP_Send_interrupt( dest_cpu );
    139137    /* this is likely needed due to the ISR code not being SMP aware yet */
    140138    bsp_smp_delay( 100000 );
  • cpukit/score/cpu/arm/rtems/score/cpu.h

    r39e51758 rca63ae2  
    457457    return mpidr & 0xffU;
    458458  }
     459
     460  void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
    459461
    460462  static inline void _ARM_Data_memory_barrier( void )
  • cpukit/score/cpu/i386/rtems/score/cpu.h

    r39e51758 rca63ae2  
    458458  RTEMS_COMPILER_PURE_ATTRIBUTE uint32_t _CPU_SMP_Get_current_processor( void );
    459459
     460  void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
     461
    460462  static inline void _CPU_Processor_event_broadcast( void )
    461463  {
  • cpukit/score/cpu/no_cpu/rtems/score/cpu.h

    r39e51758 rca63ae2  
    14161416    return 123;
    14171417  }
     1418
     1419  /**
     1420   * @brief Sends an inter-processor interrupt to the specified target
     1421   * processor.
     1422   *
     1423   * This operation is undefined for target processor indices out of range.
     1424   *
     1425   * @param[in] target_processor_index The target processor index.
     1426   */
     1427  void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
    14181428
    14191429  /**
  • cpukit/score/cpu/powerpc/rtems/score/cpu.h

    r39e51758 rca63ae2  
    10151015  }
    10161016
     1017  void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
    10171018
    10181019  static inline void _CPU_Processor_event_broadcast( void )
  • cpukit/score/cpu/sparc/rtems/score/cpu.h

    r39e51758 rca63ae2  
    11891189  RTEMS_COMPILER_PURE_ATTRIBUTE uint32_t _CPU_SMP_Get_current_processor( void );
    11901190
     1191  void _CPU_SMP_Send_interrupt( uint32_t target_processor_index );
     1192
    11911193  static inline void _CPU_Processor_event_broadcast( void )
    11921194  {
  • cpukit/score/include/rtems/bspsmp.h

    r39e51758 rca63ae2  
    8585
    8686/**
    87  *  @brief Generate a interprocessor interrupt.
    88  *
    89  *  This method is invoked by RTEMS to let @a cpu know that it
    90  *  has sent it a message.
    91  *
    92  *  @param [in] cpu is the recipient CPU
    93  */
    94 void bsp_smp_interrupt_cpu(
    95   int cpu
    96 );
    97 
    98 /**
    9987 * @brief Performs high-level initialization of a secondary processor and runs
    10088 * the application threads.
  • cpukit/score/src/smp.c

    r39e51758 rca63ae2  
    122122  _Per_CPU_Lock_release( per_cpu, level );
    123123
    124   bsp_smp_interrupt_cpu( cpu );
     124  _CPU_SMP_Send_interrupt( cpu );
    125125}
    126126
Note: See TracChangeset for help on using the changeset viewer.