mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-22 20:05:36 +08:00
Add "Core FreeBSD APIs and RTEMS Replacements"
This commit is contained in:
parent
01e57a9dc6
commit
c03e09579b
99
libbsd.txt
99
libbsd.txt
@ -445,3 +445,102 @@ SYSCTL_NODE(, CTL_KERN, kern, CTLFLAG_RW, 0,
|
||||
"High kernel, proc, limits &c");
|
||||
----
|
||||
|
||||
== Core FreeBSD APIs and RTEMS Replacements ==
|
||||
|
||||
=== SX(9) (Shared/exclusive locks) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=sx
|
||||
|
||||
Binary semaphores (this neglects the ability to allow shared access).
|
||||
|
||||
=== MUTEX(9) (Mutual exclusion) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=mutex
|
||||
|
||||
Binary semaphores (not recursive mutexes are not supported this way).
|
||||
|
||||
=== RWLOCK(9) (Reader/writer lock) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=rwlock
|
||||
|
||||
POSIX r/w lock.
|
||||
|
||||
=== RMLOCK(9) (Reader/writer lock optimized for mostly read access patterns) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=rmlock
|
||||
|
||||
POSIX r/w lock.
|
||||
|
||||
=== CONDVAR(9) (Condition variables) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=condvar
|
||||
|
||||
POSIX condition variables with modifications (hack).
|
||||
|
||||
=== CALLOUT(9) (Timer functions) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=callout
|
||||
|
||||
Timer server.
|
||||
|
||||
=== TASKQUEUE(9) (Asynchronous task execution) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=taskqueue
|
||||
|
||||
TBD.
|
||||
|
||||
=== KTHREAD(9), KPROC(9) (Tasks) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=kthread
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=kproc
|
||||
|
||||
Tasks.
|
||||
|
||||
=== ZONE(9) (Zone allocator) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=zone
|
||||
|
||||
TBD.
|
||||
|
||||
=== devfs (Device file system) ===
|
||||
|
||||
Dummy, IMFS or new implementation (currently dummy).
|
||||
|
||||
=== psignal (Signals) ===
|
||||
|
||||
TBD. Seems to be not needed.
|
||||
|
||||
=== poll, select ===
|
||||
|
||||
TBD. Seems to be not needed.
|
||||
|
||||
=== RMAN(9) (Resource management) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=rman
|
||||
|
||||
TBD. Seems to be not needed.
|
||||
|
||||
=== DEVCLASS(9), DEVICE(9), DRIVER(9), MAKE_DEV(9) (Device management) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=devclass
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=device
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=driver
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=make_dev
|
||||
|
||||
Use FreeBSD implementation as far as possible. FreeBSD has a nice API for
|
||||
dynamic device handling. It may be interesting for RTEMS to use this API
|
||||
internally in the future.
|
||||
|
||||
=== BUS_SPACE(9), BUS_DMA(9) (Bus and DMA access) ===
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=bus_space
|
||||
|
||||
http://www.freebsd.org/cgi/man.cgi?query=bus_dma
|
||||
|
||||
Likely BSP dependent. A default implementation for memory mapped linear access
|
||||
is easy to provide. The current heap implementation supports all properties
|
||||
demanded by bus_dma (including the boundary constraint).
|
||||
|
Loading…
x
Reference in New Issue
Block a user