mirror of
https://git.rtems.org/rtems-libbsd/
synced 2025-07-24 05:24:39 +08:00
Documentation additions.
This commit is contained in:
parent
8f5adbc097
commit
e392fdb762
69
libbsd.txt
69
libbsd.txt
@ -13,6 +13,18 @@ process of merging code from FreeBSD, building this library,
|
|||||||
RTEMS specific support files, and general guidelines on what
|
RTEMS specific support files, and general guidelines on what
|
||||||
modifications to the FreeBSD source are permitted.
|
modifications to the FreeBSD source are permitted.
|
||||||
|
|
||||||
|
Goals of this effort are:
|
||||||
|
|
||||||
|
* Update TCP/IP and provide USB in RTEMS
|
||||||
|
* Ease updating to future FreeBSD versions
|
||||||
|
* Ease tracking changes in FreeBSD code
|
||||||
|
* Minimize manual changes in FreeBSD code
|
||||||
|
* Define stable kernel/device driver API which is implemented
|
||||||
|
by both RTEMS and FreeBSD. This is the foundation of the port.
|
||||||
|
|
||||||
|
We will work to push our changes upstream to the FreeBSD Project
|
||||||
|
and minimize changes required at each update point.
|
||||||
|
|
||||||
**************************************************************
|
**************************************************************
|
||||||
This is a work in progress and is very likely to be incomplete.
|
This is a work in progress and is very likely to be incomplete.
|
||||||
Please help by adding to it.
|
Please help by adding to it.
|
||||||
@ -27,6 +39,9 @@ Please help by adding to it.
|
|||||||
- BSP must be from an architecture with Programmable Interrupt Controller
|
- BSP must be from an architecture with Programmable Interrupt Controller
|
||||||
interrupt model.
|
interrupt model.
|
||||||
|
|
||||||
|
The FreeBSD 8.2 SVN checkout will generally be referred to as the
|
||||||
|
FreeBSD source in this document.
|
||||||
|
|
||||||
== To Do
|
== To Do
|
||||||
* 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.
|
||||||
@ -78,7 +93,6 @@ make -C testsuite
|
|||||||
At this point, we expect multiple linker errors. That is what we are
|
At this point, we expect multiple linker errors. That is what we are
|
||||||
currently working on.
|
currently working on.
|
||||||
|
|
||||||
|
|
||||||
=== Organization
|
=== Organization
|
||||||
|
|
||||||
The top level directory contains a few directories and files. The following
|
The top level directory contains a few directories and files. The following
|
||||||
@ -92,3 +106,56 @@ are important to understand:
|
|||||||
* testsuite/ - RTEMS specific tests
|
* testsuite/ - RTEMS specific tests
|
||||||
* libbsd.txt - Documentation in Asciidoc
|
* libbsd.txt - Documentation in Asciidoc
|
||||||
|
|
||||||
|
== Moving Code Between FreeBSD SVN and RTEMS libbsd
|
||||||
|
|
||||||
|
The script freebsd-to-rtems.py is used to copy code from FreeBSD to the
|
||||||
|
RTEMS libbsd tree and to reverse this process. This script attempts to
|
||||||
|
automate this process as much as possible and performs some transformations
|
||||||
|
on the FreeBSD code. Its command line arguments are shown below:
|
||||||
|
|
||||||
|
[listing]
|
||||||
|
----
|
||||||
|
freebsd-to-rtems.py [args]
|
||||||
|
-?|-h|--help print this and exit
|
||||||
|
-d|--dry-run run program but no modifications
|
||||||
|
-e|--early-exit evaluate arguments, print results, and exit
|
||||||
|
-m|--makefile just generate Makefile
|
||||||
|
-R|--reverse default FreeBSD -> RTEMS, reverse that
|
||||||
|
-r|--rtems RTEMS directory
|
||||||
|
-f|--freebsd FreeBSD directory
|
||||||
|
-v|--verbose enable verbose output mode
|
||||||
|
----
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
In either mode, the script may be asked to perform a dry-run or be verbose.
|
||||||
|
Also, in either mode, the script is also smart enough to avoid copying over
|
||||||
|
files which have not changed. This means that the timestamps of files are
|
||||||
|
not changed unless the contents change. The script will also report the
|
||||||
|
number of files which changed. In verbose mode, the script will print
|
||||||
|
the name of the files which are changed.
|
||||||
|
|
||||||
|
The following is an example forward run with no changes.
|
||||||
|
|
||||||
|
[listing]
|
||||||
|
----
|
||||||
|
$ ~/newbsd/git/libbsd-8.2/freebsd-to-rtems.py \
|
||||||
|
-r /home/joel/newbsd/git/libbsd-8.2 \
|
||||||
|
-f /home/joel/newbsd/libbsd/freebsd-8.2 -v
|
||||||
|
Verbose: yes
|
||||||
|
Dry Run: no
|
||||||
|
Only Generate Makefile: no
|
||||||
|
RTEMS Directory: /home/joel/newbsd/git/libbsd-8.2
|
||||||
|
FreeBSD Directory: /home/joel/newbsd/libbsd/freebsd-8.2
|
||||||
|
Direction: forward
|
||||||
|
Generating into /home/joel/newbsd/git/libbsd-8.2
|
||||||
|
0 files were changed.
|
||||||
|
----
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user