diff --git a/src/RTEMS/base/epicsRtemsInitHooks.h b/src/RTEMS/base/epicsRtemsInitHooks.h index c0220ab28..9bf24ca89 100644 --- a/src/RTEMS/base/epicsRtemsInitHooks.h +++ b/src/RTEMS/base/epicsRtemsInitHooks.h @@ -17,5 +17,8 @@ extern char *env_nfsServer; extern char *env_nfsPath; extern char *env_nfsMountPoint; +/* + * Return 0 for success, non-zero for failure (will cause panic) + */ int epicsRtemsInitPreSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config); int epicsRtemsInitPostSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config); diff --git a/src/RTEMS/base/rtems_init.c b/src/RTEMS/base/rtems_init.c index dc485424f..a888777bb 100644 --- a/src/RTEMS/base/rtems_init.c +++ b/src/RTEMS/base/rtems_init.c @@ -430,12 +430,14 @@ Init (rtems_task_argument ignored) /* * Architecture-specific hooks */ - epicsRtemsInitPreSetBootConfigFromNVRAM(&rtems_bsdnet_config); + if (epicsRtemsInitPreSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0) + delayedPanic("epicsRtemsInitPreSetBootConfigFromNVRAM"); if (rtems_bsdnet_config.bootp == NULL) { extern void setBootConfigFromNVRAM(void); setBootConfigFromNVRAM(); } - epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config); + if (epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0) + delayedPanic("epicsRtemsInitPostSetBootConfigFromNVRAM"); /* * Override RTEMS configuration