forked from Imagelibrary/rtems
Introduce general purpose system server event
Use this event for the interrupt server to avoid conflicts with application events used by interrupt handlers.
This commit is contained in:
@@ -27,8 +27,6 @@
|
|||||||
|
|
||||||
#include <bsp/irq-generic.h>
|
#include <bsp/irq-generic.h>
|
||||||
|
|
||||||
#define BSP_INTERRUPT_EVENT RTEMS_EVENT_13
|
|
||||||
|
|
||||||
RTEMS_INTERRUPT_LOCK_DEFINE(
|
RTEMS_INTERRUPT_LOCK_DEFINE(
|
||||||
static,
|
static,
|
||||||
bsp_interrupt_server_lock,
|
bsp_interrupt_server_lock,
|
||||||
@@ -73,7 +71,7 @@ static void bsp_interrupt_server_trigger(void *arg)
|
|||||||
++bsp_interrupt_server_errors;
|
++bsp_interrupt_server_errors;
|
||||||
}
|
}
|
||||||
|
|
||||||
rtems_event_send(bsp_interrupt_server_id, BSP_INTERRUPT_EVENT);
|
rtems_event_system_send(bsp_interrupt_server_id, RTEMS_EVENT_SYSTEM_SERVER);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bsp_interrupt_server_entry *bsp_interrupt_server_get_entry(void)
|
static bsp_interrupt_server_entry *bsp_interrupt_server_get_entry(void)
|
||||||
@@ -106,8 +104,8 @@ static void bsp_interrupt_server_task(rtems_task_argument arg)
|
|||||||
rtems_event_set events = 0;
|
rtems_event_set events = 0;
|
||||||
bsp_interrupt_server_entry *e = NULL;
|
bsp_interrupt_server_entry *e = NULL;
|
||||||
|
|
||||||
sc = rtems_event_receive(
|
sc = rtems_event_system_receive(
|
||||||
BSP_INTERRUPT_EVENT,
|
RTEMS_EVENT_SYSTEM_SERVER,
|
||||||
RTEMS_EVENT_ALL | RTEMS_WAIT,
|
RTEMS_EVENT_ALL | RTEMS_WAIT,
|
||||||
RTEMS_NO_TIMEOUT,
|
RTEMS_NO_TIMEOUT,
|
||||||
&events
|
&events
|
||||||
|
|||||||
@@ -319,9 +319,10 @@ rtems_status_code rtems_event_receive (
|
|||||||
#define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
|
#define RTEMS_EVENT_SYSTEM_NETWORK_CLOSE RTEMS_EVENT_26
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Reserved system event for the timer server.
|
* @brief Reserved system event for the server threads, e.g timer or interrupt
|
||||||
|
* server.
|
||||||
*/
|
*/
|
||||||
#define RTEMS_EVENT_SYSTEM_TIMER_SERVER RTEMS_EVENT_30
|
#define RTEMS_EVENT_SYSTEM_SERVER RTEMS_EVENT_30
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Reserved system event for transient usage.
|
* @brief Reserved system event for transient usage.
|
||||||
|
|||||||
@@ -256,7 +256,7 @@ static rtems_task _Timer_server_Body(
|
|||||||
);
|
);
|
||||||
|
|
||||||
(void) rtems_event_system_receive(
|
(void) rtems_event_system_receive(
|
||||||
RTEMS_EVENT_SYSTEM_TIMER_SERVER,
|
RTEMS_EVENT_SYSTEM_SERVER,
|
||||||
RTEMS_EVENT_ALL | RTEMS_WAIT,
|
RTEMS_EVENT_ALL | RTEMS_WAIT,
|
||||||
RTEMS_NO_TIMEOUT,
|
RTEMS_NO_TIMEOUT,
|
||||||
&events
|
&events
|
||||||
@@ -281,7 +281,7 @@ static void _Timer_server_Wakeup(
|
|||||||
_Timer_server_Get_seconds
|
_Timer_server_Get_seconds
|
||||||
);
|
);
|
||||||
|
|
||||||
(void) rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_TIMER_SERVER );
|
(void) rtems_event_system_send( id, RTEMS_EVENT_SYSTEM_SERVER );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void _Timer_server_Initialize_watchdogs(
|
static void _Timer_server_Initialize_watchdogs(
|
||||||
|
|||||||
Reference in New Issue
Block a user