* [Adeos-main] BUG: adeos-ipipe-2.6.15-arm-1.5-00.patch on 2.6.15.7 -- syscalls
@ 2006-10-09 8:52 Schlägl Manfred jun.
2006-10-09 10:15 ` Philippe Gerum
0 siblings, 1 reply; 2+ messages in thread
From: Schlägl Manfred jun. @ 2006-10-09 8:52 UTC (permalink / raw)
To: adeos-main
[-- Attachment #1: Type: text/plain, Size: 1738 bytes --]
Hi!
I'm trying to get running Adeos/Xenomai on a Netsilicon 9360
(ARM926EJ-Sid(wb) rev 4 (v5l))-Board with linux-2.6.15.7 and found
following bug in ipipe.root (__ipipe_syscall_root)
In __ipipe_syscall_root the syscall-nr is checked by:
__ipipe_syscall_watched_p(current, scno)
((
#define __NR_SYSCALL_BASE 0x900000
#define __ARM_NR_BASE (__NR_SYSCALL_BASE+0x0f0000)
#define __ipipe_syscall_watched_p(p, sc) \
(((p)->flags & PF_EVNOTIFY) || (unsigned long)sc >= __ARM_NR_BASE + 64)
))
but in entry-common.S this number is substracted by __NR_SYSCALL_BASE,
so the check (scno >= __ARM_NR_BASE + 64) can never succeed.
...
ldr ip, [tsk, #TI_FLAGS] @ check for syscall tracing
bic scno, scno, #0xff000000 @ mask off SWI op-code
eor scno, scno, #__NR_SYSCALL_BASE @ check OS number <---- substraction
#ifdef CONFIG_IPIPE
stmfd sp!, {r0-r3, ip}
add r1, sp, #S_OFF
add r1, r1, #20
mov r0, scno
bl __ipipe_syscall_root
cmp r0, #0
ldmfd sp!, {r0-r3, ip}
blt __ipipe_ret_fast_syscall
bgt __ipipe_fast_exit_syscall
#endif /* CONFIG_IPIPE */
...
My Patch:
--- ipipe-root.c.orig 2006-10-09 10:42:11.000000000 +0200
+++ ipipe-root.c 2006-10-09 10:42:26.000000000 +0200
@@ -339,7 +339,7 @@
/* We use r7 to pass the syscall number to the other domains */
origr7 = regs->ARM_r7;
- regs->ARM_r7 = __NR_SYSCALL_BASE + scno;
+ scno=regs->ARM_r7 = __NR_SYSCALL_BASE + scno;
/*
* This routine either returns:
Manfred
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Adeos-main] BUG: adeos-ipipe-2.6.15-arm-1.5-00.patch on 2.6.15.7 -- syscalls
2006-10-09 8:52 [Adeos-main] BUG: adeos-ipipe-2.6.15-arm-1.5-00.patch on 2.6.15.7 -- syscalls Schlägl Manfred jun.
@ 2006-10-09 10:15 ` Philippe Gerum
0 siblings, 0 replies; 2+ messages in thread
From: Philippe Gerum @ 2006-10-09 10:15 UTC (permalink / raw)
To: Schlägl Manfred jun.; +Cc: adeos-main
Hi,
On Mon, 2006-10-09 at 10:52 +0200, Schlägl Manfred jun. wrote:
> Hi!
>
> I'm trying to get running Adeos/Xenomai on a Netsilicon 9360
> (ARM926EJ-Sid(wb) rev 4 (v5l))-Board with linux-2.6.15.7 and found
> following bug in ipipe.root (__ipipe_syscall_root)
>
Indeed, I messed this up. You are likely running 1.5-00. A similar fix
was applied for 1.5-01, IIRC:
http://download.gna.org/adeos/patches/v2.6/arm/adeos-ipipe-2.6.15-arm-1.5-01.patch
Thanks,
--
Philippe.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-10-09 10:15 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-09 8:52 [Adeos-main] BUG: adeos-ipipe-2.6.15-arm-1.5-00.patch on 2.6.15.7 -- syscalls Schlägl Manfred jun.
2006-10-09 10:15 ` Philippe Gerum
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.