[Xenomai] arm64 support

Jerry Huang jerry.huang at nxp.com
Mon Jan 16 04:26:14 CET 2017


> -----Original Message-----
> From: Philippe Gerum [mailto:rpm at xenomai.org]
> Sent: Thursday, January 12, 2017 8:04 PM
> To: Jerry Huang <jerry.huang at nxp.com>; Jorge Ramirez <jro at xenomai.org>;
> xenomai at xenomai.org
> Subject: Re: [Xenomai] arm64 support
> 
> On 01/12/2017 11:24 AM, Jerry Huang wrote:
> >
> >
> >> -----Original Message-----
> >> From: Jorge Ramirez [mailto:jro at xenomai.org]
> >> Sent: Thursday, January 05, 2017 7:09 PM
> >> To: Jerry Huang <jerry.huang at nxp.com>; xenomai at xenomai.org
> >> Subject: Re: [Xenomai] arm64 support
> >>
> >> On 01/05/2017 11:39 AM, Jerry Huang wrote:
> >>> Thanks a lot.
> >>> I sent the request t subscribe this mail list, I don't know if the
> >>> approval is
> >> needed for this request.
> >>> >From the below links, they are about the 96boards.
> >>> I found one boards DragonBoard410c is based on ARM Contxt-A53, but I
> >> didn't find if it is  running ARM32 or ARM64.
> >>> Could you please point out where can I find these information?
> >>>
> >>> Best Regards
> >>> Jerry Huang
> >>
> >> yes, both boards (HiKey and dragon410c) run in 64 bit mode.
> >> We also demoed Android 64bit running Xenomai on the HiKey back at
> >> ELC-A
> >> 2016 to control motors.
> >>
> >> I think I wrote a simple post entry in the 96boards forum [1] about it.
> >>
> >> please remember to not top-post when writing to the mailing list.
> >>
> >> [1] http://www.96boards.org/forums/
> > I got the Ipipe patch "ipipe-core-4.1.18-arm64-6.patch" from xenomai
> website and ported it to Linux-4.1.35 with a little modification (for
> kernel/trace/ring_buffer.c file).
> > But when I boot the Linux, I got the kernel panic as below shows, which
> was caused by function "irqs_disabled", who can give more comment how to
> fix it?
> >
> 
> All arm64 patches present in the DL area are broken, some critical changes
> are missing due to a bug in some obscure code extraction script for this
> architecture, do not use them.
> 
> Please pull the code from the I-pipe git tree instead (branch ipipe-4.1.y).
I clone the ipipe repos (git://git.xenomai.org/ipipe.git) and checkout to branch origin/ipipe-4.1.y.
And using the script ./scripts/ipipe/genpatches.sh to generate the patch "ipipe-core-4.1.18-arm64-6.patch", 
Then applied it to my kernel Linux-4.1.35 with a litter modification (about file kernel/trace/ring_buffer.c).
After building the kernel and booting my board, then I got the kernel panic as the result of patch (ipipe-core-4.1.18-arm64-6.patch) from websit (http://xenomai.org/downloads/ipipe/).
Any comment for this issue?
...
[    0.012441] ------------[ cut here ]------------
[    0.017083] WARNING: CPU: 0 PID: 0 at kernel/softirq.c:129 __local_bh_enable+0x54/0x60()
[    0.025209] Modules linked in:
[    0.028274] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.1.35+ #4
[    0.034304] Hardware name: LS1043A RDB Board (DT)
[    0.039024] Call trace:
[    0.041477] [<ffff80000008a538>] dump_backtrace+0x0/0x11c
[    0.046898] [<ffff80000008a668>] show_stack+0x14/0x1c
[    0.051971] [<ffff8000007ab49c>] dump_stack+0x9c/0xc4
[    0.057043] [<ffff8000000b5884>] warn_slowpath_common+0x98/0xd0
[    0.062987] [<ffff8000000b5980>] warn_slowpath_null+0x18/0x20
[    0.068757] [<ffff8000000b8c5c>] __local_bh_enable+0x54/0x60
[    0.074440] [<ffff8000000b8c90>] _local_bh_enable+0x28/0x60
[    0.080035] [<ffff8000000b95ac>] irq_enter+0x4c/0x68
[    0.085021] [<ffff8000000f2b38>] __handle_domain_irq+0x4c/0xd4
[    0.090878] [<ffff8000000825c8>] gic_handle_irq+0x34/0x84
...
[    0.192022] ---[ end trace cb88537fdc8fa200 ]---
[    0.196669] BUG: failure at kernel/irq_work.c:135/irq_work_run_list()!
[    0.203223] Kernel panic - not syncing: BUG!
[    0.207508] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G        W       4.1.35+ #4
[    0.214761] Hardware name: LS1043A RDB Board (DT)
[    0.219480] Call trace:
[    0.221930] [<ffff80000008a538>] dump_backtrace+0x0/0x11c
[    0.227351] [<ffff80000008a668>] show_stack+0x14/0x1c
[    0.232422] [<ffff8000007ab49c>] dump_stack+0x9c/0xc4
[    0.237492] [<ffff8000007aa254>] panic+0xe4/0x228
[    0.242215] [<ffff8000001321b8>] irq_work_run+0x0/0x64
[    0.247373] [<ffff80000013241c>] irq_work_tick+0x54/0x78
[    0.252707] [<ffff800000102f94>] update_process_times+0x54/0x6c
[    0.258651] [<ffff800000103004>] update_root_process_times+0x58/0x64
[    0.265033] [<ffff80000010f780>] tick_periodic+0x44/0xbc
[    0.270367] [<ffff80000010f9e4>] tick_handle_periodic+0x2c/0x80
[    0.276313] [<ffff80000066b918>] arch_timer_handler_phys+0x3c/0x5c
[    0.282520] [<ffff8000000f5bac>] handle_percpu_devid_irq+0x68/0xc8
[    0.288726] [<ffff8000000f2828>] generic_handle_irq+0x34/0x4c
[    0.294496] [<ffff8000000f2b5c>] __handle_domain_irq+0x70/0xd4
[    0.300353] [<ffff8000000825c8>] gic_handle_irq+0x34/0x84




More information about the Xenomai mailing list