diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-26 15:44:25 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-11-27 08:06:53 +0100 |
commit | a7267241a9ace0f8c1c1c9a9ee1721e04313aa91 (patch) | |
tree | 7d5a93f6339e164d19fbb6890af910e2d2101734 /bsps/sparc/shared/spw/grspw_router.c | |
parent | Add LICENSE.BSD-2-Clause (diff) | |
download | rtems-a7267241a9ace0f8c1c1c9a9ee1721e04313aa91.tar.bz2 |
bsps/sparc: Add and use <grlib_impl.h>
Reduce copy and paste.
Diffstat (limited to '')
-rw-r--r-- | bsps/sparc/shared/spw/grspw_router.c | 53 |
1 files changed, 2 insertions, 51 deletions
diff --git a/bsps/sparc/shared/spw/grspw_router.c b/bsps/sparc/shared/spw/grspw_router.c index d95c351443..41ecfb823a 100644 --- a/bsps/sparc/shared/spw/grspw_router.c +++ b/bsps/sparc/shared/spw/grspw_router.c @@ -13,12 +13,13 @@ #include <rtems/bspIo.h> #include <stdio.h> #include <bsp.h> -#include <rtems/bspIo.h> /* printk */ #include <drvmgr/drvmgr.h> #include <drvmgr/ambapp_bus.h> #include <bsp/grspw_router.h> +#include <grlib_impl.h> + //#define STATIC #define STATIC static @@ -34,56 +35,6 @@ #define THREAD_SAFE 1 -/* Use interrupt lock privmitives compatible with SMP defined in - * RTEMS 4.11.99 and higher. - */ -#if (((__RTEMS_MAJOR__ << 16) | (__RTEMS_MINOR__ << 8) | __RTEMS_REVISION__) >= 0x040b63) - -#ifdef THREAD_SAFE -/* map via rtems_interrupt_lock_* API: */ -#define SPIN_DECLARE(lock) RTEMS_INTERRUPT_LOCK_MEMBER(lock) -#define SPIN_INIT(lock, name) rtems_interrupt_lock_initialize(lock, name) -#define SPIN_LOCK(lock, level) rtems_interrupt_lock_acquire_isr(lock, &level) -#define SPIN_LOCK_IRQ(lock, level) rtems_interrupt_lock_acquire(lock, &level) -#define SPIN_UNLOCK(lock, level) rtems_interrupt_lock_release_isr(lock, &level) -#define SPIN_UNLOCK_IRQ(lock, level) rtems_interrupt_lock_release(lock, &level) -#define SPIN_IRQFLAGS(k) rtems_interrupt_lock_context k -#define SPIN_ISR_IRQFLAGS(k) SPIN_IRQFLAGS(k) -#define SPIN_FREE(lock) rtems_interrupt_lock_destroy(lock) -#else -#define SPIN_DECLARE(lock) -#define SPIN_INIT(lock, name) -#define SPIN_LOCK(lock, level) -#define SPIN_LOCK_IRQ(lock, level) -#define SPIN_UNLOCK(lock, level) -#define SPIN_UNLOCK_IRQ(lock, level) -#define SPIN_IRQFLAGS(k) -#define SPIN_ISR_IRQFLAGS(k) -#define SPIN_FREE(lock) -#endif - -#else - -#ifdef THREAD_SAFE -#error THREAD SAFE operation not supported on this RTEMS version -#else -#define SPIN_DECLARE(lock) -#define SPIN_INIT(lock, name) -#define SPIN_LOCK(lock, level) -#define SPIN_LOCK_IRQ(lock, level) -#define SPIN_UNLOCK(lock, level) -#define SPIN_UNLOCK_IRQ(lock, level) -#define SPIN_IRQFLAGS(k) -#define SPIN_ISR_IRQFLAGS(k) -#define SPIN_FREE(lock) -#endif - -#ifdef RTEMS_SMP -#error SMP mode not compatible with these interrupt lock primitives -#endif - -#endif - #define REG_WRITE(addr, val) (*(volatile unsigned int *)(addr) = (unsigned int)(val)) #define REG_READ(addr) (*(volatile unsigned int *)(addr)) |