diff options
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h | 29 | ||||
-rw-r--r-- | c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/getcfg.c | 7 | ||||
-rw-r--r-- | c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/intr.c | 5 |
3 files changed, 34 insertions, 7 deletions
diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h b/c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h index 1f68dea214..ead24536f5 100644 --- a/c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h +++ b/c/src/lib/libbsp/hppa1.1/simhppa/include/bsp.h @@ -66,13 +66,38 @@ extern void Clock_delay(rtems_unsigned32 microseconds); Clock_delay(microseconds); /* + * Todo: this should be put somewhere else + */ + +#undef CLOCK_DRIVER_TABLE_ENTRY +#define CLOCK_DRIVER_TABLE_ENTRY { Clock_initialize, NULL, NULL, NULL, NULL, Clock_control } +rtems_device_driver Clock_control( + rtems_device_major_number major, + rtems_device_minor_number minor, + void *pargp +); + +/* * We printf() to a buffer if multiprocessing, *or* if this is set. - * ref: src/lib/libbsp/hppa/simhppa/iosupp/consupp.c + * ref: src/lib/libbsp/hppa/pxfl/iosupp/consupp.c */ extern int use_print_buffer; /* + * When not doing printf to a buffer, we do printf thru RTEMS libio + * and our tty driver. Set it up so that console is right. + */ + +#define CONSOLE_DRIVER_TABLE_ENTRY \ + { tty_initialize, tty_open, tty_close, tty_read, tty_write, tty_control } + +/* + * How many libio files we want + */ +#define BSP_LIBIO_MAX_FDS 20 + +/* * Device Driver Table Entries */ @@ -97,6 +122,8 @@ extern int use_print_buffer; rtems_isr_entry set_vector(rtems_isr_entry, rtems_vector_number, int); +rtems_isr_entry set_vector(rtems_isr_entry, rtems_vector_number, int); + void bsp_start( void ); void bsp_cleanup( void ); diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/getcfg.c b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/getcfg.c index f2cd34d219..f29eecf093 100644 --- a/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/getcfg.c +++ b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/getcfg.c @@ -35,7 +35,6 @@ */ #include <bsp.h> -#include <runway.h> #include <shm.h> @@ -43,16 +42,16 @@ #define POLLING 1 #define HPPA_RUNWAY_PROC_HPA_BASE ((void *) 0xFFFA0000) - + /* given a processor number, where is its HPA? */ #define HPPA_RUNWAY_HPA(cpu) \ ((rtems_unsigned32) (HPPA_RUNWAY_PROC_HPA_BASE + ((cpu) * 0x2000))) - + #define HPPA_RUNWAY_REG_IO_EIR_OFFSET 0x000 shm_config_table BSP_shm_cfgtbl; -void Shm_Cause_interrupt_pxfl( rtems_unsigned32 node ); +extern void Shm_Cause_interrupt_pxfl( rtems_unsigned32 node ); void Shm_Get_configuration( rtems_unsigned32 localnode, diff --git a/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/intr.c b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/intr.c index fcd14428e1..161ae3f522 100644 --- a/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/intr.c +++ b/c/src/lib/libbsp/hppa1.1/simhppa/shmsupp/intr.c @@ -22,6 +22,8 @@ #include <stdio.h> #include <rtems.h> +#include <rtems/error.h> + #include <shm.h> void Shm_Cause_interrupt_pxfl( @@ -38,13 +40,12 @@ void Shm_Cause_interrupt_pxfl( switch ( intr->length ) { case NO_INTERRUPT: break; + case LONG: u32 = (rtems_unsigned32 *)intr->address; HPPA_ASM_STWAS( value, 0, u32 ); break; default: fprintf( stderr, "Shm_Cause_interrupt_pxfl: Unsupported length!!!\n" ); - rtems_shutdown_executive( 0 ); - break; } } |