| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The sparc64 port had some incorrect copyright notices affixed to
source code files.
|
| |
|
| |
|
|
|
|
|
|
| |
Make sure also the size is cache aligned since otherwise we may have
some overlap with the next allocation block. A cache invalidate on this
area would be fatal.
|
|
|
|
|
| |
sparc64_install_isr_entries function is no longer used. Removing it also
allows to use the default bsppredriverhook for usiii and bspstart for niagara.
|
| |
|
|
|
|
|
| |
With this patch the preinstall.am files are in a set order and not
dependent on now perl implements a hash.
|
|
|
|
|
| |
Apparently, at some point automake output changed and these were
not updated.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use a per-CPU thread dispatch disable level. So instead of one global
thread dispatch disable level we have now one instance per processor.
This is a major performance improvement for SMP. On non-SMP
configurations this may simplifiy the interrupt entry/exit code.
The giant lock is still present, but it is now decoupled from the thread
dispatching in _Thread_Dispatch(), _Thread_Handler(),
_Thread_Restart_self() and the interrupt entry/exit. Access to the
giant lock is now available via _Giant_Acquire() and _Giant_Release().
The giant lock is still implicitly acquired via
_Thread_Dispatch_decrement_disable_level().
The giant lock is only acquired for high-level operations in interrupt
handlers (e.g. release of a semaphore, sending of an event).
As a side-effect this change fixes the lost thread dispatch necessary
indication bug in _Thread_Dispatch().
A per-CPU thread dispatch disable level greatly simplifies the SMP
support for the interrupt entry/exit code since no spin locks have to be
acquired in this area. It is only necessary to get the current
processor index and use this to calculate the address of the own per-CPU
control. This reduces the interrupt latency considerably.
All elements for the interrupt entry/exit code are now part of the
Per_CPU_Control structure: thread dispatch disable level, ISR nest level
and thread dispatch necessary. Nothing else is required (except CPU
port specific stuff like on SPARC).
|
|
|
|
|
|
|
|
|
| |
This commit deletes all RTEMS ChangeLog files. These files have been abandoned
since converting to git version control. The historical data may be recovered
by checking out any commit before this one. Most of the contents of these
ChangeLog files can also be found in the git log.
Two external ChangeLog files, ChangeLog.slac and ChangeLog.zlib, remain.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Add the trap vector to the interrupt frame. Also rename the assembly
macro that accesses the field to be consistent with similar macros.
|
| |
|
|
|
|
| |
* ChangeLog: Fix ChangeLog with name and email address
|
|
|
|
| |
* shared/score/interrupt.S: Pass ISR correct pointer to interrupt frame
|
|
|
|
|
| |
* shared/cache/cache.c:
Use "__asm__" instead of "asm" for improved c99-compliance.
|
|
|
|
| |
* configure.ac: Require autoconf-2.68, automake-1.11.1.
|
|
|
|
|
|
|
|
| |
PR 1688/libcpu
* shared/score/interrupt.S: Fix bug in the sun4u _ISR_Dispatch code
that ends up cloberring the global registers. It manifests primarily
as a memory alignment error when the globals are used to read to/from
memory.
|
|
|
|
|
|
|
|
|
| |
PR 1681/cpukit
* shared/score/interrupt.S: With the percpu patch, ASM uses
INTERRUPT_STACK_HIGH instead of _CPU_Interrupt_stack_high. The
sparc64 was still using the old variable, which was declared in its
cpu.h file. This patch to comment out the declaration and switch to
using INTERRUPT_STACK_HIGH.
|
|
|
|
|
|
|
|
| |
PR 1573/cpukit
* shared/score/interrupt.S: Add a per cpu data structure which contains
the information required by RTEMS for each CPU core. This
encapsulates information such as thread executing, heir, idle and
dispatch needed.
|
|
* .cvsignore, ChangeLog, Makefile.am, configure.ac, preinstall.am,
shared/cache/cache.c, shared/cache/cache_.h,
shared/interrupts/installisrentries.c, shared/score/cpu.c,
shared/score/interrupt.S, shared/syscall/sparc64-syscall.S,
shared/syscall/sparc64-syscall.h: New files.
|