| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
| |
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
| |
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
|
|
|
| |
Use only one timer driver variant based on the standard PowerPC time
base.
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
| |
This patch is a part of the BSP source reorganization.
Update #3285.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Update #3254.
|
|
|
|
|
|
| |
Use r8 instead of r5 to slightly optimize _CPU_Context_switch(). It is
not a big deal, however, we already assume r12 is used by
_CPU_Context_switch(). Treat r5 the in same way.
|
|
|
|
| |
Update #2751.
|
| |
|
|
|
|
| |
Update #2797.
|
|
|
|
|
|
|
| |
Properly pass the stack aligned context to _CPU_Context_switch_altivec()
since _CPU_altivec_ctxt_off defined via ppc_context.
Close #2761.
|
|
|
|
|
|
|
| |
This avoids potential dead code in _Thread_Handler(). It gets rid of
the dangerous function pointer casts.
Update #2514.
|
|
|
|
|
| |
Drop the <rtems/score/percpu.h> include since this file exposes a lot of
implementation details.
|
|
|
|
| |
Update #2356.
|
|
|
|
| |
Update #2271.
|
|
|
|
|
|
|
| |
PowerPC Book E: Account for an extra tick period if a tick increment's
pending.
Close #2230.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change starts with removing the effectively empty file
timerdrv.h. The prototypes for benchmark_timer_XXX() were in
btimer.h which was not universally used. Thus every use of
timerdrv.h had to be changed to btimer.h. Then the prototypes
for benchmark_timer_read() had to be adjusted to return
benchmark_timer_t rather than int or uint32_t.
I took this opportunity to also correct the file headers to
separate the copyright from the file description comments which
is needed to ensure the copyright isn't propagated into Doxygen
output.
|
| |
|
|
|
|
|
|
| |
This field is unused except for special case simulator clock drivers.
In these places use an alternative. Add and use
_Thread_Set_global_exit_status() and _Thread_Get_global_exit_status().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PowerPC cores with the SPE (Signal Processing Extension) have 64-bit
general-purpose registers. The SPE context switch code has been merged
with the standard context switch code. The context switch may use cache
operations to increase the performance. It will be ensured that the
context is 32-byte aligned (PPC_DEFAULT_CACHE_LINE_SIZE). This
increases the overall memory size of the context area in the thread
control block slightly. The general-purpose registers GPR2 and GPR13
are no longer part of the context. The BSP must initialize these
registers during startup (usually initialized by the __eabi() function).
The new BSP option BSP_USE_DATA_CACHE_BLOCK_TOUCH can be used to enable
the dcbt instruction in the context switch.
The new BSP option BSP_USE_SYNC_IN_CONTEXT_SWITCH can be used to enable
sync and isync instructions in the context switch. This should be not
necessary in most cases.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
* mpc6xx/clock/c_clock.c, mpc6xx/mmu/mmuAsm.S,
new-exceptions/bspsupport/ppc_exc_global_handler.c,
shared/include/cpuIdent.c, shared/src/stack.c: Update due to API
changes.
|
|
|
|
|
| |
* mpc6xx/altivec/vec_sup.c, mpc6xx/mmu/bat.h:
Fix up comments having been broken in previous commit.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* e500/mmu/mmu.c, mpc505/ictrl/ictrl.c, mpc505/timer/timer.c,
mpc5xx/ictrl/ictrl.c, mpc5xx/timer/timer.c,
mpc6xx/altivec/vec_sup.c, mpc6xx/clock/c_clock.c,
mpc6xx/mmu/bat.c, mpc6xx/mmu/bat.h, mpc6xx/mmu/pte121.c,
mpc8260/timer/timer.c, mpc8xx/timer/timer.c, new-exceptions/cpu.c,
new-exceptions/bspsupport/ppc_exc_initialize.c,
ppc403/clock/clock.c, ppc403/console/console.c,
ppc403/console/console.c.polled, ppc403/console/console405.c,
ppc403/irq/ictrl.c, ppc403/tty_drv/tty_drv.c,
rtems/powerpc/cache.h, shared/include/powerpc-utility.h, shared/src/cache.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* mpc5xx/exceptions/raw_exception.c, mpc5xx/exceptions/raw_exception.h,
mpc5xx/include/console.h, mpc5xx/include/mpc5xx.h, mpc5xx/irq/irq.c,
mpc5xx/irq/irq.h, mpc5xx/irq/irq_asm.S, mpc5xx/vectors/vectors.h,
mpc5xx/vectors/vectors_init.c, mpc6xx/mmu/bat.c, mpc6xx/mmu/bat.h,
mpc6xx/mmu/mmuAsm.S, new-exceptions/bspsupport/irq.c,
new-exceptions/bspsupport/irq_supp.h,
new-exceptions/bspsupport/nested_irq_test.c,
new-exceptions/bspsupport/ppc_exc_address.c,
new-exceptions/bspsupport/ppc_exc_categories.c,
new-exceptions/bspsupport/ppc_exc_global_handler.c,
new-exceptions/bspsupport/ppc_exc_hdl.c,
new-exceptions/bspsupport/ppc_exc_initialize.c,
new-exceptions/bspsupport/ppc_exc_prologue.c,
new-exceptions/bspsupport/ppc_exc_test.c,
new-exceptions/bspsupport/vectors.h, shared/include/byteorder.h,
shared/include/cpuIdent.c, shared/include/cpuIdent.h,
shared/include/io.h, shared/include/mmu.h, shared/include/page.h,
shared/include/pgtable.h, shared/include/spr.h: Fix typo where
license said found in found in.
|
| |
|
| |
|
|
|
|
|
| |
* Makefile.am, mpc6xx/altivec: new directory implementing
support for AltiVec context saving/restoring.
|
|
|
|
|
|
| |
* mpc6xx/mmu/bat.c, mpc6xx/mmu/pte121.c: skip data-
streaming (dssall etc.) instructions on PPC_PSIM
currently (unimplemented by PSIM :-( ).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
* mpc6xx/mmu/bat.c: Add missing prototypes.
|
|
|
|
|
| |
* mpc6xx/mmu/bat.c: Resolved bug: It is not an overlap if the batindex
being set is the batindex of the overlap.
|
|
|
|
| |
* mpc6xx/mmu/bat.c, mpc6xx/mmu/bat.h: Fix spelling.
|
|
|
|
|
|
|
|
| |
* mpc6xx/mmu/bat.c, new-exceptions/e500_raw_exc_init.c,
new-exceptions/raw_exception.h, new-exceptions/bspsupport/irq_supp.h,
shared/include/cpuIdent.c: Removed warnings. Split
bsp_irq_dispatch_list to allow non-standard/non-existant pics to call
with interrupts off.
|
|
|
|
|
|
|
|
|
| |
* mpc5xx/clock/clock.c, mpc6xx/clock/c_clock.c, mpc8260/clock/clock.c,
mpc8xx/clock/clock.c, ppc403/clock/clock.c, ppc403/clock/clock_4xx.c:
The Shared Memory Driver no longer requires the special IOCTL in
Clock_control. This was a hack which has existed since before the
Classic API Timer Manager was implemented. All implementations of and
references to Clock_control were removed.
|
|
|
|
|
| |
* mpc6xx/clock/c_clock.c: CLOCK_DRIVER_USE_FAST_IDLE must be checked to
be equal to 1 -- not just defined.
|
| |
|
|
|
|
|
|
| |
* mpc505/timer/timer.c, mpc5xx/timer/timer.c, mpc6xx/timer/timer.c,
mpc8260/timer/timer.c, mpc8xx/timer/timer.c, ppc403/timer/timer.c:
Rename timer driver methods to follow RTEMS programming conventions.
|
|
|
|
|
|
|
| |
* mpc6xx/mmu/pte121.c, mpc6xx/mmu/pte121.h, mpc6xx/timer/timer.c,
new-exceptions/e500_raw_exc_init.c,
new-exceptions/bspsupport/ppc_exc_bspsupp.h,
new-exceptions/bspsupport/vectors_init.c: Fix warnings.
|
|
|
|
| |
* mpc6xx/clock/c_clock.c: Add fast idle.
|
|
|
|
|
|
|
| |
* mpc6xx/mmu/pte121.c: use general "memory" clobber
rather than memory input operand in inline assembly
("m" doesn't do what the manual says; see discussion
on gcc mailing list around 2008/3/30)
|