[rtems commit] pc386: Add BSP_ENABLE_IDE BSP option

Joel Sherril joel at rtems.org
Sun Jan 4 19:45:21 UTC 2015


Module:    rtems
Branch:    master
Commit:    93546b879f173a07f95133a7ebfcf2865dc398b7
Changeset: http://git.rtems.org/rtems/commit/?id=93546b879f173a07f95133a7ebfcf2865dc398b7

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Thu Dec 11 15:16:34 2014 -0600

pc386: Add BSP_ENABLE_IDE BSP option

This allows the IDE support to be completely disabled. It is needed to
prevent hangs on some hardware. In particular, the Intel Edison where
it is not present.

---

 c/src/lib/libbsp/i386/pc386/Makefile.am        | 5 ++++-
 c/src/lib/libbsp/i386/pc386/configure.ac       | 5 +++++
 c/src/lib/libbsp/i386/pc386/include/bsp.h      | 2 ++
 c/src/lib/libbsp/i386/pc386/startup/bspstart.c | 2 ++
 4 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/c/src/lib/libbsp/i386/pc386/Makefile.am b/c/src/lib/libbsp/i386/pc386/Makefile.am
index 3f34485..78d0c69 100644
--- a/c/src/lib/libbsp/i386/pc386/Makefile.am
+++ b/c/src/lib/libbsp/i386/pc386/Makefile.am
@@ -164,8 +164,11 @@ libbsp_a_SOURCES += ../../shared/src/irq-server.c
 # timer
 libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
 
+if HAS_IDE
 # ide
-libbsp_a_SOURCES += ide/idecfg.c ide/ide.c
+libbsp_a_SOURCES += ide/ide.c
+libbsp_a_SOURCES += ide/idecfg.c
+endif
 
 if HAS_SMP
 libbsp_a_SOURCES += ../../i386/shared/smp/getcpuid.c 
diff --git a/c/src/lib/libbsp/i386/pc386/configure.ac b/c/src/lib/libbsp/i386/pc386/configure.ac
index bdedb0c..96812c8 100644
--- a/c/src/lib/libbsp/i386/pc386/configure.ac
+++ b/c/src/lib/libbsp/i386/pc386/configure.ac
@@ -22,6 +22,11 @@ RTEMS_BSPOPTS_HELP([BSP_ENABLE_VGA],
 [Set if the VGA and keyboard console support is enabled.])
 AM_CONDITIONAL(RTEMS_VGA,[test "$BSP_ENABLE_VGA" = "1"])
 
+RTEMS_BSPOPTS_SET([BSP_ENABLE_IDE],[*],[1])
+RTEMS_BSPOPTS_HELP([BSP_ENABLE_IDE],
+[Set if IDE support is enabled.])
+AM_CONDITIONAL(HAS_IDE,[test "$BSP_ENABLE_IDE" = "1"])
+
 RTEMS_BSPOPTS_SET([USE_COM1_AS_CONSOLE],[*],[0])
 RTEMS_BSPOPTS_HELP([USE_COM1_AS_CONSOLE],
 [Determines, whether the console will be associated with the standard
diff --git a/c/src/lib/libbsp/i386/pc386/include/bsp.h b/c/src/lib/libbsp/i386/pc386/include/bsp.h
index 26d4fa4..db08799 100644
--- a/c/src/lib/libbsp/i386/pc386/include/bsp.h
+++ b/c/src/lib/libbsp/i386/pc386/include/bsp.h
@@ -218,6 +218,7 @@ void register_leds(                           /* from 'keyboard.c' */
 const char* bsp_cmdline(void);
 const char* bsp_cmdline_arg(const char* arg);
 
+#if BSP_ENABLE_IDE
 /*
  * IDE command line parsing.
  */
@@ -227,6 +228,7 @@ void bsp_ide_cmdline_init(void);
  * indicate, that BSP has IDE driver
  */
 #define RTEMS_BSP_HAS_IDE_DRIVER
+#endif
 
 /* GDB stub stuff */
 void init_remote_gdb( void );
diff --git a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
index 4c81473..77b05ad 100644
--- a/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
+++ b/c/src/lib/libbsp/i386/pc386/startup/bspstart.c
@@ -79,7 +79,9 @@ static void bsp_start_default( void )
 
   Clock_driver_install_handler();
 
+#if BSP_ENABLE_IDE
   bsp_ide_cmdline_init();
+#endif
 
 } /* bsp_start_default */
 




More information about the vc mailing list