mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-15 02:16:05 +08:00
Update LibBSD doco.
This commit is contained in:
223
libbsd.txt
223
libbsd.txt
@@ -115,6 +115,16 @@ devices (you can run multiple test instances on one virtual network).
|
|||||||
|
|
||||||
=== BSD Library Configuration and Build ===
|
=== BSD Library Configuration and Build ===
|
||||||
|
|
||||||
|
There are currently 2 build systems supported. The first is based on the RTEMS
|
||||||
|
Makefile support in RTEMS and installed with the BSP and the second is a stand
|
||||||
|
alone environment based on the Waf build system. The Makefile build system will
|
||||||
|
be removed when RTEMS moves away from its existing build system and Waf will
|
||||||
|
be the preferred build environment.
|
||||||
|
|
||||||
|
To build with Waf please refer to the README.waf file.
|
||||||
|
|
||||||
|
===== Makefile Building =====
|
||||||
|
|
||||||
In the BSD library source directory edit the file `config.inc`. Continuing on
|
In the BSD library source directory edit the file `config.inc`. Continuing on
|
||||||
the above, the `config.inc` used to match the above is:
|
the above, the `config.inc` used to match the above is:
|
||||||
|
|
||||||
@@ -339,7 +349,7 @@ rtems_mdns_gethostname().
|
|||||||
* A basic USB functionality test that is known to work on Qemu is desirable.
|
* A basic USB functionality test that is known to work on Qemu is desirable.
|
||||||
|
|
||||||
* Adapt generic IRQ PIC interface code to Simple Vectored Interrupt Model
|
* Adapt generic IRQ PIC interface code to Simple Vectored Interrupt Model
|
||||||
so that those architectures can use new TCP/IP and USB code.
|
so that those architectures can use new TCP/IP and USB code.
|
||||||
|
|
||||||
* freebsd-userspace/rtems/include/sys/syslog.h is a copy from the old
|
* freebsd-userspace/rtems/include/sys/syslog.h is a copy from the old
|
||||||
RTEMS TCP/IP stack. For some reason, the __printflike markers do not
|
RTEMS TCP/IP stack. For some reason, the __printflike markers do not
|
||||||
@@ -396,7 +406,7 @@ a generic interrupt handler that wakes-up the interrupt server task. Once the
|
|||||||
postponed interrupt processing is performed in the interrupt server the
|
postponed interrupt processing is performed in the interrupt server the
|
||||||
interrupt source is enabled again.
|
interrupt source is enabled again.
|
||||||
|
|
||||||
* Convert all BSP linkcmds to use a linkcmds.base so the sections are
|
* Convert all BSP linkcmds to use a linkcmds.base so the sections are
|
||||||
easier to insert.
|
easier to insert.
|
||||||
|
|
||||||
* NIC Device Drivers
|
* NIC Device Drivers
|
||||||
@@ -406,7 +416,7 @@ do not include any system on chip or ISA drivers.
|
|||||||
NIC is in I/O or memory space. We have worked around this by using a
|
NIC is in I/O or memory space. We have worked around this by using a
|
||||||
static hint to tell the fxp driver the correct mode. But this needs to
|
static hint to tell the fxp driver the correct mode. But this needs to
|
||||||
be addressed.
|
be addressed.
|
||||||
- The ISA drivers require more BSD infrastructure to be addressed. This was
|
- The ISA drivers require more BSD infrastructure to be addressed. This was
|
||||||
outside the scope of the initial porting effort.
|
outside the scope of the initial porting effort.
|
||||||
|
|
||||||
== FreeBSD Source
|
== FreeBSD Source
|
||||||
@@ -526,10 +536,10 @@ freebsd-to-rtems.py [args]
|
|||||||
|
|
||||||
In its default mode of operation, freebsd-to-rtems.py is used to copy code
|
In its default mode of operation, freebsd-to-rtems.py is used to copy code
|
||||||
from FreeBSD to the rtems-libbsd tree and perform transformations. In forward
|
from FreeBSD to the rtems-libbsd tree and perform transformations. In forward
|
||||||
mode, the script may be requested to just generate the Makefile.
|
mode, the script may be requested to just generate the Makefile and Waf script.
|
||||||
|
|
||||||
In "reverse mode", this script undoes those transformations and copies
|
In "reverse mode", this script undoes those transformations and copies
|
||||||
the source code back to the FreeBSD SVN tree. This allows us to do
|
the source code back to the FreeBSD SVN tree. This allows us to do
|
||||||
'svn diff', evaluate changes made by the RTEMS Project, and report changes
|
'svn diff', evaluate changes made by the RTEMS Project, and report changes
|
||||||
back to FreeBSD upstream.
|
back to FreeBSD upstream.
|
||||||
|
|
||||||
@@ -731,14 +741,14 @@ automatically generated by a SYSCTL_NODE as follows:
|
|||||||
* "" - empty string for parent node
|
* "" - empty string for parent node
|
||||||
* net - name of SYSCTL_NODE
|
* net - name of SYSCTL_NODE
|
||||||
* children - added by SYSCTL macros
|
* children - added by SYSCTL macros
|
||||||
|
|
||||||
This was all generated by a support macro declaring the node as this:
|
This was all generated by a support macro declaring the node as this:
|
||||||
|
|
||||||
----
|
----
|
||||||
struct sysctl_oid_list SYSCTL_NODE_CHILDREN(parent, name);
|
struct sysctl_oid_list SYSCTL_NODE_CHILDREN(parent, name);
|
||||||
----
|
----
|
||||||
|
|
||||||
Given this information, we located this SYSCTL_NODE declaration in
|
Given this information, we located this SYSCTL_NODE declaration in
|
||||||
kern/kern_mib.c
|
kern/kern_mib.c
|
||||||
|
|
||||||
----
|
----
|
||||||
@@ -862,183 +872,183 @@ Description: This file contains the support method rtems_bsd_assert_func().
|
|||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-autoconf.c
|
rtems-libbsd File: rtems-bsd-autoconf.c
|
||||||
FreeBSD File: FreeBSD has BSP specific autoconf.c
|
FreeBSD File: FreeBSD has BSP specific autoconf.c
|
||||||
Description: This file contains configuration methods that are used to setup the system.
|
Description: This file contains configuration methods that are used to setup the system.
|
||||||
Status: USB
|
Status: USB
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-bus-dma.c
|
rtems-libbsd File: rtems-bsd-bus-dma.c
|
||||||
FreeBSD File: FreeBSD has BSP specific busdma_machdep.c
|
FreeBSD File: FreeBSD has BSP specific busdma_machdep.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-bus-dma-mbuf.c
|
rtems-libbsd File: rtems-bsd-bus-dma-mbuf.c
|
||||||
FreeBSD File: FreeBSD has BSP specific busdma_machdep.c
|
FreeBSD File: FreeBSD has BSP specific busdma_machdep.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-callout.c
|
rtems-libbsd File: rtems-bsd-callout.c
|
||||||
FreeBSD File: kern/kern_timeout.c
|
FreeBSD File: kern/kern_timeout.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-cam.c
|
rtems-libbsd File: rtems-bsd-cam.c
|
||||||
FreeBSD File: cam/cam_sim.c
|
FreeBSD File: cam/cam_sim.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB
|
Status: USB
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-condvar.c
|
rtems-libbsd File: rtems-bsd-condvar.c
|
||||||
FreeBSD File: kern/kern_condvar.c
|
FreeBSD File: kern/kern_condvar.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB
|
Status: USB
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-copyinout.c
|
rtems-libbsd File: rtems-bsd-copyinout.c
|
||||||
FreeBSD File: bsp specific copyinout.c )
|
FreeBSD File: bsp specific copyinout.c )
|
||||||
Description: Note: The FreeBSD file is split with some methods being in rtems-bsd-support
|
Description: Note: The FreeBSD file is split with some methods being in rtems-bsd-support
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-delay.c
|
rtems-libbsd File: rtems-bsd-delay.c
|
||||||
FreeBSD File: bsp specific file with multiple names
|
FreeBSD File: bsp specific file with multiple names
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-descrip.c
|
rtems-libbsd File: rtems-bsd-descrip.c
|
||||||
FreeBSD File: kern/kern_descrip.c
|
FreeBSD File: kern/kern_descrip.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-generic.c
|
rtems-libbsd File: rtems-bsd-generic.c
|
||||||
FreeBSD File: kern/sys_generic.c
|
FreeBSD File: kern/sys_generic.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-init.c
|
rtems-libbsd File: rtems-bsd-init.c
|
||||||
FreeBSD File: N/A
|
FreeBSD File: N/A
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-init-with-irq.c
|
rtems-libbsd File: rtems-bsd-init-with-irq.c
|
||||||
FreeBSD File: N/A
|
FreeBSD File: N/A
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-jail.c
|
rtems-libbsd File: rtems-bsd-jail.c
|
||||||
FreeBSD File: kern/kern_jail.c
|
FreeBSD File: kern/kern_jail.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-lock.c
|
rtems-libbsd File: rtems-bsd-lock.c
|
||||||
FreeBSD File: kern/subr_lock.c
|
FreeBSD File: kern/subr_lock.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-log.c
|
rtems-libbsd File: rtems-bsd-log.c
|
||||||
FreeBSD File: kern/subr_prf.c
|
FreeBSD File: kern/subr_prf.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-malloc.c
|
rtems-libbsd File: rtems-bsd-malloc.c
|
||||||
FreeBSD File: kern/kern_malloc.c
|
FreeBSD File: kern/kern_malloc.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-mutex.c
|
rtems-libbsd File: rtems-bsd-mutex.c
|
||||||
FreeBSD File: kern/kern_mutex.c
|
FreeBSD File: kern/kern_mutex.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-newproc.c
|
rtems-libbsd File: rtems-bsd-newproc.c
|
||||||
FreeBSD File: N/A
|
FreeBSD File: N/A
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-nexus.c
|
rtems-libbsd File: rtems-bsd-nexus.c
|
||||||
FreeBSD File: bsp specific nexus.c
|
FreeBSD File: bsp specific nexus.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB
|
Status: USB
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-panic.c
|
rtems-libbsd File: rtems-bsd-panic.c
|
||||||
FreeBSD File: boot/common/panic.c
|
FreeBSD File: boot/common/panic.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-rwlock.c
|
rtems-libbsd File: rtems-bsd-rwlock.c
|
||||||
FreeBSD File: kern_rwlock.c
|
FreeBSD File: kern_rwlock.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-shell.c
|
rtems-libbsd File: rtems-bsd-shell.c
|
||||||
FreeBSD File: N/A
|
FreeBSD File: N/A
|
||||||
Description:
|
Description:
|
||||||
Status: USB
|
Status: USB
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-signal.c
|
rtems-libbsd File: rtems-bsd-signal.c
|
||||||
FreeBSD File: kern/kern_sig.c
|
FreeBSD File: kern/kern_sig.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-smp.c
|
rtems-libbsd File: rtems-bsd-smp.c
|
||||||
FreeBSD File: N/A
|
FreeBSD File: N/A
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-support.c
|
rtems-libbsd File: rtems-bsd-support.c
|
||||||
FreeBSD File: bsp specific copyinout.c
|
FreeBSD File: bsp specific copyinout.c
|
||||||
Description: Note: the FreeBSD file is split with some methods being in rtems-bsd-copyinout.
|
Description: Note: the FreeBSD file is split with some methods being in rtems-bsd-copyinout.
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-sx.c
|
rtems-libbsd File: rtems-bsd-sx.c
|
||||||
FreeBSD File: kern/kern_sx.c
|
FreeBSD File: kern/kern_sx.c
|
||||||
Description: Status: USB, Nic
|
Description: Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-synch.c
|
rtems-libbsd File: rtems-bsd-synch.c
|
||||||
FreeBSD File: kern/kern_synch.c
|
FreeBSD File: kern/kern_synch.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-syscalls.c
|
rtems-libbsd File: rtems-bsd-syscalls.c
|
||||||
FreeBSD File: User API for kern/uipc_syscalls.c
|
FreeBSD File: User API for kern/uipc_syscalls.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-sysctlbyname.c
|
rtems-libbsd File: rtems-bsd-sysctlbyname.c
|
||||||
FreeBSD File: User API for sysctlbyname(3)
|
FreeBSD File: User API for sysctlbyname(3)
|
||||||
Description:
|
Description:
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-sysctl.c
|
rtems-libbsd File: rtems-bsd-sysctl.c
|
||||||
FreeBSD File: User API for sysctl(8)
|
FreeBSD File: User API for sysctl(8)
|
||||||
Description:
|
Description:
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-sysctlnametomib.c
|
rtems-libbsd File: rtems-bsd-sysctlnametomib.c
|
||||||
FreeBSD File: User API for sysctlnametomib
|
FreeBSD File: User API for sysctlnametomib
|
||||||
Description:
|
Description:
|
||||||
Status:
|
Status:
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-taskqueue.c
|
rtems-libbsd File: rtems-bsd-taskqueue.c
|
||||||
FreeBSD File: kern/subr_taskqueue.c
|
FreeBSD File: kern/subr_taskqueue.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-thread.c
|
rtems-libbsd File: rtems-bsd-thread.c
|
||||||
FreeBSD File: kern/kern_kthread.c
|
FreeBSD File: kern/kern_kthread.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-timeout.c
|
rtems-libbsd File: rtems-bsd-timeout.c
|
||||||
FreeBSD File: kern/kern_timeout.c
|
FreeBSD File: kern/kern_timeout.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-timesupport.c
|
rtems-libbsd File: rtems-bsd-timesupport.c
|
||||||
FreeBSD File: kern/kern_clock.c
|
FreeBSD File: kern/kern_clock.c
|
||||||
Description:
|
Description:
|
||||||
Status: Nic
|
Status: Nic
|
||||||
|
|
||||||
rtems-libbsd File: rtems-bsd-vm_glue.c
|
rtems-libbsd File: rtems-bsd-vm_glue.c
|
||||||
FreeBSD File: vm/vm_glue.c
|
FreeBSD File: vm/vm_glue.c
|
||||||
Description:
|
Description:
|
||||||
Status: USB, Nic
|
Status: USB, Nic
|
||||||
----
|
----
|
||||||
|
|
||||||
== Notes by File ==
|
== Notes by File ==
|
||||||
@@ -1051,13 +1061,13 @@ conf.h - In order to add make_dev and destroy_dev, variables in the cdev
|
|||||||
structure that were not being used were conditionally compiled out. The
|
structure that were not being used were conditionally compiled out. The
|
||||||
capability of supporting children did not appear to be needed and was
|
capability of supporting children did not appear to be needed and was
|
||||||
not implemented in the rtems version of these routines.
|
not implemented in the rtems version of these routines.
|
||||||
|
|
||||||
== NICs Status ==
|
== NICs Status ==
|
||||||
|
|
||||||
----
|
----
|
||||||
Driver Symbol Status
|
Driver Symbol Status
|
||||||
====== ====== ======
|
====== ====== ======
|
||||||
RealTek _bsd_re_pcimodule_sys_init Links
|
RealTek _bsd_re_pcimodule_sys_init Links
|
||||||
EtherExpress _bsd_fxp_pcimodule_sys_init Links
|
EtherExpress _bsd_fxp_pcimodule_sys_init Links
|
||||||
DEC tulip _bsd_dc_pcimodule_sys_init Links
|
DEC tulip _bsd_dc_pcimodule_sys_init Links
|
||||||
Broadcom BCM57xxx _bsd_bce_pcimodule_sys_init Links
|
Broadcom BCM57xxx _bsd_bce_pcimodule_sys_init Links
|
||||||
@@ -1070,14 +1080,11 @@ E1000 EM _bsd_em_pcimodule_sys_init Links
|
|||||||
|
|
||||||
Symbols (A)
|
Symbols (A)
|
||||||
pci_get_vpd_ident
|
pci_get_vpd_ident
|
||||||
|
|
||||||
== Problems to report to FreeBSD ==
|
== Problems to report to FreeBSD ==
|
||||||
|
|
||||||
The MMAP_NOT_AVAILABLE define is inverted on its usage. When it is
|
The MMAP_NOT_AVAILABLE define is inverted on its usage. When it is
|
||||||
defined the mmap method is called. Additionally, it is not used
|
defined the mmap method is called. Additionally, it is not used
|
||||||
thoroughly. It is not used in the unmap portion of the source.
|
thoroughly. It is not used in the unmap portion of the source.
|
||||||
The file rec_open.c uses the define MMAP_NOT_AVAILABLE to wrap
|
The file rec_open.c uses the define MMAP_NOT_AVAILABLE to wrap
|
||||||
the call to mmap and file rec_close.c uses the munmap method.
|
the call to mmap and file rec_close.c uses the munmap method.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user