From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Didenko Sergey <didenkos@domain.hid>
Cc: xenomai@xenomai.org,
Jorge Ramirez <jorge.ramirez.ortiz@domain.hid>,
mohamad.sharifi@domain.hid
Subject: Re: [Xenomai-help] [Guide] To patch Linux Kernel with Xenomai for Unknown core
Date: Wed, 30 Sep 2009 13:53:43 +0200 [thread overview]
Message-ID: <4AC346C7.4040600@domain.hid> (raw)
In-Reply-To: <1f3e02580909300343y3bf44fedh8dbc8d7e27fead4d@domain.hid>
Didenko Sergey wrote:
> Dear Xenomai experts,
>
> So far there is:
>
> - xenomai-2.4.9.1
> - linux-2.6.29
> - ARM architecture based on (unknown for Xenomai core)
> - It supports CONFIG_GENERIC_TIME and CONFIG_GENERIC_CLOCKEVENTS
> - there is no cascaded interrupts
>
> 1) I'm following the steps described in README.INSTALL and HOWTO -
> http://www.xenomai.org/index.php/I-pipe:ArmPorting
> And since I'm very new in Linux as well is in Xenomai (thank God for
> this project) all my problems are from that I'm not quite sure whether
> I'm doing all steps correct or not.
>
> For now on I have done with:
>
> - prepare kernel with adeos patch
> - configure kernel with its original defconfig file (the original
> configuration is verified and working fine on target board)
> - building kernel (and here we are!)
>
> 2) I did add implementation for (even though the I did not find any
> link to it in HOWTO, so I referred to PXA's implementation):
> __ipipe_check_tickdev (called from kernel\core.c)
>
> And for:
> mv88f6290_osmr0_set_mode
> mv88f6290_osmr0_set_next_event
> ckevt_mv88f6290_osmr0
> Even though all of them are required by __ipipe_mach_release_timer() I
> did not find in HOWTO how these functions should be implemented for
> MYCORE, so I referred to PXA's implementation again.
No, you should not add these functions. They already exist if your board
supports GENERIC_CLOCKEVENT and GENERIC_TIME.
>
> 3) Then I did define all next things:
>
> #define IRQ_OST0 IRQ_MV88F6290_TIMER0 /* OS Timer IRQ number match */
> #define OSCR __REG(TIMER0_VAL) /* (TIMER_VIRT_BASE +
> 0x0014) - OS timer 0 Register*/
> #define OSMR0 __REG(TIMER_CTRL) /* (TIMER_VIRT_BASE +
> 0x0000) - OS timers Control Register*/
> #define OIER_E0 (1 << 0) /* Interrupt enable
> channel 0 */
>
> Since, according to documentation, there is no PENDING (Status) register
> for the timer I did comment all the lines required these definitions.
> *QUESTION: Please tell me am I right or not and what to do if it is
> still required?*
>
> //#define OSSR __REG(TIMER0_RELOAD) /* OS Timer Status
> Register */
> //#define OSSR_M0 (1 << 0) /* Match status
> channel 0 */
>
> 4) Now I have a problem to define OIER value /* OS Timer Interrupt
> Enable Register */
> According to Documentation, timer has 3 registers: Control, Reload and
> Timer Register.
> *QUESTION: What to do with OIER, have no idea, need some one kick me in
> right direction!*
These registers are specific to the PXA hardware timer. The reason why
we do have to implement the I-pipe support for each and every ARM SOC is
that well, hardware timers are really different from ARM to ARM. So,
what you should do is implement the support for the hardware timer of
your SOC, not copy the PXA hardware timer implementation. The PXA
implementation in the guide is an example, it is not meant to be
reproduced literally.
--
Gilles
next prev parent reply other threads:[~2009-09-30 11:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-30 10:43 [Xenomai-help] [Guide] To patch Linux Kernel with Xenomai for Unknown core Didenko Sergey
2009-09-30 11:53 ` Gilles Chanteperdrix [this message]
2009-10-02 13:52 ` Didenko Sergey
2009-10-02 17:15 ` Gilles Chanteperdrix
2009-10-03 1:55 ` Didenko Sergey
2009-10-03 7:21 ` Gilles Chanteperdrix
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=4AC346C7.4040600@domain.hid \
--to=gilles.chanteperdrix@xenomai.org \
--cc=didenkos@domain.hid \
--cc=jorge.ramirez.ortiz@domain.hid \
--cc=mohamad.sharifi@domain.hid \
--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.