diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-03-09 10:21:17 -0600 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2012-03-09 10:21:17 -0600 |
commit | 8f5adbc097efee4d1877d568b6772c7352978487 (patch) | |
tree | bc92f39bd40bb08a575139df58236c211a5b1e4a | |
parent | Add other architecture specific in_cksum routines (diff) | |
download | rtems-libbsd-8f5adbc097efee4d1877d568b6772c7352978487.tar.bz2 |
Initial addition of documentation
Diffstat (limited to '')
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | Makefile | 6 | ||||
-rwxr-xr-x | freebsd-to-rtems.py | 9 | ||||
-rw-r--r-- | libbsd.txt | 94 |
4 files changed, 109 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..66100e6d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +libbsd.html @@ -387,5 +387,11 @@ install: $(LIB) clean: rm -f -r $(PROJECT_INCLUDE)/rtems/freebsd rm -f $(LIB) $(C_O_FILES) $(C_DEP_FILES) + rm -f libbsd.html -include $(C_DEP_FILES) + +doc: libbsd.html + +libbsd.html: libbsd.txt + asciidoc -o libbsd.html libbsd.txt diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py index c6918063..d056ad6b 100755 --- a/freebsd-to-rtems.py +++ b/freebsd-to-rtems.py @@ -410,8 +410,15 @@ class ModuleManager: 'clean:\n' \ '\trm -f -r $(PROJECT_INCLUDE)/rtems/freebsd\n' \ '\trm -f $(LIB) $(C_O_FILES) $(C_DEP_FILES)\n' \ + '\trm -f libbsd.html\n' \ '\n' \ - '-include $(C_DEP_FILES)\n' + '-include $(C_DEP_FILES)\n' \ + '\n' \ + 'doc: libbsd.html\n' \ + '\n' \ + 'libbsd.html: libbsd.txt\n' \ + '\tasciidoc -o libbsd.html libbsd.txt\n' + out = open(tempFile, 'w') out.write(data) out.close() diff --git a/libbsd.txt b/libbsd.txt new file mode 100644 index 00000000..d16354ea --- /dev/null +++ b/libbsd.txt @@ -0,0 +1,94 @@ +RTEMS BSD USB and TCP/IP Developers Guide +========================================= +Joel Sherrill <joel.sherrill@oarcorp.com> +:Author Initials: JRS +:toc: +:icons: +:numbered: +:website: http://www.rtems.org/ + +RTEMS uses FreeBSD as the source of its TCP/IP and USB stacks. +This is a developers guide which captures information on the +process of merging code from FreeBSD, building this library, +RTEMS specific support files, and general guidelines on what +modifications to the FreeBSD source are permitted. + +************************************************************** +This is a work in progress and is very likely to be incomplete. +Please help by adding to it. +************************************************************** + +== Source Code Version Information + +* FreeBSD 8.2 SVN r222496 +* RTEMS 4.11 + - BSP must have support for all new BSD sys sections + - It is preferable if the BSP uses linkcmds.base. + - BSP must be from an architecture with Programmable Interrupt Controller + interrupt model. + +== To Do +* Adapt generic IRQ PIC interface code to Simple Vectored Interrupt Model + so that those architectures can use new TCP/IP and USB code. +* in_cksum implementations for architectures not supported by FreeBSD. + This will require figuring out where to put implementations that do + not originate from FreeBSD and are populated via the script. +* generic in_cksum implementation is missing in_cksum_split so currently + cannot be used. + +== FreeBSD Source + +You should be able to rely on FreebSD manual pages and documentation +for details on the code itself. + +=== Automatically Generated FreeBSD Files + +The FreeBSD source tarball includes a file named Makefile.rtems which +has stanzas to automatically generate some files. + +http://www.freebsd.org/cgi/man.cgi?query=kobj&apropos=0&sektion=0&manpath=FreeBSD+9.0-RELEASE&arch=default&format=html + +=== Rules for Modifying FreeBSD Source + +* Only add lines. Subtract code by added "ifndef __rtems__". This makes +merging easier in the future. + +== libbsd Source + +=== What is in git + +The git source is a self-contained kit with FreeBSD and RTEMS components +pre-merged. The Makefile in this kit is automatically generated. + +Any changes to sources in the freebsd or contrib directories will need to +be merged upstream into our master FreeBSD svn checkout. + +=== Building git + +You need to configure RTEMS for the desired BSP and install it. Then edit +the file config.inc to set RTEMS_MAKEFILE_PATH appropriately. + +[listing] +---- +make +make install +make -C testsuite +---- + +At this point, we expect multiple linker errors. That is what we are +currently working on. + + +=== Organization + +The top level directory contains a few directories and files. The following +are important to understand: + +* freebsd-to-rtems.py - script to convert to and free FreeBSD and RTEMS trees +* Makefile - automatically generated +* contrib/ - from FreeBSD by script. +* freebsd/ - from FreeBSD by script. +* rtemsbsd/ - RTEMS specific implementations of FreeBSD kernel support routines. +* testsuite/ - RTEMS specific tests +* libbsd.txt - Documentation in Asciidoc + |