| Commit message (Collapse) | Author | Files | Lines |
|
A speciality of the RTEMS build system was the make preinstall step. It
copied header files from arbitrary locations into the build tree. The
header files were included via the -Bsome/build/tree/path GCC command
line option.
This has at least seven problems:
* The make preinstall step itself needs time and disk space.
* Errors in header files show up in the build tree copy. This makes it
hard for editors to open the right file to fix the error.
* There is no clear relationship between source and build tree header
files. This makes an audit of the build process difficult.
* The visibility of all header files in the build tree makes it
difficult to enforce API barriers. For example it is discouraged to
use BSP-specifics in the cpukit.
* An introduction of a new build system is difficult.
* Include paths specified by the -B option are system headers. This
may suppress warnings.
* The parallel build had sporadic failures on some hosts.
This patch removes the make preinstall step. All installed header
files are moved to dedicated include directories in the source tree.
Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc,
etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g.
erc32, imx, qoriq, etc.
The new cpukit include directories are:
* cpukit/include
* cpukit/score/cpu/@RTEMS_CPU@/include
* cpukit/libnetworking
The new BSP include directories are:
* bsps/include
* bsps/@RTEMS_CPU@/include
* bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include
There are build tree include directories for generated files.
The include directory order favours the most general header file, e.g.
it is not possible to override general header files via the include path
order.
The "bootstrap -p" option was removed. The new "bootstrap -H" option
should be used to regenerate the "headers.am" files.
Update #3254.
|
|
Create implementation header file.
Update #2555.
|
|
Update #2559.
|
|
|
|
|
|
This simplifies the RTEMS initialization and helps to avoid a memory
overhead. The workspace demands of the IO manager were not included in
the <rtems/confdefs.h> workspace size estimate. This is also fixed as a
side-effect.
Update documentation and move "Specifying Application Defined Device
Driver Table" to the section end. This sub-section is not that
important for the user. Mentioning this at the beginning may lead to
confusion.
|
|
|
|
This is the result of a sed script which converts all uses
of @{ into a consistent form.
|
|
|
|
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/8032207
|
|
|
|
http://www.google-melange.com/gci/task/view/google/gci2012/8011204
|
|
Script does what is expected and tries to do it as
smartly as possible.
+ remove occurrences of two blank comment lines
next to each other after Id string line removed.
+ remove entire comment blocks which only exited to
contain CVS Ids
+ If the processing left a blank line at the top of
a file, it was removed.
|
|
* libfs/src/devfs/devfs_mknod.c: Remove const cast.
* libfs/src/imfs/ioman.c: Remove const cast.
* libfs/src/devfs/devfs.h: Make device_name a const char*.
* sapi/include/rtems/io.h: Make device_name a const char*.
|
|
|
|
* cpukit/sapi/include/rtems/io.h: Documentation.
* cpukit/sapi/src/ioregisterdriver.c: Call from interrupt context is
an error.
* cpukit/sapi/src/iounregisterdriver.c: Disable preemption during
critical section.
|
|
* sapi/include/rtems/io.h, sapi/src/ioregisterdriver.c: Documenation.
rtems_io_lookup_name() is now deprecated. Added
rtems_io_driver_io_error(). rtems_io_register_driver() is now
thread-safe.
|
|
|
|
* sapi/include/rtems/extension.h, sapi/include/rtems/io.h,
sapi/src/exinit.c, sapi/src/extension.c, sapi/src/io.c,
score/include/rtems/score/mpci.h, score/include/rtems/score/object.h,
score/include/rtems/score/thread.h, score/include/rtems/score/tod.h,
score/include/rtems/score/userext.h,
score/include/rtems/score/wkspace.h, score/src/coretod.c,
score/src/mpci.c, score/src/object.c, score/src/thread.c,
score/src/userext.c, score/src/wkspace.c: Convert SAPI manager and
SuperCore Handler initialization routines to directly pull parameters
from configuration table.
|
|
reduce size of data area.
IMFS: Fixed creation of symbolic links to avoid a compiler warning.
DOSFS: Use LibBlock instead of read() to read the boot record.
|
|
* sapi/Makefile.am, sapi/include/rtems/io.h, sapi/src/io.c: Split into
one function per file execpt io.c which contains required
initialization methods.
* sapi/src/ioclose.c, sapi/src/iocontrol.c, sapi/src/iodata.c,
sapi/src/ioinitialize.c, sapi/src/ioopen.c, sapi/src/ioread.c,
sapi/src/ioregisterdriver.c, sapi/src/iounregisterdriver.c,
sapi/src/iowrite.c: New files.
|
|
* libmisc/Makefile.am, libmisc/monitor/mon-object.c,
libmisc/monitor/monitor.h, sapi/include/confdefs.h,
sapi/include/rtems/config.h, sapi/include/rtems/io.h,
sapi/src/exinit.c, sapi/src/io.c: Eliminate maximum_drivers
configuration parameter since it was used to configure a no longer
used feature. Device names are now part of the filesystem not in a
table. This also eliminated the variables _IO_Number_of_devices and
_IO_Driver_name_table from RTEMS as well as the memory allocation
used to populate _IO_Driver_name_table.
* libmisc/monitor/mon-dname.c: Removed.
|
|
* sapi/include/rtems/io.h, sapi/src/io.c: Change rtems_io_register_name
to take a const char *.
|
|
|
|
* sapi/include/rtems/io.h : size_t device_name_length.
|
|
|
|
|
|
* sapi/include/confdefs.h, sapi/include/rtems/config.h,
sapi/include/rtems/extension.h, sapi/include/rtems/fatal.h,
sapi/include/rtems/init.h, sapi/include/rtems/io.h,
sapi/src/exinit.c, sapi/src/extension.c, sapi/src/fatal.c,
sapi/src/io.c: Convert to using c99 fixed size types.
|
|
* include/confdefs.h, include/rtems/config.h,
include/rtems/extension.h, include/rtems/fatal.h,
include/rtems/init.h, include/rtems/io.h, include/rtems/mptables.h,
include/rtems/sptables.h, include/rtems/sptables.h.in,
inline/rtems/extension.inl, macros/rtems/extension.inl, src/debug.c,
src/exinit.c, src/extension.c, src/extensioncreate.c,
src/extensiondelete.c, src/extensionident.c, src/fatal.c, src/io.c,
src/itronapi.c, src/posixapi.c, src/rtemsapi.c: URL for license
changed.
|
|
PR 338/filesystem
* include/rtems/io.h, src/io.c: Side-effect of fixing reentrancy
problem with rtems_io_lookup_name() (API change).
|
|
* include/confdefs.h, include/rtems/config.h, include/rtems/io.h,
optman/no-io.c, src/exinit.c, src/io.c: Added a device driver
register/unregister interface to allow device drivers to be
installed and removed at runtime. This means you do not need devices
present in the device table when you build.
|
|
* include/rtems/io.h (rtems_driver_address_table): Added "_entry"
to all names.
* src/io.c: Accounted for above.
|
|
|
|
|
|
|
|
of switching to the modified GNU GPL.
|
|
score, rtems api, or posix api related.
|
|
|
|
|
|
Configuration Table Template file added and all tests
modified to use this. All gvar.h and conftbl.h files
removed from test directories.
Configuration parameter maximum_devices added.
Core semaphore and mutex handlers added and RTEMS API Semaphore
Manager updated to reflect this.
Initialization sequence changed to invoke API specific initialization
routines. Initialization tasks table now owned by RTEMS Tasks Manager.
Added user extension for post-switch.
Utilized user extensions to implement API specific functionality
like signal dispatching.
Added extensions to the System Initialization Thread so that an
API can register a function to be invoked while the system
is being initialized. These are largely equivalent to the
pre-driver and post-driver hooks.
Added the Modules file oar-go32_p5, modified oar-go32, and modified
the file make/custom/go32.cfg to look at an environment varable which
determines what CPU model is being used.
All BSPs updated to reflect named devices and clock driver's IOCTL
used by the Shared Memory Driver. Also merged clock isr into
main file and removed ckisr.c where possible.
Updated spsize to reflect new and moved variables.
Makefiles for the executive source and include files updated to show
break down of files into Core, RTEMS API, and Neither.
Header and inline files installed into subdirectory based on whether
logically in the Core or a part of the RTEMS API.
|
|
(tbennett@divnc.com) including the following major additions:
+ variable length messages
+ named devices
+ debug monitor
+ association tables/variables
|
|
|