linux-rt-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrea Tassi <andrea.tassi@gmail.com>
To: linux-rt-users@vger.kernel.org
Subject: Port PREEMPT_RT on AR71xx
Date: Mon, 25 Jan 2010 11:03:32 +0100	[thread overview]
Message-ID: <cac06ad61001250203j3244bcabma771f23eb7a475ad@mail.gmail.com> (raw)
In-Reply-To: <cac06ad61001250125r351aae92l92e1d0fc6b31909c@mail.gmail.com>

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
--
To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

           reply	other threads:[~2010-01-25 10:03 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <cac06ad61001250125r351aae92l92e1d0fc6b31909c@mail.gmail.com>]

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=cac06ad61001250203j3244bcabma771f23eb7a475ad@mail.gmail.com \
    --to=andrea.tassi@gmail.com \
    --cc=linux-rt-users@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).