[rtems-libbsd commit] Explain why we need the interrupt server

Sebastian Huber sebh at rtems.org
Mon Apr 16 10:41:23 UTC 2012


Module:    rtems-libbsd
Branch:    master
Commit:    362782eb25245ee29d97a30f882e1886194c3dd0
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=362782eb25245ee29d97a30f882e1886194c3dd0

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Mon Apr 16 12:43:49 2012 +0200

Explain why we need the interrupt server

---

 libbsd.txt |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/libbsd.txt b/libbsd.txt
index 178a0fa..3e87a9a 100644
--- a/libbsd.txt
+++ b/libbsd.txt
@@ -67,7 +67,7 @@ The SVN checkout command is this
 * How does one initialize the TCP/IP stack?
 
 * linker section issues: I have undefined symbols for
-  _bsd__start_set_sysinit_set and _bsd__stop_set_sysinit_set.
+  `_bsd__start_set_sysinit_set` and `_bsd__stop_set_sysinit_set`.
   Is this the only type of new section magic?  What about the old sysctl_set?
   I added this to my linkcmds.  
 
@@ -81,6 +81,18 @@ The SVN checkout command is this
 
 ----
 
+* Why is the interrupt server used?  The BSD interrupt handlers can block on
+synchronization primitives like mutexes.  This is in contrast to RTEMS
+interrupt service routines.  The BSPs using the generic interrupt support must
+implement the `bsp_interrupt_vector_enable()` and
+`bsp_interrupt_vector_disable()` routines.  They normally enable/disable a
+particular interrupt source at the interrupt controller.  This can be used to
+implement the interrupt server.  The interrupt server is a task that wakes-up
+in case an associated interrupt happens.  The interrupt source is disabled in
+a generic interrupt handler that wakes-up the interrupt server task.   Once the
+postponed interrupt processing is performed in the interrupt server the
+interrupt source is enabled again.
+
 * Convert all BSP linkcmds to use a linkcmds.base so the sections are 
 easier to insert.
 




More information about the vc mailing list