mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 12:08:44 +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 ===
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
* 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
|
||||
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
|
||||
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.
|
||||
|
||||
* 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
|
||||
static hint to tell the fxp driver the correct mode. But this needs to
|
||||
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.
|
||||
|
||||
== 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
|
||||
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
|
||||
the source code back to the FreeBSD SVN tree. This allows us to do
|
||||
In "reverse mode", this script undoes those transformations and copies
|
||||
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
|
||||
back to FreeBSD upstream.
|
||||
|
||||
@@ -731,14 +741,14 @@ automatically generated by a SYSCTL_NODE as follows:
|
||||
* "" - empty string for parent node
|
||||
* net - name of SYSCTL_NODE
|
||||
* children - added by SYSCTL macros
|
||||
|
||||
|
||||
This was all generated by a support macro declaring the node as this:
|
||||
|
||||
----
|
||||
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
|
||||
|
||||
----
|
||||
@@ -862,183 +872,183 @@ Description: This file contains the support method rtems_bsd_assert_func().
|
||||
Status: USB, Nic
|
||||
|
||||
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.
|
||||
Status: USB
|
||||
Status: USB
|
||||
|
||||
rtems-libbsd File: rtems-bsd-bus-dma.c
|
||||
FreeBSD File: FreeBSD has BSP specific busdma_machdep.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
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
|
||||
Description:
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-callout.c
|
||||
rtems-libbsd File: rtems-bsd-callout.c
|
||||
FreeBSD File: kern/kern_timeout.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-cam.c
|
||||
FreeBSD File: cam/cam_sim.c
|
||||
Description:
|
||||
Status: USB
|
||||
Description:
|
||||
Status: USB
|
||||
|
||||
rtems-libbsd File: rtems-bsd-condvar.c
|
||||
rtems-libbsd File: rtems-bsd-condvar.c
|
||||
FreeBSD File: kern/kern_condvar.c
|
||||
Description:
|
||||
Status: USB
|
||||
Description:
|
||||
Status: USB
|
||||
|
||||
rtems-libbsd File: rtems-bsd-copyinout.c
|
||||
FreeBSD File: bsp specific copyinout.c )
|
||||
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
|
||||
FreeBSD File: bsp specific file with multiple names
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-descrip.c
|
||||
rtems-libbsd File: rtems-bsd-descrip.c
|
||||
FreeBSD File: kern/kern_descrip.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-generic.c
|
||||
rtems-libbsd File: rtems-bsd-generic.c
|
||||
FreeBSD File: kern/sys_generic.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-init.c
|
||||
rtems-libbsd File: rtems-bsd-init.c
|
||||
FreeBSD File: N/A
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-init-with-irq.c
|
||||
FreeBSD File: N/A
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-jail.c
|
||||
FreeBSD File: kern/kern_jail.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-lock.c
|
||||
FreeBSD File: kern/subr_lock.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-log.c
|
||||
rtems-libbsd File: rtems-bsd-log.c
|
||||
FreeBSD File: kern/subr_prf.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-malloc.c
|
||||
FreeBSD File: kern/kern_malloc.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-mutex.c
|
||||
FreeBSD File: kern/kern_mutex.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-newproc.c
|
||||
FreeBSD File: N/A
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-nexus.c
|
||||
FreeBSD File: bsp specific nexus.c
|
||||
Description:
|
||||
Status: USB
|
||||
Description:
|
||||
Status: USB
|
||||
|
||||
rtems-libbsd File: rtems-bsd-panic.c
|
||||
rtems-libbsd File: rtems-bsd-panic.c
|
||||
FreeBSD File: boot/common/panic.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-rwlock.c
|
||||
rtems-libbsd File: rtems-bsd-rwlock.c
|
||||
FreeBSD File: kern_rwlock.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-shell.c
|
||||
rtems-libbsd File: rtems-bsd-shell.c
|
||||
FreeBSD File: N/A
|
||||
Description:
|
||||
Status: USB
|
||||
Description:
|
||||
Status: USB
|
||||
|
||||
rtems-libbsd File: rtems-bsd-signal.c
|
||||
rtems-libbsd File: rtems-bsd-signal.c
|
||||
FreeBSD File: kern/kern_sig.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-smp.c
|
||||
rtems-libbsd File: rtems-bsd-smp.c
|
||||
FreeBSD File: N/A
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-support.c
|
||||
FreeBSD File: bsp specific copyinout.c
|
||||
rtems-libbsd File: rtems-bsd-support.c
|
||||
FreeBSD File: bsp specific copyinout.c
|
||||
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
|
||||
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
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
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
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-sysctlbyname.c
|
||||
rtems-libbsd File: rtems-bsd-sysctlbyname.c
|
||||
FreeBSD File: User API for sysctlbyname(3)
|
||||
Description:
|
||||
Status:
|
||||
Description:
|
||||
Status:
|
||||
|
||||
rtems-libbsd File: rtems-bsd-sysctl.c
|
||||
rtems-libbsd File: rtems-bsd-sysctl.c
|
||||
FreeBSD File: User API for sysctl(8)
|
||||
Description:
|
||||
Status:
|
||||
Description:
|
||||
Status:
|
||||
|
||||
rtems-libbsd File: rtems-bsd-sysctlnametomib.c
|
||||
rtems-libbsd File: rtems-bsd-sysctlnametomib.c
|
||||
FreeBSD File: User API for sysctlnametomib
|
||||
Description:
|
||||
Status:
|
||||
Description:
|
||||
Status:
|
||||
|
||||
rtems-libbsd File: rtems-bsd-taskqueue.c
|
||||
rtems-libbsd File: rtems-bsd-taskqueue.c
|
||||
FreeBSD File: kern/subr_taskqueue.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-thread.c
|
||||
rtems-libbsd File: rtems-bsd-thread.c
|
||||
FreeBSD File: kern/kern_kthread.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-timeout.c
|
||||
rtems-libbsd File: rtems-bsd-timeout.c
|
||||
FreeBSD File: kern/kern_timeout.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-timesupport.c
|
||||
rtems-libbsd File: rtems-bsd-timesupport.c
|
||||
FreeBSD File: kern/kern_clock.c
|
||||
Description:
|
||||
Status: Nic
|
||||
Description:
|
||||
Status: Nic
|
||||
|
||||
rtems-libbsd File: rtems-bsd-vm_glue.c
|
||||
rtems-libbsd File: rtems-bsd-vm_glue.c
|
||||
FreeBSD File: vm/vm_glue.c
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
Description:
|
||||
Status: USB, Nic
|
||||
----
|
||||
|
||||
== 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
|
||||
capability of supporting children did not appear to be needed and was
|
||||
not implemented in the rtems version of these routines.
|
||||
|
||||
|
||||
== NICs 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
|
||||
DEC tulip _bsd_dc_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)
|
||||
pci_get_vpd_ident
|
||||
|
||||
|
||||
== Problems to report to FreeBSD ==
|
||||
|
||||
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.
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user