* To: linux-rt-users@xxxxxxxxxxxxxxx
* Subject: Port PREEMPT_RT on AR71xx
* From: Andrea Tassi
* Date: Mon, 25 Jan 2010 11:03:32 +0100
* In-reply-to:
* References:
Hi,
I'm tying to port the PREEMPT_RT patch to AR71xx CPU family; this kind
of CPU are MIPS. I'm using the last revision of OpenWrt Linux distro.
The platform can be added into the kernel using the files that you can
download form https://dev.openwrt.org/browser/trunk/target/linux/ar71xx/files.
These are the steps done:
0) I to build the Kernel with the OpenWrt patches delete (only to
perform some tests...) the patch 110-netfilter_match_speedup.patch and
the 200-sched_esfq.patch from
./trunk/target/linux/generic-2.6/patches-2.6.31/ folder. I used the
kernel 2.6.31.12.
1) copy into the ./trunk/target/linux/generic-2.6/patches-2.6.31/ the
http://www.kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31.12-rt20.gz
patch (RT20)
2) when you build the kernel you will have a problem at line 1852 of
the file ./fs/yaffs2/yaffs_fs.c (that you will find in the kernel of
OpenWrt distro): I replaced the init_MUTEX(&dev->grossLock) with
semaphore_init(&dev->grossLock). Now you can build the kernel.
3) I also changed the specific drivers as reported in
http://www.celinuxforum.org/CelfPubWiki/JapanTechnicalJamboree14?action=AttachFile&do=get&target=preempt070427celfjambo14.pdf:
spin_lock, etc...
4) when you boot the kernel in a device (I tested it with an Ubiquiti
RouterStation) you will have a kernel panic. Look at
arch/mips/ar71xx/irq.c, you have a kernel panic when you call
setup_irq(....) with struct irqaction with ".handler = no_action". For
this reasons if you comment out the lines 98, 175, 261 and 359 the
kernel boots.
Q1) Is this fix correct?
5) the problem now is the filesystem; I can use: jffs2, yaffs or
squashfs. I'd link to use the jffs2, it can be mounted without kernel
panics but I have a lot pf problems:
5.1) the fs operations (the OpenWrt first boot
initialisation performed by the kernel) are very slow.
5.2) the init script are not called propriety: only some
services starts.
I know that I have many problems with this device but if you want
cooperate in the porting or guide me in this experiment are wellcome.
Regards
Andrea
No comments:
Post a Comment