Commit Graph

250 Commits

Author SHA1 Message Date
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
Sebastian Huber
f4db49a1ab bsp/motorola_powerpc: Fix bootloader output 2019-05-07 08:45:52 +02:00
Sebastian Huber
be50969881 bsp/motorola_powerpc: Fix debug output
Update #3122.
2019-04-12 14:38:06 +02:00
Sebastian Huber
ad87de4a67 score: Rename _SMP_Get_processor_count()
Rename _SMP_Get_processor_count() in _SMP_Get_processor_maximum() to be
in line with the API level rtems_scheduler_get_processor_maximum().

Update #3732.
2019-04-11 09:19:12 +02:00
Sebastian Huber
cfcd6dc98c score: Rename _SMP_Processor_count
Rename _SMP_Processor_count in _SMP_Processor_maximum to be in line with
the API level rtems_scheduler_get_processor_maximum().

Update #3732.
2019-04-11 09:19:12 +02:00
Sebastian Huber
03c9f24061 rtems: Add rtems_scheduler_get_processor()
Add rtems_scheduler_get_processor() as a replacement for
rtems_get_current_processor(). The rtems_get_current_processor() is a
bit orphaned. Adopt it by the Scheduler Manager. This is in line with
the glibc sched_getcpu() function.

Deprecate rtems_get_current_processor().

Update #3731.
2019-04-09 08:06:46 +02:00
Goetz Pfeiffer
a2aec0b72d Set the small data section size to max. for beatnik BSPs.
This applies changes similar to patch 294c6f46a6 to the beatnik BSP.
This is a board support for the mvme5500 and mvme6100 CPU.
2019-04-04 10:27:33 +11:00
Chris Johns
294c6f46a6 Set the small data section size to max. for mvme5500 and mvme2100 BSPs
Closes #3728
2019-03-30 09:58:31 +11:00
Sebastian Huber
9e4895805a bsps/powerpc: Initialize stack earlier
The __eabi() call may use the stack.

Update #3459.
2019-03-15 07:34:07 +01:00
Sebastian Huber
3fe215502a Remove superfluous <rtems/system.h> includes 2019-03-14 13:13:27 +01:00
Joel Sherrill
d7e2e8bbf0 mpc5643l_evb-testsuite.tcfg: : Update to account for static allocation and BSP small memory 2019-03-12 11:01:24 -05:00
Joel Sherrill
f22a59def6 mpc5643l_dpu-testsuite.tcfg: Update to account for static allocation and BSP small memory 2019-03-12 11:01:24 -05:00
Sebastian Huber
828276b081 bsps: Adjust shared Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Sebastian Huber
c991eeeccc bsps: Adjust bsp.h Doxygen groups
Update #3706.
2019-03-08 07:42:54 +01:00
Sebastian Huber
3b68442f28 bsps/powerpc: Move mpc55xx header files
They are only used by this BSP.
2019-03-07 10:44:19 +01:00
Chris Johns
ec1dd51aae libdl: Add small data support to the remaining PowerPC BSPs.
Updates #3687
2019-03-07 06:33:47 +11:00
Chris Johns
96e4b22312 testsuite: Make the OPERATION_COUNT a test configuration parameter.
- Add a small memory test config file.
- Update the small memory PowerPC BSPs to use the new test config.
2019-03-07 06:33:47 +11:00
Sebastian Huber
7604a13087 bsps: Move VME header files
They are only used by PowerPC BSPs.
2019-03-05 09:03:58 +01:00
Sebastian Huber
dbe6e0ad09 bsps/powerpc: Move .rtemstack section
Move the .rtemsstack section from a read-only to a read-write area, see
page table setup in __BSP_default_pgtbl_setup().
2019-03-04 09:25:21 +01:00
Sebastian Huber
e1fc23f057 bsps/powerpc: Fix PAGE_ALIGN() macros
Previous warning fixes which include <sys/param.h> broke this macro.
The definition of PAGE_MASK changed.
2019-03-04 09:25:21 +01:00
Sebastian Huber
212663bede bsps: Adjust architecture Doxygen groups
- Use CamelCase as it is not used in our C code.  Enables simple search and
   replace.

 - Prefix with "RTEMS" to aid deployment and integration.  It aids
   searching and sorting.

Update #3706.
2019-03-04 07:51:38 +01:00
Sebastian Huber
5ff61810bc bsp/mpc5643l_*: Disable unsupported tests 2019-03-04 07:04:16 +01:00
Sebastian Huber
e6dd36ca70 bsp/gen5200: Remove offending @mainpage
Update #3705.
2019-03-01 11:01:28 +01:00
Sebastian Huber
feea03b625 Remove explicit file names from @file
This makes the @file documentation independent of the actual file name.

Update #3707.
2019-02-28 11:47:33 +01:00
Sebastian Huber
eec706e2bf bsps/powerpc: Fix small data area section
Fix small data area in case no fixed size is desired.  Rename
bsp_section_set_sdata_sbss_size into bsp_section_small_data_area_size
since this symbol reflects the overall small data area size (including
space for libdl).  Do not use bsp_section_sbss_size before definition in
linker command file.  Add new symbols to <bsp/linker-symbols.h>.

Update #3687.
2019-02-11 11:41:13 +01:00
Chris Johns
6c9f0176a9 libdl: Add powerpc large memory and small data support.
- Add support for architecure sections that can be handled by the
  architecture back end.

- Add trampoline/fixup support for PowerPC. This means the PowerPC
  now supports large memory loading of applications.

- Add a bit allocator to manage small block based regions of memory.

- Add small data (sdata/sbss) support for the PowerPC. The support
  makes the linker allocated small data region of memory a global
  resource available to libdl loaded object files.

Updates #3687
Updates #3685
2019-02-09 10:06:34 +11:00
Chris Johns
b08278e852 powerpc/psim: Increase the psim memory to 256M
This allows test dl09 to run and test PowePC backend trampoline support.

Updates #3685
2019-02-09 10:06:34 +11:00