Commit Graph

12405 Commits

Author SHA1 Message Date
Joel Sherrill
770ad77a15 gensh4/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:04 -05:00
Joel Sherrill
851c44ef44 shsim/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:04 -05:00
Joel Sherrill
8c4821e48c usiii/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:04 -05:00
Joel Sherrill
64fa6e69d0 niagara/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:03 -05:00
Joel Sherrill
e31e6b94cd gba/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:03 -05:00
Joel Sherrill
c2007c2c0f avrtest/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:03 -05:00
Joel Sherrill
31f0458a93 eZKit533/include/bsp.h: Remove rtems_bsp_delay() 2014-03-21 08:55:02 -05:00
Chris Johns
c49985691f Change all references of rtems.com to rtems.org. 2014-03-21 08:10:47 +11:00
Ralf Kirchner
5dc268f96d libchip: Relax buffer counts and add fatal error 2014-03-14 16:01:33 +01: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
Sebastian Huber
155024265f bsps/powerpc: Add support for interrupt profiling 2014-03-14 08:46:50 +01:00
Sebastian Huber
234eceddbe bsps/leon3: Add interrupt delay profiling support 2014-03-14 08:46:50 +01:00
Sebastian Huber
de5d6d048d sparc: Add support for interrupt profiling 2014-03-14 08:46:50 +01:00
Sebastian Huber
53ad908a64 score: Add SMP lock profiling support 2014-03-14 08:46:49 +01:00
Sebastian Huber
ebb6a8d059 libchip: Include <bsp.h> BSP options definition 2014-03-14 08:43:47 +01:00
Sebastian Huber
9a8bf95b3b libchip: Check interrupt extension availability 2014-03-13 16:47:38 +01:00
Sebastian Huber
062f95328b libchip: Avoid <bsp/utility.h> 2014-03-13 16:47:38 +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
4953b72490 libchip: Add dwmac 10/100/1000 network driver 2014-03-13 16:21:55 +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
0656a00a82 bsp/arm: Add CP15 methods 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
dedc1393f3 bsps/powerpc: Fix GET_INTERRUPT_MASK macro
Use _PPC_INTERRUPT_DISABLE_MASK introduced with
801b5d8032.
2014-03-12 16:40:49 +01:00
Sebastian Huber
d50acdbb6c score: Add local context to SMP lock API
Add a local context structure to the SMP lock API for acquire and
release pairs.  This context can be used to store the ISR level and
profiling information.  It may be later used to enable more
sophisticated lock algorithms, e.g. MCS locks.

There is only one lock that cannot be used with a local context.  This
is the per-CPU lock since here we would have to transfer the local
context through a context switch which is very complicated.
2014-03-11 10:58:09 +01:00
Sebastian Huber
ae88aa7927 sapi: Use one SMP lock for all chains
This partially reverts commit 1215fd4d94.

In order to support profiling of SMP locks and provide a future
compatible SMP locks API it is necessary to add an SMP lock destroy
function.  Since the commit above adds an SMP lock to each chain control
we would have to add a rtems_chain_destroy() function as well.  This
complicates the chain usage dramatically.  Thus revert the patch above.
A global SMP lock for all chains is used to implement the protected
chain operations.

Advantages:

* The SAPI chain API is now identical on SMP and non-SMP
  configurations.

* The size of the chain control is reduced and is then equal to the
  Score chains.

* The protected chain operations work correctly on SMP.

Disadvantage:

* Applications using many different chains and the protected operations
  may notice lock contention.

The chain control size drop is a huge benefit (SAPI chain controls are
66% larger than the Score chain controls).  The only disadvantage is not
really a problem since these applications can use specific interrupt
locks and unprotected chain operations to avoid this issue.
2014-03-11 10:58:09 +01:00
Sebastian Huber
6b115b3008 bsp/leon3: Use interrupt timestamping counter
Use the interrupt controller timestamping counter for the CPU counter if
available since it runs with a high frequency.
2014-03-10 08:03:46 +01:00
Sebastian Huber
ba15b92370 bsps/sparc: Add missing IRQMP registers 2014-03-10 08:03:46 +01:00
Sebastian Huber
f4accfd466 bsps/sparc: Remove fix for ERC32 with FPU rev. B/C 2014-03-10 08:03:45 +01:00
Sebastian Huber
718124e4e5 rtems: Add RTEMS_INTERRUPT_REPLACE
A new option RTEMS_INTERRUPT_REPLACE is introduced that permits updating
the first interrupt handler for the registered interrupt vector and
matching argument.  If no match is found, the install function fails
with RTEMS_UNSATISFIED.

The Interrupt Manager Extension offers interrupt handlers with an
argument pointer.  It is impossible to update two words (handler and
argument) atomically on most architectures.  In order to avoid an SMP
lock in bsp_interrupt_handler_dispatch() which would degrade the
interrupt response time an alternative must be provided that makes it
possible to tear-down interrupt sources without an SMP lock.

Add RTEMS_INTERRUPT_REPLACE option to Interrupt Manager Extension.  This
enables a clean tear-down of interrupt sources on SMP configurations.
Instead of an interrupt handler removal a replacement handler can be
installed to silence an interrupt source.  This can be used in contexts
that allow no sophisticated synchronization (e.g. in atexit() or fatal
handlers).
2014-03-06 09:43:59 +01:00
Sebastian Huber
e0609ac745 bsps: SMP support for generic interrupt support 2014-03-06 09:43:58 +01:00
Daniel Hellstrom
7fe0561526 bsp/leon3: Unmask IPI only on secondary processor 2014-03-06 09:43:57 +01:00
Sebastian Huber
9ec4a48dde bsp/leon3: Add L2 cache support 2014-02-28 09:06:19 +01:00
Sebastian Huber
c5b1e208c5 bsp/leon3: Add L2C registers 2014-02-28 09:06:19 +01:00