| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This fixes commit b678a199e499b6c3f0b453393434aefaee180423 for SMP
configurations.
|
|
|
|
|
|
|
|
|
|
|
| |
Move declarations of bsp_interrupt_get_affinity() and
bsp_interrupt_set_affinity() to <bsp/irq-generic.h>. Canonicalize the
<bsp/irq.h> includes.
Implement bsp_interrupt_get_affinity() and bsp_interrupt_set_affinity() only if
needed (usually RTEMS_SMP).
Provide stub implementations for i386 to fix build errors.
|
|
|
|
|
|
|
|
|
|
|
| |
Pass the parameter of the clock interrupt handler to
Clock_driver_support_at_tick() and Clock_driver_timecounter_tick(). This makes
it possible to use the interrupt handler argument in clock drivers.
Use the interrupt handler provided by Clock_driver_support_install_isr() to
avoid local delarations of Clock_isr().
Update #4862.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This cleans up outputUsesInterrupts usage with rtems_termios_device_mode
enum values. The outputUsesInterrupts member was typed as an int, named
as if it were a boolean value, and used as if it were a
rtems_termios_device_mode enum. In this patch, values assigned to
outputUsesInterrupts have been converted to the corresponding
rtems_termios_device_mode enum value, conversions from
deviceOutputUsesInterrupts have been made explicit, and uses of
rtems_termios_device_mode enum values with deviceOutputUsesInterrupts
have been converted to booleans.
|
| |
|
|
|
|
|
| |
The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.
|
|
|
|
| |
Update #3707.
|
|
|
|
|
|
|
| |
Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.
Close #3935.
|
|
|
|
|
|
|
| |
The .data.rel.ro* linker input section pattern accidentally matches with
writeable data those symbol name starts with "ro".
Close #4701.
|
|
|
|
|
|
|
|
| |
Sort the .noinit* input sections by name first, then by alignment if two
sections have the same name. This allows the placement of begin/end symbols to
initialize some areas with a special value.
Update #4678.
|
|
|
|
| |
Updates #3053.
|
|
|
|
| |
Updates #3053.
|
|
|
|
|
|
| |
Use the same form of IMD in all copyright lines
Update #4625.
|
|
|
|
| |
Updates #4625.
|
|
|
|
| |
Updates #3937.
|
|
|
|
|
| |
Close #3250.
Close #4081.
|
|
|
|
|
|
|
|
| |
Move _CPU_Fatal_halt() declaration to <rtems/score/cpuimpl.h> and make sure it
is a proper declaration of a function which does not return. Fix the type of
the error code. If necessary, add the implementation to cpu.c. Implementing
_CPU_Fatal_halt() as a function makes it possible to wrap this function for
example to fully test _Terminate().
|
|
|
|
|
|
| |
Do not return a status code in bsp_interrupt_facility_initialize() since this
leads to unreachable code in bsp_interrupt_initialize(). Use RTEMS_DEBUG
assertions in bsp_interrupt_facility_initialize() if necessary.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add rtems_interrupt_entry_remove(). Split up irq-generic.c into several files.
In particular, place all functions which use dynamic memory into their own
file.
Add optional macros to let the BSP customize the vector installation after
installing the first entry and the vector removal before removing the last
entry:
* bsp_interrupt_vector_install()
* bsp_interrupt_vector_remove()
Use these new customization options in the m68k/genmcf548x BSP so re-use the
generic interrupt controller support.
Update #3269.
|
|
|
|
|
|
| |
This function is only used by one BSP.
Update #3269.
|
|
|
|
|
|
| |
Return a status code for bsp_interrupt_vector_disable().
Update #3269.
|
|
|
|
|
|
| |
Return a status code for bsp_interrupt_vector_enable().
Update #3269.
|
|
|
|
|
|
| |
Add a default implementation which just returns RTEMS_UNSATISFIED.
Update #3269.
|
|
|
|
|
|
|
| |
Add a default implementation which clears the attributes to zero and
just returns RTEMS_SUCCESSFUL for valid parameters.
Update #3269.
|
|
|
|
|
|
|
|
|
| |
Add rtems_interrupt_raise_on() and rtems_interrupt_clear().
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
|
|
|
|
|
|
|
| |
Add a default implementation which just returns RTEMS_UNSATISFIED for
valid parameters.
Update #3269.
|
|
|
|
|
|
| |
This define is no longer used.
Update #3269.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Assert BSP_INTERRUPT_VECTOR_MAX + 1 == BSP_INTERRUPT_VECTOR_COUNT.
After building all BSPs with this patch, BSP_INTERRUPT_VECTOR_MAX can be
removed and replaced by BSP_INTERRUPT_VECTOR_COUNT. The
BSP_INTERRUPT_VECTOR_COUNT allows a default implementation which supports no
interrupt vector at all. Using COUNT instead of MAX may avoid some
interpretation issues, for example is the maximum value a valid vector number
or not.
Update #3269.
|
|
|
|
|
|
|
|
|
|
| |
Remove BSP_INTERRUPT_VECTOR_MIN and unconditionally let interrupt vector
numbers start with zero.
The BSP_INTERRUPT_VECTOR_MIN == 0 invariant was tested by the previous commit
and building all BSPs.
Update #3269.
|
|
|
|
| |
Closes #4455
|
|
|
|
| |
Update #3866.
|
|
|
|
| |
Update #3850
|
| |
|
|
|
|
|
|
|
| |
Change license to BSD-2-Clause according to file histories and
re-licensing agreement.
Update #3899.
|
|
|
|
|
|
|
| |
This fixes an issue with the latest tool chain which adds the default
linker script in the endfile specification.
Update #3250.
|
|
|
|
| |
Closes #4093.
|
|
|
|
| |
Update #3818.
|
|
|
|
|
|
| |
- properly use the cpu <-> apic maps for IPIs
Closes #4029.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Fixes timeout for smpipi01 where:
+ Main thread sends perform jobs to worker cpu while it is already
performing jobs
+ Interrupt on worker cpu performs jobs, but with empty job list
+ Worker cpu continues to execut previous job and adds new job list
to itself, which is never performed, since the interrupt has already
been handled
+ Main thread blocks forever on barrier D
|
| |
|
|
|
|
|
|
|
|
| |
- Do not forward Clock_isr through Clock_driver_support_at_tick as this
will cause every processor to send IPIs with Clock_isr therby creating
an infinie loop
- Instead the processor handling the clock interrupt causes all other
processors to call rtems_timecounter_tick to update their tick count
|
|
|
|
|
|
| |
- Defines CPU_Interrupt_frame in cpu_impl.h
- Updates isq_asm.S to save/restore registers in matching order to
interrupt frame
|
|
|
|
|
|
|
|
|
|
| |
Create a GS segment in the GDT for each processor for storing TLS.
This makes the GDT in startAP.S obsolete as all processors now share the
same GDT, which is passed to each AP at startup.
The correct segment for each processor is calculated in cpu_asm.S.
Update #3335
|
|
|
|
|
|
|
|
|
|
|
| |
start16.S is now only used for SMP configurations to start the
application processors.
This commit removes all unnecessary parts for this job,
i.e. video conssole initalisation, A20 gate activation
and all non-AP related code.
Update #3335
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add a simplified path evaluation function IMFS_eval_path_devfs() for a
device only IMFS configuration.
The code size can be further reduced by the application if it disables
the support for legacy IO drivers via:
#define CONFIGURE_IMFS_DISABLE_MKNOD
#define CONFIGURE_IMFS_DISABLE_MKNOD_DEVICE
Obsolete CONFIGURE_MAXIMUM_DEVICES. Remove BSP_MAXIMUM_DEVICES.
Update #3894.
Update #3898.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The work area initialization was done by the BSP through
bsp_work_area_initialize(). This approach predated the system
initialization through the system initialization linker set. The
workspace and C program heap were unconditionally initialized. The aim
is to support RTEMS application configurations which do not need the
workspace and C program heap. In these configurations, the workspace
and C prgram heap should not get initialized.
Change all bsp_work_area_initialize() to implement _Memory_Get()
instead. Move the dirty memory, sbrk(), per-CPU data, workspace, and
malloc() heap initialization into separate system initialization steps.
This makes it also easier to test the individual initialization steps.
This change adds a dependency to _Heap_Extend() to all BSPs. This
dependency will be removed in a follow up change.
Update #3838.
|
|
|
|
| |
Use _SMP_Multicast_action() instead.
|