| 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.
|
|
|
|
Some/many Cortex-A cores have data cache line length 64 bytes and maximum
value has to be used for system structures alignment.
|
|
|
|
|
|
ARMv6-M is not supported since we cannot directly use the ARMv7-M code
due to some inline assembler statements.
Close #2231.
|
|
This floating point unit is available in Cortex-M4 processors and
defined by ARMv7-M. This adds basic support for other VFP-D16 variants.
|
|
|
|
|
|
Tested and implemented on ARM, m68k, PowerPC and SPARC. Other
architectures need more work.
|
|
Recent GCC versions use atomic operations based on load/store exclusive
in the C++ library.
|
|
|
|
|
|
|
|
|
|
This is the result of a sed script which converts all uses
of @{ into a consistent form.
|
|
|
|
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.
|
|
|
|
PR 1965/cpukit
* rtems/score/arm.h: Select ARMv4 multilib implementation for
__ARM_ARCH_7A__.
|
|
PR 1949/cpukit
PR 1950/cpukit
* rtems/score/arm.h: Select ARMv4 multilib implementation for
__ARM_ARCH_6J__.
|
|
* rtems/score/armv7m.h, armv7m-context-initialize.c,
armv7m-context-restore.c, armv7m-context-switch.c,
armv7m-exception-handler-get.c, armv7m-exception-handler-set.c,
armv7m-exception-priority-get.c, armv7m-exception-priority-set.c,
armv7m-initialize.c, armv7m-isr-dispatch.c, armv7m-isr-enter-leave.c,
armv7m-isr-level-get.c, armv7m-isr-level-set.c,
armv7m-isr-vector-install.c, armv7m-multitasking-start-stop.c: New
files.
* Makefile.am, preinstall.am: Reflect changes above.
* rtems/score/arm.h: Define ARM_MULTILIB_ARCH_V4 and
ARM_MULTILIB_ARCH_V7M.
* rtems/score/cpu.h, cpu_asm.S, cpu.c, arm_exc_abort.S,
arm_exc_handler_high.c, arm_exc_handler_low.S, arm_exc_interrupt.S:
Define CPU_HAS_HARDWARE_INTERRUPT_STACK to FALSE. Use
ARM_MULTILIB_ARCH_V4 and ARM_MULTILIB_ARCH_V7M.
|
|
* rtems/score/arm.h: More CPU_MODEL_NAME variants.
|
|
* rtems/score/arm.h: Make it a warning not error that the FPU multilib
is not supported yet.
|
|
|
|
|
|
|
|
* rtems/score/arm.h: Recognize ARMv7A.
|
|
* rtems/score/arm.h: Recognize ARMv6J as needed by arm1136 variants.
|
|
PR 365/rtems
* rtems/score/arm.h, rtems/score/cpu.h: Removed unused ARM_HAS_CLZ
macro
|
|
|
|
|
|
|
|
* rtems/score/arm.h: Add doxygen preamble.
* rtems/score/cpu.h: Add doxygen preamble.
* rtems/score/cpu_asm.h: Add doxygen preamble.
* rtems/score/types.h: Add doxygen preamble.
|
|
* asm.h, cpu.c, cpu_asm.S, rtems/score/arm.h, rtems/score/cpu.h,
rtems/score/cpu_asm.h, rtems/score/types.h: URL for license changed.
|
|
|
|
|
|
|
|
* cpu.c, cpu_asm.S, rtems/score/arm.h, rtems/score/cpu.h,
rtems/score/cpu_asm.h, rtems/score/types.h: ARM port works
well enough to run all sptests, tmtests, and ttcp.
In addition to general cleanup, there has been considerable
optimization to interrupt disable/enable, endian swapping,
and context switching.
|
|
* rtems/score/cpu_asm.h: Enhanced to include register offsets.
* Makefile.am: Install rtems/score/cpu_asm.h.
* cpu.c: Significantly enhanced including the implementation of
_CPU_ISR_Get_level.
* cpu_asm.S: Improved behavior of context switch and interrupt
dispatching.
* rtems/score/arm.h: Improved the CPU model name determination.
* rtems/score/cpu.h: Improved interrupt disable/enable functions.
|
|
* asm.h: include cpuopts.h instead of targopts.h
* rtems/score/arm.h: Use __arm__.
|
|
<valette@crf.canon.fr> and Emmanuel Raguet <raguet@crf.canon.fr>
of Canon CRF - Communication Dept. This port includes a
basic BSP that is sufficient to link hello world.
|
|
|
|
|
|
> 4) rtems-rc-19990202-0.diff /reorg-score-cpu.sh
>
> reorg-score-cpu.sh reorganizes the cpu/<cpu>/* subdirectories in a
> similar manner than previous reorg scripts did. rtems-rc-19990202-0.diff
> contains the diffs after reorg-score-cpu.sh has been run on a
> rtems-19981215 snapshot + my patches up to rtems-rc-19990131-2.diff.
>
> This patch is rather nasty and may break something. However, I've tested
> it for about 10 different target/bsp pairs and believe to have shaken
> out most bugs.
I wonder about the following .h files that were not moved:
a29k/asm.h
a29k/cpu_asm.h
i386/asm.h
i960/asm.h
m68k/asm.h
m68k/m68302.h
m68k/m68360.h
m68k/qsm.h
m68k/sim.h
mips64orion/asm.h
mips64orion/cpu_asm.h
mips64orion/mips64orion.h
no_cpu/asm.h
no_cpu/cpu_asm.h
powerpc/asm.h
powerpc/mpc860.h
sh/asm.h
sparc/asm.h
sparc/erc32.h
|