From: "Steven A. Falco" <sfalco@domain.hid>
To: rpm@xenomai.org
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] kernel BUG running cyclictest on powerpc 405
Date: Thu, 25 Oct 2007 10:45:59 -0400 [thread overview]
Message-ID: <4720AC27.9040705@domain.hid> (raw)
In-Reply-To: <4720AB1B.4060300@domain.hid>
[-- Attachment #1.1: Type: text/plain, Size: 1388 bytes --]
Thanks! I'll try your patch and report if I still have trouble.
I've attached my patch for PPC405.
Steve
Philippe Gerum wrote:
> Steven A. Falco wrote:
>
>> I have built a 2.6.23-rc7 kernel (from Denx git) with Xenomai 2.4-rc3.
>> Architecture is powerpc, processor is a 405GP.
>>
>> I had to make some additions to arch/powerpc/kernel/head_40x.S, and I
>> can submit a patch if someone tells me where to post it.
>>
>>
>
> Here would be nice, or to the Adeos list, indifferently - I would pick
> it from both anyway.
>
>
>> However, while the kernel boots and runs, the xenomai user apps do not
>> work correctly. Specifically, when running cyclictest, I get the following:
>>
>>
>
> This patch should fix this issue.
>
> diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
> index eeb38e2..5a38086 100644
> --- a/arch/powerpc/sysdev/uic.c
> +++ b/arch/powerpc/sysdev/uic.c
> @@ -48,7 +48,7 @@ struct uic {
> int index;
> int dcrbase;
>
> - spinlock_t lock;
> + ipipe_spinlock_t lock;
>
> /* The remapper for this UIC */
> struct irq_host *irqhost;
>
>> How do I debug this? I have done a little kernel hacking, but I am a
>> noob when it comes to Xenomai...
>>
>>
>
> Well, actually, it's shame on me. I did not notice that the universal
> interrupt controller code was missing some bits in post-2.6.21 I-pipe
> patches.
>
>
[-- Attachment #1.2: Type: text/html, Size: 1942 bytes --]
[-- Attachment #2: ipipe.patch --]
[-- Type: text/x-patch, Size: 1334 bytes --]
--- linux-2.6-denx.xenomai/arch/powerpc/kernel/head_40x.S 2007-09-28 13:40:46.000000000 -0400
+++ linux-2.6-denx/arch/powerpc/kernel/head_40x.S 2007-10-24 14:02:23.000000000 -0400
@@ -227,6 +227,12 @@
EXC_XFER_TEMPLATE(hdlr, n, MSR_KERNEL, NOCOPY, transfer_to_handler_full, \
ret_from_except_full)
+#ifdef CONFIG_IPIPE
+#define EXC_XFER_IPIPE(n, hdlr) \
+ EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \
+ __ipipe_ret_from_except)
+#endif /* CONFIG_IPIPE */
+
#define EXC_XFER_LITE(n, hdlr) \
EXC_XFER_TEMPLATE(hdlr, n+1, MSR_KERNEL, NOCOPY, transfer_to_handler, \
ret_from_except)
@@ -395,7 +401,11 @@
EXC_XFER_EE_LITE(0x400, handle_page_fault)
/* 0x0500 - External Interrupt Exception */
+#ifdef CONFIG_IPIPE
+ EXCEPTION(0x0500, HardwareInterrupt, __ipipe_grab_irq, EXC_XFER_IPIPE)
+#else /* !CONFIG_IPIPE */
EXCEPTION(0x0500, HardwareInterrupt, do_IRQ, EXC_XFER_LITE)
+#endif /* CONFIG_IPIPE */
/* 0x0600 - Alignment Exception */
START_EXCEPTION(0x0600, Alignment)
@@ -433,7 +443,11 @@
lis r0,TSR_PIS@h
mtspr SPRN_TSR,r0 /* Clear the PIT exception */
addi r3,r1,STACK_FRAME_OVERHEAD
+#ifdef CONFIG_IPIPE
+ EXC_XFER_IPIPE(0x1000, __ipipe_grab_timer)
+#else /* !CONFIG_IPIPE */
EXC_XFER_LITE(0x1000, timer_interrupt)
+#endif /* CONFIG_IPIPE */
#if 0
/* NOTE:
next prev parent reply other threads:[~2007-10-25 14:45 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-25 14:24 [Xenomai-core] kernel BUG running cyclictest on powerpc 405 Steven A. Falco
2007-10-25 14:41 ` Philippe Gerum
2007-10-25 14:45 ` Steven A. Falco [this message]
2007-10-25 15:02 ` Philippe Gerum
2007-10-25 17:16 ` Steven A. Falco
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=4720AC27.9040705@domain.hid \
--to=sfalco@domain.hid \
--cc=rpm@xenomai.org \
--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.