Update LibBSD doco.

This commit is contained in:
Chris Johns
2015-06-01 10:51:57 +10:00
parent 1383c80c5a
commit 4517fa337e

View File

@@ -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.