Le jeudi 19 avril 2007 à 08:38 +0200, Stelian Pop a écrit : > Le jeudi 19 avril 2007 à 01:35 +0200, Gilles Chanteperdrix a écrit : > > Stelian Pop wrote: > > > Hi, > > > > > > The attached patch adds an option to make Xenomai userspace issue EABI > > > syscalls. This is needed to make Xenomai work with kernels compiled with > > > CONFIG_EABI. > > > > > I get a problem with this patch: I am in the no EABI case in user-space > > and kernel-space, and when starting latency, I get an "Illegal > > instruction" message. If I revert this patch, latency starts > > correctly. Any idea ? > > Hmm, I might have screwed up here. A quick looking points me to this > change: > > +#define __SYS_REG > +#define __SYS_REG_LIST > +#define __syscall "swi\t" __sys1(XENO_ARM_SYSCALL) "" > > Does replacing XENO_ARM_SYSCALL with (0x00900000 + XENO_ARM_SYSCALL) > fixes it ? > > I may be able to mount a test platform later today if this needs further > debugging...
I have finally managed to get my old-ABI toolchain to work and can confirm that the modification above fixes the problem. The whole section of include/asm-arm/syscall.h must read: #ifdef CONFIG_XENO_ARM_EABI #define __SYS_REG register unsigned long __r7 __asm__ ("r7") = XENO_ARM_SYSCALL;#define __SYS_REG_LIST ,"r" (__r7) #define __syscall "swi\t0" #else #define __SYS_REG #define __SYS_REG_LIST #define __NR_OABI_SYSCALL_BASE 0x900000 #define __syscall "swi\t" __sys1(__NR_OABI_SYSCALL_BASE + XENO_ARM_SYSCALL) "" #endif Sorry for the annoyance. -- Stelian Pop <[EMAIL PROTECTED]> _______________________________________________ Xenomai-core mailing list Xenomai-core@gna.org https://mail.gna.org/listinfo/xenomai-core