| Commit message (Collapse) | Author | Files | Lines |
|
Add TM27_USE_VECTOR_HANDLER to select the interrupt handler type used by
the <tm27.h> implementation.
Close #4820.
|
|
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.
|
|
|
|
|
|
* include/tm27.h:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
PR 610/bsps
* Makefile.am: Add include/tm27.h, Cosmetics.
* include/tm27.h: Final cosmetics.
|
|
* 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).
|
|
|
|
* start/start.S: Include <rtems/asm.h> instead of <asm.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/clockdrv.c, include/bsp.h, startup/bspstart.c,
timer/timer.c: Convert to using c99 fixed size types.
|
|
* console/console-io.c, include/bsp.h, startup/bspclean.c,
startup/bspstart.c, timer/timer.c, tools/runtest: URL for license
changed.
|
|
* configure.in: Add bspopts.h.
* include/bsp.h: Include bspopts.h.
* include/.cvsignore: Add bspopts.h*, coverhd.h, stamp-h*.
* include/Makefile.am: Use *_HEADERS instead of *H_FILES.
|
|
* include/bsp.h (Clear_tm27_intr): Stop the timer and disable
the interrupt. This was not quite right before and we were
getting uncontrolled interrupt nesting in tm27.
* timer/timer.c (Timer_Initialize): Added an extra reset and
changed the ITMR register so we will never get an interrupt.
(Read_timer): Fixed so the timer actually stops before it
is read. Before some times reported were outraguously high.
* start/start.S: Major clean including using stack in linkcmds,
deleting unused code, and zeroing the BSS using the linkcmds
information.
* startup/linkcmds: Put heap in lower memory than workspace
and move _clear_end so both are zeroed.
|
|
* include/bsp.h, timer/timer.c: Updated so timer appears to
work and support tm27. I would prefer to time a software
interrupt rather than an use an extra timer though.
|
|
* clock/clockdrv.c: Clean up.
* include/bsp.h: Uncomment and fix set_vector() prototype.
|
|
* Makefile.am: Added tools subdirectory and removed commented out line.
* configure.in: Added tools subdirectory.
* tools: New subdirectory.
* tools/.cvsignore, tools/Makefile.am, tools/configure.in,
tools/runtest: New files -- based on powerpc/psim.
* clock/clockdrv.c: Guessed new value for clock tick. Need to
add fast idle support.
* include/bsp.h: tm27 support initiated.
* start/start.S: Fixed frame/endframe problems on _sys_exit.
* startup/bspstart.c: Increased Workspace size to 4 MBYTES!
* linkcmds: Increased Workspace size to 4 MBYTES!
* Most tests appear to run correctly!
|
|
* README: Updated. We are now vectoring a clock tick ISR handler.
But RTEMS is not returning from the ISR properly.
* clock/clockdrv.c: Now causes interrupts but has not been calibrated.
* include/bsp.h: Use <libcpu/tx3904.h>
* startup/Makefile.am: Add setvec.c from shared.
* startup/bspstart.c: Initialize the status register (SR) so
no interrupts are masked but global interrupts (SR_IEC) are off.
Added call to install the ISR prologue code.
* wrapup/Makefile.am: Pick up more pieces from libcpu.
|
|
* The JMR BSP is for a Toshiba TX39 evaluation board but
can also be used with the mips simulator in gdb.
* .cvsignore, ChangeLog, Makefile.am, README, bsp_specs,
configure.in, clock/.cvsignore, clock/Makefile.am,
clock/clockdrv.c, console/.cvsignore, console/Makefile.am,
console/console-io.c, include/.cvsignore,
include/Makefile.am, include/bsp.h, start/.cvsignore,
start/Makefile.am, start/regs.S, start/start.S,
startup/.cvsignore, startup/Makefile.am, startup/bspstart.c,
startup/linkcmds, wrapup/.cvsignore, wrapup/Makefile.am: New files.
|
|
|
|
|
|
by gdb 5.0's i960 simulator) is enough to run hello world.
|
|
|
|
|
|
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.
|
|
based on the GNU tools. This usually involved correcting the
type of bsp_start(), bsp_cleanup(), adjusting the start code to
call the right start routine (the shared boot_card()), and then
removing code from bsp_start() which was performed in the new
boot_card()/main() path.
|
|
|
|
|
|
of switching to the modified GNU GPL.
|
|
|
|
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.
|
|
|