| 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.
|
|
|
|
|
|
|
|
This was done by the following script run from libbsp:
find * -name bsp.h | xargs -e grep -l "#ifndef.*_BSP_H" | while read b
do
echo $b
cpu=`echo $b | cut -d'/' -f1 | tr '[:lower:]' '[:upper:]' `
bsp=`echo $b | cut -d'/' -f2 | tr '[:lower:]' '[:upper:]' `
g="LIBBSP_${cpu}_${bsp}_BSP_H"
# echo $g
sed -e "s/ifndef _BSP_H/ifndef ${g}/" \
-e "s/define _BSP_H/define ${g}/" \
-i $b
done
|
|
Some includes may use C++ and this conflicts if surrounded extern "C".
|
|
This file defines at least the POW() macro which pollutes the
public name space and causes warnings in at least the paranoia
sample application.
|
|
|
|
|
|
Changed console driver to use interrupts instead of polling.
Change to avoid overwriting CPU32Bug interrupt vector when setting up the Sci interrupt handler.
Fixed type for boolean flag in bsp.h.
Changed mrm332.h to use 25Mhz clock.
Fixes to mrm332.cfg to use correct mcpu32 value for RTEMS_CPU_MODEL instead of m68332 which is no longer supported.
Added -mcpu=cpu32 to compiler options.
Removed broken ROM linker script and replaced broken RAM linker script with working ROM linker script.
Removed no longer required file except_vect_332_ROM.S.
Enabled 0xbeefbeef magic string in start.S to allow MRM version of CPU32Bug to auto run RTEMS.
Removed old code from start.S
Changed compiler optimization flag to optimize for size.
|
|
|
|
|
|
Include <bsp/default-initial-extension.h> in all BSPs. Call
rtems_fatal() with RTEMS_FATAL_SOURCE_EXIT as source and the exit()
status code as fatal code in every bsp_cleanup(). Move previous
bsp_cleanup() code into bsp_fatal_extension().
|
|
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.
|
|
|
|
* include/bsp.h, include/mrm332.h, spurious/spinit.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
* include/bsp.h: Eliminate BSPs defining NUMBER_OF_TERMIOS_PORTS.
Should be automatically handled by confdefs.h or the application.
|
|
* include/bsp.h: Defined as a small memory target. It cannot build
one of the sample programs any more.
|
|
* include/bsp.h: Remove unnecessary boilerplate comments.
|
|
* include/bsp.h: Review of all bsp_cleanup() implementations. In this
phase, all prototypes were removed from bsp.h and empty
implementations were removed and made to use the shared stub.
|
|
* clock/ckinit.c, include/bsp.h, startup/bspstart.c: Eliminate copies
of the Configuration Table. Use the RTEMS provided accessor macros to
obtain configuration fields.
|
|
* include/bsp.h, startup/bspstart.c: Move interrupt_stack_size field
from CPU Table to Configuration Table. Eliminate CPU Table from all
ports. Delete references to CPU Table in all forms.
|
|
* include/bsp.h: Remove redundant prototypes.
|
|
|
|
* include/bsp.h: New header guard.
|
|
* include/bsp.h: Split out tmtest27 support.
* include/tm27.h: New.
|
|
PR 613/bsps
* include/bsp.h: Remove MAX_LONG_TEST_DURATION.
|
|
PR 614/bsps
* include/bsp.h: Remove MAX_SHORT_TEST_DURATION (Unused).
|
|
|
|
* c/src/lib/libbsp/m68k/mrm332/include/bsp.h,
c/src/lib/libbsp/m68k/mrm332/start/start.S,
c/src/lib/libbsp/m68k/mrm332/startup/start_c.c: Include
<rtems/m68k/sim.h> instead of <sim.h>.
* c/src/lib/libbsp/m68k/mrm332/include/bsp.h: Include
<rtems/m68k/qsm.h> instead of <qsm.h>.
|
|
* include/bsp.h: Include <rtems/clockdrv.h> instead of <clockdrv.h>.
* include/bsp.h: Include <rtems/console.h> instead of <console.h>.
* include/bsp.h: Include <rtems/iosupp.h> instead of <iosupp.h>.
|
|
* clock/ckinit.c, console/sci.c, console/sci.h, include/bsp.h,
misc/interr.c, startup/bspstart.c, timer/timer.c: Convert to using
c99 fixed size types.
|
|
* clock/ckinit.c, console/console.c, include/bsp.h, misc/interr.c,
spurious/spinit.c, startup/bspclean.c, startup/bspstart.c,
timer/timer.c: URL for license changed.
|
|
* console/sci.c, console/sci.h,
console/console.c: Added new SCI driver.
* start/start.c: Removed file.
* start/start.S: New file, the asm portion of the updated start code.
* start/configure.am: Added start.S, removed start.c
* startup/start_c.c: New file, the C portion of the updated start code. Contains most of the code that was in the old start.c.
* startup/configure.am: Added start_c.c to C_FILES.
* include/bsp.h: Added include <rtems/bspIo.h>
|
|
* include/bsp.h: Renamed delay() to rtems_bsp_delay().
|
|
* configure.in: Add bspopts.h.
* include/.cvsignore: Add bspopts.h*, stamp-h*.
* include/Makefile.am: Use *_HEADERS instead of *H_FILES.
* include/bsp.h: Include bspopts.h.
|
|
* New MRM332 BSP for the Mini RoboMind board based
on the 68332 microcontroller designed and build by Mark
Castelluccio. For details on the MRM see http://www.robominds.com.
* .cvsignore, ChangeLog Makefile.am, README, bsp_specs,
clock/.cvsignore, clock/Makefile.am, clock/ckinit.c, configure.in,
console/.cvsignore, console/Makefile.am, console/console.c,
include/.cvsignore, include/Makefile.am, include/bsp.h,
include/mrm332.h, misc/dotests, misc/gdbinit68, misc/interr.c,
spurious/.cvsignore, spurious/Makefile.am, spurious/spinit.c,
start/.cvsignore, start/Makefile.am, start/start.c, startup/.cvsignore,
startup/Makefile.am, startup/bspclean.c, startup/bspstart.c,
startup/except_vect_332_ROM.S, startup/linkcmds, startup/linkcmds_ROM,
timer/.cvsignore, timer/Makefile.am, timer/timer.c, times,
wrapup/.cvsignore, wrapup/Makefile.am: Initial files.
|
|
|
|
and memory layout. Next step is to share the same bsp_pretasking_hook.
|
|
that converts the libbsp/i386 subdirectory to full automake.
|
|
|
|
code in each BSP's bspstart.c. These changes were:
+ confdefs.h now knows libio's semaphore requirements
+ shared/main.c now copies Configuration to BSP_Configuration
+ shared/main.c fills in the Cpu_table with default values
This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open
files can now be set on the gcc command line.
|
|
|
|
|
|
of switching to the modified GNU GPL.
|
|
|
|
commit them.
|
|
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.
|
|
|