tech-embed archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: replace a legacy proprietary RTOS (Real-Time executive) with NetBSD!
"Thirupathiah Annapureddy" <writetothiru%gmail.com@localhost> wrote:
> Few other specific questions:
> - Is there a message queue/mailbox mechanism inside the kernel for
> communication between two kernel tasks? or do we need to go for a
> custom implementation.
>
Depending what kind of message queue mechanism you mean exactly. There
is no generic mechanism, like in DragonFlyBSD. However, it is very easy
achievable by using mutex(9) + condvar(9) + queue(9).
One can have a look at POSIX message queue implementation:
http://nxr.netbsd.org/source/xref/sys/kern/sys_mqueue.c
While it is an interface for user-space, it would be pretty much the same
concept in a case of kernel interface (code could be just re-used).
There is a generic cross-call facility, however it is designed for more
specific use:
http://nxr.netbsd.org/source/xref/sys/kern/subr_xcall.c
No xcall(9) man page yet, but interface is very simple.
> - is there a semaphore implementation for usage from kernel space? I
> could see mutex(9), but not semaphore.
>
No. Addition of the kernel semaphore was considered about a year ago,
but it seemed there was no use for in today's kernel.
> - is there a kernel space timer APIs to handle addition of a soft
> timer, deletion, modification etc functions.
>
There is callout(9) interface. There is a 3rd party patch to support
high-resolution timers (with the support for ARM platform):
http://mail-index.netbsd.org/tech-kern/2008/06/25/msg001847.html
http://mail-index.netbsd.org/tech-kern/2008/09/15/msg002727.html
However, it is not yet integrated, as the goal is to make them based on
the same callout(9) interface.
> - can the interrupts be field in the user-space in case we decide to
> port some of the device/IO access code to the user space to minimize
> the porting changes?
Not sure what do you mean here, sorry. But well.. there is no standard
way to control the interrupts from user-space.
>
> Thanks in advance,
> Thiru
--
Best regards,
Mindaugas
Home |
Main Index |
Thread Index |
Old Index