1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 <2006> 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 | Index | 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 <2006> 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: OSI Replacement for rebootHookAdd ??? |
From: | Eric Norum <[email protected]> |
To: | Eric Bjorklund <[email protected]> |
Cc: | EPICS tech-talk <[email protected]> |
Date: | Fri, 1 Sep 2006 09:00:11 -0500 |
Greetings all.
A number of my drivers (and others as well) call the vxWorks routine "rebootHookAdd" -- mostly to install rundown routines that will disable the card's interrupts in the event of a soft reboot. Since I seem to be into portability these days, it would be nice to have an OSI equivalent function.
epicsAtExit seems to be the logical candidate, and there is even a hook in the vxWorks part of libCom/osi/os (atReboot.cpp) that will invoke epicsExitCallAtExits() during a soft reboot. The catch, however, is that you need to have (as I understand it) a routine called "sysAtReboot" built into your BSP for the exit handler to be called on a soft reboot. sysAtReboot (again, as I understand it) is an APS BSP extension that solves the problem of rebootHooks not invoking its exit handlers in the correct order.
So, with the above history out of the way (and feel free to comment on the authenticity of the above), my (perhaps) naive questions are:
1. How does RTEMS solve the soft reboot handler problem (I don't see any similar hook in libCom/osi/os/RTEMS)?
-- Eric Norum <[email protected]> Advanced Photon Source Argonne National Laboratory (630) 252-4793