ARM RTEMS SMP Support

Xi Yang hiyangxi at gmail.com
Wed Feb 13 22:56:40 UTC 2013


Hi Joel,

On 14 February 2013 05:37, Joel Sherrill <joel.sherrill at oarcorp.com> wrote:
> You just threw down the gauntlet to Xi Yang!! Time to
> merge. :)
>
> On 2/13/2013 12:02 PM, Claus, Ric wrote:
>
> SMP is not available for ARM?  That's a big issue for me.  What's involved
> to provide that support?
>
> Compared to writing a BSP from scratch, not much. :)
>
> You can look at either the pc386 or leon3 BSPs and associated
> ports for an idea of how much code is architecture
> and BSP specific.
>
> Or even better.. help us merge the GSOC project by Xi Yang.

Sorry, Joel. I was too busy to clean the code. I will try my best to
submit the patches as soon as possible.

By the way, I am doing a research project which is using RTEMS as the
kernel for the small M3 ARM cores.


Regards.

>
> http://www.rtems.com/ml/rtems-users/2012/august/msg00084.html
> has a github link. I suspect there may be some BSP or CPU model
> variation between his work and yours.
>
> Our atomic code is based off that in FreeBSD. So this would be the
> starting point for the atomic.h support.
>
> http://svnweb.freebsd.org/base/head/sys/arm/include/atomic.h?view=log&pathrev=151334
>
> --joel
>
> Ric
>
> ________________________________________
> From: rtems-devel-bounces at rtems.org [rtems-devel-bounces at rtems.org] On
> Behalf Of Joel Sherrill [joel.sherrill at OARcorp.com]
> Sent: Wednesday, February 13, 2013 8:42 AM
> To: yangwei weiyang
> Cc: RTEMS Devel
> Subject: Re: [rtems commit] tests: atomic support for RTEMS. Uniprocessor
> tests for atomic ops.
>
> On 2/13/2013 10:28 AM, yangwei weiyang wrote:
>
> OK i am studying how to implement a common ISR_Disable and ISR_Enable
> ops to simulate atomic ops. But it is just for the UP architectures,
> for SMP architectures which are not supported by atomic now this will
> not be suitable.
>
> That's OK. The only architectures we currently support SMP on are
> x86 and SPARC (only for LEON3).  Beyond powerpc and arm, I think
> it is unlikely we will have SMP.
>
> In general terms, if the CPU doesn't have atomic instructions
> to implement these with, then it is very unlikely to ever show
> up in an SMP configuration.  This makes the ISR disable/enable
> implementation suitable for UP.
>
> My biggest concerns is more general. I envision two common
> scenarios within a single architecture:
>
> + certain cpu models or architecture revisions have atomic
>     instructions and some don't. But this is defined in the
>    architecture and can be handled in cpukit. ISR disable/enable
>     in some cases, real atomic in others.
> + Similar case but CPU models have pulled instructions from
>     architectural revisions "above" them. The instruction is
>     there but not part of the real architectural revision the CPU
>     model is based upon.
>
> The isr disable/enable implementation may need to be available
> all the time as a fallback.
>
> --joel
>
>
>
> --
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel.sherrill at OARcorp.com        On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> Support Available                (256) 722-9985



More information about the devel mailing list