[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:
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
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):
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,
Main Index |
Thread Index |