From: xielinfei <xielinfei@allwinnertech.com>
To: xenomai@xenomai.org
Subject: [Xenomai] [help] porting I-pipe patch on linux-3.4 ARM(cortex-a7) soc
Date: Wed, 17 Aug 2016 16:13:25 +0800 [thread overview]
Message-ID: <57B41CA5.5040103@allwinnertech.com> (raw)
Hi Philippe,
I try to port Xenomai-2.6.2 to ARM (cortex-a7) soc, Using:
Linux version: linux-3.4.39
I-pipe patch: ipipe-core-3.4.6-arm-4.patch
Hardware: ARM (cortex-a7) single CPU
Following the guild: Porting Xenomai dual kernel to a new ARM SoC - Xenomai<https://www.google.com.hk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&ved=0ahUKEwiC5a-r8cfOAhWJRI8KHatQC_cQFggmMAE&url=https%3A%2F%2Fxenomai.org%2F2014%2F09%2Fporting-xenomai-dual-kernel-to-a-new-arm-soc%2F&usg=AFQjCNF7_SLahZ2bEmhJokUuxzy44eH10A&sig2=zgLgf_uma3eALRUl5S9v3A&bvm=bv.129759880,d.dGo>
For I-pipe patch, I modified <ipipe_tsc.c> and <ipipe_tsc_asm.S> to add support for "IPIPE_TSC_TYPE_FREERUNNING_ARCH"
(I have successfully running on linux-3.10 on the same ARM soc)
After integrate I-pipe patch(without Xenomai), the kernel running for a while then halt, "__ipipe_tsc_update()" not update any more.
I trace the code, the timer IRQ is always got by the gic controller, but ipipe not dispatch. the call trace is :
__ipipe_grab_irq()--> __ipipe_dispatch_irq() --> __ipipe_sync_pipeline()
static inline void __ipipe_sync_pipeline(struct ipipe_domain *top, unsigned int irq)
{
if (__ipipe_current_domain != top) {
__ipipe_do_sync_pipeline(top);
return;
}
if (!test_bit(IPIPE_STALL_FLAG, &ipipe_this_cpu_context(top)->status)){
__ipipe_sync_stage();
}
}
While halt, the __ipipe_sync_pipeline will do nothing, if I hack it, force it calling "__ipipe_sync_stage"
the kernel can goes on, but this should not be the solution.
I don't know who set the IPIPE_STALL_FLAG, for I trace the code it seems to be ok,
-------------------------------------------------------------------------------------------
fun:ipipe_unstall_root,clear
fun:__ipipe_dispatch_irq, line=1279, control=1, name =Linux
fun:__ipipe_dispatch_irq, line=1285
fun:__ipipe_spin_lock_irqsave,test and set
fun:__ipipe_spin_unlock_irqrestore,clear
fun:__ipipe_dispatch_irq, line=1319
fun:__ipipe_spin_lock_irqsave,test and set
fun:ipipe_unstall_root,clear
fun:ipipe_unstall_root,clear
fun:ipipe_unstall_root,clear
fun:__ipipe_dispatch_irq, line=1279, control=1, name =Linux
fun:__ipipe_dispatch_irq, line=1285
fun:__ipipe_spin_lock_irqsave,test and set
fun:__ipipe_spin_unlock_irqrestore,clear
fun:__ipipe_dispatch_irq, line=1319
fun:__ipipe_spin_lock_irqsave,test and set
fun:ipipe_unstall_root,clear
fun:ipipe_unstall_root,clear
fun:ipipe_unstall_root,clear
------------------------------------------------------------------------------------------
Looking forward to get some suggestion! thank you!
NOTICE: This e-mail and any included attachments are intended only for the sole use of named and intended recipient (s) only. If you are the named and intended recipient, please note that the information contained in this email and its embedded files are confidential and privileged. If you are neither the intended nor named recipient, you are hereby notified that any unauthorized review, use, disclosure, dissemination, distribution, or copying of this communication, or any of its contents, is strictly prohibited. Please reply to the sender and destroy the original message and all your records of this message (whether electronic or otherwise). Furthermore, you should not disclose to any other person, use, copy or disseminate the contents of this e-mail and/or the documents accompanying it.
next reply other threads:[~2016-08-17 8:13 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-17 8:13 xielinfei [this message]
2016-08-17 9:13 ` [Xenomai] [help] porting I-pipe patch on linux-3.4 ARM(cortex-a7) soc xielinfei
2016-08-17 17:08 ` Lennart Sorensen
2016-08-18 1:11 ` xielinfei
2016-08-18 19:50 ` Philippe Gerum
2016-08-18 20:01 ` Philippe Gerum
2016-08-19 3:31 ` xielinfei
2016-08-19 12:23 ` xielinfei
2016-08-21 18:27 ` Philippe Gerum
2016-08-24 10:33 ` [Xenomai] [可能是垃圾邮件] " xielinfei
2016-08-24 10:50 ` Philippe Gerum
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=57B41CA5.5040103@allwinnertech.com \
--to=xielinfei@allwinnertech.com \
--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.