| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
* macros/rtems/score/coresem.inl, inline/rtems/score/coresem.inl:
Cut and paste problem incorrectly enabled interrupts twice with
the first time being too early.
|
|
|
|
|
|
|
|
| |
* macros/rtems/score/coresem.inl: Removed comments since convention
calls for comments to be in inline versin.
* macros/rtems/score/object.inl (Objects_Get_local_object): Fixed
style to use _ prefix on variable names and use parentheses.
* macros/rtems/score/object.inl (_Objects_Namespace_remove): Added.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* General effort to make things compile with macros not inlines
* inline/rtems/score/coremutex.inl: Added comment indicating
for macros there is another copy of
_CORE_mutex_Seize_interrupt_trylock() in src/coremutexseize.c.
* src/coremutexseize.c: Added body of
_CORE_mutex_Seize_interrupt_trylock() for macro case.
* macros/rtems/score/coremutex.inl: Added prototype for
_CORE_mutex_Seize_interrupt_trylock() since there is a real
body when macros are enabled.
* macros/rtems/score/coresem.inl: Added macro implementation of
_CORE_semaphore_Seize_isr_disable.
* macros/score/Makefile.am: Fixed typos.
* rtems/score/address.inl: Correct macro implementation of
_Addresses_Is_aligned() so it would compile.
* macros/rtems/score/coremsg.inl: Added closing parentheses.
|
|
|
|
|
|
|
|
|
|
|
| |
a BSP (c4xsim) supporting the simulator included with gdb. This port
was done by Joel Sherrill and Jennifer Averett of OAR Corporation.
Also included with this port is a space/time optimization to eliminate
FP context switch management on CPUs without hardware or software FP.
An issue with this port was that sizeof(unsigned32) = sizeof(unsigned8)
on this CPU. This required addressing alignment checks and assumptions
as well as fixing code that assumed sizeof(unsigned32) == 4.
|
| |
|
|
|
|
| |
adds .cvsignore.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
blocking sends when the queue is full. The SuperCore was enhanced
to support blocking on send. The existing POSIX API was debugged
and numerous test cases were added to psxmsgq01 by Jennifer Averett.
SuperCore enhancements and resulting modifications to other APIs
were done by Joel.
There is one significant point of interpretation for the POSIX API.
What happens to threads already blocked on a message queue when the
mode of that same message queue is changed from blocking to non-blocking?
We decided to unblock all waiting tasks with an EAGAIN error just
as if a non-blocking version of the same operation had returned
unsatisfied. This case is not discussed in the POSIX standard and
other implementations may have chosen differently.
|
|
|
|
|
|
|
|
|
|
|
|
| |
power binary/mutex style semaphores already supported by RTEMS. This
was done at the request of Eric Norum <eric@cls.usask.ca> in support
of his effort to port EPICS to RTEMS. This change consisted of
changing the nesting_allowed boolean into a lock_nesting_behavior
enumerated value as well as allowing the core mutex object to optionally
support ensuring that the holder of a binary semaphore released it.
Finally, a more subtle enhancement was to allow the non-holder to release
a priority inheritance/ceiling mutex and still allow the holding task
to return to its original priority.
|
| |
|
|
|
|
| |
Working Group. Included are tests.
|
|
|
|
| |
where wrapup left pieces out of the librtemsall.a.
|
|
|
|
|
| |
Ralf Corsepius <corsepiu@faw.uni-ulm.de> which converted many
Makefile.in's to Makefile.am's. This added a lot of files.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, the unlimited patch. I have compiled the unlmited patch for the
Linux posix BSP only and it seems to work cleanly. I would like a really
major application run on this change before commiting as the changes are
very core and significant. I am currently building all the tests to run.
I have no targets suitable to test on at the moment.
I have tested the patch for inline functions and macros.
Turning macros on has found some core bugs. I have fixed these but have
not run all the tests. Please review the patch for these changes. They
are:
1) The conditional compilation for MP support broke the core messages
code. You cannot embed a conditional macro in another macro. The Send
and Urgent Send calls are macros.
2) User extensions handler initialisation now has two parameters. I have
updated the macros to support the extra parameter.
The patch also contains the gcc-target-default.cfg fix required to build
the kernel. More of a by product than a fix for you.
|
|
|
|
|
| |
not a valid object class. This was discovered while looking for
a bug reported by Jennifer.
|
| |
|
| |
|
| |
|
|
|
|
| |
of switching to the modified GNU GPL.
|
|
|
|
| |
as the sole statement in an if or else statement
|
| |
|
| |
|
|
|
|
|
| |
Handler could timestamp the starting and stopping of timers. Since
TOD is built on top of Watchdog, this avoided a circular dependency.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the inline implementation. The impetus for this was twofold. First,
it is incorrect to have static inline prototypes when using the macro
implementation. Second, this reduced the number of lines in the include
files seen by rtems.h by about 2000 lines.
Next we restricted visibility for the inline routines to inside the
executive itself EXCEPT for a handful of objects. This reduced the
number of include files included by rtems.h by 40 files and reduced
the lines in the include files seen by rtems.h by about 6000 lines.
In total, these reduced the compile time of the entire RTEMS tree by 20%.
This results in about 8 minutes savings on the SparcStation 10 morgana.
|
|
|
|
|
|
|
|
|
|
| |
the thread handler (IDLE), MPCI object (SYSI now MP Receive)
and initialize_executive_early (IO initialization). The SYSI task
no longer exists in a single processor configuration. This reduces
single processor Workspace requirements by a TCB and a stack which
is often larger than the minimum stack size. Moving the IO initialization
plus accompanying BSP hooks eliminated an initialization ordering problem
in which a global task could be created before the MPCI was initialized.
|
|
|
|
| |
in each thread which must be set when the post switch extension is to be run.
|
| |
|
| |
|
|
|
|
| |
partially recovered working tree, etc
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
single biggest changes were the expansion of the workspace size
macro to include other types of objects and the increase in the
minimum stack size for most CPUs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rearranged code to created thread handler routines to initialize,
start, restart, and "close/delete" a thread.
Made internal threads their own object class. This now uses the
thread support routines for starting and initializing a thread.
Insured deleted tasks are freed to the Inactive pool associated with the
correct Information block.
Added an RTEMS API specific data area to the thread control block.
Beginnings of removing the word "rtems" from the core.
|
|
|
|
|
|
| |
both fixed length "raw" names and strings from the API's point of view.
Both inline and macro implementations were tested.
|
|
|
|
|
|
|
|
|
|
| |
(andy@i-cubed.demon.co.uk). This initial submission is known
to work on the IBM 403. It is thought to work on the Motorola
601, 603, and 604 although this remains to be tested.
Another user -- Doug Currie (e@flavors.com) -- is interested in
this work and will be testing it on the 604 using the Metrowerks
C compiler and a different format assembly language.
|
|
|
|
|
|
|
|
| |
+ Added name pointer to Object_Control.
+ Modified Object Open and Close to address name field.
+ Removed name as separate element from Thread and Proxy Control.
|
| |
|
| |
|
|
|