| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Adjust build support files to new directory layout.
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
| |
Use RTEMS_SYSINIT_ITEM() instead.
Update #2408.
|
|
|
|
|
|
|
|
| |
This was at the request of a user to make it easier to have a
custom entry point. This way they just provide their own top
level linkcmds and include linkcmds.base.
Updates #3520.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SPARC ABI is a bit special with respect to the floating point context.
The complete floating point context is volatile. Thus, from an ABI point
of view nothing needs to be saved and restored during a context switch.
Instead the floating point context must be saved and restored during
interrupt processing. Historically, the deferred floating point switch was
used for SPARC and the complete floating point context is saved and
restored during a context switch to the new floating point unit owner.
This is a bit dangerous since post-switch actions (e.g. signal handlers)
and context switch extensions may silently corrupt the floating point
context.
The floating point unit is disabled for interrupt handlers. Thus, in case
an interrupt handler uses the floating point unit then this will result in a
trap (INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT).
In uniprocessor configurations, a lazy floating point context switch is
used. In case an active floating point thread is interrupted (PSR[EF] == 1)
and a thread dispatch is carried out, then this thread is registered as the
floating point owner. When a floating point owner is present during a
context switch, the floating point unit is disabled for the heir thread
(PSR[EF] == 0). The floating point disabled trap checks that the use of the
floating point unit is allowed and saves/restores the floating point context
on demand.
Update #3077.
|
|
|
|
|
|
| |
Add new fatal error INTERNAL_ERROR_ILLEGAL_USE_OF_FLOATING_POINT_UNIT.
Update #3077.
|
| |
|
|
|
|
|
|
| |
Use _Thread_Do_dispatch() instead of _Thread_Dispatch(). Restore the
PSR[EF] state of the interrupted context via new system call
syscall_irqdis_fp in case floating-point support is enabled.
|
|
|
|
|
|
| |
Move content to bsp_predriver_hook() functions of the BSPs.
Update #2408.
|
|
|
|
| |
Fixes bug introduced with dff1803cfbec3775fff1b9c34cc707c05494dc3b.
|
| |
|
|
|
|
|
| |
Rename _BSP_Exception_frame_print() to _CPU_Exception_frame_print() to
be in line with other CPU port functions.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add CPU port type CPU_Exception_frame and function
_CPU_Exception_frame_print().
The CPU ports of avr, bfin, h8300, lm32, m32c, m32r, m68k, nios2, sh,
sparc64, and v850 use an empty default implementation of
_CPU_Exception_frame_print().
Add rtems_exception_frame and rtems_exception_frame_print().
Add RTEMS_FATAL_SOURCE_EXCEPTION for CPU exceptions. Use rtems_fatal()
with source RTEMS_FATAL_SOURCE_EXCEPTION in CPU ports of i386, powerpc,
and sparc for unexpected exceptions.
Add third parameter to RTEMS_BSP_CLEANUP_OPTIONS() which controls the
BSP_PRINT_EXCEPTION_CONTEXT define used in the default
bsp_fatal_extension().
Add test sptests/spfatal26.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The implementation use IRQ number instead of vector number since
some IRQs does not have a unique vector, for example the extended
interrupts all enter the same trap vector entry.
Added support for the LEON3 extended interrupt controller when using
the shared IRQ layer.
ERC32 patches untested.
Signed-off-by: Daniel Hellstrom <daniel@gaisler.com>
Regenerate
|
|
|
|
| |
* startup/bspdelay.c: Fix broken CVS-Id.
|
|
|
|
|
|
|
|
| |
PR 1795/bsps
* erc32/Makefile.am, leon2/Makefile.am, leon3/Makefile.am: Add
rtems_bsp_delay to sparc bsps.
* erc32/startup/bspdelay.c, leon2/startup/bspdelay.c,
leon3/startup/bspdelay.c: New files.
|
|
|
|
|
| |
* include/tm27.h, startup/spurious.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
|
|
|
|
|
| |
* startup/linkcmds: Include basic linker command file and define only
board specific values. Define RAM and PROM limits only if not defined
by command line arguments.
* Makefile.am, preinstall.am: Reflect changes above.
|
| |
|
|
|
|
|
|
|
| |
* Makefile.am, include/bsp.h, startup/setvec.c: Split idle method into
its own file. Properly note to confdefs.h that this BSP has its own
idle thread.
* startup/bspidle.c: New file.
|
|
|
|
|
| |
PR 1391/bsps
* startup/spurious.c: Format was %d but had leading 0x.
|
|
|
|
|
|
| |
PR 1390/bsps
* startup/linkcmds: Fix sections so C++ global constructors and
destructors work with late model (>= 4.3) gcc versions.
|
|
|
|
|
| |
* startup/setvec.c: Change prototype of IDLE thread to consistently
return void * and take a uintptr_t argument.
|
|
|
|
| |
* startup/linkcmds: Add start symbol to eliminate warning.
|
|
|
|
| |
* startup/linkcmds: Work Area should start on 16 byte boundary.
|
|
|
|
|
|
| |
* startup/linkcmds: All SPARC executables should include
rtems_get_version_string so the monitor used can provide RTEMS
awareness based upon the version.
|
|
|
|
|
|
| |
PR 1294/bsps
* startup/spurious.c: Correct prototype and usage of
sparc_disable_interrupts.
|
|
|
|
|
|
| |
PR 1294/bsps
* startup/spurious.c: Correct prototype and usage of
sparc_disable_interrupts.
|
|
|
|
|
| |
* startup/linkcmds: Add wildcard to gcc_except_table section so
programs compiled with gcc 4.3.x can link.
|
|
|
|
|
|
| |
* console/debugputs.c, include/bsp.h, startup/spurious.c: Remove debug
print methods that are redundant with prntk and replace their use
with printk.
|
|
|
|
| |
* startup/linkcmds: Handle .data.* sections
|
|
|
|
| |
* startup/linkcmds: Add .rela.dyn sections.
|
|
|
|
| |
* startup/linkcmds: Add .gnu.linkonce.b.* section.
|
|
|
|
| |
* startup/linkcmds: Add sections required by newer gcc versions.
|
|
|
|
|
| |
* startup/linkcmds: Merge from 4.6 branch. Now the copy_data loop
works.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* startup/boardinit.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>.
* console/console.c: Include <rtems/ringbuf.h> instead of <ringbuf.h>.
|
|
|
|
|
|
|
| |
* clock/ckinit.c, console/console.c, console/debugputs.c,
erc32sonic/erc32sonic.c, include/bsp.h, include/erc32.h,
startup/setvec.c, startup/spurious.c, timer/timer.c: Convert to
using c99 fixed size types.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* Makefile.am: Merge-in clock/Makefile.am, erc32sonic/Makefile.am,
startup/Makefile.am, console/Makefile.am, gnatsupp/Makefile.am,
timer/Makefile.am, wrapup/Makefile.am.
Use automake compilation rules.
* clock/Makefile.am, erc32sonic/Makefile.am, startup/Makefile.am,
console/Makefile.am, gnatsupp/Makefile.am, timer/Makefile.am,
wrapup/Makefile.am: Remove.
* configure.ac: Reflect changes above.
|
|
|
|
|
|
| |
* Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
Add PRE/TMPINSTALL_FILES to CLEANFILES.
* startup/Makefile.am: Ditto.
|
|
|
|
|
| |
* start/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
* startup/Makefile.am: s,${PROJECT_RELEASE}/lib,$(PROJECT_LIB),g.
|
|
|
|
|
|
| |
* start/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
* startup/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
* wrapup/Makefile.am: Use mkdir_p. Remove dirs from PRE/TMPINSTALL_FILES.
|