- The change to building all code with code and data sections means
we have a section per function. Make sure all functions are
placed in the text section.
Closes#4266
- These calls clash with the Linux IO header in LibBSD. Making these
conditional here means BSPs build and the imported Linux header is
untouched.
Updates #4245
- Add support to the BSP to enable irq-generic management
- Update the powerpc shared irq code to support irq-generic. This
is an opt in option for existing powerpc bsps. This change
should be simpler now
- Fix a number of issues in ISA IRQ controller handling by porting
fixes from the i386 (PC) BSP
Closes#4238Closes#4239
- The call to enable the openpic irq for the ISA bridge fails
because the IRQ used is offset by the ISA bus signals and
the openpic call expects an IRQ relative to its signals.
- Add the MVME 2600/2700 to the list of boards with an ISA bridge.
Closes#4231
Provide RTEMS_NO_RETURN also in case RTEMS_DEBUG is defined to prevent errors
like this:
error: no return statement in function returning non-void [-Werror=return-type]
Use C11 and C++11 standard means to declare a no-return function.
Close#4122.
If we interrupt a thread dispatch critical section (thread dispatch
disable level != ISR nest level), then we should not do the fast idle
mode since this may delay an ongoing system call forever.
Remove superflous __atexit stuff in start.o. It is no longer required
by GCC and may cause linker problems.
See GCC commit:
commit 362c63a5e8b5aacfff3e5af0911e42ba7c775042
Author: Geoff Keating <geoffk@cygnus.com>
Date: Fri Apr 14 23:16:25 2000 +0000
GCC 10 no longer passes -many to the assembler. This enables more
checks in the assembler.
The 0 in the tlbie instruction is the L operand which selects a 4KiB
page size.
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.
Fix the __size symbol value to reflect the total size of the bootloader.
This prevents a bootloader crash with application images above a certain
threshold (e.g. fileio sample program).
Update #3727.
The GNU ld had a couple of changes which resulted in a broken bootloader
image generation. Recent linker versions tie assignments to their
nearest output section statement. Place all absolute symbols which are
used with @sectoff relocations into a special section.
See also:
"Binutils 2.28 on PowerPC: dangerous relocation: generic linker can't
handle R_PPC_SECTOFF_HA"
https://www.sourceware.org/ml/binutils/2019-05/msg00183.html
Update #3727