From: Romain Naour <romain.naour@openwide.fr>
To: xenomai@xenomai.org
Subject: Re: [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6
Date: Thu, 03 Jan 2013 00:38:11 +0100 [thread overview]
Message-ID: <50E4C4E3.2070909@openwide.fr> (raw)
In-Reply-To: <50E17756.7030400@openwide.fr>
Le 31/12/2012 12:30, Romain Naour a écrit :
> Le 30/12/2012 23:15, Gilles Chanteperdrix a écrit :
>> On 12/30/2012 04:51 PM, Romain Naour wrote:
>>
>>> Hi Gilles,
>>>
>>> First of all, thank you for the new release of Xenomai :)
>>>
>>> I'm compiling Xenomai 2.6.2 and Linux kernel 3.5.3 for mini2440 with
>>> buildroot 2012.11.
>>>
>>> During compilation I get the following error: error: #error "SMP not
>>> supported below armv6, compile with -march=armv6 or above"
>>>
>>> This error is caused by the SMP mode which is now enabled by default
>>> on ARM. So I added the option --disable-smp on the buildroot's
>>> command line for ./configure (buildroot assumes that the SMP mode is
>>> not enabled when it compile Xenomai for arm)
>>>
>>> This option became mandatory for ARM < armv6 to pass this test:
>>> (xenomai-2.6/include/asm-arm/feature.h)
>>>
>>> #if __LINUX_ARM_ARCH__ < 6 && defined(CONFIG_SMP) #error "SMP not
>>> supported below armv6, compile with -march=armv6 or above" #endif
>>>
>>> The error message may be advisable to add the option --disable-smp ?
>>> However, since your objective is to allow to run the same binary on
>>> UP and SMP system, it is safe to remove this test for ARM < armv6 now
>>> ?
>>
>>
>> Could you try the following patch?
>>
>> diff --git a/include/asm-arm/atomic_asm.h b/include/asm-arm/atomic_asm.h
>> index 47f17c9..ef62690 100644
>> --- a/include/asm-arm/atomic_asm.h
>> +++ b/include/asm-arm/atomic_asm.h
>> @@ -27,6 +27,10 @@
>> #error "please don't include asm/atomic_asm.h directly"
>> #endif
>>
>> +#if __LINUX_ARM_ARCH__ < 6 && defined(CONFIG_SMP)
>> +#error "SMP not supported below armv6 with ad-hoc atomic operations, compile without SMP or with -march=armv6 or above"
>> +#endif
>> +
>> extern void __xnarch_xchg_called_with_bad_pointer(void);
>>
>> #define xnarch_read_memory_barrier() xnarch_memory_barrier()
>> diff --git a/include/asm-arm/features.h b/include/asm-arm/features.h
>> index 279f752..bddaa5e 100644
>> --- a/include/asm-arm/features.h
>> +++ b/include/asm-arm/features.h
>> @@ -73,10 +73,6 @@
>> #error "Could not find current ARM architecture"
>> #endif
>>
>> -#if __LINUX_ARM_ARCH__ < 6 && defined(CONFIG_SMP)
>> -#error "SMP not supported below armv6, compile with -march=armv6 or above"
>> -#endif
>> -
>> #define CONFIG_XENO_FASTSYNCH 1
>>
>> #if CONFIG_XENO_ARM_TSC_TYPE == __XN_TSC_TYPE_KUSER
>>
>
> Hi Gilles,
>
> I applied your patch and tried to compile with the following options:
> --with-atomic-ops=ad-hoc
> As expected, the build fails with this error:
> #error "SMP not supported below armv6 with ad-hoc atomic operations,
> compile without SMP or with -march=armv6 or above"
>
> --with-atomic-ops=builtins (or when this option is not specified)
> The build ends correctly.
> I haven't the board at this time, I'll do a test this week.
>
> Regards,
> Romain
>
> _______________________________________________
> Xenomai mailing list
> Xenomai@xenomai.org
> http://www.xenomai.org/mailman/listinfo/xenomai
>
Hi Gilles,
I did a test today with your previous patch, it works correctly.
However the following patch is required since the new ipipe-core.
Signed-off-by: Naour Romain <romain.naour@openwide.fr>
---
We need a minimal reload value for s3c2410_itimer, otherwise the hardware timer stops.
arch/arm/plat-samsung/time.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/arm/plat-samsung/time.c b/arch/arm/plat-samsung/time.c
index 8d14b85..97fbdc5 100644
--- a/arch/arm/plat-samsung/time.c
+++ b/arch/arm/plat-samsung/time.c
@@ -364,6 +364,8 @@ static void s3c2410_timer_setup (void)
#ifdef CONFIG_IPIPE
s3c2410_itimer.freq = tcnt * HZ;
+ /* hardware timer can't be reloaded below 120ns */
+ s3c2410_itimer.min_delay_ticks = ipipe_timer_ns2ticks(&s3c2410_itimer, 120);
ipipe_timer_register(&s3c2410_itimer);
#endif /* CONFIG_IPIPE */
}
--
1.8.0.3
next prev parent reply other threads:[~2013-01-02 23:38 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-30 15:51 [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 Romain Naour
2012-12-30 16:56 ` Gilles Chanteperdrix
2012-12-30 22:15 ` Gilles Chanteperdrix
2012-12-31 11:30 ` Romain Naour
2013-01-02 23:38 ` Romain Naour [this message]
2013-01-03 20:12 ` Gilles Chanteperdrix
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50E4C4E3.2070909@openwide.fr \
--to=romain.naour@openwide.fr \
--cc=xenomai@xenomai.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.