| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
not a valid object class. This was discovered while looking for
a bug reported by Jennifer.
|
| |
|
|
|
|
|
|
| |
of seconds since 1988 from RTEMS and not adding in the 1970-1988 correction
factor. Plus removed checks for data/time set since POSIX does not permit
this call to fail. GNAT 3.12 depends on this.
|
| |
|
|
|
|
|
|
| |
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...
|
|
|
|
| |
cfsetispeed().
|
| |
|
| |
|
|
|
|
| |
or solaris2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Eric Norum per request from Geoffroy Montel:
> The rtems_termios_enqueue_raw_characters function type is void.
> The problem is that I can't return an error message if the input
> buffer is full.
> Could we add a return value?
Sure, but what would you do with the overflow indication? POSIX says,
``when the input limit is reached, the saved characters are thrown away
without notice''.
Anyhow, the change is so small I've done it and enclosed the patch.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
support for device driver support on tcsetattr(), and hardware
flow control callbacks.
|
| |
|
|
|
|
|
| |
used to calculate the amount of memory used by tasks whether the
POSIX API is enabled or disabled.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
+ POSIX threads
+ Ada tasks
+ POSIX threads API support
+ POSIX condition variables
+ POSIX keys (still do not account for data fields)
+ POSIX mutexes
+ POSIX queued signals
+ added macro for extra memory for task stacks
+ default value for CONFIGURE_MAXIMUM_FAKE_ADA_TASKS
+ extra memory for Ada task stacks
|
|
|
|
| |
so confdefs.h could see it.
|
|
|
|
|
|
|
| |
the system signals.h file.
Moved POSIX_signals_Siginfo_node type definition to this file to allow
confdefs.h to know the size per queued signal.
|
|
|
|
| |
file descriptors is user configurable.
|
|
|
|
|
|
| |
memory requirements.
Also added variable to tell libio how many file descriptors to allocate.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
code in each BSP's bspstart.c. These changes were:
+ confdefs.h now knows libio's semaphore requirements
+ shared/main.c now copies Configuration to BSP_Configuration
+ shared/main.c fills in the Cpu_table with default values
This removed the need for rtems_libio_config() and the constant
BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open
files can now be set on the gcc command line.
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
by newlib.
|
| |
|
|
|
|
| |
These were noticed by Eric Norum.
|
|
|
|
| |
a result of enabling the newlib POSIX directory.
|