* [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 @ 2012-12-30 15:51 Romain Naour 2012-12-30 16:56 ` Gilles Chanteperdrix 2012-12-30 22:15 ` Gilles Chanteperdrix 0 siblings, 2 replies; 6+ messages in thread From: Romain Naour @ 2012-12-30 15:51 UTC (permalink / raw) To: xenomai 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 ? Regards, Romain ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 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 1 sibling, 0 replies; 6+ messages in thread From: Gilles Chanteperdrix @ 2012-12-30 16:56 UTC (permalink / raw) To: Romain Naour; +Cc: xenomai 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 ? Hi Romain, thanks for the report, this test only makes sense if compiling with the "ad-hoc" atomic operations, with the default setting which is to use gcc atomic operations, we can remove the test. Will fix for 2.6.2.1, thanks for the report. Regards. -- Gilles. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 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 1 sibling, 1 reply; 6+ messages in thread From: Gilles Chanteperdrix @ 2012-12-30 22:15 UTC (permalink / raw) To: Romain Naour; +Cc: xenomai 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 -- Gilles. ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 2012-12-30 22:15 ` Gilles Chanteperdrix @ 2012-12-31 11:30 ` Romain Naour 2013-01-02 23:38 ` Romain Naour 0 siblings, 1 reply; 6+ messages in thread From: Romain Naour @ 2012-12-31 11:30 UTC (permalink / raw) To: Gilles Chanteperdrix; +Cc: xenomai 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 ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 2012-12-31 11:30 ` Romain Naour @ 2013-01-02 23:38 ` Romain Naour 2013-01-03 20:12 ` Gilles Chanteperdrix 0 siblings, 1 reply; 6+ messages in thread From: Romain Naour @ 2013-01-02 23:38 UTC (permalink / raw) To: xenomai 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 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Xenomai] Xenomai 2.6.2 user-space compilation error on ARM < armv6 2013-01-02 23:38 ` Romain Naour @ 2013-01-03 20:12 ` Gilles Chanteperdrix 0 siblings, 0 replies; 6+ messages in thread From: Gilles Chanteperdrix @ 2013-01-03 20:12 UTC (permalink / raw) To: Romain Naour; +Cc: xenomai On 01/03/2013 12:38 AM, Romain Naour wrote: > 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 */ > } Merged, thanks. -- Gilles. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2013-01-03 20:12 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 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 2013-01-03 20:12 ` Gilles Chanteperdrix
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.