All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: Marc LE DOUARAIN <m.ledouarain@domain.hid>
Cc: xenomai-core <xenomai@xenomai.org>
Subject: Re: Rép. : Re: [Xenomai-core] rtdm, rtc and printk driver.
Date: Sun, 25 Feb 2007 19:19:03 +0100	[thread overview]
Message-ID: <45E1D317.5040305@domain.hid> (raw)
In-Reply-To: <s5e1d71e.043@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 3605 bytes --]

Marc LE DOUARAIN wrote:
>>>>> "Nicolas BLANCHARD" <n.blanchard@domain.hid> 23/02/07 15:55
> 
>>>>>> Jan Kiszka <jan.kiszka@domain.hid> 23.02 14:47 >>>
>>>> Nicolas BLANCHARD wrote:
>>>> Hello,
>>>>  
>>>> I've write a little rtdm driver to r/w RealTimeClock on rtc146818
>>>> chipset.
>>> /me not having done much with rtc (hmm, a lot of years back on PCs, I
>>> think): can this chip be found in normal PC hardware? Or is it only
> on
>>> specific embedded boards? (Means: can I actually play with your
> driver? :) )
>  
>> Motorola 146818 circuit is a 6800 peripheral CMOS device,
>> it's often used with processors 6800 and 8085.
>> I think it's used on a lot of x86 board.
> 
> First nice work Nicolas ! (he is my coworker)
> Time usage for us is really important in our field activity, and more
> important without too much drift. And this real-time driver let us to
> have direct access to the RTC values instead of the Linux system one
> that generally drift a lot per day...(it was already the same problem
> under RTLinux) And without a secondary mode switch...

So you need such an interface for time-stamping, or also for scheduling
events based on a RTC-provided date? I had a short look at the driver,
and it seems that there exist ideas to register an interrupt on the RTC
(it's currently freed but never acquired).

The long-term question for me is if there is a need to synchronise the
system clock (or some skin timebase in future Xenomai versions) on an
external sources like the RTC here. Not that I'm desperately locking for
work, it's just good to know user requirements whenever further design
decisions [on the time subsystem] have to be made.

> 
> Nowadays, you will generally not find directly a 146818 chip or
> compatible (like the Dallas ones). Many CPUs (for example the SIS
> Vortex86 we use on our embedded cards) have integrated in themself, on a
> single chip, many antique PC peripherals like this RTC compatible
> 146818, a 8254 system timer, the dual 8259 interrupt controller. Also
> sometimes the serials 16550 UART are included !!!
> 
> So yes, for sure on many computers you will be able to use it !
> 

OK, thanks.

> 
>>>> I also use this driver to write kernel message from user-space
>>>> (printk).
>>>>  
>>>> In attachment you can find an archive with the driver and an example
> of
>>>> use (just code).
>>>> to compil, you must change kernel sources directory
> (KERNELSOURCEDIR
>>> flag).
>>>>  
>>>> It Based on code of Jan Kiszka found in http://www.captain.at/ 
>>>>  
>>>> I hope it could be interesting.
>>>> All feedback are welcome.
>>>>  
>>> You will get it. Thanks for sharing your code!
>>>
> 
> It seems normal to us to share some possible usefull stuff like this
> one, keeping the free software spirit!
> 

Then you shall benefit from this: :)

You may have a locking problem. Calling CMOS_READ/WRITE is not safe from
Xenomai context (I wish we had that domain violation debugging feature
already - classic scenario here). There is a locking mechanism embedded
which is based on the assumption that it can protect itself from
preemption via local_irq_save - an assumption that is not true from the
Xenomai perspective.

If there are no further RTC users in your running system, you should
just do direct hardware access and your own locking around it. But
CMOS_READ [1], e.g., is used in quite a few places in the kernel, one
would have to check under which conditions to really play safe.

Jan

[1] http://lxr.free-electrons.com/ident?i=CMOS_READ


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

  reply	other threads:[~2007-02-25 18:19 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-02-25 17:35 Rép. : Re: [Xenomai-core] rtdm, rtc and printk driver Marc LE DOUARAIN
2007-02-25 18:19 ` Jan Kiszka [this message]
2007-02-26 15:37   ` Jeff Webb

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=45E1D317.5040305@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=m.ledouarain@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.