Changeset 1b57b75 in rtems for bsps/arm


Ignore:
Timestamp:
Jul 18, 2018, 5:14:41 AM (17 months ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
ffd4617
Parents:
da0cbef2
git-author:
Sebastian Huber <sebastian.huber@…> (07/18/18 05:14:41)
git-committer:
Sebastian Huber <sebastian.huber@…> (07/18/18 05:16:26)
Message:

bsp/realview-pbx-a9: Support unassigned processors

File:
1 edited

Legend:

Unmodified
Added
Removed
  • bsps/arm/realview-pbx-a9/start/bspstarthooks.c

    rda0cbef2 r1b57b75  
    1919#include <bsp/arm-cp15-start.h>
    2020#include <bsp/arm-a9mpcore-start.h>
     21
     22#ifdef RTEMS_SMP
     23#include <rtems/score/smpimpl.h>
     24#endif
    2125
    2226BSP_START_DATA_SECTION static const arm_cp15_start_section_config
     
    5761{
    5862#ifdef RTEMS_SMP
    59   uint32_t cpu_id = arm_cortex_a9_get_multiprocessor_cpu_id();
     63  uint32_t cpu_index_self = _SMP_Get_current_processor();
    6064
    6165  /*
    6266   * QEMU jumps to the entry point of the ELF file on all processors.  Prevent
    63    * a SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR this way.
     67   * the fatal errors SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR and
     68   * SMP_FATAL_MULTITASKING_START_ON_UNASSIGNED_PROCESSOR this way.
    6469   */
    65   if ( cpu_id >= rtems_configuration_get_maximum_processors() ) {
     70  if (
     71    cpu_index_self >= rtems_configuration_get_maximum_processors()
     72      || !_SMP_Should_start_processor(cpu_index_self)
     73  ) {
    6674    while (true) {
    6775      _ARM_Wait_for_event();
Note: See TracChangeset for help on using the changeset viewer.