Commit Graph

1037 Commits

Author SHA1 Message Date
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
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
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
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
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
Joel Sherrill
e31e6b94cd gba/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:03 -05:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Pavel Pisa
fac9da635b bsps/arm: Add DP83848 PHY support to LPC Ethernet 2014-03-14 08:59:27 +01:00
Pavel Pisa
14c3cb642e bsps/arm: Add PHY detection to LPC Ethernet 2014-03-14 08:56:33 +01:00
Pavel Pisa
369bb13bce bsps/arm: Reset MII management in LPC Ethernet
Reduce MII clock to support LPC17XX.
2014-03-14 08:56:33 +01:00
Pavel Pisa
810815c4b7 bsp/lpc24xx: Add LPC24XX_PIN_ETHERNET_POWER_DOWN 2014-03-14 08:56:33 +01:00
Sebastian Huber
986ddf50c2 bsp/lpc24xx: Add lpc24xx_pin_get_first_index() 2014-03-14 08:56:33 +01:00
Ralf Kirchner
ad010285da bsp/altera-cyclone-v: Made hwlib compile clean
Made Alteras hwlib compile clean within the RTEMS build system
2014-03-13 16:22:04 +01:00
Ralf Kirchner
0b03ca39a4 bsp/altera-cyclone-v: Add Alteras hwlib
Add files from Alteras hwlib
2014-03-13 16:22:04 +01:00
Ralf Kirchner
f73cfe99d0 bsp/altera-cyclone-v: New BSP
Implemented so far:
- nocache heap for uncached RAM
- basic timer
- level 1 cache handling for arm cache controller
  in arm-cache-l1.h
- level 2 L2C-310 cache controller
- MMU
- DWMAC 1000 ethernet controller
- basic errata handling
- smp startup for second core
2014-03-13 16:22:00 +01:00
Ralf Kirchner
bbc5527010 libbsp/xilinx-zynq: Share handling for ARM cache controller L2C-310 2014-03-13 16:10:54 +01:00
Ralf Kirchner
9fcd1b3556 bsp/arm: Add handling for level 2 L2C-310 cache controller
arm-l2c-310/cache_.h contains the handling for the L2C-310
level 2 cache controller from arm. It references the arm
level 1 cache handling in the new file arm-cache-l1.h.
2014-03-13 16:10:54 +01:00
Ralf Kirchner
0b74e10fff bsp/arm: Add SCU errata handling for L2C-310 cache 2014-03-13 16:10:54 +01:00
Ralf Kirchner
b0553f473b bsp/xilinx-zynq: Add arm-errata.h and arm-release-id.h 2014-03-13 16:10:54 +01:00
Ralf Kirchner
f2bb3ccbe9 bsp/realview-pbx-a9: Add arm-errata.h and arm-release-id.h 2014-03-13 16:10:54 +01:00
Ralf Kirchner
f2a8b60a4d bsp/raspberrypi: Add arm-errata.h and arm-release-id.h 2014-03-13 16:10:53 +01:00
Ralf Kirchner
deccde31f3 bsp/lpc32xx: Add arm-errata.h and arm-release-id.h 2014-03-13 16:10:53 +01:00
Ralf Kirchner
b87bf0bfc2 bsp/arm: Add arm-errata.h and arm-release-id.h 2014-03-13 16:10:53 +01:00
Ralf Kirchner
f241977b60 bsp/arm: Add linker symbol bsp_processor_count 2014-03-13 16:10:53 +01:00
Ralf Kirchner
a502d67763 bsp/arm: Separate setup for translation table 2014-03-13 16:10:52 +01:00
Ralf Kirchner
f5c106456c bsp/arm: Invalidate SCU 2014-03-13 16:10:52 +01:00
Ralf Kirchner
34568acf68 bsp/arm: SMP support for a9mpcore_clock_cleanup() 2014-03-13 16:10:52 +01:00
Ralf Kirchner
17864a4ae9 bsp/arm: Avoid warning 2014-03-13 16:10:52 +01:00
Sebastian Huber
0b9fd991a7 bsps: Add empty cache manager
This is necessary to add tests that use the cache manager.  For example
to get better estimates of worst-case timings.
2014-02-24 12:49:45 +01:00
Sebastian Huber
4d9bd56d29 score: Rename rtems_smp_process_interrupt()
Rename rtems_smp_process_interrupt() into
_SMP_Inter_processor_interrupt_handler().  Delete unused header file
<rtems/bspsmp.h>.
2014-02-19 09:59:41 +01:00
Sebastian Huber
911b1d228b score: Rename rtems_smp_secondary_cpu_initialize()
Rename rtems_smp_secondary_cpu_initialize() into
_SMP_Start_multitasking_on_secondary_processor().  Move declaration to
<rtems/score/smpimpl.h>.
2014-02-19 09:59:41 +01:00
Sebastian Huber
f8ff2a011c score: Delete bsp_smp_broadcast_interrupt()
Since the per-CPU SMP lock must be acquired and released to send the
message a single interrupt broadcast operations offers no benefits.  If
synchronization is required, then a SMP barrier must be used anyway.
2014-02-19 09:59:41 +01:00
Sebastian Huber
4627fcdab1 score: Rename bsp_smp_initialize()
Rename bsp_smp_initialize() into _CPU_SMP_Initialize() since every CPU
port must supply this function.
2014-02-19 09:59:40 +01:00
Sebastian Huber
33cb8bf64d score: Add RTEMS_FATAL_SOURCE_BSP
Merge RTEMS_FATAL_SOURCE_BSP_GENERIC and RTEMS_FATAL_SOURCE_BSP_SPECIFIC
into new fatal source RTEMS_FATAL_SOURCE_BSP.  This makes it easier to
figure out the code position given a fatal source and code.
2014-02-19 09:59:39 +01:00
Sebastian Huber
24bf11eca1 score: Add CPU counter support
Add a CPU counter interface to allow access to a free-running counter.
It is useful to measure short time intervals.  This can be used for
example to enable profiling of critical low-level functions.

Add two busy wait functions rtems_counter_delay_ticks() and
rtems_counter_delay_nanoseconds() implemented via the CPU counter.
2014-02-14 10:28:29 +01:00
Sebastian Huber
382ea27b6a bsps/arm: Fix Cortex-A9 MPCore nanoseconds handler 2014-02-13 10:05:14 +01:00
Sebastian Huber
0df8d7f20d bsps/arm: Use Global Timer for Cortex-A9 MPCore
Use the Global Timer for the Cortex-A9 MPCore clock driver instead of
the Private Timer.  This enables a consistent nanoseconds since last
context switch value across all processors.
2014-02-10 16:58:03 +01:00