SMP support for Raspberry Pi 2
Hesham ALMatary
heshamelmatary at gmail.com
Wed Jul 8 14:51:32 UTC 2015
Hi Rohini,
On Wed, Jul 8, 2015 at 1:54 PM, Rohini Kulkarni <krohini1593 at gmail.com> wrote:
> Hi,
>
> I found this piece of code in confdefs.h
>
> #if defined(RTEMS_SMP)
>
> /*
> * If configured for SMP, then we need to know the maximum CPU cores.
> */
> #if !defined(CONFIGURE_SMP_APPLICATION)
> #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
> #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1
> #endif
> #else
> #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
> #error "CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP
> Application"
> #endif
> #endif
> #endif
>
> This piece of code gets the configured number of CPUs. I suppose this number
> is not specified and will have to be specified by me somewhere in the
> configurations. But I am unable to find out where.
>
Every BSP that supports SMP should define the number of
cores/processors in its linkcmds file. For example have a look at
Realview linkcmds file here [1]
[1] https://github.com/RTEMS/rtems/blob/master/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp#L1
> Thanks!
>
>
> On Sat, Jul 4, 2015 at 4:07 PM, Rohini Kulkarni <krohini1593 at gmail.com>
> wrote:
>>
>>
>>
>> On Fri, Jul 3, 2015 at 10:43 PM, Joel Sherrill <joel.sherrill at oarcorp.com>
>> wrote:
>>>
>>>
>>>
>>> On July 3, 2015 11:53:07 AM CDT, Rohini Kulkarni <krohini1593 at gmail.com>
>>> wrote:
>>> >Any help that I can with this?
>>> >
>>> >On 1 Jul 2015 16:59, "Rohini Kulkarni" <krohini1593 at gmail.com> wrote:
>>> >
>>> >Hi all,
>>> >
>>> >I wish to know where the maximum number of processors for a variant are
>>> >configured. I took a look at some configure scripts. I could see the
>>> >processor count defined for xilinx-zynq in its configuration file as
>>> >ZYNQ_CPUS=2.
>>
>> This looks to be BSP specific and could originate in configure.ac or a
>> .h file.
>> I found this under ~/libbsp/arm/xilinx-zynq/configure
>> # Check whether --enable-smp was given.
>> if test "$rtems_cv_HAS_SMP" = "yes"; then :
>> ZYNQ_CPUS="2"
>> fi
>>>
>>>
>>> It is likely that each BSP has an underlying hardware limit.
>>
>> Yes
>>>
>>>
>>> >
>>> >rtems_configuration_get_maximum_processors() called in gets this
>>> >configured number. But I don't know from where.
>>>
>>> This is set initially based on the confdefs.h parameter
>>> CONFIGURE_SMP_MAXIMUM_PROCESSORS or something close to that (on phone).
>>
>> Ya, I found this piece of code in confdefs.h
>> #if defined(RTEMS_SMP)
>> /*
>> * If configured for SMP, then we need to know the maximum CPU cores.
>> */
>> #if !defined(CONFIGURE_SMP_APPLICATION)
>> #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
>> #define CONFIGURE_SMP_MAXIMUM_PROCESSORS 1
>> #endif
>> #else
>> #if !defined(CONFIGURE_SMP_MAXIMUM_PROCESSORS)
>> #error "CONFIGURE_SMP_MAXIMUM_PROCESSORS not specified for SMP
>> Application"
>> #endif
>> #endif
>> #endif
>>
>> This piece of code gets the configured number of CPUs. I suppose this
>> number is not specified and will have to be specified by me somewhere in the
>> configurations. But I am unable to find out where.
>>>
>>> Ultimately the maximum CPUs for an application is the lower of those
>>> available or RTEMS is configured for.
>>
>> Yes.
>>>
>>>
>>> >Also where is RTEMS_SMP defined for a bsp?
>>>
>>> A side-effect of building with --enable-smp.
>>
>> Oh,alright.
>>>
>>>
>>>
>>> >Thanks.
>>> >
>>> >
>>> >--
>>> >
>>> >Rohini Kulkarni
>>>
>>> --joel
>>
>>
>>
>>
>> --
>> Rohini Kulkarni
>
>
>
>
> --
> Rohini Kulkarni
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
--
Hesham
More information about the devel
mailing list