mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-10-14 04:59:59 +08:00
Initial addition of documentation
This commit is contained in:
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
libbsd.html
|
6
Makefile
6
Makefile
@@ -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
|
||||
|
@@ -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()
|
||||
|
94
libbsd.txt
Normal file
94
libbsd.txt
Normal file
@@ -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
|
||||
|
Reference in New Issue
Block a user