diff options
author | Joel Sherrill <joel.sherrill@oarcorp.com> | 2014-12-14 16:27:06 -0600 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@oarcorp.com> | 2015-01-04 13:44:57 -0600 |
commit | 7cdabc49ca3828c9aeeb6beca4a0beeb71bf23f1 (patch) | |
tree | 128664532dfebd50115c56f7c94d206c482a6c5e /c/src/lib/libbsp/i386/pc386/include | |
parent | untar.c: Coverity ID 26151 and reformat (diff) | |
download | rtems-7cdabc49ca3828c9aeeb6beca4a0beeb71bf23f1.tar.bz2 |
pc386: Add Edison base support
The current support for the Edison supports a single polled
UART for input and output plus a simulated clock tick. The
activities forward for supporting the Edison have been posted
on the RTEMS mailing lists and at:
http://rtemsramblings.blogspot.com/2014/12/intel-edison-and-rtems-road-forward.html
Diffstat (limited to 'c/src/lib/libbsp/i386/pc386/include')
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/include/bsp.h | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/include/bsp.h b/c/src/lib/libbsp/i386/pc386/include/bsp.h index db0879920c..f537eb693d 100644 --- a/c/src/lib/libbsp/i386/pc386/include/bsp.h +++ b/c/src/lib/libbsp/i386/pc386/include/bsp.h @@ -189,8 +189,31 @@ void rtems_irq_mngt_init(void); /* from 'irq_init.c' */ void bsp_size_memory(void); /* from 'bspstart.c' */ -void Clock_driver_install_handler(void); /* from 'ckinit.c' */ -void Clock_driver_support_initialize_hardware(void); /* from 'ckinit.c' */ +#if (BSP_IS_EDISON == 0) + void Clock_driver_install_handler(void); /* from 'ckinit.c' */ + void Clock_driver_support_initialize_hardware(void); /* from 'ckinit.c' */ +#else + /** + * @defgroup edison_bsp Clock Tick Support + * + * @ingroup i386_pc386 + * + * @brief Clock Tick Support Package + */ + Thread clock_driver_sim_idle_body(uintptr_t); + #define BSP_IDLE_TASK_BODY clock_driver_sim_idle_body + /* + * hack to kill some time. Hopefully hitting a hardware register is slower + * than an empty loop. + */ + #define BSP_CLOCK_DRIVER_DELAY() \ + do { \ + uint64_t _i = 2500000; \ + while (_i) { \ + _i--; \ + } \ + } while ( 0 ) +#endif /* edison */ void kbd_reset_setup(char *str, int *ints); /* from 'pc_keyb.c' */ size_t read_aux(char * buffer, size_t count); /* from 'ps2_mouse.c' */ |