On 11/10/2012 03:10 AM, Gilles Chanteperdrix wrote:
> On 11/10/2012 04:15 AM, at91_enthus wrote:
>
>   
>> Hi.
>>
>> I'm having problems building the user space for Xenomai 2.6.1 (for
>> AT91SAM9G20).
>> Long story short, I issue the following commands:
>>
>> $ ./configure CFLAGS="-march=armv4t" LDFLAGS="-march=armv4t"
>> --host=arm-linux-gnueabi  --enable-arm-tsc=at91
>>     
>
> According to this link:
> http://www.atmel.com/devices/SAM9G20.aspx
>
> The AT91SAM9G20 is based on an arm926 core, so, it is an armv5, not an 
> armv4.
>
> And if you are compiling xenomai for a recent version of the I-pipe 
> patch, you do not need to pass the --enable-arm-tsc option. This option 
> is made for compiling xenomai for an old kernel.
>
> Anyway, you can try the following patch:
> diff --git a/include/asm-arm/syscall.h b/include/asm-arm/syscall.h
> index 5ca1bf0..8161d39 100644
> --- a/include/asm-arm/syscall.h
> +++ b/include/asm-arm/syscall.h
> @@ -257,9 +257,9 @@ static inline unsigned long long __xn_rdtsc(void)
>       return __xn_tscinfo.kuser_tsc_get(__xn_tscinfo.kinfo.counter);
>  
>  #elif CONFIG_XENO_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING
> -     volatile unsigned long long *const tscp = __xn_tscinfo.tsc;
> -     volatile unsigned *const counterp = __xn_tscinfo.counter;
> -     const unsigned mask = __xn_tscinfo.mask;
> +     volatile unsigned long long *const tscp = __xn_tscinfo.kinfo.tsc;
> +     volatile unsigned *const counterp = __xn_tscinfo.kinfo.counter;
> +     const unsigned mask = __xn_tscinfo.kinfo.mask;
>       register unsigned long long result;
>       unsigned counter;
>  
> @@ -272,9 +272,9 @@ static inline unsigned long long __xn_rdtsc(void)
>       return (result & ~((unsigned long long) mask)) | (counter & mask);
>  
>  #elif CONFIG_XENO_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING_COUNTDOWN
> -     volatile unsigned long long *const tscp = __xn_tscinfo.tsc;
> -     volatile unsigned *const counterp = __xn_tscinfo.counter;
> -     const unsigned mask = __xn_tscinfo.mask;
> +     volatile unsigned long long *const tscp = __xn_tscinfo.kinfo.tsc;
> +     volatile unsigned *const counterp = __xn_tscinfo.kinfo.counter;
> +     const unsigned mask = __xn_tscinfo.kinfo.mask;
>       register unsigned long long result;
>       unsigned counter;
>  
> @@ -287,9 +287,9 @@ static inline unsigned long long __xn_rdtsc(void)
>       return (result & ~((unsigned long long) mask)) | (counter & mask);
>  
>  #elif CONFIG_XENO_ARM_TSC_TYPE == __XN_TSC_TYPE_FREERUNNING_FAST_WRAP
> -     volatile unsigned long long *const tscp = __xn_tscinfo.tsc;
> -     volatile unsigned *const counterp = __xn_tscinfo.counter;
> -     const unsigned mask = __xn_tscinfo.mask;
> +     volatile unsigned long long *const tscp = __xn_tscinfo.kinfo.tsc;
> +     volatile unsigned *const counterp = __xn_tscinfo.kinfo.counter;
> +     const unsigned mask = __xn_tscinfo.kinfo.mask;
>       register unsigned long long after, before;
>       unsigned counter;
>  
> @@ -305,10 +305,10 @@ static inline unsigned long long __xn_rdtsc(void)
>       return (before & ~((unsigned long long) mask)) | (counter & mask);
>  
>  #elif CONFIG_XENO_ARM_TSC_TYPE == __XN_TSC_TYPE_DECREMENTER
> -     volatile unsigned long long *const tscp = __xn_tscinfo.tsc;
> -     volatile unsigned *const counterp = __xn_tscinfo.counter;
> -     volatile unsigned *const last_cntp = __xn_tscinfo.last_cnt;
> -     const unsigned mask = __xn_tscinfo.mask;
> +     volatile unsigned long long *const tscp = __xn_tscinfo.kinfo.tsc;
> +     volatile unsigned *const counterp = __xn_tscinfo.kinfo.counter;
> +     volatile unsigned *const last_cntp = __xn_tscinfo.kinfo.last_cnt;
> +     const unsigned mask = __xn_tscinfo.kinfo.mask;
>       register unsigned long long after, before;
>       unsigned counter, last_cnt;
>  
>
>
>   
>> If I don't choose TSC emulation for ARM, everything compiles fine.
>>     
>
> ...and if you are using a recent I-pipe patch, it is what you should do 
> anyway.
>
>   

The patch worked. Everything installed fine.

Thank you.

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to