Commit Graph

226 Commits

Author SHA1 Message Date
Chris Johns
96918affc3 powerpc/motorola_power: Place any common data in the .bss section
- It seems the compiler how defaults to -fcommon and this means
  some uninitialised data is ignored.

Closes #4266
2021-02-28 13:17:05 +11:00
Chris Johns
75fb7a0ee5 powerpc/motorola_power: Link all text sections into the executable image
- 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
2021-02-28 13:16:53 +11:00
Sebastian Huber
de7df0419d bsps: Fix legacy build 2021-02-26 09:48:41 +01:00
Sebastian Huber
32b0d6f84a bsps: Change license to BSD-2-Clause of some files
Change license to BSD-2-Clause according to file histories and
re-licensing agreement.

Update #3899.
2021-02-24 11:15:07 +01:00
Chris Johns
026eb3db7e powerpc/motorola_powerpc: Add cache coherent memory to the allocator
Updates #4245
Updates #4243
2021-02-16 09:40:47 +11:00
Chris Johns
23aad642be powerpc/motorola_powerpc: Enable bus PCI support in LibBSD
Updates #4245
2021-02-16 09:40:29 +11:00
Chris Johns
6e3c6e044e powerpc/io: Make [out/in] le and be calls conditional
- 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
2021-02-16 09:40:15 +11:00
Chris Johns
85df12728a powerpc/shared: Fix warnings in i8259 PIC code. 2021-02-16 09:40:03 +11:00
Chris Johns
53abbbd08d powerpc/shared: Fix warnings 2021-02-16 08:12:43 +11:00
Chris Johns
86f031d401 powerpc/motorola_powerpc: Fix tm27 warnings 2021-02-16 08:12:43 +11:00
Chris Johns
e1676c1a0d Update motorola_power to irq-generic interrupt management
- 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 #4238
Closes #4239
2021-02-13 13:26:07 +11:00
Chris Johns
ee14fdfe19 bsp/motorola_powerp: Print RTEMS_VERSION from the bootloader 2021-02-08 10:12:21 +11:00
Chris Johns
450e238bc6 powerpc/shared: ISA bus bridge fails to enable the openpic irq
- 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
2021-02-08 10:11:13 +11:00
Sebastian Huber
b361eabd93 bsps: Replace bsp_specs with an empty file
This fixes an issue with the latest tool chain which adds the default
linker script in the endfile specification.

Update #3250.
2021-01-28 06:28:33 +01:00
Sebastian Huber
9eb9813dc1 bsps: Add missing DWARF 5 sections
Sort alphabetically.
2021-01-26 15:29:36 +01:00
Sebastian Huber
33c12d5f92 bsps: Support DWARF 5 sections
GCC 11 uses DWARF 5 by default.
2021-01-25 12:56:00 +01:00
Christian Mauderer
2f509b572f bsp/mpc83xx: Fix non-ASCII characters 2020-12-14 10:48:57 +01:00
Sebastian Huber
d7a48e1b25 rtems: Improve RTEMS_NO_RETURN attribute
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.
2020-10-10 14:00:37 +02:00
Joel Sherrill
0c74ff92b5 Misc: Correct spelling of occurred 2020-10-07 08:38:28 -05:00
Sebastian Huber
e59cb6a2b2 bsps/powerpc: Remove __ppc_generic define
Do not force BSPs to define __ppc_generic.

This was probably the last command line define in the BSPs.
2020-09-20 17:45:11 +02:00
Sebastian Huber
d556af3605 bsps: Always install IPI in SMP configs
The inter-processor interrupt (IPI) may be used to process per-CPU jobs.
See for example the blocked handler in T_interrupt_test().

Update #3199.
2020-08-31 16:19:53 +02:00
Chris Johns
3ec5f20484 powerpc/io: The eieio() function clashes with FreeBSD. Change. 2020-08-12 12:59:09 +10:00
Sebastian Huber
33314eb60a bsps/clock: Fix fast idle clock tick support
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.
2020-07-23 08:56:06 +02:00
Sebastian Huber
523551ccf6 bsps/powerpc: Remove obsolete BSPs
Update #3951.
2020-07-05 12:56:05 +02:00
Sebastian Huber
70b803b554 bsps/powerpc: Remove SPE enabled variants
The PowerPC SPE support was removed from GCC.

Update #3951.
2020-07-05 12:56:01 +02:00
Sebastian Huber
69690f60b4 bsps/powerpc: Remove __atexit form start.o
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
2020-07-05 12:56:01 +02:00
Sebastian Huber
9b5af6a47f bsps/powerpc: Fix tlbie instruction usage
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.
2020-07-05 12:56:01 +02:00
Sebastian Huber
9b3b33d91a bsps/powerpc: Fix inline assembly
GCC 10 no longer passes -many to the assembler.  This enables more
checks in the assembler.
2020-07-05 12:56:01 +02:00
Sebastian Huber
b4a786df18 bsp/qoriq: Fix tlbwe sequence 2020-07-05 12:56:01 +02:00
Chris Johns
1b1755d9a6 testsuite: Add expected-fail to psim
Updates #2962
2020-05-06 18:39:55 +10:00
Sebastian Huber
4b9b6ddb9f Use rtems_get_version_string()
Update #3970.
2020-05-06 07:39:09 +02:00
Sebastian Huber
92a3a19c75 tests: Exclude record02 for some BSPs
Update #3938.
2020-04-06 21:22:14 +02:00
Sebastian Huber
299a82f45e bsp/qoriq: Fix off by one error in clock init
Close #3921.
2020-04-02 09:13:53 +02:00
Joel Sherrill
097ea1ecc5 psim: Rework device tree so devices do not conflict with 256MB RAM
updates #3849.
2020-03-05 18:27:52 -06:00
Sebastian Huber
61e2d73f09 bsp/mpc5643l_*: Exclude some tests
These tests do not fit into the available memory.
2020-02-27 08:25:40 +01:00
Sebastian Huber
eea21eaca1 bsps: Rework work area initialization
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.
2020-02-04 06:06:41 +01:00
Sebastian Huber
34a7a12f48 bsps: Add RTEMS_SYSINIT_BSP_EARLY
Add new BSP system initialization step for work to be performed before
the work areas are initialized.

Update #3838.
2020-02-04 05:52:28 +01:00
Sebastian Huber
ffa1153170 bsps: Add RamEnd to linker command files
Update #3838.
2020-02-04 05:52:28 +01:00
Sebastian Huber
a3706d4ce1 bsps/powerpc: Fix warning
Update #3834.
2020-01-02 07:54:47 +01:00
Sebastian Huber
86abbb6e1e bsps/powerpc: Support constructors with priority
Close #3339.
2019-12-19 14:21:05 +01:00
Sebastian Huber
bb99cd0d83 clock: Simplify driver initialization
Use a system initialization handler instead of a legacy IO driver.

Update #3834.
2019-12-11 09:05:07 +01:00
Sebastian Huber
a6b2080e1c clock: Remove Clock_exit() from API
This function is no longer supported by the standard clock driver
implementation (clockimpl.h).

Update #3436.
2019-12-11 09:04:49 +01:00
Sebastian Huber
05a32e15c7 bsp/mpc55xxevb: Remove obsolete linker cmd file
Update #3818.
2019-11-25 11:32:19 +01:00
Sebastian Huber
3e9f5a55ad bsp/gen83xx: Remove obsolete linker command file
Update #3818.
2019-11-25 11:32:18 +01:00
Sebastian Huber
41ab50e4cd bsp/t32mppc: Rename linker command file
This BSP family uses only one linker command file.  Use the standard
name.

Update #3818.
2019-11-14 15:07:57 +01:00
Sebastian Huber
9b858ee6ef bsp/motorola_powerpc: Fix linker command file
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.
2019-06-27 14:36:56 +02:00
Sebastian Huber
f419349a13 bsps/powerpc: Adjust ppcboot.lds
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
2019-05-27 10:14:48 +02:00
Sebastian Huber
45d06591f1 bsps: Always build generic interrupt support
This makes it possible to write tests for the generic interrupt
controller support.

Update #3269.
2019-05-16 07:29:24 +02:00
Sebastian Huber
30d61a66d9 bsps/powerpc: Fix constructors with priority
Update #3339.
2019-05-07 10:31:51 +02:00
Sebastian Huber
f6895c6d55 bsps/powerpc: Fix C++ exception handling
Close #3736.
2019-05-07 10:31:51 +02:00