Commit Graph

12379 Commits

Author SHA1 Message Date
Joel Sherrill
90bc4d03f0 libcpu/sh: Build cache stubs so apps usign cache API link 2014-04-22 08:37:01 -05:00
Joel Sherrill
614fefecf8 dummy_printk_support.c: Comment clean up 2014-04-22 08:37:01 -05:00
Joel Sherrill
a531683ae9 shsim: Add printk() support and move all code to console subdirectory 2014-04-22 08:37:01 -05:00
Sebastian Huber
d60e760e80 bsps: Fix TLS support in linker command files
The TLS section symbols had wrong values in case of an empty TLS data
section and a nonempty TLS BSS section.
2014-04-22 09:51:17 +02:00
Sebastian Huber
e2782684f2 bsp/mbx8xx: Fix Makefile.am and bsp_specs 2014-04-22 09:36:48 +02:00
Sebastian Huber
e10574a4c2 bsps/powerpc: Fix linker command files 2014-04-22 08:34:46 +02:00
Ralf Kirchner
d98eea06dc bsp/arm: Cleanup L2 cache handling 2014-04-17 13:25:12 +02:00
Ralf Kirchner
127634c358 bsp/arm: Correct L2 cache enable method 2014-04-17 13:25:12 +02:00
Ralf Kirchner
62fa1ea25e bsp/arm: Add cache size methods
Add new methods which deliver the cache sizes of for supported cache levels.
2014-04-17 13:25:12 +02:00
Ralf Kirchner
1c62f74d22 bsp/arm: Add L2 cache locking
This level 2 cache is a shared data and instruction cache and thus needs locking.
2014-04-17 13:25:12 +02:00
Ralf Kirchner
bebcfa57a8 bsp/arm: Remove unused cache store methods 2014-04-17 13:25:12 +02:00
Ralf Kirchner
db5a84d0ad bsp/arm: Correct cache misalignment handling
Correct misalignment handling and prepare for locking.
2014-04-17 13:25:11 +02:00
Ralf Kirchner
92e2757b0b bsp/arm: Correct L2 cache flushing
Correct misalignment handling and prepare for locking.
2014-04-17 13:25:11 +02:00
Ralf Kirchner
cbd9e634ee bsp/arm: Remove arm erratum 764369 from L2 cache
Arm erratum 764369 only applies to the level 1 cache.
2014-04-17 13:25:11 +02:00
Ralf Kirchner
9ee2ec56b5 bsp/arm: Consistenly same handling for flushing
It is importeant to consistently apply the same handling for flushing within
level 2 and level 1 cache handling. In this case now both handling use clean and invalidate.
2014-04-17 13:25:11 +02:00
Ralf Kirchner
e331e69a47 bsp/arm: RTEMS_SMP to arm erratum 764369 detection
Move the RTEMS_SMP conditional compilation to the detection method of arm erratum 764369
2014-04-17 13:25:11 +02:00
Ralf Kirchner
707b617294 bsp/arm: Erratum 764369 after enabling SCU
Execute the SCU part of the workaround of arm erratum 764368 after the SCU was enabled.
2014-04-17 13:25:11 +02:00
Ralf Kirchner
d9e7d1e414 bsp/arm: Correct detection of arm erratum 764368 2014-04-17 13:25:10 +02:00
Ralf Kirchner
924b47a548 bsp/arm: Cleanup L1 cache 2014-04-17 13:25:10 +02:00
Ralf Kirchner
a38d4a37bc libchip: Correct error handling in dwmac driver
By fault an rtems_status_code has been expected instead of an errno error number.
2014-04-17 13:24:08 +02:00
Ralf Kirchner
1613a01bb0 libchip: Reduce tx interrupts
Reduce number of packet transmitted interrupts by using the interrupt mechanism only
if we run out of DMA descriptors.
Under normal conditions regaining DMA descriptors, mbufs and clusters is handled
via a counter.
2014-04-17 13:24:07 +02:00
Ralf Kirchner
f28b8d4595 libchip: Cleanup 2014-04-17 13:24:07 +02:00
Ralf Kirchner
18fe64a2ca libchip: Improve handling of DMA suspends
Reset the corresponding DMA status bit
2014-04-17 13:24:07 +02:00
Ralf Kirchner
6ac39691a2 bsp/altera-cyclone-v: Cleanup 2014-04-17 13:24:07 +02:00
Ralf Kirchner
782182eba4 bsp/altera-cyclone-v: Change console baud rate
The baud rate of the altera cyclone-V U-Boot can not be changed at the
u-Boot console prompt. Thus we use the same baud rate as the U-Boot for
the BSP.
2014-04-17 13:24:07 +02:00
Sebastian Huber
320faf8e68 score: Clarify TLS support 2014-04-17 08:06:40 +02:00
Sebastian Huber
b80f920860 bsp/qoriq: SMP support for IRQ support 2014-04-16 09:07:33 +02:00
Sebastian Huber
487b94e7ad bsps/powerpc: SMP support for SPR functions
These registers are local to a processor, there is no need to use SMP
locks here.
2014-04-16 09:07:33 +02:00
Sebastian Huber
598f39cd87 libchip: SMP support for NS16550 2014-04-16 09:07:33 +02:00
Sebastian Huber
509040f0af bsps/powerpc: SMP support for one TSEC driver 2014-04-15 10:43:05 +02:00
Sebastian Huber
c5831a3f9a score: Add clustered/partitioned scheduling
Clustered/partitioned scheduling helps to control the worst-case
latencies in the system.  The goal is to reduce the amount of shared
state in the system and thus prevention of lock contention.  Modern
multi-processor systems tend to have several layers of data and
instruction caches.  With clustered/partitioned scheduling it is
possible to honour the cache topology of a system and thus avoid
expensive cache synchronization traffic.

We have clustered scheduling in case the set of processors of a system
is partitioned into non-empty pairwise-disjoint subsets.  These subsets
are called clusters.  Clusters with a cardinality of one are partitions.
Each cluster is owned by exactly one scheduler instance.
2014-04-15 10:41:44 +02:00
Sebastian Huber
53e008b6fd score: SMP initialization changes
Add and use _CPU_SMP_Start_processor().  Add and use
_CPU_SMP_Finalize_initialization().  This makes most
_CPU_SMP_Initialize() functions a bit simpler since we can calculate the
minimum value of the count of processors requested by the application
configuration and the count of physically or virtually available
processors in the high-level code.

The CPU port has now the ability to signal a processor start failure.
With the support for clustered/partitioned scheduling the presence of
particular processors can be configured to be optional or mandatory.
There will be a fatal error only in case mandatory processors are not
present.

The CPU port may use a timeout to monitor the start of a processor.
2014-04-14 08:37:04 +02:00
Sebastian Huber
67a7a2cc98 sparc: Use __leon__ multilib define 2014-04-14 08:37:04 +02:00
Gedare Bloom
73b9af2d25 sparc64/niagara: add bsp_fatal_handler to terminate execution
Terminates the execution of niagara BSP when running in gem5.
2014-04-12 14:23:11 -04:00
Sebastian Huber
cb5eaddf95 rtems: Rename rtems_smp_get_current_processor()
Rename rtems_smp_get_current_processor() in
rtems_get_current_processor().  Make rtems_get_current_processor() a
function in uni-processor configurations to enable ABI compatibility
with SMP configurations.
2014-04-11 08:52:54 +02:00
Sebastian Huber
4bc8d2e717 rtems: Rename rtems_smp_get_processor_count()
Rename rtems_smp_get_processor_count() in rtems_get_processor_count().
Make rtems_get_processor_count() a function in uni-processor
configurations to enable ABI compatibility with SMP configurations.
2014-04-11 08:52:54 +02:00
Joel Sherrill
95cb09ed74 sparc/shared/.../linkcmds.base: Correct C++ support
Add KEEP() for .eh_frame*, .ctor*, and .dtor*.
2014-04-04 09:26:08 -05:00
Joel Sherrill
aa7ff5d3f9 leon2 ckinit.c, console.c: Comment clean up 2014-04-03 15:16:07 -05:00
Joel Sherrill
fcc1076195 leon2/Makefile.am: Change to one file per line 2014-04-03 15:16:07 -05:00
Joel Sherrill
68a647045b erc32/Makefile.am: Change to one file per line 2014-04-03 15:16:07 -05:00
Joel Sherrill
6c0b7b878c psim/console/console-io.c: Comment clean up 2014-04-03 15:16:07 -05:00
Joel Sherrill
d4db719346 sim68000/console/conscfg.c: Comment clean up 2014-04-03 15:16:07 -05:00
Joel Sherrill
3a422f7d66 h8sim/console/console-io.c: Comment clean up 2014-04-03 15:16:07 -05:00
Sebastian Huber
8e980e6168 bsps/powerpc: Fix linker command files 2014-04-01 14:10:23 +02:00
Sebastian Huber
10b0c3f9d3 bsps/powerpc: PR757: Fix PPC_IRQ_TRACE for ppc601
We could probably also remove the ppc601 support entirely.
2014-04-01 14:10:23 +02:00
Sebastian Huber
8118b67065 libchip: Avoid __DEVOLATILE() 2014-03-31 18:31:52 +02:00
Daniel Cederman
1d9818dcb3 LEON3: UT699 and GR712 sleep-mode d-cache fix
See errata of respective chip. Some code-cleanup as well.
2014-03-31 13:32:48 +02:00
Pavel Pisa
3c21ad7db0 SPI SD-Card: adapt common driver code to block devices core API changes. 2014-03-31 10:14:43 +02:00
James Fitzsimons
89aa1ec87d m68k/mrm332: changes required to get the mrm332 bsp working again.
Changed console driver to use interrupts instead of polling.
Change to avoid overwriting CPU32Bug interrupt vector when setting up the Sci interrupt handler.
Fixed type for boolean flag in bsp.h.
Changed mrm332.h to use 25Mhz clock.
Fixes to mrm332.cfg to use correct mcpu32 value for RTEMS_CPU_MODEL instead of m68332 which is no longer supported.
Added -mcpu=cpu32 to compiler options.
Removed broken ROM linker script and replaced broken RAM linker script with working ROM linker script.
Removed no longer required file except_vect_332_ROM.S.
Enabled 0xbeefbeef magic string in start.S to allow MRM version of CPU32Bug to auto run RTEMS.
Removed old code from start.S
Changed compiler optimization flag to optimize for size.
2014-03-26 11:32:52 -04:00
Daniel Cederman
67a4842b59 bsps/sparc: Make local functions for amba plug&play static. 2014-03-24 11:45:44 -05:00