| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
not a valid object class. This was discovered while looking for
a bug reported by Jennifer.
|
| |
|
|
|
|
|
|
| |
important distinctions between CPU models which are not made by gcc.
These distinctions help give us a more optimized memcpy(). This is important
for message queues and KA9Q.
|
|
|
|
|
| |
vector number to user ISR's and other ports could pass both the vector
number and a pointer to the ISF.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
external interrupt priorities were not being honored. Here is some
of his original report:
using rtems/erc32, I have a problem with interrupt priority when
interrupts occure simultaneously. Erc32 has an interrupt force
register where interrupts can be generated. If more than one
interrupt is generated, the interrupt handlers are scheduled in
the wrong order, i.e. with the lowest priority first.
I have attched a program that generates three interrupts, 0x11, 0x12
and 0x13. Interrupt 0x13 should be handled first, but is actually
handled last. Below is the output from sis:
sis> go
resuming at 0x02000000
RAM size: 4096 K, ROM size: 2048 K
Watchdog disabled
Waitstates = RAM read: 0, RAM write: 0, ROM read: 0, ROM write: 0
Power-down mode enabled
infinite UART baudrate
External interrupt received with vector 0x11
External interrupt received with vector 0x12
External interrupt received with vector 0x13
I have verified that sis generates the interrupts in the correct
order, i.e. 0x13 first, then 0x12 and then 0x11. So the problem
seems to be in the rtems interrupt handler. Do you use the PIL field
in the %psr register to mask lower priority interrupts or are all
external interrupts considered to have the same priority ..?
Here is a description of the fix:
it turned out that lower priority interrupts were not at all masked
off during interrupt handling. I made the following fix to cpu_asm.s:
... fix is in the code ...
There might be a simpler way of doing this, but this works...
|
|
|
|
| |
or solaris2.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
advantage of this instruction.
Also up conditionals mapping cpu models to feature flags by having a
section which defaults all the i386 family feature flags to the most
common value.
|
| |
|
| |
|
|
|
|
| |
Actual patch was from Eric Norum.
|
| |
|
| |
|
|
|
|
|
|
| |
to multiple. This lets the stack check extension be installed
at system initialization time and avoids the BSP having to
even know about its existence.
|
|
|
|
| |
gcc-target-default.cfg
|
| |
|
|
|
|
|
| |
It appears that the new glibc does not clear all the bits of the signal
set with a sigprocmask.
|
| |
|
| |
|
| |
|
|
|
|
| |
suggestion.
|
|
|
|
| |
<td@imd.m.isar.de>.
|
| |
|
|
|
|
| |
the CPU family name constants.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Here is my attempt at bringing m68k.h into line with the predefined
symbols provided by egcs-1.0.2-prerelease (with R. Kirkham's patch so
that -mcpu32, etc. implies -msoft-float).
|
| |
|
|
|
|
|
| |
GNU tool bc which is not always installed under Linux and seldom
present under non-UNIX environments like Win32.
|
|
|
|
| |
not use priority ceiling or priority inheritance protocols.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working
with different shells and relative/absolute paths.
What I did is relatively simple in principle:
Instead of setting RTEMS_ROOT in configure.in and then let configure
substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile
set RTEMS_ROOT from each Makefile's @top_srcdir@ value.
The difference is subtile, but with enormous side effects:
- If RTEMS_ROOT is set in configure, then the same single value will be
propagated to all Makefiles. This breaks using relative paths, as the
relative path to the root of the source tree is used inside of all
subdirectory Makefiles.
- Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@. top_srcdir is
computed individually by configure for each single Makefile.in, hereby
receiving the correct value, no matter if relative or absolute paths are
used.
To get this working, I needed to remove setting RTEMS_ROOT from
target.cfg.in, because this overrides the value of RTEMS_ROOT from each
individual Makefile.
Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all
"include $(RTEMS_CUSTOM)" directives with"include
$(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this,
but I think, to have one variable less is clearer and easier to
understand than having several variables refering to the next one.
I enclose a small patch to this mail, which
- fixes the config.h problem (to finally clearify misunderstands)
- removes assignment/subsitution of RTEMS_ROOT from configure.in
- contains a workaround for the application Makefile's RTEMS_ROOT
problem (reported by Eric)
- removes some unused lines from the toplevel Makefile.in
- removes assignment of RTEMS_ROOT from make/target.cfg.in
|
|
|
|
| |
suggestion.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
>> >>There is a 30 day error in _TOD_Days_since_last_leap_year[2..3]
>> >
>> >Thanks.
>> >What's the condition to hit this error?
>> >Every year 4n+2 and 4n+3 ?
>> >(i.e. 1998, 1999, 2002, 2003, ...)
>> >
>> OK: 96 97 00 01 04 05 ...
>> Bad: 98 99 02 03 06 07 ...
There is also a problem in newlib 1.7.x reported at the same time:
>> I found another, that would strike only on 2/29/2000, or other leapyears.
>> Only a problem on 1 day.
>>
>> Joel: FYI, there is a bug in Newlib localtime.c, localtime or (_tm_time).
>> Ours is modified for dst and timezones, but the bug was in original source.
>> I have not looked at the latest public source (nor do I know where to find
>> it).
|
| |
|